DITROFF(7)            Miscellaneous Information Manual            DITROFF(7)

NAME         top

       ditroff - classical device-independent roff

DESCRIPTION         top

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

       The first roff system was written by Joe Ossanna around 1973.  It
       supported only two output devices, the nroff program produced text
       oriented tty output, while the troff program generated graphical
       output for exactly one output device, the Wang Graphic Systems CAT

       In 1979, Brian Kernighan rewrote troff to support more devices by
       creating 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 Ossanna'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
       functionality of ditroff.  On most systems, the name troff is used to
       denote ditroff.

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

AUTHORS         top

       This document was written by Bernd Warken ⟨groff-bernd.warken-72@⟩.

SEE ALSO         top

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

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

              This document gives details on the history and concepts of

              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.

COLOPHON         top

       This page is part of the groff (GNU troff) project.  Information
       about the project can be found at 
       ⟨⟩.  If you have a bug report for
       this manual page, see ⟨⟩.  This
       page was obtained from the project's upstream Git repository
       ⟨⟩ on 2019-03-06.  (At that
       time, the date of the most recent commit that was found in the repos‐
       itory was 2019-03-03.)  If you discover any rendering problems in
       this HTML version of the page, or you believe there is a better or
       more up-to-date source for the page, or you have corrections or
       improvements to the information in this COLOPHON (which is not part
       of the original manual page), send a mail to

Groff Version 1.22.3          24 November 2017                    DITROFF(7)

Pages that refer to this page: groff(1)groff_out(5)roff(7)