\def\faqfileversion{3.17}    \def\faqfiledate{2007-11-05}
%
% The above line defines the file version and date, and must remain
% the first line with any `assignment' in the file, or things will
% blow up in a stupid fashion
%
% get lists of CTAN labels
%
% configuration for the lists, if we're going to need to generate urls
% for the files
\InputIfFileExists{archive.cfg}{}{}
%
% ... directories
\input{dirctan}
%
% ... files
\input{filectan}

\section{Introduction}

This is a set of Frequently Asked Questions (\acro{FAQ}) for
English-speaking users of \TeX{}.  The questions answered here cover a
wide range of topics, but the actual typesetting issues are mostly
covered from the viewpoint of a \LaTeX{} user.

You may use the \acro{FAQ}
\begin{itemize}
\item by reading a printed document, 
\item by viewing a \acro{PDF} file, with hyperlinks to assist
  browsing: copies are available formatted for printing on
  \CTANhref{faq-a4}{A4 paper} or on % ! line break
  \CTANhref{faq-letter}{North American ``letter'' paper}, or
\item by using the \acro{FAQ}'s web interface (base \acro{URL}:
  \URL{http://www.tex.ac.uk/faq}); this version provides simple search
  capabilities, as well as a link to Google for a more sophisticated
  search restricted to the \acro{FAQ} itself, or
\item via Scott Pakin's \CTANhref{visualFAQ}{Visual FAQ}.
\end{itemize}

\begin{htmlversion}
% pseudo-subsection here, because of limitations of latex->html translator
\textbf{Caveat: Acquiring files}

Most answers in this \acro{FAQ} provide links for downloading
software; a large proportion of these links direct you to entire
directories on the \acro{CTAN} archives.  Unfortunately, some browsers
issue a sequence of commands that causes \acro{CTAN} servers to deny
the existence of compressed archive files of the directory, that the
server would be happy to create ``on the fly''.  The \acro{FAQ}
therefore offers three possible links for downloading directories
(that aren't already designated ``browse only''): the links give you
\extension{zip} and \extension{tar.gz} archives, and a link for browsing
the directory.

Fortunately, \acro{CTAN} is switching to statically-generated
directory archive files; many directories mentioned in this \acro{FAQ}
will also exist as \extension{zip} files on the archives, and won't fall
foul of the browser problem.  Of course, if the \extension{zip} file
does not exist, and the browser is playing up, you will need to use
the ``browse'' link.
\end{htmlversion}

\htmlignore
\subsection*{Finding the Files}

Unless otherwise specified, all files mentioned in this \acro{FAQ} are
available from a \acro{CTAN} archive, or from one of their mirrors.
\Qref[Question]{}{Q-archives} % this one doesn't need anchor text
gives details of the \acro{CTAN} archives, and how to retrieve files from
them.  If you don't have access to the Internet, the
\Qref*{\texlive{} distribution}{Q-CD} offers off-line snapshots of
the archives.

The reader should also note that the first directory name of the path
name of every file on \acro{CTAN} has been elided from what follows, for the
simple reason that it's always the same (\path{tex-archive/}).

To avoid confusion, we've also elided the full stop
from the end of any sentence whose last item is a path name (such
sentences are rare, and only occur at the end of paragraphs).  Though
the path names are set in a different font from running text, it's not
easy to distinguish the font of a single dot!
\endhtmlignore

\latexhtml{\subsection*{Origins}}{\textbf{Origins}}

The \acro{FAQ} was originated by the Committee of the \acro{UK} \TeX{}
Users' Group (\acro{UK}~\acro{TUG}) as a development of a regular
posting to the \emph{Usenet} newsgroup \Newsgroup{comp.text.tex} that
was maintained for some time by Bobby Bodenheimer.  The first
\acro{UK} version was much re-arranged and corrected from the
original, and little of Bodenheimer's work now remains.

The following people (at least~--- there are almost certainly others
whose names weren't correctly recorded) have contributed help or
advice on the development of the \acro{FAQ}:
Donald Arseneau,
Rosemary Bailey, % lots of initial set of maths answers
Barbara Beeton, % one of first reviewers outside cttee
Karl Berry,
Giuseppe Bilotta,
Charles Cameron,
Damian Cugley,
Michael Dewey,
Michael Downes, % (RIP) on (ams\)maths stuff
Jean-Pierre Drucbert, % corrected my interpretation of minitoc
Thomas Esser,
Ulrike Fischer, % spotted boondoggle in q-tabcellalign
                % args like \section improvement; general typos
Anthony Goreham,
Norman Gray,
Eitan Gurari, % comparative html translators
William Hammond, % lots of work on xml-related answers
John Hammond, % corrections to q-protect
Troy Henderson, % metapost tutorials update
Hartmut Henkel,
John Hobby,
Morten H\textoslash gholm, % eagle eyes in search for problems
Berthold Horn, % lots of stuff on fonts
Ian Hutchinson, % comparative html translators
Werner Icking, % (RIP) answer on tex-music
Alan Jeffrey, % another founding father
Regnor Jernsletten,
David Kastrup, % inter alia, suggested mention of lilypond
Oleg Katsitadze, % revision of q-eplain
Isaac Khabaza, % kindersley book
Ulrich Klauer, % pointed out twaddle in TeXpronounce
Markus Kohm, % help with functionality of Koma-script
Ryszard Kubiak, % comment about q-driver
Simon Law,
Daniel Luecking,
Aditya Mahajan, % rewrite of q-context
Sanjoy Mahajan,
Andreas Matthias,
Brooks Moses, % editorial suggestion
Iain Murray, % alternative solution in q-hyperdupdest
Vilar Camara Neto, % explain breakurl pkg, suggest use of numprint
Dick Nickalls, % now a member of the committee
Ted Nieland,
Hans Nordhaug,
Pat Rau,
Heiko Oberdiek,
Piet van Oostrum,
Scott Pakin,
Oren Patashnik,
Steve Peter, % comprehensive review, lots of typos etc
Sebastian Rahtz, % without whom there would be no...
Philip Ratcliffe, % help with a bibtex oddity
Chris Rowley, % founding father
Jos\'e Carlos Santos, % very assiduous reader of new versions
Walter Schmidt,
Hans-Peter Schr\"ocker,
Joachim Schrod,
Maarten Sneep, % summary of c.t.t thread for outszwrng, inter alia
Axel Sommerfeldt, % suggested rewrite of q-hyperdupdest
James Szinger, % who responded on c.t.t to request for answer
Ulrik Vieth,
Mike Vulis,
Chris Walker, % revtex alert, ite suggestion (q-labelfig)
Peter Wilson, % several, incl functionality of memoir
Rick Zaccone and
Reinhard Zierke.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\section{The Background}

\Question[Q-whatTeX]{What is \TeX{}?}

\TeX{} is a typesetting system written by
\href{http://sunburn.stanford.edu/~knuth/}{Donald E. Knuth}, who
says in the Preface to his book on \TeX{}
(see \Qref[question]{books about TeX}{Q-books}) that it is
%% beware line wrap
``\emph{intended for the creation of beautiful books~--- and especially for books that contain a lot of mathematics}''.

Knuth is Emeritus Professor of the Art of Computer Programming at
Stanford University in California, \acro{USA}.  Knuth developed the
first version of \TeX{} in 1978 to deal with revisions to his series
``the Art of Computer Programming''.  The idea proved popular and
Knuth produced a second version (in 1982) which is the basis of what
we use today.

Knuth developed a system of % ! line breaks
`\Qref*{literate programming}{Q-lit}' to write \TeX{},
and he provides the literate (\acro{WEB}) source of \TeX{} free of charge,
together with tools for processing the |web| source into something
that can be compiled and something that can be printed; there's never
any mystery about what \TeX{} does.  Furthermore, the \acro{WEB} system
provides mechanisms to port \TeX{} to new operating systems and
computers; and in order that one may have some confidence in the ports,
Knuth supplied a \Qref*{test}{Q-triptrap} by
means of which one may judge the fidelity of a \TeX{} system.  \TeX{}
and its documents are therefore highly portable.

\TeX{} is a macro processor, and offers its users a powerful
programming capability.  For this reason, \TeX{} on its own is a
pretty difficult beast to deal with, so Knuth provided a package of
macros for use with \TeX{} called Plain \TeX{}; Plain \TeX{} is
effectively the minimum set of macros one can usefully employ with
\TeX{}, together with some demonstration versions of higher-level
commands (the latter are better regarded as models than used as-is).
When people say they're ``programming in \TeX{}'', they usually mean
they're programming in Plain \TeX{}.

\Question[Q-TeXpronounce]{How should I pronounce ``\TeX{}''?}

The `X' is ``really'' the Greek letter % ! line break
Chi\nothtml{ (\ensuremath{\chi}, in lower case)}, and is pronounced by
English-speakers either a bit like the `ch' in the Scots word `loch'
([x] in the IPA) or (at a pinch, if you can't do the Greek sound) like
`k'.  It definitely is not pronounced `ks' (the Greek letter with that
sound doesn't look remotely like the Latin alphabet `X').

This curious usage derives from Knuth's explanation in the \TeX{}book
that the name comes from the Greek word for `art' or `craft'
(`\latexhtml{\ensuremath{\tau\epsilon\chi\nu\eta}}{\emph{techni}}'),
which is the root of the English word `technology'.  Knuth's logo for \TeX{} is
merely the uppercase version of the first three (Greek) letters of the
word, jiggled about a bit; we don't use that logo (and logos like it)
in this \acro{FAQ} (see % ! line break
\Qref[question]{Typesetting \TeX{}-related logos}{Q-logos}).

\Question[Q-MF]{What is \MF{}?}

\MF{} was written by Knuth as a companion to \TeX{}; whereas \TeX{}
defines the layout of glyphs on a page, \MF{} defines the shapes of
the glyphs and the relations between them.  \MF{} details the sizes of
glyphs, for \TeX{}'s benefit, and details the rasters used to
represent the glyphs, for the benefit of programs that will produce
printed output as post processes after a run of \TeX{}.

\MF{}'s language for defining fonts permits the expression of several
classes of things: first (of course), the simple geometry of the
glyphs; second, the properties of the print engine for which the
output is intended; and third, `meta'-information which can
distinguish different design sizes of the same font, or the difference
between two fonts that belong to the same (or related) families.

Knuth (and others) have designed a fair range of fonts using \MF{},
but font design using \MF{} is much more of a minority skill than is
\TeX{} macro-writing.  The complete \TeX{}-user nevertheless needs to
be aware of \MF{}, and to be able to run \MF{} to generate personal
copies of Meta-fonts that come her way.

\Question[Q-MP]{What is \MP{}?}

The \MP{} system (by John Hobby) implements a picture-drawing language
very much like that of \MF{} except that it outputs Encapsulated \PS{}
files instead of run-length-encoded bitmaps.  \MP{} is a powerful
language for producing figures for documents to be printed on \PS{}
printers, either directly or embedded in \AllTeX{} documents. It
includes facilities for directly integrating \TeX{} text and
mathematics with the graphics. (Knuth tells us that he uses nothing
but \MP{} for diagrams in text that he is writing.)

Although \PDFLaTeX{} cannot ordinarily handle \PS{} graphics, the
output of \MP{} is sufficiently simple and regular that \PDFLaTeX{}
can handle it direct, using code borrowed from \CONTeXT{}~--- see
\Qref[question]{graphics in \PDFLaTeX{}}{Q-pdftexgraphics}.

Much of \MP{}'s source code was copied from \MF{}'s sources, with
Knuth's permission.

A mailing list discussing \MP{} is available;
\begin{narrowversion} % really non-hyper
  subscribe via the \acro{TUG} \ProgName{mailman} interface at
  \URL{http://lists.tug.org/metapost}
\end{narrowversion}
\begin{wideversion} % really hyper
  subscribe via the % ! line break
  \href{http://lists.tug.org/metapost}{\acro{TUG} \ProgName{mailman} interface}.
\end{wideversion}
The \acro{TUG} website also hosts a % ! line break
\href{http://tug.org/metapost.html}{\MP{} summary page}.

\Question[Q-triptrap]{How can I be sure it's really \TeX{}?}

\TeX{} (and \MF{} and \MP{}) are written in a
\begin{narrowversion} % really "non-hyper"
  `literate' programming language called Web (\Qref{}{Q-lit})
\end{narrowversion}
\begin{wideversion}
  \Qref{`literate' programming}{Q-lit} language called Web
\end{wideversion}
which is designed to be portable across a wide range of computer
systems.  How, then, is a new version of \TeX{} checked?

Of course, any sensible software implementor will have his own suite
of tests to check that his software runs: those who port \TeX{} and
its friends to other platforms do indeed perform such tests.

Knuth, however, provides a `conformance test' for both \TeX{}
(\texttt{trip}) and \MF{} (\texttt{trap}).
%%% Is there a similar one for \MP{}?
He characterises these as `torture tests': they are designed not to
check the obvious things that ordinary typeset documents, or font
designs, will exercise, but rather to explore small alleyways off the
main path through the code of \TeX{}.  They are, to the casual reader,
pretty incomprehensible!

Once an implementation of \TeX{} has passed its \texttt{trip} test, or an
implementation of \MF{} has passed its \texttt{trap} test, then it may
in principe be distributed as a working version.  (In practice, any
distributor would test new versions against ``real'' documents or
fonts, too; \texttt{trip} and \texttt{trap} don't actually test any
for real world problems.


\Question[Q-y2k]{Are \TeX{} and friends Y2K compliant?}

\begin{description}
\item[Crashing:] None of \TeX{}, \MF{} or \MP{} can themselves crash
  due to any change whatever in the date of any sort.
\item[Timestamps:] In the original sources, a 2-digit year was
  stored as the creation time for format files and that value is
  printed in logfiles.  These items should not be of general concern,
  since the only use of the date format file is to produce the log
  output, and the log file is designed for human readers only.
  
  Knuth announced in 1998 that implementators could
  alter this code without fear of being accused of non-compliance.
  Nearly all implementations that are being actively maintained had
  been modified to generate 4-digit years in the format file and the
  log, by the end of 1998.  The original sources themselves have now
  been modified so that 4-digit year numbers are stored.
\item[The \csx{year} primitive:] Certification of a \TeX{}
  implementation (see \Qref[question]{trip/trap testing}{Q-triptrap})
  does not require that \csx{year} return a meaningful value (which
  means that \TeX{} can, in principle, be implemented on platforms
  that don't make the value of the clock available to user programs).
  The \emph{\TeX{}book} (see
  \Qref[question]{TeX-related books}{Q-books}) defines \csx{year} as
  ``the current year of our Lord'', which is the only correct meaning
  for \csx{year} for those implementations which can supply a
  meaningful value, which is to say nearly all of them.

  In short, \TeX{} implementations should provide a value in \csx{year}
  giving the 4-digit year Anno Domini, or the value 1776 if the
  platform does not support a date function.

  Note that if the system itself fails to deliver a correct date to
  \TeX{}, then \csx{year} will of course return an incorrect value.
  \TeX{} cannot be considered Y2K compliant, in this sense, on a
  system that is not itself Y2K compliant.
\item[Macros:] \TeX{} macros can in principle perform calculations on
  the basis of the value of \csx{year}.
  The \Qref*{LaTeX suite}{Q-latex}
  performs such calculations in a small number of places; the
  calculations performed in the current (supported) version of \LaTeX{} are
  known to be Y2K compliant.

  Other macros and macro packages should be individually checked.
\item[External software:] Software such as \acro{DVI} translators
  needs to be individually checked.
\end{description}

\Question[Q-etex]{What is \eTeX{}?}

While Knuth has declared that \TeX{} will never % !line break
\Qref*{change in any substantial way}{Q-TeXfuture}, there remain
things that one might wish had been done differently, or indeed
implemented at all.

The \acro{NTS} project set out to produce an advanced replacement for
\TeX{}, to provide a basis for developing such modifications: this
``New Typesetting System'' would share Knuth's aims, but would
implement the work in a modern way taking account of the lessons
learned with \TeX{}.  While a first demonstrator \acro{NTS} did
appear, it wasn't practically useful, and the project seems no longer
active.

In parallel with its work on \acro{NTS} itself, the project developed
a set of extensions that can be used with a (``true'') \TeX{} system.
Such a modified system is known as an \eTeX{} system, and the concept
has proved widely successful.  Indeed, current \TeX{} distributions
are delivered with most formats built with an \eTeX{} system (for
those who don't want them, \eTeX{}'s extensions can be disabled, leaving
a functionally standard \TeX{} system).

The extensions range from the seemingly simple (increasing the number
of available registers from 256 to 32768) through to extremely subtle
programming support.

\Qref*{\CONTeXT{}}{Q-context} has required \eTeX{} for its operation
for some time.

Some \LaTeX{} packages already specify the use of \eTeX{}.  Some such
packages may not work at all on a non-\eTeX{} system; others will
work, but not as well as on an \eTeX{} system.  The % ! line break
\Qref*{\LaTeX{} team}{Q-LaTeX3} has announced that future \LaTeX{}
packages (specifically those from the team, as opposed to those
individually contributed) may require \eTeX{} for optimum performance.

\Question[Q-whatpdftex]{What is \PDFTeX{}?}

\PDFTeX{} has entered the main stream of \TeX{} distributions: most
\LaTeX{} and \CONTeXT{} users nowadays use \PDFTeX{} whether they know
it or not (more precisely, they use an amalgam of \PDFTeX{} and
\Qref*{\eTeX{}}{Q-etex}).  So what is \PDFTeX{}?

\PDFTeX{} is a development of \TeX{} that is capable of generating
typeset \acro{PDF} output in place of \acro{DVI}.  \PDFTeX{} has
other capabilities, most notably in the area of fine typographic
detail (for example, its support for % ! line break
\begin{wideversion}
  \Qref{optimising line breaks}{Q-overfull}),
\end{wideversion}
\begin{narrowversion}
  % ( <- dummy for paren balancing
  optimising line breaks~--- \Qref{}{Q-overfull}),
\end{narrowversion}
but its greatest impact to date has been in the area of
\acro{PDF} output.

\PDFTeX{} started as a topic for H\`an \The{} Th\`anh's Master's~thesis,
and seems first to have been published in \TUGboat{} 18(4), in 1997
(though it was certainly discussed at the \acro{TUG}'96 conference in
Russia).

While the world was making good use of ``pre-releases'' of \PDFTeX{},
Th\`anh used it as a test-bed for the micro-typography which was the
prime subject of his Ph.D. research.  Since Th\`anh was finally
awarded his Ph.D., day-to-day maintenance and development of
\PDFTeX{}~1.0 (and later) has been in the hands of a group of
\PDFTeX{} maintainers (which includes Th\`anh); the group has managed
to maintain a stable platform for general use.

Development of \PDFTeX{} has (in essence) stopped: the brave new world
is to be \Qref*{\LuaTeX{}}{Q-luatex}.

\Question[Q-latex]{What is \LaTeX{}?}

\LaTeX{} is a \TeX{} macro package, originally written by Leslie Lamport, that
provides a document processing system.  \LaTeX{} allows markup to
describe the structure of a document, so that the user
need not think about presentation. By using document classes and
add-on packages, the same document can be produced in a variety of
different layouts.

Lamport says that \LaTeX{}
``\emph{represents a balance between functionality and ease of use}''.
This shows itself as a continual conflict that leads to
the need for such things as \acro{FAQ}s: \LaTeX{} \emph{can} 
meet most user requirements, but finding out \emph{how} is often
tricky.

\Question[Q-latex2e]{What is \LaTeXe{}?}

Lamport's last version of \LaTeX{} (\LaTeXo{}, last updated in 1992)
was superseded in 1994 by a new version (\LaTeXe{}) provided by
\Qref*{the \LaTeX{} team}{Q-LaTeX3}.
\LaTeXe{} is now the only readily-available version of
\LaTeX{}, and draws together several threads of \LaTeX{} development
from the later days of \LaTeXo{}.

\LaTeXe{} has several enhancements over \LaTeXo{}, but they were all
rather minor, with a view to continuity and stability rather than the
``big push'' that some had expected from the team.  \LaTeXe{}
continues to this day to offer a compatibility mode in which most
files prepared for use with \LaTeXo{} will run (albeit with somewhat
reduced performance, and subject to bitter complaints in the log
file).  Differences between \LaTeXe{} and \LaTeXo{} are
outlined in a series of `guide' files that are available in every
\LaTeX{} distribution (the same directory also contains ``news'' about
each new release of \LaTeXe{}).
\begin{ctanrefs}
\item[\nothtml{\rmfamily}\LaTeX{} guides and news]\CTANref{latexdoc}
\end{ctanrefs}


\nothtml{\begingroup\ifboldmathavail\boldmath\fi}
\Question[Q-latexpronounce]{How should I pronounce ``\LaTeX{}(\twee{})''?}
\nothtml{\afterquestion}

Lamport never recommended how one should pronounce \LaTeX{}, but a lot
of people pronounce it `Lay \TeX{}' or perhaps `Lah \TeX{}' (with
\TeX{} pronounced as the program itself; see
\Qref[question]{the rules for TeX}{Q-TeXpronounce}).  It is definitely
\emph{not} to be pronounced in the same way as the rubber-tree gum.

The `epsilon' in `\LaTeXe{}' is supposed to be suggestive of a small
improvement over the old \LaTeXo{}.  Nevertheless, most people
pronounce the name as `\LaTeX{}-two-ee'.

\Question[Q-plainvltx]{Should I use Plain \TeX{} or \LaTeX{}?}

There's no straightforward answer to this question.  Many people swear
by Plain \TeX{}, and produce highly respectable documents using it
(Knuth is an example of this, of course).  But equally, many people
are happy to let someone else take the design decisions for them,
accepting a small loss of flexibility in exchange for a saving of
brain power.

The arguments around this topic can provoke huge amounts of noise and
heat, without offering much by way of light; your best bet is to find
out what those around you are using, and to go with the crowd.  Later
on, you can always switch your allegiance; don't bother about it.

If you are preparing a manuscript for a publisher or journal, ask them
what markup they want before you
develop your own; many big publishers have developed their own
\AllTeX{} styles for journals and books, and insist that authors stick
closely to their markup.

\Question[Q-LaTeXandPlain]{How does \LaTeX{} relate to Plain \TeX{}?}

\LaTeX{} is a program written in the programming language \TeX{}.  (In
the same sense, any \LaTeX{} document is also a program, which is
designed to run `alongside', or `inside' \LaTeX{}, whichever metaphor
you prefer.)

