Updated: 2022/Sep/29

Please read Privacy Policy. It's for your privacy.

DITROFF(7)             Miscellaneous Information Manual             DITROFF(7)

       ditroff - classical device independent roff

       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 Osanna 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 typesetter.

       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 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
       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.

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

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

              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, 2004 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

       This document is part of groff, the GNU roff distribution.  It was
       written by and is maintained by

Groff Version 1.19.2           September 4, 2005                    DITROFF(7)