Next: Output Device Intro, Previous: Macro Package Intro, Up: Introduction [Contents][Index]
An alternative approach to complexity management, particularly when
constructing tables, setting mathematics, or drawing diagrams, lies in
preprocessing. A preprocessor employs a domian-specific language
to ease the generation of tables, equations, and so forth in terms that
are convenient for human entry. Each preprocessor reads a document and
translates relevant portions of it into GNU troff input.
Command-line options to groff tell it which preprocessors to
use.
groff
provides preprocessors for laying out tables
(tbl),
typesetting equations
(eqn),
drawing diagrams
(pic
and
grn),
inserting bibliographic references
(refer),
and drawing chemical structures
(chem).
An associated program that is useful when dealing with preprocessors is
soelim.
groff
also supports
grap,
a preprocessor for drawing graphs.
A free implementation of it can be obtained
separately.1
Unique to
groff
is the
preconv
preprocessor that enables
GNU
troff to handle documents in a variety of input encodings,
including UTF-8.
Unlike most preprocessors,
preconv
operates on its entire enput
rather than transforming specially marked regions of a document.
Other preprocessors exist, but no free implementations
are known. An example is ideal, which draws diagrams using a
mathematical constraint language.