While Knuth's book is the definitive reference for TeX, there are
other books covering TeX:
The TeXbook
by Donald Knuth (Addison-Wesley, 1984,
ISBN 0-201-13447-0, paperback ISBN 0-201-13448-9)
A Beginner's Book of TeX
by Raymond Seroul and Silvio Levy,
(Springer Verlag, 1992, ISBN 0-387-97562-4)
Introduction to TeX
by Norbert Schwarz (Addison-Wesley,
1989, ISBN 0-201-51141-X)
A Plain TeX Primer
by Malcolm Clark (Oxford University
Press, 1993, ISBNs 0-198-53724-7 (hardback) and 0-198-53784-0
(paperback))
TeX by Topic
by Victor Eijkhout (Addison-Wesley, 1992,
ISBN 0-201-56882-9)
TeX for the Beginner
by Wynter Snow (Addison-Wesley, 1992,
ISBN 0-201-54799-6)
TeX for the Impatient
by Paul W. Abrahams, Karl Berry and
Kathryn A. Hargreaves (Addison-Wesley, 1990, ISBN 0-201-51375-7)
TeX in Practice
by Stephan von Bechtolsheim (Springer
Verlag, 1993, 4 volumes, ISBN 3-540-97296-X for the set, or
Vol. 1: ISBN 0-387-97595-0,
Vol. 2: ISBN 0-387-97596-9,
Vol. 3: ISBN 0-387-97597-7, and
Vol. 4: ISBN 0-387-97598-5)
TeX: Starting from Square One
by Michael Doob (Springer
Verlag, 1993, ISBN 3-540-56441-1)
The Advanced TeXbook
by David Salomon (Springer Verlag, 1995,
ISBN 0-387-94556-3)
A collection of Knuth's publications about typography has recently been
published:
Digital Typography
by Donald Knuth (CSLI and Cambridge
University Press, 1999, ISBN 1-57586-011-2, paperback
ISBN 1-57586-010-4).
For LaTeX, see:
LaTeX, a Document Preparation System
by Leslie Lamport
(second edition, Addison Wesley, 1994, ISBN 0-201-15790-X)
A guide to LaTeX2e
Helmut Kopka and Patrick W. Daly (third
edition, Addison-Wesley, 1998, ISBN 0-201-39825-7)
The LaTeX Companion
by Michel Goossens, Frank Mittelbach,
and Alexander Samarin (Addison-Wesley, 1993, ISBN 0-201-54199-8)
The LaTeX Graphics Companion:
Illustrating documents with TeX and PostScript by Michel
Goossens, Sebastian Rahtz and Frank Mittelbach (Addison-Wesley,
1997, ISBN 0-201-85469-4)
The LaTeX Web Companion
Integrating TeX, HTML and XML by Michel
Goossens and Sebastian Rahtz (Addison-Wesley, 1999, ISBN 0-201-43311-7)
TeX Unbound:
LaTeX and TeX strategies for fonts, graphics, and more
by Alan Hoenig (Oxford University Press, 1998, ISBN 0-19-509685-1
hardback, ISBN 0-19-509686-X paperback)
Math into TeX:
A Simplified Introduction using AMS-LaTeX
by George Grätzer (Birkhäuser, 1993, ISBN 0-817-63637-4, or,
in Germany, ISBN 3-764-33637-4)
Math into LaTeX:
An Introduction to LaTeX and AMS-LaTeX
by George Grätzer (Birkhäuser, 1996, ISBN 0-817-63805-9)
First Steps in LaTeX
by George Grätzer (Birkhäuser, 1999
[to appear in July 1999], ISBN 0-8176-4132-7
LaTeX: Line by Line:
Tips and Techniques for Document Processing
by Antoni Diller (second edition, John Wiley & Sons,
1999, ISBN 0-471-97918-X)
A sample
of George Grätzer's book, in Adobe Acrobat format, is also available
(info/mil/mil.pdf).
Example files for the LaTeX Graphics and Web Companions are
available in info/lgc (Graphics) and info/lwc (Web).
Example files for George Grätzer's `First Steps' are available in
info/FirstSteps
The list for METAFONT is rather short:
The METAFONTbook
by Donald Knuth (Addison Wesley, 1986,
ISBN 0-201-13445-4, ISBN 0-201-52983-1 paperback)
This list only covers books in English: UK TUG cannot hope to maintain
a list of books in languages other than our own.
Bobby Bodenheimer's article, from which the present one was developed, used
to be posted (nominally monthly) to newsgroup
comp.text.tex and cross-posted to newsgroups
news.answers and comp.answers. The most
recently posted copy of that article is kept on CTAN in directory
obsolete/help; it is no longer kept in the
news.answers archives.
Both the Francophone TeX usergroup Gutenberg and the Czech/Slovak
usergroup CS-TUG have published translations of this FAQ, with
extensions appropriate to their languages.
There are (still) people who can use networks but can't read Usenet
news; for them, not all is lost if they can send and receive email.
The TeXhax digest is operated as a
mailing list. Send a message `subscribe texhax' to
texhax-request@tex.ac.uk to join it. Its turn-around is not
rapid, but questions submitted to it do eventually get
answered.
Announcements of TeX-related installations on the CTAN
archives are sent to the mailing list ctan-ann. Subscribe
to the list by sending a message `subscribe ctan-ann <your name>' to
listserv@urz.Uni-Heidelberg.de
Issues related to METAFONT (and, increasingly, MetaPost) are discussed on
the metafont mailing list; subscribe by sending a message
`subscribe metafont <your name>' to listserv@ens.fr
Several other TeX-related lists may be accessed via
listserv@urz.uni-heidelberg.de. Send a message containing
the line `help' to this address.
Some very fine tutorials have been written, over the years. Michael
Doob's splendid `Gentle Introduction' to plain TeX has been stable
for a very long time. See info/gentle/gentle.pdf
More dynamic is Tobias Oetiker's `(Not so) Short Introduction to
LaTeX2e', which is regularly updated, as people suggest better ways
of explaining things, etc. See info/lshort/english/lshort.pdf
A recent entrant is Harvey Greenberg's `Simplified Introduction to
LaTeX'; this was written for a lecture course, and is available
(PostScript only, unfortunately) as info/simplified-latex/latex.ps
BibTeX, a program originally designed to produce bibliographies in
conjunction with LaTeX, is explained in Section 4.3 and Appendix B
of Leslie Lamport's LaTeX manual
(see TeX-related books).
The document ``BibTeXing'', contained in the file btxdoc.tex,
gives a more complete description. The LaTeX Companion
(see TeX-related books) also
has information on BibTeX and writing BibTeX style files.
The document ``Designing BibTeX Styles'', contained in the file
btxhak.tex, explains the postfix stack-based language used to write
BibTeX styles (.bst files). The file btxbst.doc is the template
for the four standard styles (plain, abbrv, alpha, unsrt). It
also contains their documentation.
The complete BibTeX documentation set (including the files above)
is in biblio/bibtex/distribs/doc
There is a Unix BibTeX man page in the web2c
package (see TeX systems). Any copy
you may find of a man page written in 1985 (before
``BibTeXing'' and ``Designing BibTeX Styles'' appeared) is
obsolete, and should be thrown away.
PicTeX is a set of macros by Michael Wichura for drawing diagrams
and pictures. The
macros are freely available in graphics/pictex; however, the
PicTeX manual itself is not free.
Unfortunately, TUG is no longer able to supply copies of the
manual (as it once did), and it is now available only through Personal
TeX Inc, the vendors of PCTeX (http://www.pctex.com/). The
manual is not available electronically.
Having learnt of a file
that seems interesting, search a CTAN archive for it (see
finding files on CTAN). For packages
listed in
The LaTeX Companion
the file info/companion.ctan may be consulted as an alternative to
searching the archive's index. It lists the current location in the archive of
such files.
An alternative procedure is to use
http://ctan.tug.org/ctan/, which permits limited
`keyword' searching for files on the CTAN sites.
To find software at a CTAN site, you can use anonymous ftp to
the host with the command `quote site index <term>', or the
searching script at http://www.dante.de/cgi-bin/ctan-index
To get the best use out of the ftp facility you should remember that
<term> is a Regular Expression and not a fixed string,
and also that many files are distributed
in source form with an extension different to the final file. (For
example LaTeX packages are often distributed sources with extension
dtx rather than as package files with extension sty.)
One should make the regular expresion general enough to find the file
you are looking for, but not too general, as the ftp interface will
only return the first 20 lines that match your request.
The following examples illustrate these points.
To search for the LaTeX package `caption',
you might use the command:
quote site index caption.sty
but it will fail to find the desired package (which is
distributed as caption.dtx) and does return unwanted `hits' (such as
hangcaption.sty). Also, although this example does not show it the
`.' in `caption.sty' is used as the regular expression that
matches any character.
So
quote site index doc.sty
matches such unwanted files as
language/swedish/slatex/doc2sty/makefile
Of course if you know the package is stored as .dtx you can
search for that name, but in general you may not know the extension
used on the archive.
The solution is to add `/' to the front of the package name and
`\\. to the end. This will then search for a file name that consists
solely of the package name between the directory separator and the
extension. The two commands:
quote site index /caption\\.
quote site index /doc\\.
do narrow the search down sufficiently. (In the case of doc, a few
extra files are found, but the list returned is sufficiently small to
be easily inspected.)
If the search string is too wide and too many files would match, the
list will be truncated to the first 20 items found. Using some
knowledge of the CTAN directory tree you can usually narrow the search
sufficiently. As an example suppose you wanted to find a copy of the
dvips driver for MS-DOS. You might use the command:
quote site index dvips
but the result would be a truncated list, not including the file you
want. (If this list were not truncated 412 items would be returned!)
However we can restrict the search to MS-DOS related drivers as
follows.
quote site index msdos.*dvips
Which just returns relevant lines such as
systems/msdos/dviware/dvips/dvips5528.zip
A basic introduction to searching with regular expressions is:
Most charcters match themselves, so "a" matches "a" etc.;
"." matches any character;
"[abcD-F]" matches any single character from the set
{"a","b","c","D","E","F"};
"*" placed after an expression matches zero or more occurrences
so "a*" matches "a" and "aaaa", and "[a-zA-Z]*" matches a
`word';
"\" `quotes' a special character such as "." so "\." just
matches ".";
"^" matches the beginning of a line;
"$" matches the end of a line.
For technical reasons in the quote site index command, you need to
`double' any \ hence the string /caption\\. in the above example.
The quote site command ignores the case of letters. Searching for
caption or CAPTION would produce the same result.