Keeping stuff: How to preserve course papers despite technological change

Front door ... Previous page ... Next page ... Executive summary


TEX

In the mid-1980s, I started using a formatter much more powerful and elegant than RUNOFF, SROF, or the MASS-11 system: Donald Knuth's TEX. It's a markup system, like RUNOFF and SROF; the original of a TEX document, though readable, usually contains a lot of commands telling TEX what to do. As an example, here is the flyer that I made to advertise the original version of this talk, and here is the TEX source file that produced it.

TEX is short for `techne', which is the root from which the word `technology' is derived; it's the word for `art' in classical Greek. The name reflects Knuth's motivation for creating the software, which was to make it possible for users of computers to create printed documents that were as aesthetically pleasing and well designed as books that human typesetters and printers prepared by hand. Knuth is a professor of mathematics and computer science, and in the late 1960s and early 1970s, as several of the mathematical journals in which he published tried to change over to automated typesetting, he was alarmed and outraged by the ugliness and illegibility of his papers, and he resolved to create the tools for doing computer typesetting artistically -- mainly TEX and a related program, METAFONT, for designing type fonts on computers.

TEX has several strengths that recommend it to demanding, high-powered users. To begin with, it's extensible, in the sense that a user can define her own TEX commands to do formatting operations that Knuth either did not anticipate or did not think important enough to include in the basic repertoire. Secondly, Knuth did a great deal of research, consulting with typographers and book designers and learning about their methods and values. Thirdly, Knuth is both a first-rate theoretical computer scientist and an extremely good programmer, and his academic position enabled him to choose to work to a very high standard. He achieved his goal. Printed documents formatted by TEX can be as good as those prepared by professional printers, and indeed many publishing houses now use TEX as their principal typesetting tool, including the publishers of the mathematical journals whose clumsy experiments started Knuth working in the first place. TEX has been essentially stable since 1982, though Knuth has continued to correct the bugs that users have, at long intervals, discovered in the software. TEX documents created in 1982 can be printed today.

Like SNOBOL4, TEX is distributed with its source code. Knuth also enforces a de facto standard by making available a test document that thoroughly exercises an implementation's capabilities. If a proposed implementation doesn't process that document correctly, it isn't TEX.

TEX stores its immediate output in a ``device-independent file''; to print the document requires yet another piece of software, to translate the device-independent page description into commands that one's local printer can follow. Different models of printers require different translators, and the quality of the translators varies somewhat.

Here, for example, is the first course handout I prepared in TEX, as it emerged in January 1987 from the DEC LN03 printer that I mentioned earlier, and here is the same document, as prepared for printing on a Hewlett-Packard DeskJet 6940 today. You can see that it's the same document, formatted the same way, although the overall look is somewhat changed. One reason for the difference is that the LN03 was a 300-dots-per-inch printer, while the 6940 prints at a resolution of 600 dots per inch. The translator for the 6940 does a more accurate job of rendering the Computer Modern fonts in which the document is printed.

There has also been one substantial though unobtrusive change: A few years ago, Knuth made some improvements in the shape of the lower-case Greek delta in the Computer Modern fonts, and the TEX that we now run on MathLAN uses the new delta, whereas the implementation for the VAX in 1987 used the old one.

It's important to recognize that none of these improvements involved any changes either in the original source file or in the device-independent file that TEX generated, both of which are the same as in 1987, even though the source file, originally created on the VAX, has been successively moved to a Sun workstation running the SunOS operating system, to a Hewlett-Packard workstation running HP-UX, to a VA Linux YMP server running Red Hat Linux, to Los Alamos servers running two different versions of Debian GNU/Linux. I did not make any changes in this file to print the newer version; I just had TEX format it and sent the result through the appropriate translator to the printer.


Front door ... Previous page ... Next page ... Executive summary


This document is available on the World Wide Web as

http://www.cs.grinnell.edu/~stone/essays/keeping-stuff/tex.xhtml


created March 19, 2001
last revised February 10, 2009

John David Stone (stone@cs.grinnell.edu)