%%% ====================================================================
%%% @TeX-file{
%%% filename = "tlc-rvw.tex",
%%% version = "1.03",
%%% date = "28 February 1995",
%%% time = "16:17:08 EST",
%%% author = "David M. Jones and David E. Wald",
%%% address = "MIT Laboratory for Computer Science
%%% Room NE43-316
%%% 545 Technology Square
%%% Cambridge, MA 02139
%%% USA",
%%% telephone = "(617) 253-5936",
%%% FAX = "(617) 253-3480",
%%% checksum = "37536 331 2213 15684",
%%% email = "
[email protected]",
%%% codetable = "ISO/ASCII",
%%% keywords = "",
%%% supported = "yes",
%%% docstring = "The checksum field above contains a CRC-16
%%% checksum as the first value, followed by the
%%% equivalent of the standard UNIX wc (word
%%% count) utility output of lines, words, and
%%% characters. This is produced by Robert
%%% Solovay's checksum utility.",
%%% }
%%% ====================================================================
\documentstyle{ltugboat}
\vol 15, 2.
\issdate June 1994.
\setcounter{page}{1}
\PrelimDraftfalse
\def\LaTeXe{\LaTeX{}\kern.05em2$_{\textstyle\varepsilon}$}
\title{\Review: The \LaTeX{} Companion\thanks{This review originally
appeared in {\sl TUGboat\/} 15(2):103--106, June 1994, and appears
here by permission.}}
\author{David M. Jones}
\address{MIT Laboratory for Computer Science\\
545 Technology Square\\
Cambridge, MA 02139}
\netaddress{
[email protected]}
\author{David E. Wald}
\address{MIT Laboratory for Computer Science\\
545 Technology Square\\
Cambridge, MA 02139}
\netaddress{
[email protected]}
\date{June 1, 1994}
\begin{document}
\maketitle
\begin{verse}
{\em In darkness languishes the precious stone.\\
When will its excellence enchant the world?}\\
\hfill -- Barry Hughart
\end{verse}
\medskip
\reviewitem
\revauth{Michel Goossens, Frank Mittelbach and Alexander Samarin}
\revtitle{The {\LaTeX} Companion}
\revpubinfo{Addison-Wesley, 1993. xxx + 492~pp.\ + index
(36~pp.) ISBN 0-201-54199-8}
\endreviewitem
Without question, this book is absolutely necessary for all who use,
support, modify, or rue the day that they first heard of
\LaTeX. You should all run right out and get a copy. We'll wait.
\centerline{\vdots}
\noindent
All set? Good. Now we'll tell you what you've just acquired.
\bigskip
\noindent
In recent years there has been an explosion of books about \TeX{} and
\LaTeX, and the majority of \LaTeX{} users have probably gone from
gnashing their teeth over the lack of supplemental documentation to
gnashing their teeth over which of the numerous books on the market
are the best investment for their time and money. Let there be no
confusion about the \booktitle{\LaTeX{} Companion}: the
\booktitle{Companion} belongs next to the \booktitle{\TeX book} and the
\LaTeX{} manual as a book that every \LaTeX{} user should have
available.
Since its introduction in the early 80's, \LaTeX{} has been the center
of a flurry of grassroots development, with contributors world-wide
producing a variety of style files and support packages, many of which
have become basic necessities to any well-dressed \LaTeX{}
installation. In recent years, this development has reached a minor
crisis point, with several slightly incompatible variants of \LaTeX{}
coming into common use.
As anyone who has been following the recent development of \LaTeX{}
knows, the \LaTeX3 team, spearheaded by Frank Mittelbach, Chris
Rowley, and Rainer Sch\"opf, has taken over the development of \LaTeX,
and is in the process of producing a completely rewritten
\LaTeX3~[1--3].
%\cite{Mittelbach:TB13-1-96-101,Mittelbach:TB10-4-681-690,Mittelbach:TB12-1-74-79}.
Recently, the \LaTeX3 team, in an attempt to head off the
aforementioned crisis, announced the imminent release of a single
``state of the art'' version of \LaTeX, to be designated \LaTeXe.
Along with the ``crisis of infinite formats,'' there has been a
corresponding crisis in documentation. Beyond Lamport's manual
presenting the original core of \LaTeX, there has been no central
source that systematically presented the most useful style files, the
most necessary support programs and, frankly, the best-known tricks
for convincing \LaTeX{} to behave itself. Even when documentation
exists, it has tended to circulate in the form of electronic folklore,
or unpublished documents distributed with individual macro packages,
supplemented by the occasional TUGboat article. The unfortunate
result is that many worthy packages have languished in darkness for
lack of widely-available documentation.
In other words, there exists a gap between the numerous \LaTeX\
primers now available on the market and the various comprehensive
lists and archives of \LaTeX\ styles now available electronically.
The authors of this book have taken it upon themselves to fill this
gap. They are in a particularly good position to do so, as one of
them is a member of the core \LaTeX3 team, and all three have
extensive experience in supporting \LaTeX{} and initiating novices
into its deeper mysteries.
The \booktitle{Companion} is designed to be used alongside Lamport's
\LaTeX{} manual; as such, it assumes that the reader is familiar with
the core system as documented in Lamport's book, and gives frequent
cross-references to the \LaTeX{} manual. Each chapter focuses on a
different aspect of document preparation and presents a
carefully-chosen combination of packages, utilities, and less
well-known features, which allow the user to transcend the boundaries
of Lamport's book.
Since Chapter~2 is in many ways typical of the rest of the book, we
will give an extended description of it to illustrate the flavor of
documentation provided by the \booktitle{Companion}. Chapter~2 covers
the physical and logical structure of a \LaTeX{} document. The first
section covers the package and class interface to \LaTeXe, which
replaces the \verb+\documentstyle+ interface of \LaTeX~2.09.
Succeeding sections cover sectioning commands, tables of contents, and
cross-referencing.
The discussion of sectioning commands begins with a brief summary of
their syntax and use, covering roughly the material presented in
Section~2.2.3 and Appendix~C.3 of the \LaTeX{} manual. The authors
don't stop here, however; they also present a wealth of information on
modifying the behavior of sectioning commands and on defining new
ones. (As anyone who has supported
\LaTeX{}---or who has read any newsgroup or mailing list where
\LaTeX{} is discussed---well knows, this is exactly the sort of
question that is asked repeatedly by \LaTeX{} users, and which the
determined user has usually had to delve into the
\LaTeX{} source code to answer.)
The discussion of tables of contents follows similar lines, and is
supplemented by a description of the nonstandard {\tt minitoc}
package, which can be used to create a separate table of contents at
the beginning of each chapter of a book or report.
The chapter concludes with a description of \LaTeX's cross-referencing
features, together with descriptions of the {\tt varioref} and {\tt
xr} packages, which support alternate styles of referencing and
cross-references between documents.
Moving along, Chapter~3 covers the formatting of paragraphs, lists,
and other structures; Chapter~4 discusses page layout; and Chapters~5
and~6 cover tables and floats in depth.
Chapter~7 presents the first of several major extensions to \LaTeX,
the \LaTeXe{} font selection scheme. Since the New Font Selection
Scheme is the single largest difference between \LaTeX~2.09 and
\LaTeXe, this chapter is perhaps the most important in the book. The
scheme is indeed described well, with the first sections providing a
detailed introduction to the basic vocabulary and features of font
selection, and the latter sections providing full details for those
wishing to install new fonts.
Chapter~8, entitled ``Higher Mathematics,'' will be welcome reading to
anyone to whom mathematical typesetting is of more than passing
interest. It has long been a source of amusement---and occasional
chagrin---that although \TeX's {\em raison d'\^etre\/} has always been
its superb support for mathematical typesetting, \LaTeX{} hardly
represents an advantage over plain \TeX{} in this regard, and has been
lagging behind \AmSTeX{} for some years. Thus, we were delighted when
\AmS-\LaTeX{} was released a few years ago, and are now pleased that
\AmS-\LaTeX{} has been fully legitimized by Chapter~8, which provides a
detailed introduction to and description of the various features of
this excellent package. Armed with the \booktitle{\LaTeX{}
Companion}, we will now continue with renewed vigor our campaign to
see that every
\LaTeX{} site installs the \AmS-\LaTeX{} package and brings \LaTeX{}
out of the dark ages of mathematical typesetting.\footnote{While
approving of the sentiment, one of the authors of this review would
like to distance himself from the evangelical tone of this paragraph,
and wishes to remind the other author that there are several
full-flavored decaffeinated coffees on the market.}
Chapter~9 addresses another issue that has been of burning interest in
the \LaTeX{} community for several years---support for typesetting in
languages other than American English. The authors briefly discuss the
handling of alternate character sets and encodings such as the Cork
standard, and then discuss the Babel package of Johannes Braams, as
well as an alternate package for French typography.
Chapter~10 discusses several extensions to \LaTeX's picture
environment, a subject which leads naturally to Chapter~11, which
tackles the complex issues surrounding the use of PostScript in
\LaTeX{} documents. This chapter covers such diverse topics as choice
of DVI device driver, use of PostScript graphics, installation of
PostScript fonts, and various PostScript \verb+\special+ effects.
Chapters~12 and~13 discuss two auxiliary programs that, although they
are an essential part of any \LaTeX{} installation, have long suffered
from a dearth of documentation. Chapter~12 describes {\tt makeindex}
in detail, bringing into print for essentially the first time a
comprehensive discussion not only of the \LaTeX{} interface for
creating indexes and the use of the {\tt makeindex} program itself,
but also of {\tt makeindex} style files and packages for producing
documents with multiple indexes. Chapter~13 is a similarly detailed
description of \BibTeX. This chapter, in fact, seems capable of
replacing not only Appendix~B of Lamport's book, but also much of the
documentation supplied with \BibTeX{} itself, since it not only
subsumes them, but also offers an extensive list of non-standard
\BibTeX{} style files.
Chapter~14 describes the {\tt doc} system for writing self-documenting
\LaTeX{} code and perhaps should have been merged with Appendix~A,
which is an overview of \LaTeX{} for writers of packages and classes.
Appendix~B rounds the book out with a brief introduction to the major
resources for \TeX{} users. The first part of this appendix describes
the major electronic sites that serve as sources for \TeX{} software
(which will surely be appreciated by those whose curiosity has been
piqued by the rest of the book), and the second gives a list of \TeX{}
user groups throughout the world. Regrettably missing is a separate
list of the major mailing lists and newsgroups devoted to \TeX.
The book ends with a well-annotated bibliography that should serve as
a valuable introduction to the literature, a well-constructed---though
occasionally incomplete---index, and a combination colophon and
empirical software study that should prove enlightening to anyone who
has used or is contemplating using
\LaTeX{} to produce a book-length document.
Although we recommend the \booktitle{Companion} without hesitation,
there are a few caveats worth mentioning. The major one is that this
book, like \LaTeXe, is a snapshot of a rapidly changing system. As
such, there are aspects of the book that are sure to be confusing to
anyone who has not been following the development of \LaTeX{} over the
past several years, and there are other aspects that are likely to
become obsolete in the near future. For example, although the
discussion of \BibTeX\ in Chapter~13 is comprehensive as of this
writing, this may cease to be true with the eventual release of
\BibTeX~1.0. Similarly, all of the cross-references to the \LaTeX{}
manual refer to the first edition of the book, which will soon be
superceded.\footnote{A related problem is that
\LaTeXe\ itself is still under development. Although a stable
distribution version of \LaTeXe{} is expected soon, many of the
packages described in the \booktitle{Companion} have not yet been
converted into \LaTeXe{} packages, which is likely to cause
discrepancies between the actual behavior of some packages and the
behavior described in the \booktitle{Companion}.}
Another problem is that the very thoroughness of the book may
occasionally present obstacles for readers who merely want to use the
new features documented in the book without becoming intimately
acquainted with all aspects of the new system. For example, although
the description of the font system in Chapter~7 is very detailed, this
means that the reader is ten pages into the chapter before being told
the now-preferred method for changing to an italic font. Similarly,
there is no place where the reader can turn to find a brief summary of
the most important differences between \LaTeX~2.09 and
\LaTeXe.\footnote{Most likely, this reflects the history of the book:
When the book was begun, there were no plans to release a new version
of \LaTeX, and indeed, production of the book was well underway before
the necessity of \LaTeXe{} became evident.} We hope that with the
release of a new edition of Lamport's \LaTeX{} manual, beginners will
be able to find the answers to their questions with less difficulty.
A final difficulty with the book results from \LaTeX{} itself.
Experience with \LaTeX{} has taught us that there are many perfectly
reasonable things a user wishes to do that are impossible in
\LaTeX{} with the published interface. Such tasks often require a use
of \LaTeX's internal commands, and the \booktitle{Companion} has to
deal with this. To their credit, the authors have handled this
delicate situation with tact, presenting a careful selection of
internals without requiring the user to understand the entire
composition of the program. Naturally, it is our hope that with the
eventual release of \LaTeX3, this last difficulty (and, dare we hope,
the need for two separate manuals) will disappear.
\bibliographystyle{plain}
%% \bibliography{/b/dmjones/tex/misc/tugboat}
\begin{thebibliography}{1}
\bibitem{Mittelbach:TB13-1-96-101}
Frank Mittelbach and Chris Rowley.
\newblock {{\LaTeX\ 2.09 $\hookrightarrow$ \LaTeX3}}.
\newblock {\sl TUGboat}, 13(1):96--101, April 1992.
\bibitem{Mittelbach:TB10-4-681-690}
Frank Mittelbach and Rainer Sch{\"{o}}pf.
\newblock {{With \LaTeX\ into the Nineties}}.
\newblock {\sl TUGboat}, 10(4):681--690, December 1989.
\bibitem{Mittelbach:TB12-1-74-79}
Frank Mittelbach and Rainer Sch{\"{o}}pf.
\newblock {{Towards \LaTeX\ 3.0}}.
\newblock {\sl TUGboat}, 12(1):74--79, March 1991.
\end{thebibliography}
\makesignature
\end{document}