|
Unix Programming - The Zoo of Unix Documentation Formats - TeX
TeX
TeX (pronounced
/teH/ with a rough h as though you are
gargling) is a very capable typesetting program that, like the
Emacs editor, originated outside the Unix
culture but is now naturalized in it. It was created by noted
computer scientist Donald Knuth when he became impatient with the quality of
typography, and especially mathematical typesetting, that was
available to him in the late 1970s.
TeX, like
troff(1),
is a markup-centered system. TeX's request
language is rather more powerful than
troff's; among other things, it is better
at handling images, page-positioning content precisely, and
internationalization. TeX is particularly
good at mathematical typesetting, and unsurpassed at basic typesetting
tasks like kerning, line filling, and hyphenating.
TeX has become the standard submission
format for most mathematical journals. It is actually now maintained
as open source by a working group of the the American Mathematical
Society. It is also commonly used for scientific papers.
As with
troff(1),
human beings usually do not write large volumes of raw
TeX macros by hand; they use macro packages
and various auxiliary programs instead. One particular macro package,
LaTeX, is almost universal, and most people who say they're composing
in TeX almost always actually mean they're
writing LaTeX. Like troff's macro
packages, a lot of its requests are semi-structural.
One important use of TeX that is
normally hidden from the user is that other document-processing tools
often generate LaTeX to be turned into PostScript, rather than
attempting the much more difficult job of generating PostScript
themselves. The
xmlto(1)
front end that we discussed as a shell-programming case study in Chapter14 uses this tactic; so does the XML-DocBook
toolchain we'll examine later in this chapter.
TeX has a wider application range
than
troff(1)
and is in most ways a better design. It has the same fundamental
problems as troff in an increasingly
Web-centric world; its markup has strong ties to the presentation
level, and automatically generating good Web pages from
TeX sources is difficult and
fault-prone.
TeX is never used for Unix system
documentation and only rarely used for application documentation;
for those purposes, troff is sufficient.
But some software packages that originated in academia outside the
Unix community have imported the use of TeX
as a documentation master format; the Python
language is
one example. As we noted above, it is also heavily used for
mathematical and scientific papers, and will probably dominate that
niche for some years yet.
[an error occurred while processing this directive]
|