Groff (software)
Encyclopedia
Groff is the GNU
replacement for the troff
and nroff
text formatters. It is an original implementation written primarily in C++
by James Clark
and is modeled after ditroff, 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 as free 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 branded UNIX
systems. In 1999, Werner Lemberg and Ted Harding took over maintenance of Groff.
Groff contains a large number of helper programs, preprocessor
s, and postprocessors including eqn
, tbl
, pic and soelim. 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, and UNIX
derived operating systems such as Linux
and 4.4BSD
derivatives - notably because troff macros are used to create man pages, the standard form of documentation on Unix and Unix-like systems.
OpenBSD
replaced groff with mandoc
in their 4.9 release.
GNU
GNU is a Unix-like computer operating system developed by the GNU project, ultimately aiming to be a "complete Unix-compatible software system"...
replacement for the troff
Troff
troff is a document processing system developed by AT&T for the Unix operating system.-History:troff can trace its origins back to a text formatting program called RUNOFF, written by Jerome H. Saltzer for MIT's CTSS operating system in the mid-1960s...
and nroff
Nroff
nroff is a Unix text-formatting program; it produces output suitable for simple fixed-width printers and terminal windows...
text formatters. It is an original implementation written primarily in C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...
by James Clark
James Clark (XML expert)
James Clark, is the author of groff and expat and has done much work with open-source software and XML. Born in London, and educated at Charterhouse and Merton College, Oxford, Clark has lived in Bangkok, Thailand since 1995, and is now a permanent resident...
and is modeled after ditroff, 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 as free software
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...
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 branded UNIX
Unix
Unix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...
systems. In 1999, Werner Lemberg and Ted Harding took over maintenance of Groff.
Groff contains a large number of helper programs, preprocessor
Preprocessor
In computer science, a preprocessor is a program that processes its input data to produce output that is used as input to another program. The output is said to be a preprocessed form of the input data, which is often used by some subsequent programs like compilers...
s, and postprocessors including eqn
Eqn
Part of the troff suite of Unix document layout tools, eqn is a preprocessor that formats equations for printing. A similar program, neqn, accepted the same input as eqn, but produced output tuned to look better in nroff...
, tbl
Tbl
Part of the troff suite of Unix document layout tools, tbl is a preprocessor that formats tables.Like the main troff program, tbl uses command lines interspersed with data to be printed...
, pic and soelim. 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, and UNIX
Unix
Unix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...
derived operating systems such as Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
and 4.4BSD
Berkeley Software Distribution
Berkeley Software Distribution is a Unix operating system derivative developed and distributed by the Computer Systems Research Group of the University of California, Berkeley, from 1977 to 1995...
derivatives - notably because troff macros are used to create man pages, the standard form of documentation on Unix and Unix-like systems.
OpenBSD
OpenBSD
OpenBSD is a Unix-like computer operating system descended from Berkeley Software Distribution , a Unix derivative developed at the University of California, Berkeley. It was forked from NetBSD by project leader Theo de Raadt in late 1995...
replaced groff with mandoc
Mandoc
mandoc is an ISC licensed utility for formatting man pages, specifically those written in the mdoc macro language...
in their 4.9 release.
External links
- Groff homepage
- Groff Forum - hosted by Nabble archiving Groff mailing list into a searchable forum.
- troff.org gives background and examples of troff, including the GNU roff implementation.
- Homepage of mom macros