| groff | |
|---|---|
| Original author | James Clark |
| Developer | GNU Project |
| Initial release | June 1990; 35 years ago (1990-06) |
| Stable release | 1.23.0[1] |
| Written in | C++ |
| Type | Typesetting |
| License | 2009:GPL-3.0-or-later[a] 1992:GPL-2.0-or-later[b] 1990:GPL-1.0-or-later[c] |
| Website | gnu |
| Repository | |
groff (/ˈdʒiːrɒf/JEE-roff)[5] (also calledGNU troff) is a typesetting system that creates formatted output when given plain text mixed with formatting commands.[6] It is theGNU replacement for thetroff andnrofftext formatters, which were both developed from the originalroff.
Groff contains a large number of helper programs,preprocessors, and postprocessors includingeqn,tbl,pic andsoelim. There are also several macro packages included that duplicate, expand on the capabilities of, or outright replace the standard troff macro packages.
Groff development of new features is active, and is an important part of free, open source, andUNIX derived operating systems such asLinux and 4.4BSD derivatives — notably because troff macros are used to createman pages, the standard form of documentation on Unix and Unix-like systems.
OpenBSD has replaced groff withmandoc in the base install, since their 4.9 release,[7] as hasmacOS Ventura.
groff is an original implementation written primarily inC++ byJames Clark and is modeled afterditroff, including many extensions. The first version, 0.3.1, was released June 1990. The first stable version, 1.04, was announced in November 1991. groff was developed asfree software to provide an easily obtained replacement for the standard AT&T troff/nroff package, which at the time was proprietary, and was not always available even on brandedUNIX systems. In 1999, Werner Lemberg and Ted Harding took over maintenance of groff.[8]
Groff (GNU troff) is a typesetting system that reads plain text mixed with formatting commands and produces formatted output.