Unix documentation tools have always been designed primarily for
the challenges involved in composing large and complex documents.
Originally it was patent applications and paperwork; later it was
scientific and technical papers, technical documentation of all sorts.
Consequently, most Unix developers learned to love markup-centered
documentation tools. Unlike the PC users of the time, the Unix
culture was unimpressed with WYSIWYG word processors when they became
generally available in the late 1980s and early 1990s — and even
among today's younger Unix hackers it is still unusual to find anyone
who really prefers them.
Dislike of opaque binary document formats — and especially
of opaque proprietary binary formats — also
played a part in the rejection of WYSIWYG tools. On the other hand,
Unix programmers seized on PostScript (the now-standard language for
controlling imaging printers) with enthusiasm as soon as the language
documentation became available; it fits neatly in the Unix tradition
of domain-specific languages. Modern open-source Unix systems have
excellent PostScript and Portable Document Format
(PDF) tools.
Another consequence of this history is that Unix documentation
tools have tended to have relatively weak support for including
images, but strong support for diagrams, tables, graphing, and
mathematical typesetting — the sorts of things often needed in
technical papers.
The Unix attachment to markup-centered systems has often been
caricatured as a prejudice or a troglodyte trait, but it is not really
anything of the kind. Just as the putatively ‘primitive’
CLI style of Unix is in many ways better adapted to the needs of power
users than GUIs, the markup-centered design of tools like
troff(1)
is a better fit for the needs of power documenters than are WYSIWYG
programs.
The large-document bias in Unix tradition did not just keep Unix
developers attached to markup-based formatters like
troff, it also made them interested in
structural markup. The history of Unix document tools is one of
lurching, muddled, and erratic movement in a general direction away
from presentation markup and toward structural markup. In mid-2003
this journey is not yet over, but the end is distantly in
sight.
The development of the World Wide Web meant that the ability to
render documents in multiple media (or, at least, for both print and
HTML display) became the central challenge for documentation tools
after about 1993. At the same time, even ordinary users were, under
the influence of HTML, becoming more comfortable with markup-centered
systems. This led directly to an explosion of interest in structural
markup and the invention of XML after 1996. Suddenly the old-time
Unix attachment to markup-centered systems started looking prescient
rather than reactionary.
Today, in mid-2003, most of the leading-edge development of
XML-based documentation tools using structural markup is taking place
under Unix. But, at the same time, the Unix culture has yet to let go
of its older tradition of presentation-level markup systems. The
creaking, clanking, armor-plated dinosaur that is
troff has only partly been displaced by
HTML and XML.