summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbwarken <bwarken>2006-10-28 15:49:53 +0000
committerbwarken <bwarken>2006-10-28 15:49:53 +0000
commit097939234efa0a1ac166510efea402ba6ee586aa (patch)
treea4e3097ca26abcc2a64cccc20717e28b0f48b278
parente48554012cea5090704803e20d133b863ee43037 (diff)
downloadgroff-097939234efa0a1ac166510efea402ba6ee586aa.tar.gz
* man/roff.man, src/roff/groff/groff.man: Add `chem', fix position
of groff development site, fix fonts. * News: Add information on `groffer'.
-rw-r--r--ChangeLog7
-rw-r--r--NEWS2
-rw-r--r--man/roff.man527
-rw-r--r--src/roff/groff/groff.man288
4 files changed, 565 insertions, 259 deletions
diff --git a/ChangeLog b/ChangeLog
index 1f2e42ba..dd5e2c18 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2006-10-28 Bernd Warken
+
+ * man/roff.man, src/roff/groff/groff.man: Add `chem', fix position
+ of groff development site, fix fonts.
+
+ * News: Add information on `chem' and `groffer'.
+
2006-10-26 Bernd Warken
* Makefile.in (OTHERDIRS, NOMAKEDIRS): Add `chem' bundle.
diff --git a/NEWS b/NEWS
index 9d95a06e..2635d45b 100644
--- a/NEWS
+++ b/NEWS
@@ -61,6 +61,8 @@ o A new escape `\$^' has been added. It represents the parameters of a
macro as if they were an argument to the `ds' request. This is used by
`trace.tmac'.
+o `groffer' version 1.* exists now in a shell and a Perl version.
+
Pic
---
diff --git a/man/roff.man b/man/roff.man
index 50cde7b6..9a43d243 100644
--- a/man/roff.man
+++ b/man/roff.man
@@ -1,11 +1,12 @@
.ig
roff.man
-Last update: 1 Jun 2004
+Last update: 27 Oct 2006
This file is part of groff, the GNU roff type-setting system.
-Copyright (C) 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+Copyright (C) 2000, 2001, 2002, 2003, 2004, 2006
+Free Software Foundation, Inc.
written by Bernd Warken <bwarken@mayn.de>
maintained by Werner Lemberg <wl@gnu.org>
@@ -160,26 +161,33 @@ roff \- concepts and history of roff typesetting
.I roff
is the general name for a set of type-setting programs, known under
names like
-.IR troff ,
-.IR nroff ,
-.IR ditroff ,
-.IR groff ,
+.BR troff ,
+.BR nroff ,
+.BR ditroff ,
+.BR groff ,
etc.
.
-A roff type-setting system consists of an extensible text formatting
-language and a set of programs for printing and converting to other
-text formats.
+A
+.I roff
+type-setting system consists of an extensible text formatting language
+and a set of programs for printing and converting to other text
+formats.
.
Traditionally, it is the main text processing system of Unix; every
-Unix-like operating system still distributes a roff system as a core
-package.
+Unix-like operating system still distributes a
+.I roff
+system as a core package.
.
.P
-The most common roff system today is the free software implementation
-.IR "GNU roff",
+The most common
+.I roff
+system today is the free software implementation \f[CR]GNU\f[]
+.IR roff ",
.BR groff (@MAN1EXT@).
.
-The pre-groff implementations are referred to as
+The
+.RI pre- groff
+implementations are referred to as
.I classical
(dating back as long as 1973).
.
@@ -189,8 +197,10 @@ ancestors, but has many extensions.
.
As
.I groff
-is the only roff system that is available for every (or almost every)
-computer system it is the de-facto roff standard today.
+is the only
+.I roff
+system that is available for every (or almost every) computer system
+it is the de-facto roff standard today.
.
.P
In some ancient Unix systems, there was a binary called
@@ -202,27 +212,36 @@ of the
operating system, cf. section
.BR HISTORY .
The functionality of this program was very restricted even in
-comparison to ancient troff; it is not supported any longer.
+comparison to ancient
+.IR troff ;
+it is not supported any longer.
.
Consequently, in this document, the term
.I roff
always refers to the general meaning of
.IR "roff system" ,
-not to the ancient roff binary.
+not to the ancient
+.B roff
+binary.
.
.P
-In spite of its age, roff is in wide use today, for example, the manual
-pages on UNIX systems
+In spite of its age,
+.I roff
+is in wide use today, for example, the manual pages on UNIX systems
.RI ( man\~pages\/ ),
many software books, system documentation, standards, and corporate
documents are written in roff.
.
-The roff output for text devices is still unmatched, and its graphical
-output has the same quality as other free type-setting programs and is
-better than some of the commercial systems.
+The
+.I roff
+output for text devices is still unmatched, and its graphical output
+has the same quality as other free type-setting programs and is better
+than some of the commercial systems.
.
.P
-The most popular application of roff is the concept of
+The most popular application of
+.I roff
+is the concept of
.I manual pages
or shortly
.IR "man pages" ;
@@ -232,11 +251,15 @@ this is the standard documentation system on many operating systems.
This document describes the historical facts around the development
of the
.IR "roff system" ;
-some usage aspects common to all roff versions, details on the roff
+some usage aspects common to all
+.I roff
+versions, details on the
+.I roff
pipeline, which is usually hidden behind front-ends like
.BR groff (@MAN1EXT@);
an general overview of the formatting language; some tips for editing
-roff files; and many pointers to further readings.
+.I roff
+files; and many pointers to further readings.
.
.
.\" --------------------------------------------------------------------
@@ -248,9 +271,11 @@ The
text processing system has a very long history, dating back to the
1960s.
.
-The roff system itself is intimately connected to the Unix operating
-system, but its roots go back to the earlier operating systems CTSS
-and Multics.
+The
+.I roff
+system itself is intimately connected to the Unix operating system,
+but its roots go back to the earlier operating systems CTSS and
+Multics.
.
.
.\" --------------------------------------------------------------------
@@ -285,12 +310,14 @@ and military tasks.
.P
The possibilities of the
.I runoff
-language were quite limited as compared to modern roff.
+language were quite limited as compared to modern
+.IR roff .
.
Only text output was possible in the 1960s.
.
This could be implemented by a set of requests of length\~2, many of
-which are still identically used in roff.
+which are still identically used in
+.IR roff .
.
The language was modelled according to the habits of typesetting in
the pre-computer age, where lines starting with a dot were used in
@@ -307,7 +334,9 @@ the grandmother of the
programming language.
.
In the Multics operating system, the help system was handled by
-runoff, similar to roff's task to manage the Unix manual pages.
+runoff, similar to
+.IR roff 's
+task to manage the Unix manual pages.
.
There are still documents written in the runoff language; for examples
see Saltzer's home page, cf. section
@@ -344,9 +373,13 @@ The greatly enlarged language of Osanna's concept included already all
elements of a full
.IR "roff system" .
.
-All modern roff systems try to implement compatibility to this system.
+All modern
+.I roff
+systems try to implement compatibility to this system.
.
-So Joe Osanna can be called the father of all roff systems.
+So Joe Osanna can be called the father of all
+.I roff
+systems.
.
.P
This first
@@ -366,12 +399,16 @@ produced text output suitable for terminals and line printers.
.
.TP
.B roff
-was the reimplementation of the former runoff program with its limited
-features; this program was abandoned in later versions.
+was the reimplementation of the former
+.B runoff
+program with its limited features; this program was abandoned in later
+versions.
.
Today, the name
.I roff
-is used to refer to a troff/\:nroff sytem as a whole.
+is used to refer to a
+.I troff/\:nroff
+sytem as a whole.
.
.P
Osanna first version was written in the PDP-11 assembly language and
@@ -400,11 +437,13 @@ systems tried to establish compatibility with this specification.
.
.P
After Osanna had died in 1977 by a heart-attack at the age of about\~50,
-Kernighan went on with developing troff.
+Kernighan went on with developing
+.IR troff .
.
-The next milestone was to equip troff with a general interface to
-support more devices, the intermediate output format and the
-postprocessor system.
+The next milestone was to equip
+.I troff
+with a general interface to support more devices, the intermediate
+output format and the postprocessor system.
.
This completed the structure of a
.I "roff system"
@@ -413,7 +452,10 @@ as it is still in use today; see section
.
In 1979, these novelties were described in the paper
.IR "[CSTR\~#97]" .
-This new troff version is the basis for all existing newer troff
+This new
+.I troff
+version is the basis for all existing newer
+.I troff
systems, including
.IR groff .
.
@@ -424,7 +466,9 @@ got a binary of its own, called
.
All modern
.B troff
-programs already provide the full ditroff capabilities automatically.
+programs already provide the full
+.B ditroff
+capabilities automatically.
.
.
.\" --------------------------------------------------------------------
@@ -437,15 +481,19 @@ operating system was commercialized.
A whole bunch of divergent operating systems emerged, fighting each
other with incompatibilities in their extensions.
.
-Luckily, the incompatibilities did not fight the original troff.
+Luckily, the incompatibilities did not fight the original
+.IR troff .
.
-All of the different commercial roff systems made heavy use of
-Osanna/\:Kernighan's open source code and documentation, but sold them
-as \[lq]their\[rq] system \[em] with only minor additions.
+All of the different commercial
+.I roff
+systems made heavy use of Osanna/\:Kernighan's open source code and
+documentation, but sold them as \[lq]their\[rq] system \[em] with only
+minor additions.
.
.P
-The source code of both the ancient Unix and classical troff weren't
-available for two decades.
+The source code of both the ancient Unix and classical
+.I troff
+weren't available for two decades.
.
Fortunately, Caldera bought SCO UNIX in 2001.
.
@@ -458,8 +506,11 @@ on-line for non-commercial use, cf. section
.SS "Free roff"
.\" --------------------------------------------------------------------
.
-None of the commercial roff systems could attain the status of a
-successor for the general roff development.
+None of the commercial
+.I roff
+systems could attain the status of a successor for the general
+.I roff
+development.
.
Everyone was only interested in their own stuff.
.
@@ -480,8 +531,8 @@ bundle the main-stream development.
.
.P
The only remedy came from the emerging free operatings systems
-(386BSD, GNU/\:Linux, etc.) and software projects during the 1980s and
-1990s.
+(\f[CR]386BSD\f[], \f[CR]GNU/\:Linux\f[], etc.) and software projects
+during the 1980s and 1990s.
.
These implemented the ancient Unix features and many extensions, such
that the old experience is not lost.
@@ -490,67 +541,98 @@ In the 21st century, Unix-like systems are again a major factor in
computer industry \[em] thanks to free software.
.
.P
-The most important free roff project was the GNU port of troff,
+The most important free
+.I roff
+project was the \f[CR]GNU\f[] port of
+.IR troff ,
created by James Clark and put under the
.URL http://\:www.gnu.org/\:copyleft "GNU Public License" .
.
It was called
.I groff
-.RI ( "GNU roff" ).
+(\f[CR]GNU\f[]
+.IR roff ).
See
.BR groff (@MAN1EXT@)
for an overview.
.
.P
-The groff system is still actively developed.
+The
+.I groff
+system is still actively developed.
.
-It is compatible to the classical troff, but many extensions were
-added.
+It is compatible to the classical
+.IR troff ,
+but many extensions were added.
.
-It is the first roff system that is available on almost all operating
-systems \[em] and it is free.
+It is the first
+.I roff
+system that is available on almost all operating systems \[em] and it
+is free.
.
-This makes groff the de-facto roff standard today.
+This makes
+.I groff
+the de-facto
+.I roff
+standard today.
.
.
.\" --------------------------------------------------------------------
.SH "USING ROFF"
.\" --------------------------------------------------------------------
.
-Most people won't even notice that they are actually using roff.
+Most people won't even notice that they are actually using
+.IR roff .
.
-When you read a system manual page (man page) roff is working in the
-background.
+When you read a system manual page (man page)
+.I roff
+is working in the background.
.
-Roff documents can be viewed with a native viewer called
+.I roff
+documents can be viewed with a native viewer called
.BR \%xditview (1x),
a standard program of the X window distribution, see
.BR X (7x).
.
-But using roff explicitly isn't difficult either.
+But using
+.I roff
+explicitly isn't difficult either.
.
.P
-Some roff implementations provide wrapper programs that make it easy
-to use the roff system on the shell command line.
+Some
+.I roff
+implementations provide wrapper programs that make it easy to use the
+.I roff
+system on the shell command line.
.
-For example, the GNU roff implementation
+For example, the \f[CR]GNU\f[]
+.I roff
+implementation
.BR groff (@MAN1EXT@)
provides command line options to avoid the long command pipes of
-classical troff; a program
+classical
+.IR troff ;
+a program
.BR grog (@MAN1EXT@)
tries to guess from the document which arguments should be used for a
-run of groff; people who do not like specifying command line options
-should try the
+run of
+.BR groff ;
+people who do not like specifying command line options should try the
.BR groffer (@MAN1EXT@)
-program for graphically displaying groff files and man pages.
+program for graphically displaying
+.I groff
+files and man pages.
.
.
.\" --------------------------------------------------------------------
.SS "The roff Pipe"
.\" --------------------------------------------------------------------
.
-Each roff system consists of preprocessors, roff formatter programs,
-and a set of device postprocessors.
+Each
+.I roff
+system consists of preprocessors,
+.I roff
+formatter programs, and a set of device postprocessors.
.
This concept makes heavy use of the
.I piping
@@ -570,8 +652,13 @@ for the next program.
.rm @2
.rm @3
.P
-The preprocessors generate roff code that is fed into a roff formatter
-(e.g. troff), which in turn generates
+The preprocessors generate
+.I roff
+code that is fed into a
+.I roff
+formatter (e.g.
+.BR troff ),
+which in turn generates
.I intermediate output
that is fed into a device postprocessor program for printing or final
output.
@@ -580,17 +667,23 @@ output.
All of these parts use programming languages of their own; each
language is totally unrelated to the other parts.
.
-Moreover, roff macro packages that were tailored for special purposes
-can be included.
+Moreover,
+.I roff
+macro packages that were tailored for special purposes can be
+included.
.
.P
-Most roff documents use the macros of some package, intermixed with
-code for one or more preprocessors, spiced with some elements from the
-plain roff language.
+Most
+.I roff
+documents use the macros of some package, intermixed with code for one
+or more preprocessors, spiced with some elements from the plain
+.I roff
+language.
.
-The full power of the roff formatting language is seldom needed by
-users; only programmers of macro packages need to know about the gory
-details.
+The full power of the
+.I roff
+formatting language is seldom needed by users; only programmers of
+macro packages need to know about the gory details.
.
.
.
@@ -598,29 +691,42 @@ details.
.SS "Preprocessors"
.\" --------------------------------------------------------------------
.
-A roff preprocessor is any program that generates output that
-syntactically obeys the rules of the roff formatting language.
+A
+.I roff
+preprocessor is any program that generates output that syntactically
+obeys the rules of the
+.I roff
+formatting language.
.
Each preprocessor defines a language of its own that is translated
-into roff code when run through the preprocessor program.
+into
+.I roff
+code when run through the preprocessor program.
.
-Parts written in these languages may be included within a roff
-document; they are identified by special roff requests or macros.
+Parts written in these languages may be included within a
+.I roff
+document; they are identified by special
+.I roff
+requests or macros.
.
Each document that is enhanced by preprocessor code must be run
through all corresponding preprocessors before it is fed into the
-actual roff formatter program, for the formatter just ignores all
-alien code.
+actual
+.I roff
+formatter program, for the formatter just ignores all alien code.
.
The preprocessor programs extract and transform only the document
parts that are determined for them.
.
.P
-There are a lot of free and commercial roff preprocessors.
+There are a lot of free and commercial
+.I roff
+preprocessors.
.
Some of them aren't available on each system, but there is a small
set of preprocessors that are considered as an integral part of each
-roff system.
+.I roff
+system.
.
The classical preprocessors are
.
@@ -634,19 +740,22 @@ The classical preprocessors are
.PD 0
.@TP
.B tbl
-for tables
+for tables.
.@TP
.B eqn
-for mathematical formul\[ae]
+for mathematical formul\[ae].
.@TP
.B pic
-for drawing diagrams
+for drawing diagrams.
.@TP
.B refer
-for bibliographic references
+for bibliographic references.
.@TP
.B soelim
-for including macro files from standard locations
+for including macro files from standard locations.
+.@TP
+.B chem
+for drawing chemical formul\[ae].
.PD
.RE
.
@@ -658,9 +767,6 @@ include
.RS
.PD 0
.@TP
-.B chem
-for drawing chemical formul\[ae].
-.@TP
.B grap
for constructing graphical elements.
.@TP
@@ -679,8 +785,11 @@ pictures.
.
A
.I roff formatter
-is a program that parses documents written in the roff formatting
-language or uses some of the roff macro packages.
+is a program that parses documents written in the
+.I roff
+formatting language or uses some of the
+.I roff
+macro packages.
.
It generates
.IR "intermediate output" ,
@@ -691,26 +800,35 @@ The documents must have been run through all necessary preprocessors
before.
.
.P
-The output produced by a roff formatter is represented in yet another
-language, the
+The output produced by a
+.I roff
+formatter is represented in yet another language, the
.IR "intermediate output format"
or
.IR "troff output" .
This language was first specified in
.IR "[CSTR\~#97]" ;
-its GNU extension is documented in
+its \f[CR]GNU\f[] extension is documented in
.BR groff_out (@MAN5EXT@).
.
The intermediate output language is a kind of assembly language
-compared to the high-level roff language.
+compared to the high-level
+.I roff
+language.
.
The generated intermediate output is optimized for a special device,
but the language is the same for every device.
.
.P
-The roff formatter is the heart of the roff system.
+The
+.I roff
+formatter is the heart of the
+.I roff
+system.
.
-The traditional roff had two formatters,
+The traditional
+.I roff
+had two formatters,
.B nroff
for text devices and
.B troff
@@ -731,10 +849,15 @@ terminals, etc., or software interfaces such as a conversion into a
different text or graphical format.
.
.P
-A roff postprocessor is a program that transforms troff output into a
-form suitable for a special device.
+A
+.I roff
+postprocessor is a program that transforms
+.I troff
+output into a form suitable for a special device.
.
-The roff postprocessors are like device drivers for the output target.
+The
+.I roff
+postprocessors are like device drivers for the output target.
.
.P
For each device there is a postprocessor program that fits the device
@@ -759,8 +882,10 @@ counterparts.
.P
For example, the Postscript device
.I post
-in classical troff had a resolution
-of 720, while groff's
+in classical
+.I troff
+had a resolution of 720, while
+.IR groff 's
.I ps
device has 72000, a refinement of factor 100.
.
@@ -774,19 +899,27 @@ hardware postprocessor for each printer.
.SH "ROFF PROGRAMMING"
.\" --------------------------------------------------------------------
.
-Documents using roff are normal text files decorated by roff
+Documents using
+.I roff
+are normal text files decorated by
+.I roff
formatting elements.
.
-The roff formatting language is quite powerful; it is almost a full
-programming language and provides elements to enlarge the language.
+The
+.I roff
+formatting language is quite powerful; it is almost a full programming
+language and provides elements to enlarge the language.
.
With these, it became possible to develop macro packages that are
tailored for special applications.
.
-Such macro packages are much handier than plain roff.
+Such macro packages are much handier than plain
+.IR roff .
.
So most people will choose a macro package without worrying about the
-internals of the roff language.
+internals of the
+.I roff
+language.
.
.
.\" --------------------------------------------------------------------
@@ -796,7 +929,8 @@ internals of the roff language.
Macro packages are collections of macros that are suitable to format a
special kind of documents in a convenient way.
.
-This greatly eases the usage of roff.
+This greatly eases the usage of
+.IR roff .
.
The macro definitions of a package are kept in a file called
.IB name .tmac
@@ -818,7 +952,9 @@ the formatter by the command line option
see
.BR troff (@MAN1EXT@),
or it can be specified within a document using the file inclusion
-requests of the roff language, see
+requests of the
+.I roff
+language, see
.BR groff (@MAN7EXT@).
.
.P
@@ -826,7 +962,7 @@ Famous classical macro packages are
.I man
for traditional man pages,
.I mdoc
-for BSD-style manual pages;
+for \f[CR]BSD\f[]-style manual pages;
the macro sets for books, articles, and letters are
.I me
(probably from the first name of its creator
@@ -845,20 +981,25 @@ and
.SS "The roff Formatting Language"
.\" --------------------------------------------------------------------
.
-The classical roff formatting language is documented in the
+The classical
+.I roff
+formatting language is documented in the
.I Troff User's Manual
.IR "[CSTR\~#54]" .
.
-The roff language is a full programming language providing requests,
-definition of macros, escape sequences, string variables, number or
-size registers, and flow controls.
+The
+.I roff
+language is a full programming language providing requests, definition
+of macros, escape sequences, string variables, number or size
+registers, and flow controls.
.
.P
.I Requests
are the predefined basic formatting commands similar to the commands
at the shell prompt.
.
-The user can define request-like elements using predefined roff
+The user can define request-like elements using predefined
+.I roff
elements.
.
These are then called
@@ -869,12 +1010,14 @@ or macros; both are written on a line on their own starting with a dot.
.
.P
.I Escape sequences
-are roff elements starting with a backslash
+are
+.I roff
+elements starting with a backslash
.QuotedChar \[rs] .
They can be inserted anywhere, also in the midst of text in a line.
.
They are used to implement various features, including the insertion of
-non-ASCII characters with
+non-\f[CR]ASCII\f[] characters with
.Esc ( ,
font changes with
.Esc f ,
@@ -935,14 +1078,17 @@ files,
etc.
.
.P
-But there is no general naming scheme for roff documents, though
+But there is no general naming scheme for
+.I roff
+documents, though
.IB file. tr
for
.I troff file
is seen now and then.
.
Maybe there should be a standardization for the filename extensions of
-roff files.
+.I roff
+files.
.
.P
File name extensions can be very handy in conjunction with the
@@ -967,11 +1113,15 @@ is either a system supplied command or a shell script of your own.
.SH "EDITING ROFF"
.\" --------------------------------------------------------------------
.
-The best program for editing a roff document is Emacs (or Xemacs), see
+The best program for editing a
+.I roff
+document is Emacs (or Xemacs), see
.BR emacs (1).
It provides an
.I nroff
-mode that is suitable for all kinds of roff dialects.
+mode that is suitable for all kinds of
+.I roff
+dialects.
.
This mode can be activated by the following methods.
.
@@ -1005,28 +1155,35 @@ the end of the file.
.
.Topic
There is a set of file name extensions, e.g. the man pages that
-trigger the automatic activation of the nroff mode.
+trigger the automatic activation of the
+.I nroff
+mode.
.
.Topic
Theoretically, it is possible to write the sequence
.CodeSkip
.B \*[Comment] \%-*-\ nroff\ -*-
.CodeSkip
-as the first line of a file to have it started in nroff mode when
-loaded.
+as the first line of a file to have it started in
+.I nroff
+mode when loaded.
.
Unfortunately, some applications such as the
.B man
program are confused by this; so this is deprecated.
.
.P
-All roff formatters provide automated line breaks and horizontal and
-vertical spacing.
+All
+.I roff
+formatters provide automated line breaks and horizontal and vertical
+spacing.
.
In order to not disturb this, the following tips can be helpful.
.
.Topic
-Never include empty or blank lines in a roff document.
+Never include empty or blank lines in a
+.I roff
+document.
.
Instead, use the empty request (a line consisting of a dot only) or a
line comment
@@ -1037,7 +1194,8 @@ if a structuring element is needed.
Never start a line with whitespace because this can lead to
unexpected behavior.
.
-Indented paragraphs can be constructed in a controlled way by roff
+Indented paragraphs can be constructed in a controlled way by
+.I roff
requests.
.
.Topic
@@ -1049,15 +1207,20 @@ To distinguish both cases, do a line break after each sentence.
.
.Topic
To additionally use the auto-fill mode in Emacs, it is best to insert
-an empty roff request (a line consisting of a dot only) after each
-sentence.
+an empty
+.I roff
+request (a line consisting of a dot only) after each sentence.
.
.P
-The following example shows how optimal roff editing could look.
+The following example shows how optimal
+.I roff
+editing could look.
.
.IP
.nf
-This is an example for a roff document.
+This is an example for a
+.I roff
+document.
.Text .
This is the next sentence in the same paragraph.
.Text .
@@ -1071,7 +1234,9 @@ paragraph.
.fi
.
.P
-Besides Emacs, some other editors provide nroff style files too, e.g.\&
+Besides Emacs, some other editors provide
+.I nroff
+style files too, e.g.\&
.BR vim (1),
an extension of the
.BR vi (1)
@@ -1093,10 +1258,14 @@ UNIX in 2001.
.SH "SEE ALSO"
.\" --------------------------------------------------------------------
.
-There is a lot of documentation on roff.
+There is a lot of documentation on
+.IR roff .
.
-The original papers on classical troff are still available, and all
-aspects of groff are documented in great detail.
+The original papers on classical
+.I troff
+are still available, and all aspects of
+.I groff
+are documented in great detail.
.
.
.\" --------------------------------------------------------------------
@@ -1106,7 +1275,8 @@ aspects of groff are documented in great detail.
.TP
troff.org
.URL http://\:www.troff.org "The historical troff site"
-provides an overview and pointers to all historical aspects of roff.
+provides an overview and pointers to all historical aspects of
+.IR roff .
.
.TP
Multics
@@ -1123,9 +1293,10 @@ Unix Archive
"The Ancient Unixes Archive"
.
provides the source code and some binaries of the ancient Unixes
-(including the source code of troff and its documentation) that were
-made public by Caldera since 2001, e.g. of the famous Unix version\~7
-for PDP-11 at the
+(including the source code of
+.I troff
+and its documentation) that were made public by Caldera since 2001,
+e.g. of the famous Unix version\~7 for PDP-11 at the
.URL http://\:www.tuhs.org/\:Archive/\:PDP-11/\:Trees/\:V7 \
"Unix V7 site" .
.
@@ -1155,13 +1326,20 @@ CSTR Papers
.URL http://\:cm.bell-labs.com/\:cm/\:cs/\:cstr.html \
"The Bell Labs CSTR site"
.
-stores the original troff manuals (CSTR #54, #97, #114, #116, #122)
-and famous historical documents on programming.
+stores the original
+.I troff
+manuals (CSTR #54, #97, #114, #116, #122) and famous historical
+documents on programming.
.
.TP
-GNU roff
+\f[CR]GNU\f[] \f[I]roff\f[]
.URL http://\:www.gnu.org/\:software/\:groff "The groff web site"
-provides the free roff implementation groff, the actual standard roff.
+provides the free
+.I roff
+implementation
+.IR groff ,
+the actual standard
+.IR roff .
.
.
.\" --------------------------------------------------------------------
@@ -1172,7 +1350,9 @@ Many classical
.B troff
documents are still available on-line.
.
-The two main manuals of the troff language are
+The two main manuals of the
+.I troff
+language are
.
.TP
[CSTR\~#54]
@@ -1192,7 +1372,9 @@ Brian Kernighan,
Bell Labs, 1981, revised March 1982.
.
.P
-The "little language" roff papers are
+The "little language"
+.I roff
+papers are
.
.TP
[CSTR\~#114]
@@ -1224,18 +1406,23 @@ Bell Labs, April 1986.
.SS "Manual Pages"
.\" --------------------------------------------------------------------
.
-Due to its complex structure, a full roff system has many man pages,
-each describing a single aspect of roff.
+Due to its complex structure, a full
+.I roff
+system has many man pages, each describing a single aspect of
+.IR roff .
.
-Unfortunately, there is no general naming scheme for the
-documentation among the different roff implementations.
+Unfortunately, there is no general naming scheme for the documentation
+among the different
+.I roff
+implementations.
.
.P
In
.IR groff ,
the man page
.BR groff (@MAN1EXT@)
-contains a survey of all documentation available in groff.
+contains a survey of all documentation available in
+.IR groff .
.
.P
On other systems, you are on your own, but
@@ -1250,17 +1437,19 @@ might be a good starting point.
Copyright (C) 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
.
.P
-This document is distributed under the terms of the FDL (GNU Free
-Documentation License) version 1.1 or later.
+This document is distributed under the terms of the \f[CR]FDL\f[]
+(\f[CR]GNU Free Documentation License\f[]) version 1.1 or later.
.
-You should have received a copy of the FDL on your system, it is also
-available on-line at the
+You should have received a copy of the \f[CR]FDL\f[] on your system,
+it is also available on-line at the
.URL http://\:www.gnu.org/\:copyleft/\:fdl.html "GNU copyleft site" .
.
.P
This document is part of
.IR groff ,
-the GNU roff distribution.
+the \f[CR]GNU\f[]
+.I roff
+distribution.
.
It was written by
.MTO bwarken@mayn.de "Bernd Warken" ;
diff --git a/src/roff/groff/groff.man b/src/roff/groff/groff.man
index 610f236b..5cb6a712 100644
--- a/src/roff/groff/groff.man
+++ b/src/roff/groff/groff.man
@@ -277,7 +277,8 @@ groff \- front-end for the groff document formatting system
.EndSynopsis
.
.P
-The command line is parsed according to the usual GNU convention.
+The command line is parsed according to the usual \f[CR]GNU\f[]
+convention.
.
The whitespace between a command line option and its argument is
optional.
@@ -482,8 +483,9 @@ sign(s)
.Quoted \*[@-]
or
.Quoted \*[@--]
-because groff does not prepend any dashes before passing it to the
-postprocessor.
+because
+.B groff
+does not prepend any dashes before passing it to the postprocessor.
.
For example, to pass a title to the \%gxditview postprocessor, the shell
command
@@ -597,7 +599,7 @@ selects the output encoding:
.RS
.RS
.IP ascii
-7bit ASCII.
+7bit \f[CR]ASCII\f[].
.IP cp1047
\%Latin-1 character set for EBCDIC hosts.
.IP latin1
@@ -720,7 +722,9 @@ replacing the usual postprocessor output; see
The following options are transparently handed over to the formatter
program
.B @g@troff
-that is called by groff subsequently.
+that is called by
+.B groff
+subsequently.
.
These options are described in more detail in
.BR @g@troff (@MAN1EXT@).
@@ -796,22 +800,31 @@ The
.I groff system
implements the infrastructure of classical roff; see
.BR roff (@MAN7EXT@)
-for a survey on how a roff system works in general.
+for a survey on how a
+.I roff
+system works in general.
.
-Due to the front-end programs available within the groff system, using
+Due to the front-end programs available within the
+.I groff
+system, using
.I groff
is much easier than
.IR "classical roff" .
.
-This section gives an overview of the parts that constitute the groff
+This section gives an overview of the parts that constitute the
+.I groff
system.
.
It complements
.BR roff (@MAN7EXT@)
-with groff-specific features.
+with
+.IR groff -specific
+features.
.
This section can be regarded as a guide to the documentation around
-the groff system.
+the
+.I groff
+system.
.
.
.\" --------------------------------------------------------------------
@@ -877,21 +890,26 @@ can be avoided.
.P
The
.BR grog (@MAN1EXT@)
-program can be used for guessing the correct groff command line to
-format a file.
+program can be used for guessing the correct
+.I groff
+command line to format a file.
.
.P
The
.BR \%groffer (@MAN1EXT@)
-program is an allround-viewer for groff files and man pages.
+program is an allround-viewer for
+.I groff
+files and man pages.
.
.
.\" --------------------------------------------------------------------
.SS Preprocessors
.\" --------------------------------------------------------------------
.
-The groff preprocessors are reimplementations of the classical
-preprocessors with moderate extensions.
+The
+.I groff
+preprocessors are reimplementations of the classical preprocessors
+with moderate extensions.
.
The standard preprocessors distributed with the
.I groff
@@ -912,6 +930,10 @@ pictures,
for drawing diagrams,
.
.TP
+.BR @g@chem (@MAN1EXT@)
+for chemical structure diagrams,
+.
+.TP
.BR \%@g@refer (@MAN1EXT@)
for bibliographic references,
.
@@ -927,9 +949,13 @@ and
for tables.
.
.P
-A new preprocessor not available in classical troff is
+A new preprocessor not available in classical
+.I troff
+is
.BR \%preconv (@MAN1EXT@)
-which converts various input encodings to something groff can understand.
+which converts various input encodings to something
+.B groff
+can understand.
.
It is always run first before any other preprocessor.
.
@@ -947,8 +973,10 @@ These aren't visible to the user.
Macro packages can be included by option
.ShortOpt m .
.
-The groff system implements and extends all classical macro packages
-in a compatible way and adds some packages of its own.
+The
+.I groff
+system implements and extends all classical macro packages in a
+compatible way and adds some packages of its own.
.
Actually, the following macro packages come with
.IR groff :
@@ -980,7 +1008,7 @@ or
.
.TP
.B mdoc
-The BSD-style man page format; see
+The \f[CR]BSD\f[]-style man page format; see
.BR \%groff_mdoc (@MAN7EXT@).
It can be specified on the command line as
.ShortOpt mdoc
@@ -1026,7 +1054,9 @@ or
.
.TP
.B www
-HTML-like macros for inclusion in arbitrary groff documents; see
+HTML-like macros for inclusion in arbitrary
+.I groff
+documents; see
.BR \%groff_www (@MAN7EXT@).
.
.P
@@ -1041,16 +1071,23 @@ not mentioned here.
.SS "Programming Language"
.\" --------------------------------------------------------------------
.
-General concepts common to all roff programming languages are
-described in
+General concepts common to all
+.I roff
+programming languages are described in
.BR roff (@MAN7EXT@).
.
.P
-The groff extensions to the classical troff language are documented in
+The
+.I groff
+extensions to the classical
+.I troff
+language are documented in
.BR \%groff_diff (@MAN7EXT@).
.
.P
-The groff language as a whole is described in the (still incomplete)
+The
+.I groff
+language as a whole is described in the (still incomplete)
.IR "groff info file" ;
a short (but complete) reference can be found in
.BR groff (@MAN7EXT@).
@@ -1060,10 +1097,19 @@ a short (but complete) reference can be found in
.SS Formatters
.\" --------------------------------------------------------------------
.
-The central roff formatter within the groff system is
+The central
+.I roff
+formatter within the
+.I groff
+system is
.BR @g@troff (@MAN1EXT@).
-It provides the features of both the classical troff and nroff, as
-well as the groff extensions.
+It provides the features of both the classical
+.I troff
+and
+.IR nroff ,
+as well as the
+.I groff
+extensions.
.
The command line option
.ShortOpt C
@@ -1071,12 +1117,15 @@ switches
.B @g@troff
into
.I "compatibility mode"
-which tries to emulate classical roff as much as possible.
+which tries to emulate classical
+.I roff
+as much as possible.
.
.P
There is a shell script
.BR @g@nroff (@MAN1EXT@)
-that emulates the behavior of classical nroff.
+that emulates the behavior of classical
+.BR nroff .
.
It tries to automatically select the proper output encoding, according to
the current locale.
@@ -1092,14 +1141,18 @@ see
.SS Devices
.\" --------------------------------------------------------------------
.
-In roff, the output targets are called
+In
+.IR roff ,
+the output targets are called
.IR devices .
A device can be a piece of hardware, e.g., a printer, or a software
file format.
.
A device is specified by the option
.ShortOpt T .
-The groff devices are as follows.
+The
+.I groff
+devices are as follows.
.
.TP
.B ascii
@@ -1182,7 +1235,8 @@ The default device is
.SS Postprocessors
.\" --------------------------------------------------------------------
.
-groff provides 3\~hardware postprocessors:
+.I groff
+provides 3\~hardware postprocessors:
.
.TP
.BR \%grolbp (@MAN1EXT@)
@@ -1206,8 +1260,9 @@ Consequently, there isn't an urgent need for more hardware device
postprocessors.
.
.P
-The groff software devices for conversion into other document file
-formats are
+The
+.I groff
+software devices for conversion into other document file formats are
.
.TP
.BR \%grodvi (@MAN1EXT@)
@@ -1223,19 +1278,25 @@ for PostScript.
.
.P
Combined with the many existing free conversion tools this should
-be sufficient to convert a troff document into virtually any existing
-data format.
+be sufficient to convert a
+.I troff
+document into virtually any existing data format.
.
.
.\" --------------------------------------------------------------------
.SS Utilities
.\" --------------------------------------------------------------------
.
-The following utility programs around groff are available.
+The following utility programs around
+.I groff
+are available.
.
.TP
.BR \%addftinfo (@MAN1EXT@)
-Add information to troff font description files for use with groff.
+Add information to
+.I troff
+font description files for use with
+.IR groff .
.
.TP
.BR \%afmtodit (@MAN1EXT@)
@@ -1249,7 +1310,12 @@ image into a cropped image.
.
.TP
.BR \%gdiffmk (@MAN1EXT@)
-Mark differences between groff, nroff, or troff files.
+Mark differences between
+.IR groff ,
+.IR nroff ,
+or
+.I troff
+files.
.
.TP
.BR \%grap2graph (@MAN1EXT@)
@@ -1259,11 +1325,16 @@ diagram into a cropped bitmap image.
.
.TP
.BR \%groffer (@MAN1EXT@)
-General viewer program for groff files and man pages.
+General viewer program for
+.I groff
+files and man pages.
.
.TP
.BR \%gxditview (@MAN1EXT@)
-The groff X viewer, the GNU version of xditview.
+The
+.I groff
+X viewer, the \f[CR]GNU\f[] version of
+.BR xditview .
.
.TP
.BR \%hpftodit (@MAN1EXT@)
@@ -1288,7 +1359,7 @@ Create PDF documents using
.
.TP
.BR \%pfbtops (@MAN1EXT@)
-Translate a PostScript font in .pfb format to ASCII.
+Translate a PostScript font in .pfb format to \f[CR]ASCII\f[].
.
.TP
.BR \%pic2graph (@MAN1EXT@)
@@ -1302,11 +1373,14 @@ Create font description files for TeX DVI device.
.
.TP
.BR \%xditview (1x)
-roff viewer distributed with X window.
+.I roff
+viewer distributed with X window.
.
.TP
.BR \%xtotroff (@MAN1EXT@)
-Convert X font metrics into GNU troff font metrics.
+Convert X font metrics into \f[CR]GNU\f[]
+.I troff
+font metrics.
.
.
.\" --------------------------------------------------------------------
@@ -1326,15 +1400,17 @@ This search path, followed by
is used for commands that are executed by
.BR groff .
.
-If it is not set then the directory where the groff binaries were
-installed is prepended to
+If it is not set then the directory where the
+.I groff
+binaries were installed is prepended to
.EnvVar PATH .
.
.
.TP
.EnvVar GROFF_COMMAND_PREFIX
-When there is a need to run different roff implementations at the same
-time
+When there is a need to run different
+.I roff
+implementations at the same time
.I groff
provides the facility to prepend a prefix to most of its programs that
could provoke name clashings at run time (default is to have none).
@@ -1356,8 +1432,9 @@ version of
.
By setting
.EnvVar GROFF_COMMAND_PREFIX
-to different values, the different roff installations can be
-addressed.
+to different values, the different
+.I roff
+installations can be addressed.
.
More exactly, if it is set to prefix
.I xxx
@@ -1382,7 +1459,9 @@ and
This feature does not apply to any programs different from the ones
above (most notably
.B groff
-itself) since they are unique to the groff package.
+itself) since they are unique to the
+.I groff
+package.
.
.
.TP
@@ -1504,8 +1583,9 @@ Note that more than a single directory is searched for those files
as documented in
.BR \%groff_tmac (@MAN5EXT@).
.
-For the groff installation corresponding to this document, it is
-located at
+For the
+.I groff
+installation corresponding to this document, it is located at
.IR @MACRODIR@ .
.
The following files contained in the
@@ -1515,7 +1595,8 @@ have a special meaning:
.
.TP
.B troffrc
-Initialization file for troff.
+Initialization file for
+.IR troff .
.
This is interpreted by
.B @g@troff
@@ -1524,7 +1605,8 @@ before reading the macro sets and any input.
.
.TP
.B troffrc-end
-Final startup file for troff.
+Final startup file for
+.IR troff .
.
It is parsed after all macro sets have been read.
.
@@ -1546,8 +1628,9 @@ This contains all information related to output devices.
Note that more than a single directory is searched for those files; see
.BR @g@troff (@MAN1EXT@).
.
-For the groff installation corresponding to this document, it is
-located at
+For the
+.I groff
+installation corresponding to this document, it is located at
.IR @FONTDIR@ .
.
The following files contained in the
@@ -1581,13 +1664,17 @@ program as a wrapper around
.BR @g@troff .
.
.P
-To process a roff file using the preprocessors
+To process a
+.I roff
+file using the preprocessors
.B tbl
and
.B pic
and the
.B me
-macro set, classical troff had to be called by
+macro set, classical
+.I troff
+had to be called by
.
.P
.ShellCommand pic foo.me | tbl | troff \*[@-]me \*[@-]Tlatin1 | grotty
@@ -1620,44 +1707,53 @@ calling
.\" --------------------------------------------------------------------
.
.P
-On EBCDIC hosts (e.g., OS/390 Unix), output devices
+On \f[CR]EBCDIC\f[] hosts (e.g., \f[CR]OS/390 Unix\f[]), output
+devices
.B ascii
and
.B latin1
aren't available.
.
-Similarly, output for EBCDIC code page
+Similarly, output for \f[CR]EBCDIC\f[] code page
.B cp1047
-is not available on ASCII based operating systems.
+is not available on \f[CR]ASCII\f[] based operating systems.
.
.P
-Report bugs to bug-groff@gnu.org.
+Report bugs to
+.MTO bug-groff@gnu.org "" .
.
Include a complete, self-contained example that allows the bug to
-be reproduced, and say which version of groff you are using.
+be reproduced, and say which version of
+.I groff
+you are using.
.
.
.\" --------------------------------------------------------------------
.SH AVAILABILITY
.\" --------------------------------------------------------------------
.
-Information on how to get groff and related information is available
-at the
-.URL http://\:www.gnu.org/\:software/\:groff "GNU website" .
-The most recent released version of groff is available for anonymous
-ftp at the
-.URL ftp://ftp.ffii.org/\:pub/\:groff/\:devel/\:groff-current.tar.gz \
+Information on how to get
+.I groff
+and related information is available at the
+.URL http://\:www.gnu.org/\:software/\:groff "groff GNU website" .
+The most recent released version of
+.I groff
+is available at the
+.URL http://groff.ffii.org/\:groff/\:devel/\:groff-current.tar.gz \
"groff development site" .
.
.P
-Three groff mailing lists are available:
+Three
+.I groff
+mailing lists are available:
.TP
.MTO bug-groff@gnu.org
for reporting bugs,
.
.TP
.MTO groff@gnu.org
-for general discussion of groff,
+for general discussion of
+.IR groff ,
.
.TP
.MTO groff-commit@ffii.org
@@ -1666,7 +1762,9 @@ a read-only list showing logs of commitments to the CVS repository.
.P
Details on CVS access and much more can be found in the file
.B README
-at the top directory of the groff source package.
+at the top directory of the
+.I groff
+source package.
.
.P
There is a free implementation of the
@@ -1678,25 +1776,29 @@ The actual version can be found at the
.
.URL http://\:www.lunabase.org/\:~faber/\:Vault/\:software/\:grap/ \
"grap website" .
-This is the only grap version supported by groff.
+This is the only grap version supported by
+.IR groff .
.
.
.\" --------------------------------------------------------------------
.SH AUTHORS
.\" --------------------------------------------------------------------
.
-Copyright \(co 1989, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+Copyright \(co 1989, 2002, 2003, 2004, 2005, 2006
+Free Software Foundation, Inc.
.
.P
-This document is distributed under the terms of the FDL (GNU Free
-Documentation License) version 1.1 or later.
+This document is distributed under the terms of the \f[CR]FDL\f[]
+(\f[CR]GNU Free Documentation License\f[]) version 1.1 or later.
.
-You should have received a copy of the FDL on your system, it is also
-available on-line at the
+You should have received a copy of the \f[CR]FDL\f[] on your system,
+it is also available on-line at the
.URL http://\:www.gnu.org/\:copyleft/\:fdl.html "GNU copyleft site" .
.
.P
-This document is based on the original groff man page written by
+This document is based on the original
+.I groff
+man page written by
.MTO jjc@jclark.com "James Clark" .
.
It was rewritten, enhanced, and put under the FDL license by
@@ -1707,15 +1809,16 @@ It is maintained by
.
.P
.I groff
-is a GNU free software project.
+is a \f[CR]GNU\f[] free software project.
.
All parts of the
.I groff package
-are protected by GNU copyleft licenses.
+are protected by \f[CR]GNU copyleft licenses\f[].
.
-The software files are distributed under the terms of the GNU General
-Public License (GPL), while the documentation files mostly use the GNU
-Free Documentation License (FDL).
+The software files are distributed under the terms of the \f[CR]GNU
+General Public License\f[] (\f[CR]GPL\f[]), while the documentation
+files mostly use the \f[CR]GNU Free Documentation License\f[]
+(\f[CR]FDL\f[]).
.
.
.\" --------------------------------------------------------------------
@@ -1723,16 +1826,20 @@ Free Documentation License (FDL).
.\" --------------------------------------------------------------------
.
The
-.IR "groff info file"
-contains all information on the groff system within a single document,
-providing many examples and background information.
+.I groff info file
+contains all information on the
+.I groff
+system within a single document, providing many examples and
+background information.
.
See
.BR info (1)
on how to read it.
.
.P
-Due to its complex structure, the groff system has many man pages.
+Due to its complex structure, the
+.I groff
+system has many man pages.
.
They can be read with
.BR man (1)
@@ -1759,6 +1866,7 @@ Roff preprocessors:
.BR \%@g@eqn (@MAN1EXT@),
.BR \%@g@grn (@MAN1EXT@),
.BR \%@g@pic (@MAN1EXT@),
+.BR \%@g@chem (@MAN1EXT@),
.BR \%preconv (@MAN1EXT@),
.BR \%@g@refer (@MAN1EXT@),
.BR \%@g@soelim (@MAN1EXT@),