Plain \TeX{} is also a program written in the programming language
\TeX{}.

Both exist because writing your documents in `raw' \TeX{} would
involve much reinventing of wheels for every document.  They both
serve as convenient aids to make document writing more pleasant:
\LaTeX{} is a far more extensive aid.

\LaTeX{} is close to being a superset of Plain \TeX{}.  Many documents
designed for Plain \TeX{} will work with \LaTeX{} with no more than
minor modifications (though some will require substantial work).

Interpretation of any \AllTeX{} program involves some data-driven
elements, and \LaTeX{} has a wider range of such elements than does
Plain \TeX{}.  As a result, the mapping from \LaTeX{} to Plain \TeX{}
is far less clear than that in the other direction~--- see a later
answer about
\begin{wideversion}
  \Qref{translating to Plain \TeX{}}{Q-LaTeXtoPlain}.
\end{wideversion}
\begin{narrowversion}
  translating to Plain \TeX{} (\Qref{}{Q-LaTeXtoPlain}).
\end{narrowversion}

\Question[Q-context]{What is \CONTeXT{}?}

\href{http://www.pragma-ade.com/}{\CONTeXT{}} is a macro package
developed by Hans Hagen of Pragma-Ade.  \CONTeXT{} is a
document-production system based, like \LaTeX{}, on the \TeX{}
typesetting system.  Whereas \LaTeX{} insulates the writer from
typographical details, \CONTeXT{} takes a complementary approach by
providing structured interfaces for handling typography, including
extensive support for colors, backgrounds, hyperlinks, presentations,
figure-text integration, and conditional compilation.  It gives the
user extensive control over formatting while making it easy to create
new layouts and styles without learning the \TeX{} macro
language. \CONTeXT{}'s unified design avoids the package clashes that
can happen with \LaTeX{}.

\CONTeXT{} also integrates MetaFun, a superset of \MP{} and a powerful
system for vector graphics.  MetaFun can be used as a stand-alone
system to produce figures, but its strength lies in enhancing
\CONTeXT{} documents with accurate graphic elements.

\CONTeXT{} allows the users to specify formatting commands in English,
Dutch, German, French, or Italian, and to use different typesetting
engines (\PDFTeX{}, Xe\TeX{}, Aleph, and soon \LuaTeX{}) without
changing the user interface. \CONTeXT{} is developed rapidly, often in
response to requests from the user community.

%%% RF's original version
%% developed by Hans Hagen, originally to
%% serve the needs of his (Dutch) firm Pragma.  It was designed with the
%% same general-purpose aims as \LaTeX{}, but (being younger) reflects
%% much more recent thinking about the structure of markup, etc.  In
%% particular, \CONTeXT{} can customise its markup to an
%% author's language (customising modules for Dutch, English and German
%% are provided, at present).
%%
%% \CONTeXT{} is well integrated, in all of its structure,
%% with the needs of hypertext markup, and in particular with the
%% facilities offered by \Qref*{\PDFTeX{}}{Q-whatpdftex}.
%% The default installation employs a version of \PDFTeX{} built with the
%% \Qref*{\eTeX{} extensions}{Q-etex}, which allows further flexibility.

\CONTeXT{} doesn't yet have quite such a large developer community as
does \LaTeX{}, but those developers who are active seem to have
prodigious energy.  Support is available via a % ! line break
\href{http://contextgarden.net}{\acro{WIKI} site} and via the
\href{http://www.ntg.nl/mailman/listinfo/ntg-context}{mailing list}.
\begin{ctanrefs}
\item[\nothtml{\rmfamily}\CONTeXT{} distribution]\CTANref{context}
\end{ctanrefs}

\nothtml{\begingroup\ifboldmathavail\boldmath\fi}
\Question[Q-AMSpkg]{What are the \acro{AMS} packages (\AMSTeX{}, \emph{etc}.)?}
\nothtml{\afterquestion}

\AMSTeX{} is a \TeX{} macro package, originally written by Michael Spivak for
the American Mathematical Society (\acro{AMS}) during 1983--1985 and
is described in the book ``\Qref*{The Joy of \TeX{}}{Q-books}''.
It is based on Plain \TeX{}, and provides many
features for producing more professional-looking maths formulas with
less burden on authors.  It pays attention to the finer details of
sizing and positioning that mathematical publishers care about. The
aspects covered include multi-line displayed equations, equation
numbering, ellipsis dots, matrices, double accents, multi-line
subscripts, syntax checking (faster processing on initial
error-checking \TeX{} runs), and other things.

As \LaTeX{} increased in popularity, authors asked to submit papers to
the \acro{AMS} in \LaTeX{}, and so the \acro{AMS} developed
\AMSLaTeX{}, which is a
collection of \LaTeX{} packages and classes that offer authors most of
the functionality of \AMSTeX{}.
The \acro{AMS} no longer recommends the use of \AMSTeX{}, and urges
its users to use \AMSLaTeX{} instead.
\checked{RAB}{1994/11/12} % edited by RF; input from Michael Downes, too
\begin{ctanrefs}
\item[\nothtml{\rmfamily}\AMSTeX{} distribution]\CTANref{amstex}
\item[\nothtml{\rmfamily}\AMSLaTeX{} distribution]\CTANref{amslatex}
\end{ctanrefs}

\Question[Q-eplain]{What is \Eplain{}?}

The \href{http://tug.org/eplain}{\Eplain{}}
macro package expands on and extends the definitions in Plain \TeX{}.
\Eplain{} is not intended to provide ``generic typesetting
capabilities'', as do \LaTeX{} or \Qref*{Texinfo}{Q-texinfo}.  Instead, it
defines macro tools that should be useful whatever commands you choose
to use when you prepare your manuscript.

For example, \Eplain{} does not have a command \csx{section},
which would format section headings in an ``appropriate'' way, as
\LaTeX{}'s \csx{section} does.  The philosophy of \Eplain{} is that
some people will always need or want to go beyond the macro designer's
idea of ``appropriate''.  Such canned macros are fine~--- as long as you
are willing to accept the resulting output.  If you don't like the
results, or if you are trying to match a different format, you are out
of luck.

On the other hand, almost everyone would like capabilities such as
cross-referencing by labels, so that you don't have to put actual page
numbers in the manuscript.  The authors of \Eplain{} are not aware of
any generally available macro packages that do not force their
typographic style on an author, and yet provide such capabilities.

Another useful feature of \Eplain{} is the ability to create PDF files
with hyperlinks.  The cross-referencing macros can implicitly generate
hyperlinks for the cross-references, but you can also create explicit
hyperlinks, both internal (pointing to a destination within the
current document) and external (pointing to another local document or
a URL).

Several \LaTeX{} packages provide capabilities which Plain \TeX{}
users are lacking, most notably text colouring and rotation provided by
the \Package{graphics} bundle (packages \Package{color} and
\Package{graphics}).  Although the \Package{graphics} bundle provides
a Plain \TeX{} ``loader'' for some of the packages, it is not a
trivial job to pass options to those packages under Plain \TeX{}, and
much of the functionality of the packages is accessed through package
options.  \Eplain{} extends the loader so that options can be passed
to the packages just as they are in \LaTeX{}.  The following packages are
known to work with \Eplain{}:  \Package{graphics}, \Package{graphicx},
\Package{color}, \Package{autopict} (\LaTeX{} picture environment),
\Package{psfrag}, and \Package{url}.

\href{http://tug.org/docs/html/eplain}{\Eplain{} documentation} is
available online, and there's
also a mailing list~--- sign up, or browse the list archives, via
\URL{http://tug.org/mailman/listinfo/tex-eplain}
\begin{ctanrefs}
\item[\nothtml{\rmfamily}\Eplain{} distribution]\CTANref{eplain}
\end{ctanrefs}

\Question[Q-lollipop]{What is Lollipop?}

Lollipop is a macro package written by Victor Eijkhout; it was used in
the production of his book ``\emph{\TeX{} by Topic}'' (see
\Qref[question]{\AllTeX{} Tutorials}{Q-ol-books}).  The manual says of
it:
\begin{quote}
  Lollipop is `\TeX{} made easy'. Lollipop is a macro package that
  functions as a toolbox for writing \TeX{} macros.  It was my
  intention to make macro writing so easy that implementing a fully
  new layout in \TeX{} would become a matter of less than an hour for
  an average document, and that it would be a task that could be
  accomplished by someone with only a very basic training in \TeX{}
  programming.

  Lollipop is an attempt to make structured text formatting available
  for environments where previously only \WYSIWYG{} packages could be
  used because adapting the layout is so much more easy with them than
  with traditional \TeX{} macro packages.
\end{quote}

The manual goes on to talk of ambitions to ``capture some of the
\LaTeX{} market share''; it's a very witty package, but little sign of
\htmlignore
it taking over from \LaTeX{} is detectable\dots{}\@
\endhtmlignore
\begin{htmlversion}
it taking over from \LaTeX{} is detectable\dots{}
\end{htmlversion}
An article about Lollipop appeared in \TUGboat{} 13(3).
\begin{ctanrefs}
\item[\nothtml{\rmfamily}Lollipop distribution]\CTANref{lollipop}
\end{ctanrefs}

\Question[Q-texinfo]{What is Texinfo?}

Texinfo is a documentation system that uses one source file to produce
both on-line information and printed output.  So instead of writing
two different documents, one for the on-line help and the other for a
typeset manual, you need write only one document source file.  When
the work is revised, you need only revise one document.  By
convention, Texinfo source file names end with a \extension{texi} or
\extension{texinfo} extension.

Texinfo is a macro language, somewhat similar to \LaTeX{}, but with
slightly less expressive power.  Its appearance is of course rather
similar to any \TeX{}-based macro language, except that its macros
start with \texttt{@} rather than the |\| that's more commonly used in
\TeX{} systems.

