Provided by: groff_1.22.4-8build1_amd64 bug


       ditroff - classical device-independent roff


       The  name  ditroff refers to a historical development stage of the roff(7) text processing
       system.  In roff systems extant today, the name troff is a synonym for ditroff.

       Early versions of roff by Joe Ossanna generated two programs from the same sources,  using
       conditional  compilation  to  distinguish  them.  nroff produced text-oriented TTY output,
       while troff generated graphical output for exactly one output  device,  the  Wang  Graphic
       Systems CAT phototypesetter.

       In 1979, Brian Kernighan rewrote troff to support more devices by creating an intermediate
       output format for troff that could 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 Ossanna's original version, it was called  ditroff
       (device  independent  troff)  on  some  systems, though this naming isn't mentioned in the
       classical documentation.

       Today, all existing roff  systems  are  based  on  Kernighan's  multi-device  troff.   The
       distinction  between  troff and ditroff is no longer necessary; each modern troff provides
       the complete functionality of ditroff.

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


       This document was written by Bernd Warken ⟨⟩.


       CSTR #54
              refers  to  the 1992 revision of the Nroff/Troff User's Manual by J. F. Ossanna and
              Brian Kernighan.

       CSTR #97
              refers to A Typesetter-independent TROFF, by Brian Kernighan and  is  the  original
              documentation of the first multi-device troff (ditroff).

              provides a history and conceptual overview of roff systems.

              describes the GNU implementation of (di)troff.

              documents the GNU roff program and includes pointers to further documentation about

              describes the groff version of the intermediate  output  language,  the  basis  for
              multi-device output.