DITROFF(7)                                                          DITROFF(7)

       ditroff - classical device independent roff

       The name ditroff once marked a development level of the troff text pro-
       cessing system.  In actual roff(7) systems, the name troff is used as a
       synonym for ditroff.

       The  first  roff system was written by Joe Osanna around 1973.  It sup-
       ported only two output devices, the nroff program  produced  text  ori-
       ented  tty  output,  while the troff program generated graphical output
       for exactly one output device, the Wang Graphic Systems CAT typesetter.

       In  1979, Brian Kernighan rewrote troff to support more devices by cre-
       ating an intermediate output format for troff  that  can  be  fed  into
       postprocessor  programs  which  actually do the printout on the device.
       Kernighan's version marks what is known as classical troff  today.   In
       order  to distinguish it from Osanna's original mono-device version, it
       was called ditroff (device independent troff) on some  systems,  though
       this naming isn't mentioned in the classical documentation.

       Today,  any  existing  roff system is based on Kernighan's multi-device
       troff.  The distinction between troff and ditroff isn't  necessary  any
       longer, for each modern troff provides already the complete functional-
       ity of ditroff.  On most systems, the name  troff  is  used  to  denote

       The  easiest  way  to  use  ditroff is the GNU roff system, groff.  The
       groff(1) program is a wrapper around (di)troff that automatically  han-
       dles postprocessing.

       [CSTR #54]
              The  1992  revision  of  the  Nroff/Troff User's Manual by J. F.
              Osanna and Brian Kernighan, see
              Bell   Labs   CSTR   #54    <

       [CSTR #97]
              A  Typesetter-independent TROFF by Brian Kernighan is the origi-
              nal documentation of the first multi-device troff (ditroff), see
              Bell    Labs   CSTR   #97   <

              This document gives details on the history and concepts of roff.

              The actual implementation of ditroff.

              The  GNU  roff  program and pointers to all documentation around

              The groff version of the intermediate output language, the basis
              for multi-devicing.

       Copyright (C) 2001, 2002 Free Software Foundation, Inc.

       This  document  is  distributed  under  the  terms of the FDL (GNU Free
       Documentation License) version 1.1 or later.  You should have  received
       a  copy  of the FDL on your system, it is also available on-line at the
       GNU copyleft site <>.

       This document is part of groff, the  GNU  roff  distribution.   It  was
       written  by  Bernd Warken <> and is maintained by Werner
       Lemberg <>.

Groff Version 1.18.1           19 February 2002                     DITROFF(7)