You can write and format Texinfo files into Info files within \acro{GNU}
\ProgName{emacs}, and read them using the \ProgName{emacs} Info
reader.  You can also format Texinfo files into Info files using
\ProgName{makeinfo} and read them using \ProgName{info}, so you're not
dependent on \ProgName{emacs}.  The distribution includes a
\ProgName{Perl} script, \ProgName{texi2html}, that will convert
Texinfo sources into \acro{HTML}: the language is a far better fit to
\acro{HTML} than is \LaTeX{}, so that the breast-beating agonies of
\Qref*{converting \LaTeX{} to \acro{HTML}}{Q-LaTeX2HTML} are largely
avoided.

Finally, of course, you can also print the files, or convert them to
\acro{PDF} using \PDFTeX{}.
\begin{ctanrefs}
\item[\nothtml{\rmfamily}Texinfo distribution]\CTANref{texinfo}
\end{ctanrefs}

\Question[Q-whyfree]{If \TeX{} is so good, how come it's free?}

It's free because Knuth chose to make it so.  He is nevertheless
apparently happy
that others should earn money by selling \TeX{}-based services and
products. While several valuable \TeX{}-related tools and packages are
offered subject to restrictions imposed by the \acro{GNU} General Public
Licence (`Copyleft'), \TeX{} itself is not subject to Copyleft.

There are commercial versions of \TeX{} available; for some users,
it's reassuring to have paid support.  What is more, some of the
commercial implementations
have features that are not available in free versions.  (The
reverse is also true: some free implementations have features
not available commercially.)

This \acro{FAQ} concentrates on `free' distributions of \TeX{}, but we
do at least list the \Qref*{major vendors}{Q-commercial}.

\Question[Q-TeXfuture]{What is the future of \TeX{}?}

Knuth has declared that he will do no further development of \TeX{};
he will continue to fix any bugs that are reported to him (though
bugs are rare).  This decision was made soon after
\TeX{} version~3.0 was released; at each bug-fix release
the version number acquires one more digit, so that it tends to the
limit~\ensuremath{\pi} (at the time of writing, Knuth's latest release is version
3.141592).  Knuth wants \TeX{} to be frozen at version~\ensuremath{\pi} when he
dies; thereafter, no further changes may be made to Knuth's source.
(A similar rule is applied to \MF{}; its version number tends to the
limit~\ensuremath{e}, and currently stands at 2.71828.)

Knuth explains his decision, and exhorts us all to respect it, in a
paper originally published in \TUGboat{} 11(4) (and reprinted in the
% ! line break
\href{http://www.ntg.nl/maps/pdf/5_34.pdf}{NTG journal MAPS}).

There are projects (some of them long-term
projects: see, for example,
\Qref[question]{the LaTeX3 project}{Q-LaTeX3})
%\Qref[and]{and the SGML work}{Q-SGML})
to build substantial
new macro packages based on \TeX{}.  For the even longer term, there
are various projects to build a \emph{successor} to \TeX{}; see, for example,
the
\begin{narrowversion}
  \LuaTeX{}, Omega/Aleph and \ExTeX{} projects (questions
\end{narrowversion}
\Qref[\nothtml]{\LuaTeX}{Q-luatex},
\Qref[\nothtml]{Omega/Aleph}{Q-omegaleph} and
\Qref[\nothtml]{\ExTeX{}}{Q-extex}\narrowonly{).}
\begin{wideversion}
  projects.
\end{wideversion}

\Question[Q-readtex]{Reading \AllTeX{} files}

So you've been sent a \TeX{} file: what are you going to do with it?

You can, of course, ``just read it'', since it's a plain text file,
but the markup tags in the document may prove distracting.  Most of
the time, even \TeX{} experts will typeset a \TeX{} file before
attempting to read it.

So, you need to typeset the document.  The good news is that \TeX{}
systems are available, free, for most sorts of computer; the bad news
is that you need a pretty complete \TeX{} system even to read a single
file, and complete \TeX{} systems are pretty large.

\TeX{} is a typesetting system that arose from a publishing project (see
\wideonly{``}\Qref[question]{what is \TeX{}}{Q-whatTeX}\wideonly{''}),
and its basic source is available free from its author.  However, at
its root, it is \emph{just} a typesetting engine: even to view or to
print the typeset output, you will need anciliary programs.  In short,
you need a \TeX{} \emph{distribution}~--- a collection of
\TeX{}-related programs tailored to your operating system: for details
of the sorts of things that are available, see
% beware line break
\htmlonly{``}\Qref[question]{\TeX{} distributions}{Q-TeXsystems}\htmlonly{''}
or
% beware line break
\htmlonly{``}\Qref[\htmlonly]{commercial \TeX{} distributions}{Q-commercial}\latexhtml{ (for commercial distributions)}{''}.

But beware~--- \TeX{} makes no attempt to look like the sort of
\WYSIWYG{} system you're probably used to (see
% beware line wrap
\wideonly{``}\Qref[question]{why is \TeX{} not \WYSIWYG{}}{Q-notWYSIWYG}\wideonly{''}):
while many modern versions of \TeX{} have a compile--view cycle that
rivals the best commercial word processors in its responsiveness, what
you type is usually \emph{markup}, which typically defines a logical
(rather than a visual) view of what you want typeset.

So there's a balance between the simplicity of the original
(marked-up) document, which can more-or-less be read in \emph{any}
editor, and the really rather large investment needed to install a
system to read a document ``as intended''.

\Question[Q-notWYSIWYG]{Why is \TeX{} not a \WYSIWYG{} system?}

\WYSIWYG{} is a marketing term (``What you see is what you get'') for
a particular style of text processor.  \WYSIWYG{} systems are
characterised by two principal claims: that you type what you want to
print, and that what you see on the screen as you type is a close
approximation to how your text will finally be printed.

The simple answer to the question is, of course, that \TeX{} was
conceived long before the marketing term, at a time when the marketing
imperative wasn't perceived as significant.  However, that was a long
time ago: why has nothing been done with the ``wonder text processor''
to make it fit with modern perceptions?

There are two answers to this.  First, the simple ``things \emph{have}
been done'' (but they've not taken over the \TeX{} world); and second,
``there are philosophical reasons why the way \TeX{} has developed is
ill-suited to the \WYSIWYG{} style''.
Indeed, there is a fundamental problem with applying \WYSIWYG{} techniques
to \TeX{}: the complexity of \TeX{} makes it hard to get the
equivalent of \TeX{}'s output without actually running \TeX{}.

A celebrated early system offering ``\WYSIWYG{} using \TeX{}'' came from the
Vor\TeX{} project: a pair of (early) Sun workstations worked in
tandem, one handling the user interface while the other beavered away
in the background typesetting the result.  Vor\TeX{} was quite
impressive for its time, but the two workstations combined had hugely less
power than the average sub-thousand dollar Personal Computer
nowadays, and its code has not proved portable (it never even made the
last `great' \TeX{} version change, at the turn of the 1990s, to
\TeX{} version 3).  Modern systems that are similar in
their approach are Lightning Textures (an extension of
Blue Sky's original \TeX{} system for the Macintosh), and Scientific
Word (which can also cooperate with a computer algebra system); both
these systems are \Qref*{commercially available}{Q-commercial}.

The issue has of recent years started to attract attention from \TeX{}
developers, and several interesting projects addressing the
``\Qref*{\TeX{} document preparation environment}{Q-WYGexpts}''
are in progress.

Nevertheless, the \TeX{} world has taken a long time to latch onto the
idea of \WYSIWYG{}.
Apart from simple arrogance (``we're better, and have no need to
consider the petty doings of the commercial word processor market''),
there is a real conceptual difference between the word processor model
of the world and the model \LaTeX{} and \CONTeXT{} employ~--- the idea of
``markup''.  ``Pure'' markup expresses a logical model of a document,
where every object within the document is labelled according to what
it is rather than how it should appear: appearance is deduced from the
properties of the type of object.  Properly applied, markup can
provide valuable assistance when it comes to re-use of documents.

Established \WYSIWYG{} systems find the expression of this sort of
structured markup difficult; however, markup \emph{is} starting to
appear in the lists of the commercial world's requirements, for two
reasons.  First, an element of markup helps impose style on a
document, and commercial users are increasingly obsessed with
uniformity of style; and second, the increasingly pervasive use of
\acro{XML}-derived document archival formats demands it.  The same
challenges must needs be addressed by \TeX{}-based document
preparation support schemes, so we are
observing a degree of confluence of the needs of the two communities:
interesting times may be ahead of us.

\Question[Q-TUG*]{\TeX{} User Groups}

There has been a \TeX{} User Group since very near the time \TeX{}
first appeared.  That first group, \acro{TUG}, is still active and its
journal \textsl{TUGboat} continues in regular publication
with articles about \TeX{}, \MF{} and related technologies, and about
document design, processing and production.  \acro{TUG} holds a yearly
conference, whose proceedings are published in \textsl{TUGboat}.

\acro{TUG}'s \href{http://www.tug.org}{web site} is a valuable
resource for all sorts of
\TeX{}-related matters, such as details of \TeX{} software, and lists
of \TeX{} vendors and \TeX{} consultants.  Back articles from
\textsl{TUGboat} are slowly (subject to copyright issues, etc.\@)
making their way to the site, too.

Some time ago, \acro{TUG} established a ``technical council'', whose
task was to oversee the development of \TeX{}nical projects.  Most
such projects nowadays go on their way without any support from
\acro{TUG}, but \acro{TUG}'s web site lists its
\htmlignore
\ifpdf
\href{http://www.tug.org/twg.html}{Technical Working Groups (\acro{TWG}s)}.
\else
Technical Working Groups (\acro{TWG}s: see
\URL{http://www.tug.org/twg.html}).
\fi
\endhtmlignore
\begin{htmlversion}
\href{http://www.tug.org/twg.html}{Technical Working Groups (\acro{TWG}s)}.
\end{htmlversion}

\acro{TUG} has a reasonable claim to be considered a world-wide
organisation, but there are many national and regional user groups,
too; \acro{TUG}'s web site maintains a list of
\htmlignore
\ifpdf
\href{http://www.tug.org/lugs.html}{``Local User Groups'' (\acro{LUG}s)}.
\else
``local user groups'' (\acro{LUG}s: see
\URL{http://www.tug.org/lugs.html}).
\fi
\endhtmlignore
\begin{htmlversion}
\href{http://www.tug.org/lugs.html}{``local user groups'' (\acro{LUG}s)}.
\end{htmlversion}

Contact \acro{TUG} itself via:
\begin{quote}
  \TeX{} Users Group\\
  1466 NW Front Avenue, Suite 3141\\
  Portland, OR 97209\\
  \acro{USA}\\[.25\baselineskip]
  Tel: +1 503-223-9994\\
  Fax: +1 503-223-3960\\
  Email: \mailto{tug@mail.tug.org}\\
  Web: \URL{http://www.tug.org/}
\end{quote}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\section{Documentation and Help}

\Question[Q-books]{Books on \TeX{} and its relations}

While Knuth's book is the definitive reference for \TeX{}, there are
other books covering \TeX{}:
\begin{booklist}
\item[The \TeX{}book]by Donald Knuth (Addison-Wesley, 1984,
  \ISBN{0-201-13447-0}, paperback \ISBN{0-201-13448-9})
\item[A Beginner's Book of \TeX{}]by Raymond Seroul and Silvio Levy,
  (Springer Verlag, 1992, \ISBN{0-387-97562-4})
\item[\TeX{} by Example: A Beginner's Guide]by Arvind Borde 
  (Academic Press, 1992, \ISBN{0-12-117650-9}~--- now out of print)
\item[Introduction to \TeX{}]by Norbert Schwarz (Addison-Wesley,
  1989, \ISBN{0-201-51141-X}~--- now out of print)
\item[A Plain \TeX{} Primer]by Malcolm Clark (Oxford University
  Press, 1993, ISBNs~0-198-53724-7 (hardback) and~0-198-53784-0
  (paperback))
\item[A \TeX{} Primer for Scientists]by Stanley Sawyer and Steven
  Krantz (CRC Press, 1994, \ISBN{0-849-37159-7})
\item[\TeX{} by Topic]by Victor Eijkhout (Addison-Wesley, 1992,
  \ISBN{0-201-56882-9}~--- now out of print, but see
  \Qref[question]{online books}{Q-ol-books})
\item[\TeX{} for the Beginner]by Wynter Snow (Addison-Wesley, 1992,
  \ISBN{0-201-54799-6})
\item[\TeX{} for the Impatient]by Paul W.~Abrahams, Karl Berry and
  Kathryn A.~Hargreaves (Addison-Wesley, 1990,
  \ISBN{0-201-51375-7}~--- now out of print, but see
  \Qref[question]{online books}{Q-ol-books})
\item[\TeX{} in Practice]by Stephan von Bechtolsheim (Springer
  Verlag, 1993, 4 volumes, \ISBN{3-540-97296-X} for the set, or
% nos in brackets are for German distribution (Springer Verlag, Berlin)
  Vol.~1: \ISBN{0-387-97595-0}, % (3-540-97595-0)
  Vol.~2: \ISBN{0-387-97596-9}, % (3-540-97596-9)
  Vol.~3: \ISBN{0-387-97597-7}, and % (3-540-97597-7)
  Vol.~4: \ISBN{0-387-97598-5})% (3-540-97598-5)
\htmlignore
\item[\TeX{}: Starting from \sqfbox{1}\,\footnotemark]%
\footnotetext{That's `Starting from Square One'}%
\endhtmlignore
\begin{htmlversion}
\item[\TeX{}: Starting from Square One]
\end{htmlversion}
  by Michael Doob (Springer
  Verlag, 1993, \ISBN{3-540-56441-1}~--- now out of print)
\item[The Joy of \TeX{}]by Michael D.~Spivak (second edition,
  \acro{AMS}, 1990, \ISBN{0-821-82997-1})
\item[The Advanced \TeX{}book]by David Salomon (Springer Verlag, 1995,
  \ISBN{0-387-94556-3})
\end{booklist}
A collection of Knuth's publications about typography is also available:
\begin{booklist}
\item[Digital Typography]by Donald Knuth (CSLI and Cambridge
  University Press, 1999, \ISBN{1-57586-011-2}, paperback
  \ISBN{1-57586-010-4}).
\end{booklist}
\nothtml{\noindent}and in late 2000, a ``Millennium Boxed Set'' of all
5 volumes of Knuth's ``Computers and Typesetting'' series (about
\TeX{} and \MF{}) was published by Addison Wesley:
\begin{booklist}
\item[Computers \& Typesetting, Volumes A--E Boxed Set]by Donald Knuth
  (Addison-Wesley, 2001, \ISBN{0-201-73416-8}).
\end{booklist}
\checked{rf}{2000/02/12 -- http://cseng.aw.com/book/0,3828,0201734168,00.html}
For \LaTeX{}, see:
\begin{booklist}
\item[\LaTeX{}, a Document Preparation System]by Leslie Lamport
  (second edition, Addison Wesley, 1994, \ISBN{0-201-52983-1})
\item[Guide to \LaTeX{}]Helmut Kopka and Patrick W.~Daly (fourth
  edition, Addison-Wesley, 2004, \ISBN{0-321-17385-6})
\item[The \LaTeX{} Companion]by Frank Mittelbach, Michel Goossens,
  Johannes Braams, David Carlisle and Chris Rowley (second edition,
  Addison-Wesley, 2004, \ISBN*{0-201-36299-6}{978-0-201-36299-2})
\item[The \LaTeX{} Graphics Companion:]%
  \emph{Illustrating documents with \TeX{} and \PS{}} by Michel
  Goossens, Sebastian Rahtz, Frank Mittelbach, Denis Roegel and
  Herbert Vo\ss{} (second edition, Addison-Wesley, 2007,
  \ISBN*{0-321-50892-0}{978-0-321-50892-8})
\item[The \LaTeX{} Web Companion:]%
  \emph{Integrating \TeX{}, \acro{HTML} and \acro{XML}} by Michel
  Goossens and Sebastian Rahtz (Addison-Wesley, 1999, \ISBN{0-201-43311-7})
\item[\TeX{} Unbound:]%
  \emph{\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)
\item[Math into \LaTeX{}:]\emph{An Introduction to \LaTeX{} and \AMSLaTeX{}}
  by George Gr\"atzer (third edition Birkh\"auser and Springer Verlag,
  2000, \ISBN{0-8176-4431-9}, \ISBN{3-7643-4131-9})
\checked{RF}{2001/01/16}
%% gr\"atzer's home page
%% http://www.maths.umanitoba.ca/homepages/gratzer.html/LaTeXBooks.html
\item[Digital Typography Using \LaTeX{}]Incorporating some
  multilingual aspects, and use of \Qref*{Omega}{Q-omegaleph}, by
  Apostolos Syropoulos, Antonis Tsolomitis and Nick Sofroniou
  (Springer, 2003, \ISBN{0-387-95217-9}).

  A list of errata for the first printing is available from:
  \URL{http://www.springer-ny.com/catalog/np/jan99np/0-387-98708-8.html}
\item[First Steps in \LaTeX{}]by George Gr\"atzer (Birkh\"auser, 1999,
  \ISBN{0-8176-4132-7}) 
\item[\LaTeX{}: Line by Line:]%
  \emph{Tips and Techniques for Document Processing}
  by Antoni Diller (second edition, John Wiley \& Sons,
  1999, \ISBN{0-471-97918-X})
\item[\LaTeX{} for Linux:]\emph{A Vade Mecum}
  by Bernice Sacks Lipkin (Springer-Verlag, 1999,
  \ISBN{0-387-98708-8}, second printing)
\end{booklist}
A sample of George Gr\"atzer's ``Math into \LaTeX{}'', in Adobe
Acrobat format, and example files
%for von Bechtolsheim's ``\TeX{} in Practice'', 
for the three \LaTeX{} Companions, and for
Gr\"atzer's ``First Steps in \LaTeX{}'', are all available on
\acro{CTAN}.

There's a nicely-presented list of of ``recommended books'' to be had
on the web: \URL{http://www.macrotex.net/texbooks/}

The list of \MF{} books is rather short:
\begin{booklist}
\item[The \MF{}book]by Donald Knuth (Addison Wesley, 1986,
  \ISBN{0-201-13445-4}, \ISBN{0-201-52983-1} paperback)
\end{booklist}
Alan Hoenig's `\textsl{\TeX{} Unbound}' includes some discussion and
examples of using \MF{}.

A book covering a wide range of topics (including installation and
maintenance) is:
\begin{booklist}
\item[Making \TeX{} Work]by Norman Walsh (O'Reilly and Associates,
  Inc, 1994, \ISBN{1-56592-051-1})
\end{booklist}
The book is decidedly dated, and is now out of print, but a copy is
available via |sourceforge| and on \acro{CTAN}, 
and we list it under ``\Qref*{online books}{Q-ol-books}''.


This list only covers books in English: notices of new books, or
warnings that books are now out of print are always welcome.  However,
this \acro{FAQ} does \emph{not} carry reviews of current published material.
\begin{ctanrefs}
\item[\nothtml{\rmfamily}Examples for \nothtml{\upshape}First Steps in \LaTeX{}]\CTANref{gfs}
\item[\nothtml{\rmfamily}Examples for \nothtml{\upshape}\LaTeX{} Companion]\CTANref{tlc2}
\item[\nothtml{\rmfamily}Examples for \nothtml{\upshape}\LaTeX{} Graphics Companion]\CTANref{lgc}
\item[\nothtml{\rmfamily}Examples for \nothtml{\upshape}\LaTeX{} Web Companion]\CTANref{lwc}
%\item[\nothtml{\rmfamily}Examples for \nothtml{\upshape}\TeX{} in Practice]\CTANref{tip}
\item[\nothtml{\rmfamily}Sample of \nothtml{\upshape}Math into \LaTeX{}]\CTANref{mil}
\end{ctanrefs}

\Question[Q-typebooks]{Books on Type}

    The following is a partial listing of books on typography in general.
Of these, Bringhurst seems to be the one most often recommended.
\begin{booklist}
\item[The Elements of Typographic Style]by Robert Bringhurst
  (Hartley \& Marks, 1992, \ISBN{0-88179-033-8})
\item[Finer Points in the Spacing \& Arrangement of Type]by Geoffrey Dowding
  (Hartley \& Marks, 1996, \ISBN{0-88179-119-9})
\item[The Thames \& Hudson Manual of Typography]by Ruari McLean
  (Thames \& Hudson, 1980, \ISBN{0-500-68022-1})
\item[The Form of the Book]by Jan Tschichold
  (Lund Humphries, 1991, \ISBN{0-85331-623-6})
\item[Type \& Layout]by Colin Wheildon
  (Strathmore Press, 2006, \ISBN{1-875750-22-3})
\item[The Design of Books]by Adrian Wilson
  (Chronicle Books, 1993, \ISBN{0-8118-0304-X})
\item[Optical Letter Spacing]by David Kindersley and Lida Cardozo Kindersley 
  % ! line break
  (\href{http://www.kindersleyworkshop.co.uk/}{The Cardozo Kindersley Workshop}
  2001, \ISBN{1-874426-139})
\end{booklist}

    There are many catalogues of type specimens but the following books provide
a more interesting overall view of types in general and some of their history.
\begin{booklist}
\item[Alphabets Old \& New]by Lewis F.~Day
  (Senate, 1995, \ISBN{1-85958-160-9})
\item[An Introduction to the History of Printing Types]by Geoffrey Dowding
  (British Library, 1998, UK \ISBN{0-7123-4563-9}; USA \ISBN{1-884718-44-2})
\item[The Alphabet Abecedarium]by Richar A.~Firmage
  (David R.~Godine, 1993, \ISBN{0-87923-998-0})
\item[The Alphabet and Elements of Lettering]by Frederick Goudy
  (Dover, 1963, \ISBN{0-486-20792-7})
\item[Anatomy of a Typeface]by Alexander Lawson
  (David R.~Godine, 1990, \ISBN{0-87923-338-8})
\item[A Tally of Types]by Stanley Morison
  (David R.~Godine, 1999, \ISBN{1-56792-004-7})
\item[Counterpunch]by Fred Smeijers
  (Hyphen, 1996, \ISBN{0-907259-06-5})
\item[Treasury of Alphabets and Lettering]by Jan Tschichold
  (W.~W.~Norton, 1992, \ISBN{0-393-70197-2})
\item[A Short History of the Printed Word]by Warren Chappell and
  Robert Bringhurst (Hartley \& Marks, 1999, \ISBN{0-88179-154-7})
\end{booklist}

    The above lists are limited to books published in English. Typographic 
styles are somewhat language-dependent, and similarly the `interesting' fonts
depend on the particular writing system involved.

\Question[Q-whereFAQ]{Where to find \acro{FAQ}s}

Bobby Bodenheimer's article, from which this \acro{FAQ} was developed, used
to be posted (nominally monthly) to newsgroup
\Newsgroup{comp.text.tex}. The (long
obsolete) last posted copy of that article is kept on \acro{CTAN} for
auld lang syne.

\begin{pdfversion}
A version of the \href{http://www.tex.ac.uk/faq}{present \acro{FAQ}}
may be browsed via the World-Wide Web, and its sources
\end{pdfversion}
\begin{dviversion}
A version of the present \acro{FAQ} may be browsed via the World-Wide Web, at
\acro{URL} \URL{http://www.tex.ac.uk/faq}, and its sources
\end{dviversion}
\begin{htmlversion}
The sources of the present \acro{FAQ}
\end{htmlversion}
are available from \acro{CTAN}.

This \acro{FAQ} and others are regularly mentioned, on
\Newsgroup{comp.text.tex} and elsewhere, in a ``pointer \acro{FAQ}''
which is also saved at \URL{http://tug.org/tex-ptr-faq}

A 2006 innovation from Scott Pakin is the ``visual'' \LaTeX{} \acro{FAQ}.
This is a document with (mostly rubbish) text formatted so as to
highlight things we discuss here, and providing Acrobat hyper-links to
the relevant answers in this \acro{FAQ} on the Web.  The visual
\acro{FAQ} is provided in \acro{PDF} format, on \acro{CTAN}; it works
best using Adobe Acrobat Reader 7 (or later); some features are
missing with other readers, or with earlier versions of Acrobat Reader

Another excellent information source, available in English, is the
\href{http://tex.loria.fr}{\AllTeX{} navigator}.

Both the Francophone \TeX{} usergroup Gutenberg and the Czech/Slovak
usergroup CS-TUG have published translations of this \acro{FAQ}, with
extensions appropriate to their languages.

Herbert Vo\ss{}'s excellent % beware line break
\href{http://texnik.de/}{\LaTeX{} tips and tricks}
provides excellent advice on most topics one might imagine (though
it's not strictly a \acro{FAQ})~--- highly recommended for most
ordinary mortals' use.

The Open Directory Project (\acro{ODP}) maintains a list of sources of
\AllTeX{} help, including \acro{FAQ}s.  View the \TeX{} area at
\URL{http://dmoz.org/Computers/Software/Typesetting/TeX/}

Other non-English \acro{FAQ}s are available (off-\acro{CTAN}):
\begin{booklist}
\item[German]Posted regularly to \Newsgroup{de.comp.tex}, and archived
  on \acro{CTAN}; the \acro{FAQ} also appears at
  \URL{http://www.dante.de/faq/de-tex-faq/}
\item[French]An interactive (full-screen!) FAQ may be found at
  \URL{http://www.frenchpro6.com/screen.pdf/FAQscreen.pdf}, and a copy
  for printing at \URL{http://frenchle.free.fr/FAQ.pdf};
  A FAQ used to be posted regularly to
  \Newsgroup{fr.comp.text.tex}, and is archived on \acro{CTAN}~---
  sadly, that effort seems to have fallen by the wayside.
\item[Spanish]See \URL{http://apolo.us.es/CervanTeX/FAQ/}
\item[Czech]See \URL{http://www.fi.muni.cz/cstug/csfaq/}
\end{booklist}

Resources available on \acro{CTAN} are:
\begin{ctanrefs}
\item[\nothtml{\rmfamily}Dante \acro{FAQ}]\CTANref{dante-faq}
\item[\nothtml{\rmfamily}French \acro{FAQ}]\CTANref{french-faq}
\item[\nothtml{\rmfamily}Sources of this \acro{FAQ}]\CTANref{faq}
\item[\nothtml{\rmfamily}Obsolete \texttt{comp.text.tex} \acro{FAQ}]%
  \CTANref{TeX-FAQ}
\item[\nothtml{\rmfamily}The visual \acro{FAQ}]\CTANref{visualFAQ}
\end{ctanrefs}

\Question[Q-gethelp]{How to get help}

So you've looked at all relevant \Qref*{\acro{FAQ}s}{Q-whereFAQ} you
can find, you've looked in any \Qref*{books}{Q-books} you have, and
scanned relevant \Qref*{tutorials}{Q-tutorials*}\dots{} and still you
don't know what to do.

If you are seeking a particular package or program, look on your own
system first: you might already have it~--- the better \TeX{}
distributions contain a wide range of supporting material.  The
\acro{CTAN} Catalogue can also help: you can
\href{http://www.tex.ac.uk/search}{search it}, or you can browse it
% !!!! line break
``\href{http://www.tex.ac.uk/tex-archive/help/Catalogue/bytopic.html}{by topic}''.
A catalogue entry has a brief description of the package, and links to
any known documentation on the net.  In fact, a large proportion of
\acro{CTAN} package directoris now include documentation, so it's
often worth looking at the catalogue entry for a package you're considering
using.

Failing all that, look to see if anyone else has had the problem
before; there are two places where people ask: browse or search the
newsgroup \Newsgroup{comp.text.tex} via
\href{http://groups.google.com/group/comp.text.tex}{Google groups},
and the mailing list \texttt{texhax} via its
\href{http://tug.org/pipermail/texhax/}{archive}

If those ``back question'' searches fail, you'll have to ask the world
at large.  To ask a question on \Newsgroup{comp.text.tex}, you can use
your own news client (if you have one), or use the ``start a new
topic'' button on \URL{http://groups.google.com/group/comp.text.tex}.
To ask a question on \texttt{texhax}, you may simply send mail to
\mailto{texhax@tug.org}, but it's probably better to subscribe to the
list (via \URL{http://tug.org/mailman/listinfo/texhax}) % ! no ~ on this line
first~--- not everyone will answer to you as well as to the list.

Do \textbf{not} try mailing the % ! line break
\Qref*{\LaTeX{} project team}{Q-LaTeX3} or the maintainers of these
\acro{FAQ}s for help; while both addresses reach experienced \AllTeX{}
users, no small group can possibly have expertise in every area of
usage so that the ``big'' lists are a far better bet.

\Question[Q-maillists*]{Specialist mailing lists}

The previous question, ``\Qref*{getting help}{Q-gethelp}'', talked of
the two major forums in which \AllTeX{}, \MF{} and \MP{} are
discussed; however, these aren't the only ones available.

The \acro{TUG} web site offers many mailing lists other than just
\texttt{texhax} via its % ! line break
\href{http://tug.org/mailman/listinfo}{mail list management page}.

The French national \TeX{} user group, Gutenberg, offers a \MF{} (and,
de facto, \MP{}) mailing list, \mailto{metafont@ens.fr}: subscribe to
it by sending a message
\begin{quote}
\begin{verbatim}
subscribe metafont
\end{verbatim}
\end{quote}
to \mailto{sympa@ens.fr}

(Note that there's also a \MP{}-specific mailing list available via the
\acro{TUG} lists; in fact there's little danger of becoming confused
by subscribing to both.)

Announcements of \TeX{}-related installations on the \acro{CTAN}
archives are sent to the mailing list \texttt{ctan-ann}.  Subscribe
to the list via its \ProgName{MailMan} web-site
\URL{https://lists.dante.de/mailman/listinfo/ctan-ann}; list archives
are available at the same address.  The list archives may also be
browsed via \URL{http://www.mail-archive.com/ctan-ann@dante.de/}, and
an \acro{RSS} feed is also available:
\URL{http://www.mail-archive.com/ctan-ann@dante.de/maillist.xml}

\Question[Q-askquestion]{How to ask a question}

You want help from the community at large; you've decided where you're
going to \Qref*{ask your question}{Q-gethelp}, but how do you
phrase it?

Excellent ``general'' advice (how to ask questions of anyone) is
contained in
%beware line break
\href{http://catb.org/~esr/faqs/smart-questions.html}{Eric Raymond's article on the topic}.
Eric's an extremely self-confident person, and this comes through in
his advice; but his guidelines are very good, even for us in the
un-self-confident majority.  It's important to remember that you don't
have a right to advice from the world, but that if you express
yourself well, you will usually find someone who will be pleased to
help.

So how do you express yourself in the \AllTeX{} world?  There aren't
any comprehensive rules, but a few guidelines may help in the
application of your own common sense.
\begin{itemize}
\item Make sure you're asking the right people.  Don't ask in a \TeX{}
  forum about printer device drivers for the \ProgName{Foobar}
  operating system.  Yes, \TeX{} users need printers, but no, \TeX{}
  users will typically \emph{not} be \ProgName{Foobar} systems
  managers.

  Similarly, avoid posing a question in a language that the majority
  of the group don't use: post in Ruritanian to
  \Newsgroup{de.comp.text.tex} and you may have a long wait before a
  German- and Ruritanian-speaking \TeX{} expert notices your
  question.
\item If your question is (or may be) \TeX{}-system-specific, report
  what system you're using, or intend to use: ``I can't install
  \TeX{}'' is as good as useless, whereas ``I'm trying to install the
  \ProgName{mumbleTeX} distribution on the \ProgName{Grobble}
  operating system'' gives all the context a potential respondent
  might need.  Another common situation where this information is
  important is when you're having trouble installing something new in
  your system: ``I want to add the \Package{glugtheory} package to my
  \ProgName{mumbleTeX v12.0} distribution on the \ProgName{Grobble 2024}
  operating system''.
\item If you need to know how to do something, make clear what your
  environment is: ``I want to do \emph{x} in Plain \TeX{}'', or ``I
  want to do \emph{y} in \LaTeX{} running the \Class{boggle}
  class''.  If you thought you knew how, but your attempts are
  failing, tell us what you've tried: ``I've already tried installing
  the \Package{elephant} in the \Package{minicar} directory, and it
  didn't work, even after refreshing the filename database''.
\item If something's going wrong within \AllTeX{}, pretend you're
  \Qref*{submitting a \LaTeX{} bug report}{Q-latexbug},
  and try to generate a \Qref*{minimum failing example}{Q-minxampl}.
  If your example 
  needs your local \Class{xyzthesis} class, or some other resource
  not generally available, be sure to include a pointer to how the
  resource can be obtained.
\item Be as succinct as possible.  Your helpers don't usually need to
  know \emph{why} you're doing something, just \emph{what} you're
  doing and where the problem is.
\end{itemize}

\Question[Q-minxampl]{How to make a ``minimum example''}

\Qref[Question]{Our advice on asking questions}{Q-askquestion}
suggests that you prepare a ``minimum example'' (also commonly known
as a ``\emph{minimal} example'') of failing behaviour,
as a sample to post with your question.  If you have a problem in a
two hundred page document, it may be unclear how to proceed from this
problem to a succinct demonstration of your problem.

There are two valid approaches to this task: building up, and hacking
down.

% ! line break
\latexhtml{The ``building up'' process}{\textbf{\emph{Building up}}} starts
with a basic document structure
(for \LaTeX{}, this would have \csx{documentclass},
\cmdinvoke{begin}{document}, \cmdinvoke{end}{document}) and adds
things.  First to add is a paragraph or so around the actual point
where the problem occurrs.  (It may prove difficult to find the actual
line that's provoking the problem.  If the original problem is an
error, reviewing % ! line break
\Qref[the answer to question]{``the structure of \TeX{} errors''}{Q-errstruct}
may help.)

Note that there are things that can go wrong in one part of the
document as a result of something in another part: the commonest is
problems in the table of contents (from something in a section title,
or whatever), or the list of \meta{something} (from something in a
\csx{caption}).  In such a case, include the section title or caption
(the caption probably needs the \environment{figure} or
\environment{table} environment around it, but it \emph{doesn't} need
the figure or table itself).

If this file you've built up shows the problem already, then you're done.
Otherwise, try adding packages; the optimum is a file with only one
package in it, but you may find that the guilty package won't even load
properly unless another package has been loaded.  (Another common case
is that package \Package{A} only fails when package \Package{B} has been
loaded.)

% ! line break
\latexhtml{The ``hacking down'' route}{\textbf{\emph{Hacking down}}} starts
with your entire document, and
removes bits until the file no longer fails (and then of course
restores the last thing removed).  Don't forget to hack out any
unnecessary packages, but mostly, the difficulty is choosing what to
hack out of the body of the document; this is the mirror of the
problem above, in the ``building up'' route.

If you've added a package (or more than one), add \csx{listfiles} to
the preamble too: that way, \LaTeX{} will produce a list of the
packages you've used and their version numbers.  This information may
be useful evidence for people trying to help you.

What if your document simply doesn't fail in any of these cut-down
scenarios?  Whatever you do, don't post the whole of the document: if
you can, it may be useful to make a copy available on the web
somewhere: people will probably understand if it's impossible~\dots{}\ 
or inadvisable, in the case of something confidential.

If the whole document is necessary, it could be that it's an overflow
of some sort; the best you can do is to post the code ``around'' the
error, and (of course) the full text of the error.

It may seem that all this work is rather excessive for preparing a
simple post.  There are two responses to that, both based on the
relative inefficiency of asking a question on the internet.

First, preparing a minimum document very often leads \emph{you} to the
answer, without all the fuss of posting and looking for responses.

Second, your prime aim is to get an answer as quickly as possible; a
well-prepared example stands a good chance of attracting an answer
``in a single pass'': if the person replying to your post finds she
needs more information, you have to find that request, post again, and
wait for your benefactor to produce a second response.

All things considered, a good example file can save you a day, for
perhaps half an hour's effort invested.

The above advice, differently phrased, may also be read on the web at
\URL{http://www.minimalbeispiel.de/mini-en.html}; source of that
article may be found at \URL{http://www.minimalbeispiel.de/}, in
both German and English.

\Question[Q-tutorials*]{\AllTeX{} Tutorials, etc.}

From a situation where every \AllTeX{} user \emph{had} to buy a book
if she was not to find herself groping blindly along, we now have what
almost amounts to an embarrassment of riches of online documentation.
The following answers attempt to create lists of sources ``by topic''.

First we have introductory manuals, for
\Qref*{Plain \TeX{}}{Q-man-tex} and \Qref*{\LaTeX{}}{Q-man-latex}.

Next comes a selection of
\Qref*{``specialised'' \AllTeX{} tutorials}{Q-tutbitslatex},
each of which concentrates on a single \LaTeX{} topic.

A couple of reference documents (it would be good to have more) are
listed in an \Qref*{answer of their own}{Q-ref-doc}.

Next comes the (rather new) field of % ! line break
\Qref*{\TeX{}-related WIKIs}{Q-doc-wiki}.

A rather short list gives us a % ! line break
\Qref*{Typography style tutorial}{Q-typo-style}.

Finally, we have a set of links to
\Qref*{Directories of \AllTeX{} information}{Q-doc-dirs}, and details
of some ``\Qref*{books}{Q-ol-books}'' that were once published
conventionally, but are now available on-line.

\Question[Q-man-tex]{Online introductions: Plain \TeX{}}

Michael Doob's splendid `Gentle Introduction' to Plain \TeX{}
(available on \acro{CTAN}) has been stable for a very long time.

Another recommendable document is D. R.~Wilkins `Getting started with \TeX{}',
available on the web at \URL{http://www.ntg.nl/doc/wilkins/pllong.pdf}
\begin{ctanrefs}
\item[\nothtml{\rmfamily}Gentle Introduction]\CTANref{gentle}
\end{ctanrefs}

\Question[Q-man-latex]{Online introductions: \LaTeX{}}

Tobias Oetiker's `(Not so) Short Introduction to \LaTeXe{}', is
regularly updated, as people suggest better ways of explaining things,
etc.  The introduction is available on \acro{CTAN}, together with
translations into a rather large set of languages.

Peter Flynn's ``Beginner's \LaTeX{}'' (which also started as course
material) is a pleasing read.  A complete copy may be found on
\acro{CTAN}, but it may also be browsed over the web
(\URL{http://www.tex.ac.uk/tex-archive/info/beginlatex/html/}).

Harvey Greenberg's `Simplified Introduction to \LaTeX{}' was written
for a lecture course, and is also available on \acro{CTAN} (in \PS{}
only, unfortunately).

The fourth edition of George Gr\"atzer's book ``Math into \LaTeX{}''
contains a ``short course'' in \LaTeX{} itself, and that course has
been made publicly available on \acro{CTAN}.

Edith Hodgen's % beware line break
\href{http://www.mcs.vuw.ac.nz/~david/latex/notes.pdf}{\LaTeX{}, a Braindump}
starts you from the ground up~--- giving a basic tutorial in the use
of \ProgName{Linux} to get you going (rather a large file\dots{}).
Its parent site, David Friggens' % ! line break
\href{http://www.mcs.vuw.ac.nz/~david/latex/}{documentation page} is a
useful collection of links in itself.

% ! line break
\href{http://www.andy-roberts.net/misc/latex/}{Andy Roberts' introductory material}
is a pleasing short introduction to the use of \AllTeX{}; some of the
slides for \emph{actual} tutorials are to be found on the page, as
well.

Chris Harrison's % ! line break
\href{http://www.chrisharrison.co.uk/xophbook/mybooks/tex/index.html}{TeX book}
presents basic \LaTeX{} with useful hints for extensions

Nicola Talbot's % ! line break
\href{http://theoval.cmp.uea.ac.uk/~nlct/latex/novices/novices.html}{\LaTeX{} for complete novices}
does what it claims: the author teaches \LaTeX{} at the University of
East Anglia.  That is one of several of Nicola's % ! line break
\href{http://theoval.cmp.uea.ac.uk/~nlct/latex/}{introductory tutorials},
which include exercises (with solutions).  Other tutorials include
those for writing theses/dissertations with \LaTeX{}, and for using
\LaTeX{} in administrative work.  (The page seems to be an adjunct to
her \LaTeX{} courses~--- fortunate people, the people of \acro{UEA}!).

An interesting (and practical) tutorial about what \emph{not} to do is
\Package{l2tabu}, or ``A list of sins of \LaTeXe{} users'' by Mark
Trettin, translated into English by J\"urgen Fenn.  The
tutorial is available from \acro{CTAN} as a \acro{PDF} file (though
the source is also available).
\begin{ctanrefs}
\item[\nothtml{\rmfamily}Beginner's \LaTeX{}]\CTANref{beginlatex-pdf}
\item[\nothtml{\rmfamily}Not so Short Introduction]\CTANref{lshort}
  (in English, you may browse for sources and other language versions at
  \CTANref{lshort-parent})
\item[\nothtml{\rmfamily}Simplified \LaTeX{}]\CTANref{simpl-latex}
\item[\nothtml{\rmfamily}Short Course in \LaTeX{}]\CTANref{mil-short}
% ! line break
\item[\nothtml{\rmfamily}The sins of \LaTeX{} users]\CTANref{l2tabuen};
  source also available: \CTANref{l2tabuen.src}
\end{ctanrefs}

\Question[Q-tutbitslatex]{Specialised \AllTeX{} tutorials}

The \acro{AMS} publishes a ``Short Math Guide for \LaTeX{}'', which is
available (in several formats) via
\URL{http://www.ams.org/tex/short-math-guide.html}

Herbert Vo\ss{} is developing a parallel document, that is also very
useful; it's part of his ``\Qref*{tips and tricks}{Q-doc-dirs}'' and
a copy is maintained on \acro{CTAN}.
%\URL{http://www.perce.de/LaTeX/math/Mathmode-TeX.pdf}

Two documents written more than ten years apart about font usage in
\TeX{} are worth reading: % ! line breaks, next 3 lines
\href{href='http://www.tug.org/TUGboat/Articles/tb14-2/tb39rahtz-nfss.pdf}{Essential NFSS}
by Sebastian Rahtz, and
\href{http://tug.org/pracjourn/2006-1/schmidt/schmidt.pdf}{Font selection in LaTeX},
cast in the form of an \acro{FAQ}, by Walter Schmidt.  A general
compendium of font information (including the two above) may be found
on the \href{http://www.tug.org/fonts/}{TUG web site}.

Peter Smith's
\begin{narrowversion}
  ``\LaTeX{} for Logicians''
  (\URL{http://www.phil.cam.ac.uk/teaching_staff/Smith/LaTeX/})
\end{narrowversion}
\begin{wideversion}
  % ! line break
  ``\href{http://www.phil.cam.ac.uk/teaching_staff/Smith/LaTeX/}{\LaTeX{} for Logicians}''
\end{wideversion}
covers a rather smaller subject area, but is similarly comprehensive
(mostly by links to documents on relevant topics, rather than as a
monolithic document).

Keith Reckdahl's ``Using Imported Graphics in \LaTeXe{}'' is an
excellent introduction to graphics use.  It's available on
\acro{CTAN}, but the sources aren't available (promised ``some time
soon'').

Kjell Magne Fauske offers a set of examples of the use of the drawing
packages % ! line break
\Qref*{\acro{PGF} and \acro{T}ik\acro{Z}}{Q-drawing}; the % ! line break
\href{http://www.fauskes.net/pgftikzexamples/}{examples catalogue}
includes examples (with output) from the package documentation as well
as code written by the author himself.

Vincent Zoonekynd provides a set of excellent (and graphic) tutorials
on the programming of % !line breaks, ...
\href{http://zoonek.free.fr/LaTeX/LaTeX_samples_title/0.html}{title page styles},
\href{http://zoonek.free.fr/LaTeX/LaTeX_samples_chapter/0.html}{chapter heading styles}
and
\href{http://zoonek.free.fr/LaTeX/LaTeX_samples_section/0.html}{section heading styles}.
In each file, there is a selection of graphics representing an output
style, and for each style, the code that produces it is shown.

An invaluable step-by-step setup guide for establishing a ``work
flow'' through your \AllTeX{} system, so that output appears at the
correct size and position on standard-sized paper, and that the print
quality is satisfactory, is Mike Shell's \Package{testflow}.  The
tutorial consists of a large plain text document, and there is a
supporting \LaTeX{} file together with correct output, both in \PS{} and
\acro{PDF}, for each of \acro{A}4 and ``letter'' paper sizes.  The
complete kit is available on \acro{CTAN} (distributed with the
author's macros for papers submitted for \acro{IEEE} publications).
The issues are also covered in a later % ! line break
\Qref{\acro{FAQ} answer}{Q-dvips-pdf}.

Documentation of Japanese \TeX{} use appears at least twice on the web:
Haruhiko Okumura's page on
% ! line break
\href{http://oku.edu.mie-u.ac.jp/~okumura/texfaq/japanese/}{typesetting Japanese with Omega}
(the parent page is in Japanese, so out of the scope of this
\acro{FAQ}).

One ``Tim'' documents p\TeX{} (a \TeX{} system widely used in Japan)
in his
\begin{narrowversion}
  ``English notes on p\TeX{}'' (see
  \url{http://www.users.waitrose.com/~nihilist/English_Notes_on_pTex.pdf}).
\end{narrowversion}
\begin{wideversion}
  % ! line break
  ``\href{http://www.users.waitrose.com/~nihilist/English_Notes_on_pTex.pdf}{English notes on p\TeX{}}''.
\end{wideversion}

Some university departments make their local documentation available
on the web.  Most straightforwardly, there's the simple translation of
existing documentation into \acro{HTML}, for example the \acro{INFO}
documentation of the \AllTeX{} installation, of which a sample is the
\LaTeX{} documentation available at
\URL{http://www.tac.dk/cgi-bin/info2www?(latex)}

More ambitiously, some university departments have enthusiastic
documenters who 
make public record of their \AllTeX{} support.  For example, Tim Love
(of Cambridge University Engineering Department) maintains his
deparment's pages at
\URL{http://www-h.eng.cam.ac.uk/help/tpl/textprocessing/}
%%  and Mimi
%% Burbank (of the School of Computer Science \& Information Technology
%% at the University of Florida) manages her department's at
%% \URL{http://www.csit.fsu.edu/~mimi/tex/}\nobreakspace--- both sets are fine
%% examples of good practice.
\begin{ctanrefs}
\item[\nothtml{\rmfamily}Graphics in \LaTeXe{}]the
  document is available in \PS{} and \acro{PDF} formats as
  \CTANref{epslatex_ps} and \CTANref{epslatex_pdf} respectively
\item[testflow]\CTANref{testflow}
\item[\nothtml{\rmfamily}Herbert Vo\ss{}'s Maths tutorial]\CTANref{voss-mathmode}
\end{ctanrefs}

\Question[Q-ref-doc]{Reference documents}

For \TeX{} primitive commands a rather nice % ! line break
\href{http://www.nmt.edu/tcc/help/pubs/texcrib.pdf}{quick reference booklet},
by John W.~Shipman, is available; it's arranged in the same way as the
\TeX{}book.  By contrast, you can view David Bausum's % ! line break
\href{http://www.tug.org/utilities/plain/cseq.html}{list of \TeX{} primitives}
alphabetically or arranged by ``family''.  Either way, the list has a
link for each control sequence, that leads you to a detailed
description, which includes page references to the \TeX{}book.

There doesn't seem to be a reference that takes in Plain \TeX{} as
well as the primitive commands.

Similarly, there's no completely reliable command-organised reference
to \LaTeX{}, but the NASA % ! line break
\href{http://www.giss.nasa.gov/latex/}{Hypertext Help with LaTeX} is
recently much improved.  It still talks in \LaTeXo{}-isms in places,
but it's been updated for current \LaTeX{}; there are a number of
mirrors of the site, and it may be worth choosing a ``local'' one if
you're going to use it a lot.

\Question[Q-doc-wiki]{WIKI pages for \TeX{} and friends}

The \emph{WIKI} concept can be a boon to everyone, if used sensibly.
The ``general'' WIKI allows \emph{anyone} to add stuff, or to edit
stuff that someone else has added: while there is obvious potential
for chaos, there is evidence that a strong user community can keep a
WIKI under control.

Following the encouraging performance of the % ! line break
\href{http://contextgarden.net/}{\CONTeXT{} WIKI}, both a
\href{http://en.wikibooks.org/wiki/TeX}{(Plain) \TeX{} WIKI} and a
\href{http://en.wikibooks.org/wiki/LaTeX}{\LaTeX{} WIKI} have been
established.  Both seem rather sparse, as yet, and the \LaTeX{} WIKI
contains some suggestions that go counter to established advice (e.g.,
the \LaTeX{} WIKI has details on the % ! line break
\Qref*{use of the \environment{eqnarray} environment}{Q-eqnarray});
however one may hope that both will become useful resources in the
longer term.

\Question[Q-typo-style]{Typography tutorials}

There's also (at least one) typographic style tutorial available on
the Web, the excellent % ! line break
``\href*{http://www.nbcs.rutgers.edu/~hedrick/typography/typography.janson-syntax.107514.pdf}{Guidelines for Typography in NBCS}''.
In fact, its % !!
\href*{http://www.nbcs.rutgers.edu/~hedrick/typography/index.html}{parent page}
is also worth a read: among other things, it provides copies of the
``guidelines'' document in a wide variety of primary fonts, for
comparison purposes.  The author is careful to explain that he has no
ambition to supplant such excellent books as
\Qref*{Bringhurst's}{Q-typebooks}, but the document (though it does
contain its Rutgers-local matter) is a fine introduction to the issues
of producing readable documents.

Peter Wilson's manual for his \Class{memoir} class has a lengthy
introductory section on typographic considerations, which is a fine
tutorial, written by someone who is aware of the issues as they apply
to \AllTeX{} users.
\begin{ctanrefs}
\item[memoir \nothtml{\rmfamily}distribution]\CTANref{memoir}
\end{ctanrefs}

\Question[Q-doc-dirs]{Directories of \AllTeX{} information}

T\acro{UG} India is developing a series of online \LaTeX{} tutorials
which can be strongly recommended: select single chapters at a time
from \URL{http://www.tug.org.in/tutorials.html}\nobreakspace--- the
set comprises two parts, ``Text'' and ``Graphics'', so far.

Herbert Vo\ss{}'s excellent % beware line break
\href{http://texnik.de/}{\LaTeX{} tips and tricks} is an excellent
source of small articles on the use of \LaTeX{}.

\Question[Q-ol-books]{Freely available \AllTeX{} books}

People have long argued for \AllTeX{} books to be made available on
the web, and until relatively recently this demand went un-answered.

The first to appear was Victor Eijkhout's excellent ``\TeX{} by
Topic'' in 2001 (it had been published by Addison-Wesley, but was long
out of print).  The book is now available on \acro{CTAN}; it's not a
beginner's tutorial but it's a fine reference.

Addison-Wesley have also released the copyright of ``\TeX{} for the
Impatient'' by Paul W.~Abrahams, Karl Berry and Kathryn A.~Hargreaves,
another book whose unavailability many have lamented.  The authors
have re-released the book under the \acro{GNU} general documentation
licence, and it is available from \acro{CTAN}.

Norm Walsh's ``Making \TeX{} Work'' (originally published by O'Reilly)
is also available (free) on the Web, at
\URL{http://makingtexwork.sourceforge.net/mtw/}; the sources of the
Web page are on \acro{CTAN}.  The book was an excellent resource in
its day, but while it is now somewhat dated, it still has its uses,
and is a welcome addition to the list of on-line resources.  A project
to update it is believed to be under way.
\begin{ctanrefs}
\item[\nothtml{\rmfamily}Making \TeX{} Work]\CTANref{mtw}
\item[\nothtml{\rmfamily}\TeX{} by Topic]\CTANref{texbytopic}
\item[\nothtml{\rmfamily}\TeX{} for the Impatient]\CTANref{TftI}
\end{ctanrefs}

\Question[Q-pkgdoc]{Documentation of packages}

These \acro{FAQ}s regularly suggest packages that will ``solve''
particular problems.  In some cases, the answer provides a recipe for
the job.  In other cases, or when the solution needs elaborating, how
is the poor user to find out what to do?

If you're lucky, the package you need is already in your installation.
If you're particularly lucky, you're using a distribution that gives
access to package documentation and the documentation is available in
a form that can easily be shown.  For example, on many current
distributions, the \ProgName{texdoc} command often helps, as in: 
\begin{quote}
\begin{verbatim}
texdoc footmisc
\end{verbatim}
\end{quote}
which opens a \acro{DVI} viewer window showing documentation of the
\Package{footmisc} package.  According to the type of file
\ProgName{texdoc} finds, it will launch a \acro{DVI} or \PS{} viewer
or a \acro{PDF} reader.

If \ProgName{texdoc} can't find any documentation, it may launch a Web
browser to look at its copy of the \acro{CTAN} catalogue.  The
catalogue has an entry for package documentation, and since the
\acro{CTAN} team asks authors documentation of their packages (and
even occasionally generates documentation itself, you will more often
than not find documentation that way.

If your luck (as defined above) doesn't hold out, you've got to find
documentation by other means.  This is where you need to exercise your
intelligence: you have to find the documentation for yourself.  What
follows offers a range of possible techniques.

The commonest form of documentation of \LaTeX{} add-ons is within the
\extension{dtx} file in which the code is distributed (see
\Qref[answer]{documented \LaTeX{} sources}{Q-dtx}).  Such files
are supposedly processable by \LaTeX{} itself, but there are
occasional hiccups on the way to readable documentation.  Common
problems are that the package itself is needed to process its own
documentation (so must be unpacked before processing), and that the
\extension{dtx} file will \emph{not} in fact process with \LaTeX{}.  In the
latter case, the \extension{ins} file will usually produce a
\extension{drv} (or similarly-named) file, which you process with
\LaTeX{} instead.  (Sometimes the package author even thinks to
mention this wrinkle in a package \texttt{README} file.)

Another common form is the separate documentation file; particularly
if a package is ``conceptually large'' (and therefore needs a lot of
documentation), the documentation would prove a cumbersome extension
to the \extension{dtx} file.  Examples of such cases are the \Class{memoir}
class (whose documentation, \File{memman}, is widely praised as an
introduction to typesetting concepts), the \Class{KOMA-script} bundle
(whose developers take the trouble to produce detailed documentation
in both German and English), and the \Package{fancyhdr} package (whose
documentation derives from a definitive tutorial in a mathematical
journal).  Even if the documentation is not separately identified in a
\texttt{README} file, it should not be too difficult to recognise its
existence.

Documentation within the package itself is the third common form.
Such documentation ordinarily appears in comments at the head of the
file, though at least one eminent author regularly places it after the
\csx{endinput} command in the package.  (This is desirable, since
\csx{endinput} is a `logical' end-of-file, and \AllTeX{} doesn't read
beyond it: thus such documentation does not `cost' any package loading time.)

The above suggestions cover most possible ways of finding
documentation.  If, despite your best efforts, you can't find
it in any of the above places, there's the awful possibility that the
author didn't bother to document his package (on the ``if it was hard
to write, it should be hard to use'' philosophy).  Most ordinary
mortals will seek support from some more experienced user at this
stage, though it \emph{is} possible to proceed in the way that the original
author apparently expected\dots{}by reading his code.

\Question[Q-writecls]{Learning to write \LaTeX{} classes and packages}

There's nothing particularly magic about the commands you use when
writing a package, so you can simply bundle up a set of \LaTeX{}
\csx{(re)newcommand} and \csx{(re)newenvironment} commands, put them in
a file \File{package.sty} and you have a package.

However, any but the most trivial package will require rather more
sophistication.  Some details of \LaTeX{} commands for the job are to
be found in `\LaTeXe{} for class and package writers'
(\File{clsguide}, part of the \LaTeX{} documentation distribution).
Beyond this, a good knowledge of \TeX{} itself is valuable: thus books
such as the \Qref*{\TeX{}book}{Q-books} or % ! line break
\Qref*{\TeX{} by topic}{Q-ol-books} are relevant.  With good \TeX{}
knowledge it is possible to use the documented source of \LaTeX{} as
reference material (dedicated authors will acquaint themselves with the
source as a matter of course).  A complete set of the documented
source of \LaTeX{} may be prepared by processing the file
\File{source2e.tex} in the \LaTeX{} distribution, but individual files
in the distribution may be processed separately with \LaTeX{}, like
any well-constructed \Qref*{\extension{dtx} file}{Q-dtx}.

Writing good classes is not easy; it's a good idea to read some
established ones (\File{classes.dtx}, for example, is the documented
source of the standard classes other than \Class{Letter}, and may
itself be formatted with \LaTeX{}).  Classes that are not part of the
distribution are commonly based on ones that are, and start by loading
the standard class with \csx{LoadClass}~--- an example of this
technique may be seen in \Package{ltxguide.cls}

An % !! line break
\href{http://tug.org/TUGboat/Articles/tb28-1/tb88flynn.pdf}{annotated version of \Class{article}},
as it appears in \File{classes.dtx}, was published in
\TUGboat{} 28(1).  The article, by Peter Flynn, which is some help in
understanding \File{classes.dtx}
\begin{ctanrefs}
\item[classes.dtx]\CTANref{latex-classes}
\item[clsguide.pdf]\CTANref{clsguide}
\item[ltxguide.cls]\CTANref{ltxguide}
\item[\nothtml{\rmfamily}\LaTeX{} documentation]\CTANref{latexdoc}
\item[source2e.tex]\CTANref{latex-source}
\end{ctanrefs}

\Question[Q-mfptutorials]{\MF{} and \MP{} Tutorials}

Apart from Knuth's book, there seems to be only one publicly-available
\href{http://metafont.tutorial.free.fr/}{tutorial for \MF{}}, by
Christophe Grandsire (a copy in \acro{PDF} form may be downloaded).
Geoffrey Tobin's \textit{\MF{} for Beginners} % !! line break
(see \Qref[question]{using \MF{}}{Q-useMF}) describes how the \MF{}
system works and how to avoid some of the potential pitfalls.

There is also an article on how to run both \MF{} and \MP{} (the
programs).  Peter Wilson's % !! line break
\textit{Some Experiences in Running \MF{} and \MP{}}
offers the benefit of Peter's experience (he has designed a number of
`historical' fonts using \MF{}).  For \MF{} the article is geared
towards testing and installing new \MF{} fonts, while its \MP{}
section describes how to use \MP{} illustrations in \LaTeX{} and
\PDFLaTeX{} documents, with an emphasis on how to use appropriate
fonts for any text or mathematics.

% Hans Hagen (of \CONTeXT{} fame) offers a \MP{} tutorial called
% MetaFun (which admittedly concentrates on the use of \MP{} within
% \CONTeXT{}).  It may be found on his company's % ! line break
% \href{http://www.pragma-ade.com/metapost.htm}{\MP{} page}.

Other \MP{} tutorials that have appeared are two in English by % ! line breaks
\href{http://remote.science.uva.nl/~heck/Courses/mptut.pdf}{Andr\'e Heck}
and \href{http://www.tlhiv.org/MetaPost/tutorial/}{Urs Oswald},
and one in French (listed here because it's clearly enough written
that even this author understands it), by
\href{http://pauillac.inria.fr/~cheno/metapost/metapost.pdf}{Laurent Ch\'eno};
both have been recommended for inclusion in the \acro{FAQ}

Urs Oswald's tutorial is accompanied by a super tool (by Troy
Henderson) for testing little bits of \MP{}, which is an invaluable
aid to the learner: \URL{http://www.tlhiv.org/mppreview}

Vincent Zoonekynd's massive set of example \MP{} files is available on
\acro{CTAN}; the set includes a \ProgName{Perl} script to convert the
set to html, and the set may be % beware line break
\href{http://zoonek.free.fr/LaTeX/Metapost/metapost.html}{viewed on the web}.
While these examples don't exactly constitute a ``tutorial'', they're
most certainly valuable learning material.  Urs Oswald presents a
\href{http://www.ursoswald.ch/metapost/tutorial.pdf}{similar document},
written more as a document, and presented in \acro{PDF}.
\begin{ctanrefs}
\item[\nothtml{\rmfamily}Beginners' guide]\CTANref{mf-beginners}
\item[\nothtml{\rmfamily}Peter Wilson's ``experiences'']\CTANref{metafp-pdf}
  (\acro{PDF} format) 
\item[\nothtml{\rmfamily}Vincent Zoonekynd's examples]\CTANref{zoon-mp-eg}
\end{ctanrefs}

\Question[Q-BibTeXing]{\BibTeX{} Documentation}

\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.
The document ``\BibTeX{}ing'', contained in the file \File{btxdoc.tex},
expands on the chapter in Lamport's book.  \emph{The \LaTeX{} Companion}
also has information on \BibTeX{} and writing \BibTeX{} style files.
(See \Qref[question]{TeX-related books}{Q-books} for details of both
books.)

The document ``Designing \BibTeX{} Styles'', contained in the file
\File{btxhak.tex}, explains the postfix stack-based language used to
write \BibTeX{} styles (\File{.bst} files). The file \File{btxbst.doc}
is the template for the four standard styles (\Package{plain},
\Package{abbrv}, \Package{alpha}, and \Package{unsrt}). It also
contains their documentation.  The complete \BibTeX{} documentation
set (including all the files above) is available on \acro{CTAN}.

A useful tutorial of the whole process of using \BibTeX{} is Nicolas
Markey's ``\emph{Tame the BeaST (The B to X of \BibTeX{})}'', which
may also be found on \acro{CTAN}.  A summary and \acro{FAQ}
(\File{btxFAQ}), by Michael Shell and David Hoadley, is also to be
recommended.
\begin{ctanrefs}
\item[\nothtml{\rmfamily}\BibTeX{} documentation]\CTANref{bibtex-doc}
\item[\nothtml{\rmfamily}\BibTeX{} documentation, in \acro{PDF}]%
  \CTANref{bibtex-doc-pdf}
\item[btxFAQ.pdf]\CTANref{bibtex-faq}
\item[\nothtml{\rmfamily}Tame the BeaST]\CTANref{ttb-pdf}
\end{ctanrefs}

\Question[Q-symbols]{Where can I find the symbol for\,\dots{}}
\keywords{assignment circular integral degrees diagonal dots Fourier transform}
\keywords{Laplace greater less complex integer natural real}
\keywords{cent euro}

There is a wide range of symbols available for use with \TeX{}, most
of which are not shown (or even mentioned) in \AllTeX{} books.
\emph{The Comprehensive \LaTeX{} Symbol List} (by Scott Pakin
% beware line wrap
\emph{et al.}\@) illustrates over 2000 symbols, and details the
commands and packages needed to produce them.

Other questions in this \acro{FAQ} offer specific help on kinds of
symbols:
\begin{itemize}
\item \Qref*{Script fonts for mathematics}{Q-scriptfonts}
\item \Qref*{Fonts for the number sets}{Q-numbersets}
\item \Qref*{Typesetting the principal value integral}{Q-prinvalint}
\end{itemize}
\begin{ctanrefs}
\item[Symbol List]Browse \CTANref{symbols}; there are processed
  versions in both \PS{} and \acro{PDF} forms for both A4 and
  letter paper.
\end{ctanrefs}

\Question[Q-docpictex]{The \PiCTeX{} manual}

\PiCTeX{} is a set of macros by Michael Wichura for drawing diagrams
and pictures. The
macros are freely available; however, the
\PiCTeX{} manual itself is not free.
Unfortunately, \acro{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 PC\TeX{} (\URL{http://www.pctex.com/}).  The
manual is \emph{not} available electronically.

However, there \emph{is} a summary of \PiCTeX{} commands available on
\acro{CTAN}, which is a great aide-memoire for those who basically
know the package to start with.
\begin{ctanrefs}
\item[pictex]\CTANref{pictex}
\item[PiCTeX summary]\CTANref{pictex-summary}
\end{ctanrefs}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\section{Bits and pieces of \AllTeX{}}

\Question[Q-dvi]{What is a \acro{DVI} file?}

A \acro{DVI} file (that is, a file with the type or extension
\extension{dvi}) is \TeX{}'s main output file, using \TeX{} in its
broadest sense to include \LaTeX{}, etc.  `\acro{DVI}' is supposed to
be an acronym for \acro{D}e\acro{V}ice-\acro{I}ndependent, meaning
that the file can be printed on most
kinds of typographic output device.  The \acro{DVI} file is designed to be
read by a driver (\Qref{DVI drivers}{Q-driver}) to produce
further output designed specifically for a particular printer (e.g., a
LaserJet) or to be used as input to a previewer for display on a
computer screen.  \acro{DVI} files use \TeX{}'s internal coding; a \TeX{}
input file should produce the same \acro{DVI} file regardless of which
implementation of \TeX{} is used to produce it.

A \acro{DVI} file contains all the information that is needed for printing 
or previewing except for the actual bitmaps or outlines of fonts, and 
possibly material to be introduced by means of
\Qref*{\csx{special} commands}{Q-specials}.

The canonical reference for the structure of a \acro{DVI} file is the
source of Knuth's program \ProgName{dvitype} (whose original purpose,
as its name implies, was to view the content of a \acro{DVI} file).
\begin{ctanrefs}
\item[dvitype]\CTANref{dvitype}
\end{ctanrefs}

\Question[Q-driver]{What is a \acro{DVI} driver?}

A \acro{DVI} driver is a program that takes as input a \acro{DVI} file
(\Qref{\acro{DVI} files}{Q-dvi})  and
(usually) produces a file that can be sent to a typographic
output device (which we will call a printer, for short), or to another
format.

A driver will usually be specific to a particular printer,
although any \PS{} printer ought to be able to print
the output from a \PS{} driver.
% (these are also called \PS{} conversion programs).

As well as the \acro{DVI} file, the driver also needs font information.
Font information may be held as bitmaps or as outlines, or simply as a
set of pointers into the fonts that the printer itself `has'.
Each driver will expect the font information in
a particular form.  For more information on the forms of fonts,
see \Qref[questions]{\acro{PK} files}{Q-pk},
% ! line break
\Qref[]{\acro{TFM} files}{Q-tfm},
\Qref[]{virtual fonts}{Q-virtualfonts}
and \Qref[]{Using \PS{} fonts with \TeX{}}{Q-usepsfont}.

\Question[Q-pk]{What are \acro{PK} files?}

\acro{PK} files (packed raster) contain font bitmaps.  The output
from \Qref*{\MF{}}{Q-useMF} includes a generic font (\acro{GF}) file
and the
utility \ProgName{gftopk} produces the \acro{PK} file from that.
There are a lot of \acro{PK} files, as one is needed for each font,
that is each magnification (size) of each design (point) size for each
weight for each family.  Further, since the \acro{PK} files for one printer
do not necessarily work well for another, the whole set needs to be
duplicated for each printer type at a site.  In a modern \TeX{}
distribution, files are arranged according to the \TeX{} directory
structure
\begin{narrowversion}
(\acro{TDS}~--- \Qref{}{Q-tds}),
\end{narrowversion}
\begin{wideversion}
(see \Qref{\acro{TDS}}{Q-tds}),
\end{wideversion}
which has provision for all this variety.

\Question[Q-tfm]{What are \acro{TFM} files?}

\acro{TFM} stands for \TeX{} Font Metrics; \acro{TFM} files hold
information about the sizes of the characters of the font in question,
and about ligatures and kerns within that font.  One \acro{TFM} file is
needed for each font used by \TeX{}, that is for each design (point)
size for each weight for each family; each \acro{TFM} file serves for all
magnifications of `its' font, so that there are (typically) fewer
\acro{TFM} files than there are \acro{PK} files.  \TeX{} (\LaTeX{}, etc.\@)
itself needs only to know about the sizes of characters and their
interactions with each other, but not what characters look like.  By
contrast, \acro{TFM} files are not, in principle, needed by the
\acro{DVI} driver, which needs to know about the glyphs that each
character selects, so as to print or display them.

\Question[Q-virtualfonts]{Virtual fonts}

Virtual fonts provide a means of collecting bits and pieces together
to make the glyphs of a font: the bits and pieces may be other glyphs,
rules and other ``basic'' typesetting commands, and the positioning
information that specifies how everything comes together.

Things that match the concept of virtual fonts for \TeX{} were first
implemented by David Fuchs in the very early days.  However, for practical
purposes for the rest of us, virtual fonts date from when Knuth
specified a format and wrote some support software, in 1989 (he
published an article in \textsl{TUGboat} at the time, and a plain text
copy is available on \acro{CTAN}).

Virtual fonts provide a way of telling \TeX{} about something more
complicated than just a one-to-one character mapping. The entities you
define in a virtual font look like characters to \TeX{} (they appear
with their sizes in a \acro{TFM} file), but the \acro{DVI} processor may
expand them to something quite different.

From the virtual font file, the \acro{DVI} processor learns
details of what is in the virtual font, so as to know ``what to draw,
where''.   The virtual font may contain commands:
\begin{itemize}
\item just to remap the glyphs of a single font,
\item to make a composite font with glyphs drawn from several
  different fonts, or
\item to build up an effect in arbitrarily complicated ways (since a
  virtual font may contain anything which is legal in a \acro{DVI}
  file).
\end{itemize}

% !this has to be generated as a new paragraph by the translator, so
% leave the blank line in place
In practice, the most common use of virtual fonts is to remap
Adobe Type 1 fonts (see \Qref[question]{font metrics}{Q-metrics}),
though there has also been useful useful work building `fake' maths
fonts (by bundling glyphs from several fonts into a single virtual
font).  Virtual Computer Modern fonts, making a % ! line break
\Qref*{Cork encoded}{Q-ECfonts} font from Knuth's originals by using
remapping and fragments of \acro{DVI} for single-glyph `accented
characters', were the first ``Type~1 format'' Cork-encoded Computer
Modern fonts available.

Virtual fonts are normally created in a single \acro{ASCII}
\acro{VPL} (Virtual Property List) file, which includes both sets of
information. The \ProgName{vptovf} program is then used to the create
the binary \acro{TFM} and \acro{VF} files.

A ``how-to'' document, explaining how to generate a \acro{VPL},
describes the endless hours of fun that may be had, doing the job by
hand.  Despite the pleasures to be had of the manual method, the
commonest way (nowadays) of generating \acro{VPL} files is to use the
\ProgName{fontinst} package, which is described in detail
\htmlonly{together with the discussion of}
\Qref[in answer]{\PS{} font metrics}{Q-metrics}.
\Package{Qdtexvpl} is another utility for creating ad-hoc virtual
fonts (it uses \TeX{} to parse a description of the virtual font, and
\ProgName{qdtexvpl} itself processes the resulting \acro{DVI} file).
\begin{ctanrefs}
\item[fontinst]\CTANref{fontinst}
\item[\nothtml{\rmfamily}Knuth on virtual fonts]\CTANref{vf-knuth}
\item[\nothtml{\rmfamily}Virtual fonts ``how to'']\CTANref{vf-howto}
\item[qdtexvpl]\CTANref{qdtexvpl}
\end{ctanrefs}

\Question[Q-specials]{\csx{special} commands}

\TeX{} provides the means to express things that device drivers can
do, but about which \TeX{} itself knows nothing.  For example, \TeX{}
itself knows nothing about how to include \PS{} figures into
documents, or how to set the colour of printed text; but some device
drivers do.

Instructions for such things are introduced to your document by means
of \csx{special} commands; all that \TeX{} does with these commands is
to expand their 
arguments and then pass the command to the \acro{DVI} file.  In most
cases, there are macro packages provided (often with the driver) that
provide a human-friendly interface to the \csx{special}; for example,
there's little point including a figure if you leave no gap for it in
your text, and changing colour proves to be a particularly fraught
operation that requires real wizardry.  \LaTeXe{}
has standard graphics and colour packages that make figure inclusion,
rotation and scaling, and colour typesetting relatively
straightforward, despite the rather daunting \csx{special} commands
involved.  (\CONTeXT{} provides similar support, though not by way of
packages.)

The allowable arguments of \csx{special} depend on the device driver
you're using.  Apart from the examples above, there are \csx{special}
commands in the em\TeX{} drivers (e.g., \ProgName{dvihplj}, \ProgName{dviscr},
\emph{etc}.)~that will draw lines at arbitrary orientations, and
commands in \ProgName{dvitoln03} that permit the page to be set in
landscape orientation.

Note that \csx{special} provides rather different facilities in \PDFTeX{}
operation: since there is no device driver around, in this context.
In \PDFTeX{}, \csx{special} is only needed to generated \acro{PDF} for
which there is no existing defined \PDFTeX{} operation.

\Question[Q-hyphen]{How does hyphenation work in \TeX{}?}

Everyone knows what hyphenation is: we see it in most books we read,
and (if we're alert) will spot occasional ridiculous mis-hyphenation
(at one time, British newspapers were a fertile source).

Hyphenation styles are culturally-determined, and the same language
may be hyphenated differently in different countries~--- for example,
British and American styles of hyphenation of English are very
different.  As a result, a typesetting system that is not restricted
to a single language at a single locale needs to be able to change its
hyphenation rules from time to time.

\TeX{} uses a pretty good system for hyphenation (originally designed
by Frank Liang), and while it's capable of missing ``sensible''
hyphenation points, it seldom selects grossly wrong ones.  The
algorithm matches candidates for hyphenation against a set of
``hyphenation patterns''.  The candidates for hyphenation must be
sequences of letters (or other single characters that \TeX{} may be
persuaded to think of as letters)~--- things such as \TeX{}'s
\csx{accent} primitive interrupt hyphenation.

Sets of hyphenation patterns are usually derived from analysis of
a list of valid hyphenations (the process of derivation, using a tool
called \Package{patgen}, is not ordinarily a participatory sport).

The patterns for the languages a \TeX{} system is going to deal with
may only be loaded when the system is installed.  To change the set of
languages, a \Qref*{partial reinstallation}{Q-newlang} is necessary.

\TeX{} provides two ``user-level'' commands for control of
hyphenation: \csx{language} (which selects a hyphenation style), and
\csx{hyphenation} (which gives explicit instructions to the hyphenation
engine, overriding the effect of the patterns).

The ordinary \LaTeX{} user need not worry about \csx{language}, since
it is very thoroughly managed by the \Package{babel} package; use of
\csx{hyphenation} is discussed in
\begin{wideversion}
  the context of
\end{wideversion}
% beware line wrap
\Qref[question]{hyphenation failure}{Q-nohyph}.

\Question[Q-clsvpkg]{What are \LaTeX{} classes and packages?}

Current \LaTeX{} makes a distinction between the macros that define the
overall layout of a document, and the macros that tweak that layout
(to one extent or another) to provide what the author \emph{really}
wants.

The distinction was not very clear in \LaTeXo{}, and after some
discussion (in the later stages of development of current \LaTeX{})
the names ``class'' and ``package'' were applied to the two concepts.

The idea is that a document's \emph{class} tells \LaTeX{} what sort of
document it's dealing with, while the \emph{packages} the document
loads ``refine'' that overall specification.

On the disc, the files only appear different by virtue of their name
``extension''~--- class files are called \texttt{*.cls} while package
files are called \texttt{*.sty}.  Thus we find that the \LaTeX{}
standard \Class{article} class is represented on disc by a file called
\File{article.cls}, while the \Package{footmisc} package (which
refines \Class{article}'s definition of footnotes) is represented on
disc by a file called \File{footmisc.sty}.

The user defines the class of his document with the
\csx{documentclass} command (typically the first command in a
document), and loads packages with the \csx{usepackage} command.  A
document may have several \csx{usepackage} commands, but it may have
only one \csx{documentclass} command.  (Note that there are
programming-interface versions of both commands, since a class may
choose to load another class to refine its capabilities, and both
classes and packages may choose to load other packages.)

\Question[Q-dtx]{Documented \LaTeX{} sources (\extension{dtx} files)}

\LaTeXe{}, and most contributed macro packages, are now written in a
\Qref*{literate programming style}{Q-lit}, with source and
documentation in the
same file.  This format, known as `doc', in fact originated before the
days of the \LaTeX{} project as one of the ``Mainz'' series of
packages. A documented source file conventionally has the suffix
\extension{dtx}, and will normally be `stripped' before use with
\LaTeX{}; an installation file (\extension{ins}) is normally provided,
to automate this process of removing comments for speed of loading.
To read the comments, you can run \LaTeX{} on the
\extension{dtx} file to produce a nicely formatted version of the
documented code.  Several
packages can be included in one \extension{dtx} file (they're sorted
out by the \extension{ins} file), with conditional
sections, and there are facilities for indexes of macros, etc.

Anyone can write \extension{dtx} files; the format is explained in
\Qref*{The \LaTeX{} Companion}{Q-books}, and a tutorial is available
from \acro{CTAN} (which comes with skeleton \extension{dtx} and
\extension{ins} files).

Composition of \extension{dtx} files is supported in \ProgName{emacs} by
Matt Swift's \ProgName{swiftex} system: it provides a
\environment{doc-tex} mode which treats \extension{dtx} files rather
better than \Qref*{\acro{AUC}-\TeX{}}{Q-editors} manages.

Another useful way of generating \extension{dtx} files is to write the
documentation and the code separately, and then to combine them using
the \ProgName{makedtx} system.  This technique has particular value in
that the documentation file can be used separately to generate
\acro{HTML} output; it is often quite difficult to make % ! line break
\Qref*{\LaTeX{} to \acro{HTML} conversion}{Q-LaTeX2HTML} tools deal
with \extension{dtx} files, since they use an unusual class file.

The \extension{dtx} files are not used by \LaTeX{} after they have been
processed to produce \extension{sty} or \extension{cls} (or whatever)
files.  They need not be kept with the working system; however, for
many packages the \extension{dtx} file is the primary source of
documentation, so you may want to keep \extension{dtx} files elsewhere.

An interesting sideline to the story of \extension{dtx} files is the
\Package{docmfp} package, which extends the model of the \Package{doc}
package to \latexhtml{\MF{}}{\Qref{\MF{}}{Q-MF}} and % beware line break
\latexhtml{\MP{} (\Qref[see questions]{}{Q-MF} and\Qref[]{}{Q-MP})}{\Qref{\MP{}}{Q-MP}},
thus permitting documented distribution of bundles containing code for
\MF{} and \MP{} together with related \LaTeX{} code.
\begin{ctanrefs}
\item[clsguide.pdf]\CTANref{clsguide}
\item[docmfp.sty]\CTANref{docmfp}
\item[docstrip.tex]Part of the \LaTeX{} distribution
\item[DTX tutorial]\CTANref{dtxtut}
\item[makedtx]\CTANref{makedtx}
\item[swiftex.el]\CTANref{swiftex}
\end{ctanrefs}

\Question[Q-whatenc]{What are encodings?}

Let's start by defining two concepts, the \emph{character} and the
\emph{glyph}.
The character is the abstract idea of the `atom' of a
language or other dialogue: so it might be a letter in an alphabetic
language, a syllable in a syllabic language, or an ideogram in an
ideographic language.  The glyph is the mark created on screen or
paper which represents a character.  Of
course, if reading is to be possible, there must be some agreed
relationship between the glyph and the character, so while the precise
shape of the glyph can be affected by many other factors, such as the
capabilities of the writing medium and the designer's style, the
essence of the underlying character must be retained.

Whenever a computer has to represent characters, someone has to define
the relationship between a set of numbers and the characters they
represent.  This is the essence of an encoding: it is a mapping
between a set of numbers and a set of things to be represented.

\TeX{} of course deals in encoded characters all the time: the
characters presented to it in its input are encoded, and it emits
encoded characters in its \acro{DVI} (or \acro{PDF}) output.  These
encodings have rather different properties.

The \TeX{} input stream was pretty unruly back in the days when Knuth
first implemented the language.  Knuth himself prepared documents on
terminals that produced all sorts of odd characters, and as a result
\TeX{} contains some provision for translating the input encoding to
something regular.  Nowadays, 
the operating system translates keystrokes into a code appropriate for
the user's language: the encoding used is often a national or
international standard, though many operating systems use ``code
pages'' defined by Microsoft.  These standards and code pages often
contain characters that can't appear in the \TeX{} system's input
stream.  Somehow, these characters have to be dealt with~--- so
an input character like ``\'e'' needs to be interpreted by \TeX{} in
a way that that at least mimics the way it interprets ``\csx{'}\texttt{e}''.  

The \TeX{} output stream is in a somewhat different situation:
characters in it are to be used to select glyphs from the fonts to be
used.  Thus the encoding of the output stream is notionally a font
encoding (though the font in question may be a
% beware line break (twice)
\nothtml{virtual one~--- see }%
\Qref[question]{virtual font}{Q-virtualfonts}).  In principle, a
fair bit of what appears in the output stream could be direct
transcription of what arrived in the input, but the output stream
also contains the product of commands in the input, and translations
of the input such as ligatures like %
\texttt{fi}\nothtml{\ensuremath\Rightarrow``fi''}.

Font encodings became a hot topic when the
\Qref*{Cork encoding}{Q-ECfonts}
appeared, because of the possibility of suppressing
\csx{accent} commands in the output stream (and hence improving the
quality of the hyphenation of text in inflected languages, which is
interrupted by the \csx{accent} commands~--- see
% beware line break
\Qref[question]{``how does hyphenation work''}{Q-hyphen}).
To take advantage of the diacriticised characters represented in the
fonts, it is necessary to arrange that whenever the
command sequence ``\csx{'}\texttt{e}'' has been input
(explicitly, or implicitly via the sort of mapping of input mentioned
above), the character that codes the position of the ``\'e'' glyph is
used.

Thus we could have the odd arrangement that the diacriticised character in
the \TeX{} input stream is translated into \TeX{} commands that would
generate something looking like the input character; this sequence of
\TeX{} commands is then translated back again into a single
diacriticised glyph as the output is created.  This is in fact
precisely what the \LaTeX{} packages \Package{inputenc} and
\Package{fontenc} do, if operated in tandem on (most) characters in
the \acro{ISO}~Latin-1 input encoding and the \acro{T}1 font encoding.
At first sight, it seems eccentric to have the first package do a thing, and
the second precisely undo it, but it doesn't always happen that way:
most font encodings can't match the corresponding input encoding
nearly so well, and the two packages provide the sort of symmetry the
\LaTeX{} system needs.

\Question[Q-ECfonts]{What are the \acro{EC} fonts?}

A font consists of a number of \emph{glyphs}.  In order that the
glyphs may be printed, they are \Qref*{\emph{encoded}}{Q-whatenc}, and
the encoding is used as an index into tables within the font.  For
various reasons, Knuth chose deeply eccentric encodings for his
Computer Modern family of fonts; in particular, he chose different
encodings for different fonts, so that the application using the fonts
has to remember which font of the family it's using before selecting a
particular glyph.

When \TeX{} version 3 arrived, most of the excuses for the
eccentricity of Knuth's encodings went away, and at \acro{TUG}'s Cork
meeting, an encoding for a set of 256 glyphs, for use in \TeX{} text,
was defined.  The intention was that these glyphs should cover `most'
European languages that use Latin alphabets, in the sense of including
all accented letters needed.  (Knuth's \acro{CMR} fonts missed things
necessary for Icelandic and Polish, for example, but the Cork
fonts have them.  Even Cork's coverage isn't complete: it misses
letters from Romanian, Eastern and Northern Sami, and Welsh, at
least.  The Cork encoding does contain ``\acro{NG}'' glyphs that
allows it to support Southern Sami.)  \LaTeX{} refers to the
Cork encoding as \acro{T}1, and
provides the means to use fonts thus encoded to avoid problems with
the interaction of accents and hyphenation % ! line break
(see \Qref[question]{hyphenation of accented words}{Q-hyphenaccents}).

The only \MF{}-fonts that conform to the Cork encoding are the
\acro{EC} fonts.  They look \acro{CM}-like, though their metrics
differ from \acro{CM}-font metrics in several areas.  The fonts are
now regarded as `stable' (in the same sense that the \acro{CM} fonts
are stable: their metrics are unlikely ever to change).  Their serious
disadvantages for the casual user are their size (each \acro{EC} font
is roughly twice the size of the corresponding \acro{CM} font), and
there are far more of them than there are \acro{CM} fonts.  The simple
number of fonts has acted as a disincentive to the production of Adobe
Type~1 versions of the fonts, but several commercial suppliers offer
\acro{EC} or
\acro{EC}-equivalent fonts in type~1 or TrueType form~--- see
% beware line fill
\Qref[question]{commercial suppliers}{Q-commercial}.  Free 
\Qref{auto-traced versions}{Q-textrace} (the \acro{CM}-super
and the \acro{LGC} fonts), and the Latin Modern series (rather
directly generated from \MF{} sources), are available.

%% Unfortunately, until corresponding fonts for mathematics are produced,
%% the \acro{CM} fonts must be retained, since some mathematical symbols
%% are drawn from text fonts in the \acro{CM} encodings.
Note that the Cork encoding doesn't cover mathematics (and neither do
``\acro{T}1-encoded'' font families, of course).  If you're using
Computer-Modern-alike fonts, this doesn't actually matter: your system
will have the original Computer Modern fonts, which cover `basic'
\TeX{} mathematics; more advanced mathematics are likely to need
separate fonts anyway.  Suitable mathematics fonts for use with other
font families are discussed in % ! line break
``\Qref{choice of scalable fonts}{Q-psfchoice}''.

The \acro{EC} fonts are distributed with a
set of `Text Companion' (\acro{TC}) fonts that provide glyphs for
symbols commonly used in text.  The \acro{TC} fonts are encoded
according to the \LaTeX{} \acro{TS}1 encoding, and are not viewed as
`stable' in the same way as are the \acro{EC} fonts are.

The Cork encoding is also implemented by virtual fonts provided in the
\Qref*{\acro{PSNFSS} system}{Q-usepsfont},
for Adobe Type~1 fonts, and also by the \Package{txfonts} and
\Package{pxfonts} font packages
% beware line wrap
(see \Qref[question]{``choice of scalable fonts''}{Q-psfchoice}).
\begin{ctanrefs}
\item[CM-super fonts]\CTANref{cm-super}
\item[CM-LGC fonts]\CTANref{cm-lgc}
\item[EC and TC fonts]\CTANref{ec}
\item[Latin Modern fonts]\CTANref{lm}
\end{ctanrefs}

\Question[Q-tds]{What is the \acro{TDS}?}

    \acro{TDS} stands for the \TeX{} Directory Structure, which is a standard
way of organising all the \TeX{}-related files on a computer system. 

    Most modern distributions conform to the \acro{TDS}, which
provides for both a `standard' and a (set of) `local' hierarchies of
directories containing \TeX{}-related files. The
\acro{TDS} reserves the name |texmf| as the name of the root directory
(folder) of the hierarchies.  Files supplied as part of the
distribution are put into the standard hierarchy. The location of the
standard hierarchy is system dependent, but on a Unix system it might
be at 
\path{/usr/local/texmf}, or
\path{/usr/local/share/texmf}, or
\path{/opt/texmf}, or
a similar location, but in each case the \TeX{} files will be under the 
\path{/texmf} subdirectory. 

There may be more than on `local' hierarchy in which additional files
can be stored. In the extreme an installation can have a local
hierarchy and each user can also have an individual local hierarchy. The
location of any local hierarchy is not only system dependent but also user
dependent. Again, though, all files should be put under a local \path{/texmf}
directory.

The \acro{TDS} is published as the output of a \acro{TUG} % beware line wrap
\Qref*{Technical Working Group}{Q-TUG*}.
You may browse an \href{http://tug.org/tds/}{on-line version} of the
standard, and copies in several other formats (including source) are
available on \acro{CTAN}.
\begin{ctanrefs}
\item[\nothtml{\rmfamily}\acro{TDS} specification]\CTANref{tds}
\end{ctanrefs}

\Question[Q-eps]{What is ``Encapsulated \PS{}'' (``\acro{EPS}'')}

\PS{} has been for many years a \emph{lingua franca} of powerful
printers (modern high-quality printers now tend to require some
constrained form of Adobe Acrobat, instead); since \PS{} is also a
powerful graphical programming language, it is commonly used as an
output medium for drawing (and other) packages.

However, since \PS{} \emph{is} such a powerful language, some
rules need to be imposed, so that the output drawing may be included
in a document as a figure without ``leaking'' (and thereby destroying
the surrounding document, or failing to draw at all).

Appendix \acro{H} of the \PS{} Language Reference Manual (second
and subsequent editions), specifies a set of rules for \PS{} to
be used as figures in this way.  The important features are:
\begin{itemize}
\item certain ``structured comments'' are required; important ones are
  the identification of the file type, and information about the
  ``bounding box'' of the figure (i.e., the minimum rectangle
  enclosing it);
\item some commands are forbidden~--- for example, a |showpage|
  command will cause the image to disappear, in most \TeX{}-output
  environments; and
\item ``preview information'' is permitted, for the benefit of things
  such as word processors that don't have the ability to draw
  \PS{} in their own right~--- this preview information may be in
  any one of a number of system-specific formats, and any viewing
  program may choose to ignore it.
\end{itemize}
A \PS{} figure that conforms to these rules is said to be in
``Encapsulated \PS{}'' (\acro{EPS}) format.  Most \AllTeX{} packages for
including \PS{} are structured to use Encapsulated \PS{};
which of course leads to much hilarity as exasperated \AllTeX{} users
struggle to cope with the output of drawing software whose authors
don't know the rules.

\Question[Q-adobetypen]{Adobe font formats}
\keywords{type1 type3}

Adobe has specified a number of formats for files to represent fonts
in \PS{} files; this question doesn't attempt to be encyclopaedic, so
we only discuss the two formats most commonly encountered in the
\AllTeX{} context, types~1 and 3.  In particular, we don't discuss the
OpenType format, whose has many advantages are somewhat ahead of the
\TeX{} world's mainstream (at time of writing).

Adobe Type~1 format specifies a means to represent outlines of the glyphs
in a font.  The `language' used is closely restricted, to ensure that
the font is rendered as quickly as possible.  (Or rather, as quickly
as possible with Adobe's technology at the time the specification was
written: the structure could well be different if it were specified
now.)  The format has long been the basis of the digital type-foundry
business, though nowadays most new fonts are released in OpenType format.

%% Type~1 fonts are directly supported by some operating system software,
%% and at least one \TeX{} system, the commercial % line break!
%% \Qref*{\YandY{} system}{Q-commercial}, bases its entire
%% operation on the use of Type~1 fonts.

In the \AllTeX{} context, Type~1 fonts are extremely important.  Apart
from their simple 
availability (there are thousands of commercial Type~1 text fonts around), the
commonest reader for \acro{PDF} files has long (in effect) \emph{insisted} on
their use (see below).

Type~3 fonts have a more forgiving specification.  A wide range of
\PS{} operators is permissible, including bitmap specifiers.  Type~3
is therefore the natural format to be used for programs such as
\ProgName{dvips} when they auto-generate something to represent
\MF{}-generated fonts in a \PS{} file.  It's Adobe Acrobat Viewer's
treatment of bitmap Type~3 fonts that has made direct \MF{} output
inreasingly unattractive, in recent years.  If you have a \acro{PDF}
document in which the text looks fuzzy and uneven in Acrobat Reader,
ask Reader for the \texttt{File}\arrowhyph{}%
\texttt{Document Properties}\arrowhyph{}%
\texttt{Fonts ...}, and it will likely show some font or other as
``Type~3'' (usually with encoding ``Custom'').  The problem has
disappeared with version 6 of Acrobat Reader.  See % line break
\Qref[question]{\acro{PDF} quality}{Q-dvips-pdf} for a discussion of
the issue, and for ways of addressing it.

Type~3 fonts should not entirely be dismissed, however.  Acrobat
Reader's failure with them is entirely derived from its failure to use
the anti-aliasing techniques common in \TeX{}-ware.  Choose a
different set of \PS{} graphical operators, and you can make pleasing
Type~3 fonts that don't ``annoy'' Reader.  For example, you may not
change colour within a Type~1 font glyph, but there's no such
restriction on a Type~3 font, which opens opportunities for some
startling effects.

\Question[Q-resolns]{What are ``resolutions''}

``Resolution'' is a word that is used with little concern for its
multiple meanings, in computer equipment marketing.  The word suggests
a measure of what an observer (perhaps the human eye) can resolve; yet
we regularly see advertisements for printers whose resolution is
1200dpi~--- far finer than the unaided human eye can distinguish.  The
advertisements are talking about the precision with which the printer
can place spots on the printed image, which affects the fineness of
the representation of fonts, and the accuracy of the placement of
glyphs and other marks on the page.

In fact, there are two sorts of ``resolution'' on the printed page
that we need to consider for \AllTeX{}'s purposes:
\begin{itemize}
\item the positioning accuracy, and
\item the quality of the fonts.
\end{itemize}
In the case where \AllTeX{} output is being sent direct to a printer,
in the printer's ``native'' language, it's plain that the \acro{DVI}
processor must know all such details, and must take detailed account
of both types of resolution.

In the case where output is being sent to an intermediate distribution
format, that has potential for printing (or displaying) we know not
where, the final translator, that connects to directly to the printer
or display, has the knowledge of the device's properties: the
\acro{DVI} processor need not know, and should not presume to guess.

Both \PS{} and \acro{PDF} output are in this category.  While \PS{} is
used less frequently for document distribution nowadays, it is
regularly used as the source for distillation into \acro{PDF}; and
\acro{PDF} is the workhorse of an enormous explosion of document
distribution.

Therefore, we need \acro{DVI} processors that will produce
``resolution independent'' \PS{} or \acro{PDF} output; of course, the
independence needs to extend to both forms of independence outlined
above.

Resolution-independence of fonts was for a  long time forced upon the
world by the feebleness of Adobe's \ProgName{Acrobat}
\ProgName{Reader} at dealing with bitmap files: a sequence of answers
starting with one aiming at the % ! line break
\Qref*{quality of \acro{PDF} from \PS{}}{Q-dvips-pdf} addresses
the problems that arise.

Resolution-independence of positioning is more troublesome:
\ProgName{dvips} is somewhat notorious for insisting on positioning to
the accuracy of the declared resolution of the printer.
One commonly-used approach is to declare a resolution of 8000 (``better
than any device''), and this is reasonably successful though it does
have its \Qref*{problems}{Q-8000}.

\Question[Q-fontname]{What is the ``Berry naming scheme''}

In the olden days, \AllTeX{} distributions were limited by the
feebleness of file systems' ability to represent long names.  (The
\MSDOS{} file system was a particular bugbear: fortunately any current
Microsoft system allows rather more freedom to specify file names.
Sadly, the ISO~9660 standard for the structure of \CDROM{}s has a
similar failing, but that too has been modified by various extension
mechanisms.)

One area in which this was a particular problem was that of file names
for Type~1 fonts.  These fonts are distributed by their vendors with
pretty meaningless short names, and there's a natural ambition to
change the name to something that identifies the font somewhat
precisely.  Unfortunately, names such as ``BaskervilleMT'' are
already far beyond the abilities of the typical feeble file system,
and add the specifier of a font shape or variant, and the difficulties
spiral out of control.

Thus arose the Berry naming scheme.

The basis of the scheme is to encode the meanings of the various parts
of the file's specification in an extremely terse way, so that enough
font names can be expressed even in impoverished file name-spaces.  The
encoding allocates one letter to the font ``foundry'', two to the
typeface name, one to the weight, and so on.  The whole scheme is
outlined in the \Package{fontname} distribution, which includes
extensive documentation and a set of tables of fonts whose names have
been systematised.
\begin{ctanrefs}
\item[fontname distribution]\CTANref{fontname}
\end{ctanrefs}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\section{Acquiring the Software}

\Question[Q-archives]{Repositories of \TeX{} material}

To aid the archiving and retrieval of of \TeX{}-related files, a
\acro{TUG} working group developed the Comprehensive \TeX{} Archive
Network (\acro{CTAN}).  Each \acro{CTAN} site has identical material,
and maintains authoritative versions of its material.  These
collections are extensive; in particular, almost everything mentioned
in this \acro{FAQ}
is archived at the \acro{CTAN} sites (see the lists of software at the
end of each answer).

\begin{narrowversion} % non-hyper
  The \acro{CTAN} sites are in Germany, the UK and the USA; the
  directory layout is the same on each of the sites, starting from a
  tree root of \path{tex-archive/} The sites are
  \texttt{dante.ctan.org} (Dante, Germany), \texttt{cam.ctan.org}
  (Cambridge, UK) and \texttt{tug.ctan.org} (TUG, USA).
\end{narrowversion}
\begin{wideversion} % hyper
  The \acro{CTAN} sites are
  \href{ftp://dante.ctan.org/tex-archive}{Dante (Germany)},
  \href{ftp://cam.ctan.org/tex-archive}{Cambridge (UK)} and
  \href{ftp://tug.ctan.org/tex-archive}{TUG (USA)}; the links are to
  the root of the \acro{CTAN} tree, above which the layout is
  identical at each site.
\end{wideversion}

The \TeX{} files at each \acro{CTAN} node may also be accessed via