Go to main content

man pages section 7: Standards, Environments, Macros, Character Sets, and Miscellany

Exit Print View

Updated: Wednesday, July 27, 2022

ditroff (7)


ditroff - classical device independent roff


Please see following description for synopsis


Miscellaneous Information Manual                                    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 Ossanna 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 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 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.

       See attributes(7) for descriptions of the following attributes:

       |Availability   | text/groff       |
       |Stability      | Uncommitted      |

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

       [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    <http://cm.bell-labs.com/cm/cs/cstr/

              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-2014 Free Software Foundation, Inc.

       This file is part of groff, the GNU roff type-setting system.

       Permission  is  granted to copy, distribute and/or modify this document
       under the terms of the GNU Free Documentation License, Version  1.3  or
       any  later  version  published by the Free Software Foundation; with no
       Front-Cover Texts, and with no Back-Cover Texts.

       A copy of the Free Documentation License is included as a  file  called
       FDL  in  the  main  directory  of  the groff source package, it is also
       available  on-line  at  the  GNU  copyleft  site   <http://www.gnu.org/

       It  was  written  by Bernd Warken <groff-bernd.warken-72@web.de> and is
       maintained by Werner Lemberg <wl@gnu.org>.

       Source code for open source software components in Oracle  Solaris  can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-

       This    software    was    built    from    source     available     at
       https://github.com/oracle/solaris-userland.    The  original  community
       source                was                downloaded                from

       Further information about this software can be found on the open source
       community website at https://www.gnu.org/software/groff.

Groff Version 1.22.3            4 November 2014                     DITROFF(7)