What Is It About All Those *Texs
Total Page:16
File Type:pdf, Size:1020Kb
18 MAPS 36 Piet van Oostrum What is it about all those *TEXs Abstract ‘plain TEX’. You would run tex from the command line This short article describes the different ‘layers’ in a (there were no graphical user interfaces in that time) TEX system, the differences between TEX engines, on this input and a DVI file would be produced. There extensions, macro packages, and distributions. I hope was a program to preview the DVI file and one or more to take away some of the confusions that people new programs to send it to a suitable printer. And there to T X and less technically inclined people have when E was a companion program metafont but that was only they are confronted with terms like pdftex, texlive, tetex, miktex, pdflatex and so on. used by some font freaks. And that was it. Keywords Further developments TEX, LaTEX, miktex, tetex, TEXLive, etex, pdftex, pdfetex After the original TEX implementation several new de- velopments have occurred. Different syntax forms for your input document. Introduction 2 Plain TEX is quite simple but out of the box it When you want to use TEX on your computer you doesn’t support more advanced features, like cross are quite soon confronted with a lot of software parts references, automatically numbered sections and which have names that end on ‘tex’. If you are lucky so on. You can program these yourself but it is you have a computer which has TEX pre-installed. Oth- tedious and it makes exchange of documents with erwise you will have to choose what to install. You other authors more difficult. It would be nice if you might get a DVD with one install-button that installs a could use the work that others have done. Such complete system for you, but more often you will have collections of definitions and pre-programmed to choose which components you want to install. And features are called ‘macro packages’. The most if your TEX installation has become outdated you may well known of these are LaTEX and ConTEXt. Please come to the point that you have to install a new system. note that these macros do not require changes Sometimes it is just an upgrade of the existing instal- to the TEX program but are a kind of additional lation but there comes a point when that is no longer input files for TEX, extending the input language supported and then you have to decide what to choose. TEX understands with new – usually higher-level – Now this choice can be quite confusing. Do you have commands. to use ‘MiKTEX’ or ‘TEXLive’, ‘TeXShop’ or ‘TeXnicCen- Extensions of the TEX program. There are several ter? And what are these things? Why doesn’t installing 2 limitations in the TEX program that make it hard TeXShop on a Mac give you a working TEX system? And for writers of macro packages to program some if you want to process your files do you choose ‘latex’ advanced features. Another wish people had is to or ‘miktex’? We will see that the last question is the produce PDF files directly rather than, or better, wrong one but for new users it seems a logical thing to in addition to, the arcane DVI format. Or to make ask. Below I will try to put some order into all these easier use of the fonts that are present in modern terms so that you will be able to place the different operationg systems. For a good programmer it things in their proper place and to know which ques- is not very difficult to enhance the TEX program tions have meaning. to overcome these difficulties. However, Knuth does want TEX to be stable, so he doesn’t change it anymore. He allows others to make changed The beginning versions, however, as long as they are not called In the beginning there was TEX. This is the original TEX. Therefore all kinds of extensions of TEX have program designed and programmed by Donald Knuth. appeared under names such as eTEX (additional You prepared your input according to the specifications facilities for macro programmers), pdfTEX (PDF in The TEX Book. This style of TEX documents is called output as an option), or XeTEX (support for *TEX VOORJAAR 2008 19 operating systems fonts). umentation files, supporting programs, etc. They usu- Engines. Most of the macro packages can be ally come on a CDROM or DVD (most don’t fit on a 2 combined with most of the (extended) programs CDROM anymore these days) or can be downloaded mentioned above. Often the combinations are pre- from the Internet. packaged in such a way that they can be executed If you install a distribution you have in principle a as a specific program. We call such a program working and very complete TEX system, but usually not an ‘engine’. (Some people might use the word a GUI. The advantage of installing a complete distribu- ‘engine’ only for the above mentioned programs tion rather than collecting the parts yourself is that it without reference to a preloaded macro package.) most probably has been thoroughly checked and all the An engine can be for example latex, pdftex or parts have versions that are supposed to work together. pdflatex. Popular distributions are: Additional programs. Having only TEX and 2 metafont wasn’t sufficient. Many other support- MiKTEX. Built and distributed by Christian Schenk ing programs have been added, such as programs 2 for MS-Windows. Some parts of it have been to manipulate bibliographies, picture processing, ported to GNU/Linux and Mac OS X. This is support of different languages, and so on. Well probably the most popular distribution for MS- known ones are bibtex for bibliography process- Windows. The great advantage of MiKTEX is that ing and makeindex for the sorting and formatting it has an advanced ‘package manager’. This is a of alphabetical indices. part that automatically installs missing parts if Graphical user interfaces to make working with TEX they are needed. So you can choose to install 2 and the additional programs easier. Nowadays a rather small subset of MiKTEX initially, and let most computer users do not feel comfortable with the package manager automatically download and command line interfaces. Therefore there are install additional needed parts. Of course you must graphical programs, sometimes called IDE’s (in- be connected to the Internet for this to happen. tegrated development environments). With these The package manager can also be used to upgrade you can edit your input documents, often with outdated parts or install new parts manually. syntax coloring. And they contain menus and but- teTEX. This used to be a large distribution for Unix- tons for seamlessly activating the major programs 2 like systems packaged by Thomas Esser. Many that are part of a TEX processing cycle, including GNU/Linux systems still have this as their default viewing errors, previewing the document and distribution. However, it is no longer maintained. printing it. Examples are TeXShop, TeXnicCenter, It has been replaced by: and Texmaker TEXLive. This distribution was originally based Many other additions are useful, for example 2 on teTEX but the choice of what it included was 2 support for many fonts, additional macro packages different from teTEX. It also supports MS-Windows, as additions to LaTEX, ConTEXt and others, and so GNU/Linux and Mac OS X, and is therefore a good on. Together such a TEX system easily contains choice when portability is important. It is released tens of thousands of files. Managing these files on a CDROM/DVD set and freely distributed and keeping up with new releases of them and (about yearly) to the members of most TEX user keeping them consistent is a major job. Therefore groups, like NTG. It can also be downloaded from there are distributions which consist of a carefully the Internet. selected and tested collection of files and programs MacTEX is a distribution for Mac OS X which is a that together form a working environment for the 2 subset of TEXLive that can be downloaded from the processing of TEX documents. Internet. In the rest of this article I will deal with the above men- GUI’s tioned parts in a ‘top-down’ manner, i.e., starting with the things the user will encounter first, and then dig- A GUI (Graphical User Interface) is a program or col- ging down to a more detailed view of how these things lection of programs to make your life as a TEX user eas- are built up internally. As we go into more details some ier. They contain an editor for entering and modifying of the above information will be repeated below. the TEX input file(s), often with syntax highlighting. And they usually have buttons to run the proper en- Distributions gine on the file, display it on your screen, print it, and run supporting programs like bibliography and index A distribution is a complete collection of TEX-related processing. programs of all thinkable sorts, macro packages, doc- They usually don’t include the TEX programs and 20 MAPS 36 Piet van Oostrum macro packages but suppose that you have installed to-left typesetting can be intermixed. It also these from a distribution. So for example installing expands the number of ‘registers’ that TEX has for TeXShop in your Mac doesn’t help you very much if you storing numbers, dimensions and so, which, with don’t also install a complete TEX system like TEXLive or complicated packages sometimes were exhausted. MacTEX. There are also some other extensions.