Nroff

Summary

nroff (short for "new roff") is a text-formatting program on Unix and Unix-like operating systems. It produces output suitable for simple fixed-width printers and terminal windows. It is an integral part of the Unix help system, being used to format man pages for display.

nroff
Original author(s)Joe Ossanna
Developer(s)AT&T Bell Laboratories
Initial releaseJune 12, 1972; 51 years ago (1972-06-12)
Operating systemUnix and Unix-like
TypeCommand

nroff and the related troff were both developed from the original roff. While nroff was intended to produce output on terminals and line printers, troff was intended to produce output on typesetting systems. Both used the same underlying markup and a single source file could normally be used by nroff or troff without change.

History edit

nroff was written by Joe Ossanna for Version 2 Unix,[1] in Assembly language and then ported to C.

It was a descendant of the RUNOFF program from CTSS, the first computerized text-formatting program, and is a predecessor of the Unix troff document processing system.

There is also a free software version of nroff in the groff package.

Variants edit

The Minix operating system, among others, uses a clone of nroff called cawf by Vic Abell, based on awf, the Amazingly Workable Formatter designed in awk by Henry Spencer. These are not full replacements for the nroff/troff suite of tools, but are sufficient for display and printing of basic documents and manual pages.

In addition, a simplified version of nroff is available in Ratfor source code form as an example in the book Software Tools by Brian Kernighan and P. J. Plauger.[2]

See also edit

References edit

  1. ^ McIlroy, M. D. (1987). A Research Unix reader: annotated excerpts from the Programmer's Manual, 1971–1986 (PDF) (Technical report). CSTR. Bell Labs. 139.
  2. ^ "Software Tools Code".

External links edit

  • source code for Henry Spencer's AWF
  • troff/nroff quick reference
  • nroff source code in Illumos. Explanation by Bryan Cantrill