Warning: This page may use JavaScript to display mathematics. If your browser supports JavaScript, please enable it now.

TeX - Lon Mitchell

TeX is a computer programing language written in the 1970s by Donald Knuth and designed to facilitate the typesetting of mathematics. The best feature of TeX is its license, the GNU Public License, which allows for others to use and improve it without cost.

TeX is actually a compiler: it takes an ordinary text file as input. This allows for implementations of TeX for all major operating systems. I have found MiKTeX, a free system for Windows, to be my favorite, primarily for its combination of price, documentation, support, and on-the-fly installation of TeX extensions. I happen to use the Crimson Editor, a free text editor, but TeXnicCenter is also good and is designed to work specifically with MiKTeX.

In addition to the the text file, however, TeX also requires a set of predefined variables, such as the intended page-size and font to be used, located in a class file. This means TeX can be used to great advantage when standardized output is required (for example, for a scientific journal that wishes to format each of its articles the same way, or for a business letter on letterhead). However, this means that any changes to the default output format must be programmed by the user. For those without the time or inclination to learn how, the result is the many PDF files found online, and even many textbooks from major publishers, with mathematical writing using the ugly Computer Modern font, ridiculous margins (designed for journal articles printed on smaller paper), and tight single-spacing. So common has this become that there are even some people that claim a paper or book doesn't look professional unless it has these properties. Thus, I (and apparently Knuth feels similarly) don't advocate the use of TeX unless you will be writing enough mathematics to warrant a small investment of time in learning how to make typographically pleasing output suited to the intended viewing medium. See my TeX Tips page for some help along those lines.

The power of any programming language is contained in its available functions (called macros in this case). LaTeX refers to a set of macro extensions to TeX (also called a package) in common use today. There are many packages available to extend TeX's capabilities, most provided free of charge under various public licences, that add various degrees of functionality. The Comprehensive TeX Archive Network (CTAN) attempts to catalog them all---no small task.

I can often be persuaded to help others with TeX projects for the right compensation. In addition to typesetting a number of scholarly papers, I have designed class files for Kansas University Continuing Education and for thesis and dissertation writers at KU, as well as KU themed style files for PDF presentations via the beamer package, further discussed below. These files may be found on the KU Math Department's local archive.

PDFTeX is a TeX variant that outputs directly in PDF format. This avoids many problems, like fuzzy screen fonts, due to converting standard TeX output (DVI file) to PDF. More importantly, with the aid of a few packages, PDFTeX gives the great features of PDF, like bookmarks, hyperlinks, embedded JavaScript, forms, and movie and sound inclusion. Control over bookmarks, addition of hyperlinks, JavaScript, and forms is all part of the hyperref package. In default mode, entries in the table of contents and index are hyperlinked to their subjects.

Using the full-screen mode of Adobe Acrobat Reader, or another PDF viewer, properly formatted PDF files can be used for presentations. While there are a number of packages written for this purpose, my favorite is the beamer package, due to the included presentation styles and overall feature list.

For graphics, including the cover page I designed for Bill Paschke's functional analysis notes (part of the picture on this page), I have found pgf/tikz to be the worst TeX graphic package, except for all the others I've tried.

Perhaps the most impressive PDFTeX package is microtype, although if it's doing its job you won't even notice it. The microtype package enables micro-typographic features including font expansion and character protrusion. The result is better-looking justified text.

Nothing is quite as frustrating as trying to put mathematics online, either for instructional purposes or to advertise conferences and the like. With browser support for MathML, a fine language for online mathematics, in terrible shape---only Firefox seems to do a decent job, and you still need to figure out how to get the MathML fonts---some other system must be used for now. PDF, at least, gives complete control over markup, but cannot be just a part of a webpage. There are a number of conversion programs from TeX to HTML, such as Tth, LaTeX2HTML, and TeX4HT. These all rely on a number of utilities to crop and convert TeX output into individual images for display. While the math looks good (when you can get the programs to work on your system), HTML provides no good way to align the pictures and text in a completely satisfactory manner.

jsMath, on the other hand, is a JavaScript implementation of TeX with output to HTML. The result is text and math that integrate seamlessly, and math that looks better that MATHML. Unfortunately, because every command must be rendered into JavaScript, adding support for packages is a slow process.

Today, there are compilers for just about any kind of output along the TeX model. One example, Lilypond, typesets music with particularly beautiful output. Better still, one can post-compile with TeX to add music examples to text, or add TeX commands to the music score.