DITROFF(7)
π NAME π
Bestie, welcome to the DITROFF(7) page β it lives under the Miscellaneous Information Manual, and it's here to spill the tea on ditroff, aka classical device-independent roff. β¨
π DESCRIPTION π
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. No cap. π«Ά
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. It's giving "one-device wonder" energy, honestly. π
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. Lowkey iconic, highkey under-documented. π
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. So likeβ¦ the glow-up is complete, bestie. π
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. It's the main character of this whole situation, fr fr. π
π AUTHORS π
This document was written by Bernd Warken. Shoutout to the author β we love a credited icon. π
π¦ SEE ALSO π¦
- CSTR #54 β refers to the 1992 revision of the
Nroff/Troff User's Manualby 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-devicetroff(ditroff). roff(7)β provides a history and conceptual overview of roff systems.troff(1)β describes the GNU implementation of(di)troff.groff(1)β documents the GNU roff program and includes pointers to further documentation aboutgroff.groff_out(5)β describes thegroffversion of the intermediate output language, the basis for multi-device output.
Okay that's the whole page, bestie π this one shipped with groff 1.22.4, dated 11 October 2021, and the manpage tag is DITROFF(7). Mwah πβ¨
π¦ where this page comes from
- centos-stream 9: groff 1.22.4-10.el9 Β· GPLv3+ and GFDL and BSD and MIT
- Copyright (C) 2001-2018 Free Software Foundation, Inc
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms