teTeX A Documentation Guide

This page is an attempt at a guided tour around the huge amount of TeX and LaTeX documentation which comes as part of teTeX, the unix TeX and LaTeX system assembled by Thomas Esser. It is contributed by Keith Refson and all comments, suggestions and flames should be directed to him. Queries about installing and maintaining the teTeX installation itself should be directed to the teTeX mailing list: tetex@informatik.uni-hannover.de (send mail to majordomo@informatik.uni-hannover.de containing the lines subscribe tetex to join) and questions about using LaTeX, TeX etc are best asked on the usenet newsgroup comp.text.tex.

Much of the documentation is in the form of dvi and PostScript files which should display using xdvi or ghostscript from a properly configured web browser. Alternatively you may download and print them. The original LaTeX sources can be found in the documentation tree which is rooted at $TEXMFMAIN/doc.

Guides to TeX and LaTeX

LaTeX2e is the recommended version of LaTeX, and the older version LaTeX 2.09 is obsolete. If you know LaTeX2.09 read about LaTeX2e vs LaTeX2.09 and why you should switch. There are two manuals describing the LaTeX language itself, which may at a pinch substitute for a book, a concise manual entitled Essential LaTeX an a fuller "not so short" Introduction to LaTeX2e. There is also a full reference manual of LaTeX2e commands -- ideal for looking up a particular piece of formatting while writing a document (also available in dvi format) and a table of available mathematical symbols.

Useful information in a questions and aswers format is provided by the UK TeX users group Frequently Asked Questions list.

Most LaTeX books refer to a local guide to describe operating-system and implementation-dependent aspects, notably the commands to invoke LaTeX and how to preview and print documents. The document Running LaTeX and utilities on a Unix system (also in PostScript form) is a good introduction to most of these topics.

There are errata lists available for two well-known books, the LaTeX Book and the LaTeX Companion. (A complete revision of Chapter 8 of The LaTeX Companion is also available from CTAN courtesy of the publisher, Addison-Wesley.)

Graphics and Colour

A very common requirement is to include some kind of graphics as an external file (usually PostScript) into a LaTeX document. The definitive manual on how to do this is Keith Reckdahl's excellent Using EPS graphics in LaTeX2e (also available in PDF format). The document Packages in the graphics bundle (also in dvi format) is the documentation on the recommended LaTeX2e graphics package, which includes information on how to use colours in the output.

A very powerful additional capability is provided by the psfrag system (also in dvi format). This allows you to import PostScript figures from any other package, but use LaTeX's power for all of the mathematical and textual annotations. (But note that xfig(1) allows you to do this anyway).

Graph and Diagram Drawing

Probably the best way to draw a simple diagram is to use the xfig program (see the unix man page for details). However there are programmatic ways for more sophisticated work. These are
xypic
there is also a reference manual.
texdraw
There are examples in the directory generic/texdraw/.
Pstricks
a set of macros for performing fancy twiddles using PostScript, such as drawing of geometrical objects, diagrams, fancy boxes, grayscales etc. There is a User Guide ( part 1, part 2, part 3, part 4), a quick reference card and examples in the directory generic/pstricks.
METAPOST
a development of Donald Knuth's METAFONT program which produces PostScript rendition of fonts, diagrams etc rather than bitmapped versions. Documentation includes a manual (also in dvi format) and a guide to plotting graphs (dvi) using METAPOST.

LaTeX Packages

These packages control the visual appearance and formatting of LaTeX documents. Many of them are described in the book The LaTeX Companion and they are grouped here in accordance with the headings defined there.

This installation contains the packages listed below. Many more have been written to provide additional capabilities and are available for download from the Comprehensive TeX Archive Network server, abbreviated to CTAN. Here is the Catalogue of packages available from CTAN.

Document Structure

xr
Page references to external documents.
varioref
"Intelligent" page references.
lastpage
Reference the number of pages in your LaTeX document (as in a page footer that says: Page N of M)
hyperref
Create hypertext documents in dvi or PDF form.
KOMA-script
A drop-in replacement for the article/report/book classes with emphasis on European rules of typography and paper formats as laid down by Jan Tschichold. The article class, for example, becomes scrartcl.

Formatting Tools

bm
The right way to make bold mathematical symbols.
xspace
Define commands that don't eat spaces.
moreverb
A verbatim mode that can handle TABs properly, can number lines, can number lines in an included file, can produce boxed verbatims, etc.
verbatim
A better verbatim environment.
picinpar
Insert pictures into paragraphs. (NOTE: Piet van Oostrum does not recommend this package. Picins is recommended instead.
multicol
LaTeX package to mix single and multiple columns. Allows you to shift between two and one columns anywhere.
ftnright
Customze placement of footnotes in two column documents.
enumerate
Adds an optional argument to the enumerate environment which determines the style in which the counter is printed.
indentfirst
Indent first paragraph after section header.
algorithms
Defines a floating algorithm environment designed to work with the algorithmic package.
textfit
Package to support fitting of text to a given width of height by scaling the font.
typehtml
Typeset HTML (i.e., World Wide Web documents) directly from LaTeX.

Page Layout

geometry
Customise page layout (page sizes) using an easy and flexible user interface. Example gtest.tex generates a testpage.
fancyheadings
This package has been superceded by fancyhdr.
fancyhdr 
Support for sophisticated control of page headers and footers in LaTeX2e. It supercedes fancyheadings.
footnpag
Allows footnotes on individual pages to be numbered from 1, rather than being numbered sequentially through the document.
layout
Generate a test page showing the page layout.
a4
Mostly superceded by LaTeX2e support for a4 paper but defines the extra option of widemargins. The geometry package is usually better.
anysize
Another package to set page sizes. Superceded by Geometry.

Tables

array
An extended implementation of the array and tabular environments which implements options to format columns.
longtable
Support for tables longer than a page
delarray
Add delimiters (parentheses etc.) around arrays.
supertabular
A multi-page tables package.
dcolumn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn
Align on the decimal point of numbers in tabulars.
hhline
Bdesignn