\documentclass[letterpaper,twoside]{report}
\usepackage{tugbook}
\begin{document}
\title{Formatting information}
\subtitle{A beginner's introduction to typesetting with
     \LaTeX{}}
\author{Peter Flynn\\[1em]{\fontseries{m}\selectfont Silmaril Consultants\\
\textit{Textual Therapy Division}}}
\date{v.3.4 November 2003}
\maketitle
\clearpage
\subsubsection*{Acknowledgments}
Thanks to all the people who sent me corrections and
       suggestions for improvement or additions to earlier versions.
       As usual, the problem has been what to leave out, not what to
       include.\par
Some of the suggestions were well-intentioned but would
       have turned the book into a higher-level mathematics treatise.
       One of my objectives was to omit all maths except for a short
       example, as all the other books on \TeX{} and \LaTeX{} already
       cover mathematical typesetting in finer and better detail than
       I am capable�of.\par
Some of the suggestions would have taken me down
       pathways I prefer not to tread. Large software corporations
       are full of well-meaning, hard-working individuals who
       genuinely believe that their products make life easier for
       users. Unfortunately, experience shows that this is often only
       true in the first hot flush of using a new program: in the
       long run the winners are those whose data is secure,
       accessible, and reusable; whose documents can be reformatted
       at any time, on any platform, without penalty, financial or
       otherwise.\par
I make no apology for recommending Unix-like systems
       running \LaTeX{} as the platform of choice for
       document-processing applications\mdash{}if you have a
       choice\mdash{}and I'm happy to be able to include the
       Apple Macintosh in that family. Unfortunately, there are those
       whose circumstances at home or work require them to use
       something else, and I am pleased that \LaTeX{} can help them by
       being available on their platform as well.\par
I have incorporated all the remaining suggestions
       except where it would materially distort the objective of
       being a \emph{beginner's} booklet. A
       special thank-you goes to Barbara Beeton, Karl Berry, and
       William Adams for their editorial corrections and
       contributions, finding all kinds of mistakes from simple slips
       of the finger to cultural differences to over-complicated ways
       of explaining things.\par
It is very difficult for people who write technical
       documentation to remember how they struggled to learn what has
       now become a familiar system. So much of what we do is second
       nature, and a lot of it actually has nothing to do with the
       software, but more with the way in which we view and approach
       information, and the general level of knowledge of computing.
       If I have obscured something by making unreasonable
       assumptions about \emph{your} knowledge, please
       let me know so that I can correct�it.\par
\par\vspace*{2pc}\noindent\ignorespaces
Peter Flynn is author of \titleof{htmlbook} and \titleof{sgmltools}, and editor of
         \titleof{xmlfaq}.
\par\vfill
\subsubsection*{Technical~note}
The text for the March 2003 online edition was edited
     into a customized version of DocBook from the original private
     format (Read The Fine Markup
       Language�(RTFML)\index{RTFML@RTFML|textbf}\index{Acronyms@\textbf{Acronyms}, defined!RTFML@RTFML|textbf}). All subsequent work has been done in
     DocBook with a customization layer for typographics. XSLT\index{XSLT@XSLT} was used to generate HTML\index{HTML@HTML} (for the Web and plain-text versions) and
     \LaTeX{} (for PDF\index{PDF@PDF} and
     PostScript\index{PostScript}). The November 2003 edition
     was published in \titlecite{tugboat}.\par\vfill
{\footnotesize\noindent\ignorespaces
This document is Copyright � 1999, 2000, 2001,
       2002, 2003 by Silmaril Consultants under the terms of what is
       now the GNU Free Documentation License (copyleft).

Permission is granted to copy, distribute and/or modify
       this document under the terms of the GNU Free Documentation
       License, Version 1.2 or any later version published by the
       Free Software Foundation; with no Invariant Sections, no
       Front-Cover Texts, and no Back-Cover Texts. A copy of the
       license is included in the section entitled \titlecite{gnufdl}.

You are allowed to distribute, reproduce, and modify it
       without fee or further requirement for consent subject to the
       conditions in \S\thinspace\ref{gfdl-4}. The author has
       asserted his right to be identified as the author of this
       document. If you make useful modifications you are asked to
       inform the author so that the master copy can be updated. See
       the full text of the License in Appendix~\ref{gfdl}.

\par}
\thispagestyle{empty}
\renewcommand{\contentsname}{Contents}
\tableofcontents
\listofexercises
\prelim{Introduction}\label{intro}

This booklet originally accompanied a 2-day course on
     using the \LaTeX{} typesetting system. It has been extensively
     revised and updated and can now be used for self-study or in the
     classroom. It is aimed at users of Linux or Microsoft Windows
     but it can be used with \LaTeX{} systems on any platform,
     including other Unix workstations, Apple Macs, and
     mainframes.
\subsection*{Who needs this booklet?}\addcontentsline{toc}{subsection}{Who needs this booklet?}

The audience for the original training course was assumed
       to be computer-literate and composed of professional,
       business, academic, technical, or administrative computer
       users. The readers of the booklet (you) are mostly assumed to
       be in a similar position, but may also come from many other
       backgrounds. You are expected to have one or more of the
       following or similar objectives:
\begin{itemize}
\item
production of typesetter-quality formatting;

\item
formatting of long, complex, highly-structured,
           repetitive, or generated documents;\footnote{\LaTeX{} can easily be used for once-off or short
               and simple documents as well, but its real strength
               lies in consistency and automation.}

\item
save time and effort by automating common
           tasks;

\item
independence from specific makes or models of
           proprietary hardware, software, or file formats
           (portability);

\item
use of Open Source software (free of restrictions,
           sometimes also free of charge).

\end{itemize}
\subsection*{Skills needed}\addcontentsline{toc}{subsection}{Skills needed}

\LaTeX{} is a very easy system to learn, and requires no
       specialist knowledge, although some familiarity with the
       publishing process is useful. It is, however, assumed that you
       are completely fluent and familiar with using your computer
       before you start. Specifically, effective use of this document
       requires that you already know and understand the following
       thoroughly:
\begin{itemize}
\item
how to run and use a good plain-text editor
           (\emph{not} a wordprocessor and not a toy
           like \product{Notepad});

\item
where all 94 of the printable ASCII\index{ASCII@ASCII} characters are on your keyboard
           and what they mean (and how to type accents and symbols,
           if you use them);

\item
how to create, open, save, close, rename, and delete
           files and folders (directories);

\item
how to use a Web browser or File
             Transfer Protocol�(FTP)\index{FTP@FTP|textbf}\index{Acronyms@\textbf{Acronyms}, defined!FTP@FTP|textbf} program to download and save
           files from the Internet;

\item
how to uncompress and unwrap (unzip) downloaded
           files.

\end{itemize}

If you don't know how to do these things yet,
       it's probably best to go and learn them first. Trying to
       become familiar with the fundamentals of using a computer
       \emph{at the same time} as learning \LaTeX{} is
       not likely to be as effective as doing them in order.
\subsection*{Objectives of this booklet}\addcontentsline{toc}{subsection}{Objectives of this booklet}

By the end of this booklet, you should be able to
       undertake the following tasks:
\begin{itemize}
\item
use a plain-text editor to create and maintain your
           \LaTeX{} documents;

\item
add \LaTeX{} markup to achieve your formatting
           requirements;

\item
typeset \LaTeX{} documents, correct simple formatting
           errors, and display or print the results;

\item
identify, install, and use additional formatting
           packages (using CTAN\index{CTAN@CTAN} for
           downloading where necessary);

\item
recognise the limitations of procedural markup systems
           and choose appropriate generic markup where
           appropriate.

\end{itemize}
\subsection*{Synopsis}\addcontentsline{toc}{subsection}{Synopsis}

The original course covered the following topics as
       separate sessions, now represented in the booklet as
       chapters:
\begin{enumerate}\item
Where to get and how to install \LaTeX{} (te\TeX{} and
           fp\TeX{} from \TeX{} Live);\index{fptex@fp\TeX{}}\index{tetex@te\TeX{}}\index{texlive@\TeX{} Live}

\item
How to type \LaTeX{} documents: using an editor to
           create files (\product{WinShell},
           \product{WinEdt} or
           \product{Emacs});

\item
Basic structures (the Document Class Declaration and
           its layout options; the document environment with sections
           and paragraphs);

\item
Typesetting, viewing, and printing;

\item
The use of packages and CTAN\index{CTAN@CTAN} to adapt formatting using standard
           tools;

\item
Other document structures (lists, tables, figures,
           images, and verbatim text);

\item
Textual tools (footnotes, marginal notes,
           cross-references, indexes and glossaries, and
           bibliographic citations);

\item
Typographic considerations (white-space and typefaces;
           inline markup and font changes; extra font installation
           and automation);

\item
Programmability and automation (macros and modifying
           \LaTeX{}'s behaviour);

\item
Conversion and compatibility with other systems (XML\index{XML@XML},
           \product{Word}, etc.).\index{xml@\textsc{xml}}

\end{enumerate}

A few changes have been made in the transition to printed
       and online form, but the basic structure is the same, and the
       document functions as a workbook for the course as well as a
       standalone self-teaching guide. It is important to note that
       the document \emph{does not cover} mathematical
       typesetting, complex tabular material, the design of
       large-scale macros and document classes, or the finer points
       of typography or typographic design, although it does refer to
       these topics in passing on a few occasions.
\index{mathematics}
There are several other guides, introductions, and
       `get-started' documents on the Web and
       on CTAN\index{CTAN@CTAN}. Among the more popular
       are:
\begin{itemize}
\item
\titlecite{begin}, where all
         beginners should start;

\item
\titlecite{lshort} is a good
           beginner's tutorial;

\item
\titlecite{gentle} is a classic
           tutorial on Plain \TeX{};

\item
\titlecite{imported} shows you how
           to do (almost) anything with graphics: side-by-side,
           rotated, etc.;

\item
\titlecite{mathguide} gets you
           started with the American Math Society's powerful
           packages;

\item
\titlecite{symbol-list} shows over
           2,500 symbols available in \LaTeX{}.

\end{itemize}

(Taken from the CTAN\index{CTAN@CTAN} search
       page.)
\subsection*{Production note}\addcontentsline{toc}{subsection}{Production note}\label{prodnote}

This document is written and maintained in XML\index{XML@XML}, using a customized version of the
       \product{DocBook}DTD\index{DTD@DTD}. Conversions were made to HTML\index{HTML@HTML} and \LaTeX{} using XSLT\index{XSLT@XSLT} scripts and \person{Michael Kay}'s \product{Saxon}
       processor. The complete source, with all ancillary files, is
       available online at \url+http://www.ctan.org/tex-archive/info/beginlatex/+
       but if you want to try processing it yourself you must install
       \product{Java} (from Sun, IBM\index{IBM@IBM}, or a number of others) and
       \product{Saxon} (from \url+http://saxon.sourceforge.net/+), in addition to
       \LaTeX{}.

This document is published under the terms and conditions
       of the GNU\index{GNU@GNU} Free Documentation
       License. Details are in Appendix~\ref{gfdl}.
\subsubsection*{Symbols and conventions}\addcontentsline{toc}{subsubsection}{Symbols and conventions}\label{symbols}

The following typographic notations are used:
\begin{center}
\label{symboltable}
\begin{tabular}{lp{3.75in}}\textbf{\normalfont\bfseries\upshape Notation}&\textbf{\normalfont\bfseries\upshape Meaning}\\[2pt]\hline\\[-.95\baselineskip]
\command{command}&Control sequences which perform an action, e.g.
                 \command{newpage}\\
\length{length}&Control sequences which can be set to a
                 dimension (measurement in units), e.g. \length{parskip}\\
\counter{counter}&Values used for counting (as opposed to
                 measuring in units), e.g. \counter{secnumdepth}\\
\textbf{\textit{term}}\index{term@\textbf{\textit{term}}}&Defining instance of a specialist term\\
\product{product}&program or product name\\
\env{environment}&Formatting environment\\
\package{package}&\LaTeX{} package (available from CTAN\index{CTAN@CTAN})\\
{\ttfamily{}\selectfont{}\uline{mybook}} or {\ttfamily{}\fontshape{sl}\selectfont{}value}&Examples of things you have to supply real-life
                   values for\\
\key{x}&A key on your keyboard\\
\key{Ctrl}--\key{x}~&Two keys pressed together\\
\key{Esc}\thinspace{}\key{q}&Two keys pressed one after another\\
\guiicon{Submit}&On-screen button to click\\
\menuitem{Menu}{Item}&Drop-down menu with items\\
\end{tabular}
\end{center}

Examples of longer fragments of input are shown with a
         border round them. Where necessary, the formatted output is
         shown immediately beneath. Warnings are shown with a shaded
         background. Exercises are shown with a double border.
\subsubsection*{Availability of \sfLaTeX{} systems}\addcontentsline{toc}{subsubsection}{Availability of \sfLaTeX{} systems}\label{availability}

The traditional \TeX{} implementation is a Command-Line Interface�(CLI)\index{CLI@CLI|textbf}\index{Acronyms@\textbf{Acronyms}, defined!CLI@CLI|textbf}, that is, a
         `console' program which you run from
         a Unix or Mac shell window or an MS-DOS command window by
         typing the command \verb+tex+ or
         \verb+latex+ followed by the name of your
         document file. In automated (unattended) systems,
         this command is issued from within a Unix shell script or
         MS-DOS/Windows batch file. All the popular distributions for
         Unix and MS-DOS/Windows, both free and commercial, deliver
         this interface as standard (te\TeX{}, fp\TeX{}, MiK\TeX{},
         PC-\TeX{}, True\TeX{}, etc.).

While it is quite possible to run \TeX{} and \LaTeX{} this
         way, it is more normal to use an editor as your interface to
         the program as well as to your document. This allows you to
         control \LaTeX{}, the typeset display, and other related
         programs with a mouse-click or menu item. This is the method
         assumed in this booklet. In the editors used for examples
         (\product{Emacs},
         \product{WinShell}, and
         \product{WinEdt}) the typesetting process
         is logged visibly in an adjoining text window so that you
         can see the progress of pages being typeset, and any error
         messages that may occur.\footnote{Some recent versions of
             \product{Emacs} hide this window by
             default unless errors occur in the typesetting.} This method is called an
         \textbf{\textit{asynchronous}}\index{asynchronous@\textbf{\textit{asynchronous}}}
         typographic display because the typeset window only updates
         \emph{after} you have typed the text and
         [re-]processed it, not \emph{while} you are
         still typing.

\label{synchro}%
Some commercial implementations of \TeX{}
         offer a \textbf{\textit{synchronous}}\index{synchronous@\textbf{\textit{synchronous}}}
         typographic interface: \product{Textures}
         for the Apple Macintosh from Blue Sky Research,
         \product{Scientific Word} from MacKichan
         Software, and \product{V\TeX{}} from
         MicroPress, Inc (both for Microsoft Windows) are three
         examples. At least one free version
         (\LyX{}, see Figure~\ref{lyxwin} in \S\thinspace\ref{editors}) offers
         the same kind of interface. In these, you type directly into
         the typographic display, as with a graphical wordprocessor,
         using the font controls of whatever Graphical User Interface�(GUI)\index{GUI@GUI|textbf}\index{Acronyms@\textbf{Acronyms}, defined!GUI@GUI|textbf} are
         appropriate.

With a synchronous display you get your instant textual
         gratification, but your level of control is restricted to
         that of the graphical user interface, which almost certainly
         does not provide access to everything that \LaTeX{} can do.
         For complete control of the formatting you still need access
         to the \LaTeX{} language. There are several methods available
         free for Unix and some other systems for
         close-to-synchronous updates of the typeset display
         (including \person{Jonathan Fine}'s \product{Instant
           Preview} and the \TeX{} daemon), and for
         embedding typographic fragments from the typeset display
         back into the editor window (\person{David Kastrup}'s \package{preview-latex}
         package).

Whatever method you choose, \TeX{} Live and CTAN\index{CTAN@CTAN} are not the only source of
           software. The following vendors offer robust commercial
           implementations of \TeX{} and \LaTeX{}, and if you are in a
           position where their enhanced support and additional
           features are of benefit, I urge you to support them. In
           most cases their companies, founders, and staff have been
           good friends of the \TeX{} and \LaTeX{} communities for many
           years.
\begin{center}
\begin{tabular}{p{.666in}p{1in}ll}\textbf{\normalfont\bfseries\upshape Product}&\textbf{\normalfont\bfseries\upshape Platform}&\textbf{\normalfont\bfseries\upshape Company}&\textbf{\normalfont\bfseries\upshape URI}\\[2pt]\hline\\[-.95\baselineskip]
PC\TeX{}&MS-Windows&Personal \TeX{}, Inc&\url+www.pctex.com/+\\
True\TeX{}&MS-Windows&True \TeX{}&\url+truetex.com/+\\
Textures&Apple Mac&Blue Sky Research&\url+www.bluesky.com/+\\
Scientific Word&MS-Windows&Mackichan Software&\url+www.mackichan.com/+\\
V\TeX{}&MS-Windows, Linux, OS/2&MicroPress, Inc&\url+www.micropress-inc.com/+\\
Y\amp Y\TeX{}&MS-Windows&Y\amp Y Software&\url+www.yandy.com/+\\
\end{tabular}
\end{center}
\prelim{Foreword}\label{foreword}

As noted in the Introduction, this document
     accompanied a 2-day introductory training course (still
     does) which I run in UCC and elsewhere. It became obvious from
     repeated questions in class and afterwards, as well as from
     general queries on \url+comp.text.tex+ that many people do not read the
     FAQ\index{FAQ@FAQ}s, do not buy the books and
     manuals, do not download the free documentation, and instead try
     to get by using the training technique known as
     `sitting by Nelly', which involves
     looking over a colleague's shoulder in the office, lab,
     library, or classroom, and absorbing all his or her bad
     habits.

In the summer of 2001 I presented a short proposal on the
     marketing of \LaTeX{} to the annual conference of the \TeX{} Users
     Group held at the University of Delaware, and showed an example
     of a draft
       brochure\footnote{\url+http://www.silmaril.ie/documents/latex-brochure/leaflet.pdf+} designed to persuade newcomers to try \LaTeX{}
     for their typesetting requirements. As a result of questions and
     suggestions, it was obvious that it needed to include a pointer
     to some documentation, and I agreed to make available a revised
     form of this document, expanded to be used outside the
     classroom, and to include those topics on which I have had most
     questions from users over the years.

It turned out to mean a significant reworking of a lot of
     the material, some of which appears in almost every manual on
     \LaTeX{} but which is essential to the beginner and therefore
     bears repetition. I took the opportunity to revise the structure
     of the training course in parallel with the booklet (expanding
     it from its original one day to two days), and to include a more
     comprehensive index. It is by no means perfect (in both senses),
     and I would be grateful for comments and bugs to be sent to me
     at the address given under the credits.

I had originally hoped that the \LaTeX{} version of the
     document would be processable by any freshly-installed default
     \LaTeX{} system, but the need to include font samples which go
     well beyond the default installation, and to use some packages
     which the new user is unlikely to have installed, means that
     this document itself is not really a simple piece of \LaTeX{},
     however simply it may describe the process itself.

However, as the careful reader will have already noticed,
     the master source of the document is not maintained in \LaTeX{}
     but in XML\index{XML@XML}. A future task is therefore
     to compare the packages required with those installed by
     default, and flag portions of the document requiring additional
     features so that an abbreviated version can be generated which
     can be guaranteed to process even with a basic \LaTeX{}
     installation.

\label{docs}%
If you are just starting with \LaTeX{}, at an early
     opportunity you should try to get hold of a copy of \titlecite{latexbook} which is the original
     author's manual. More advanced users should get the
     \titlecite{companion} or one of its
     successors. In the same series there are also the \titlecite{graphicscomp} and the \titlecite{webcomp}. Mathematical users might want to
     read \titlecite{mathguide}.
\prelim{Preface}\label{preface}

Many people discover \LaTeX{} after years of struggling with
     wordprocessors and desktop publishing systems, and are amazed to
     find that \TeX{} has been around for nearly 25 years and they
     hadn't heard of it. It's not a conspiracy, just
     `a well-kept secret known only to a few million
       people', as one anonymous user put it.

Perhaps a key to why it has remained so popular is that it
     removes the need to fiddle with the formatting while you write.
     Although playing around with fonts and formatting is attractive
     to the computer newcomer, it is counter-productive for the
     serious author or editor who wants to concentrate on
     writing\mdash{}ask any journalist or professional author. In
     response to a beginner's concern about `learning to
       write in \LaTeX{}', here's some advice posted (in
     the
       \verb+comp.text.tex+
       newsgroup\footnote{\url+news:comp.text.tex/[email protected]+}):
\begin{quotation}\small\noindent
No, the harder part might be \emph{writing},
       period.  \TeX{}/\LaTeX{} is actually easy, once you relax and
       stop worrying about appearance as a be-all-and-end-all. Many
       people have become `Word Processing
         Junkies' and no longer
       `write' documents, they
       `draw' them, almost at the same level
       as a pre-literate 3-year old child might pretend to
       `write' a story, but is just creating a
       sequence of pictures with a pad of paper and box of
       \product{Crayola}s\mdash{}this is perfectly
       normal and healthy in a 3-year old child who is being
       creative, but is of questionable usefulness for, say, a grad
       student writing a Master's or PhD thesis or a business person
       writing a white paper, etc.  For this reason,
       \emph{I} strongly recommend
       \emph{not} using any sort of fancy GUI\index{GUI@GUI}�`crutch'.
       Use a plain vanilla text editor and treat it like an
       old-fashioned typewriter.  Don't waste time playing with your
       mouse.

Note: I am \emph{not} saying that you should
       have no concerns about the appearance of your document, just
       that you should \emph{write} the document
       (completely) first and tweak the appearance
       later\dots \emph{not} [spend time on] lots of
       random editing in the bulk of the document itself.
\setlength{\parfillskip}{0pt}\hfill[\citeauthortitleyear{heller}]\end{quotation}

\label{mathtex}%
Knuth originally wrote \TeX{} to typeset
     mathematics for the second edition of his master-work \titlecite{aocs}, and it remains pretty much the only
     typesetting program to include fully-automated mathematical
     formatting done the way mathematicians want it. Knuth generously
     placed the entire system in the public domain, so for many years
     there was no publicity of the commercial kind which would have
     got \TeX{} noticed outside the technical field. Nowadays,
     however, there are many companies selling \TeX{} software or
     services, dozens of publishers accepting \LaTeX{} documents for
     publication, and hundreds of thousands of users using \LaTeX{}
     for millions of documents.\footnote{A guesstimate. With free software it's impossible
         to tell how many people are using it, but it's a
         \emph{lot}.}

There is occasionally some confusion among newcomers between
     the two main products, \TeX{} and \LaTeX{}:
\begin{itemize}
\item
\TeX{} is a typesetting program, originally written by
         Prof \person{Don Knuth} (Stanford) around 1978. It implements a
         macro-driven typesetters' programming language of some
         300 basic operations and it has formed the core of many
         other desktop publishing�(DTP)\index{DTP@DTP|textbf}\index{Acronyms@\textbf{Acronyms}, defined!DTP@DTP|textbf}
         systems. Although it is still possible to write in the raw
         \TeX{} language, you need to study it in depth, and you need
         to be able to write macros (subprograms) to perform even the
         simplest of repetitive tasks.

\item
\LaTeX{} is a user interface for \TeX{}, designed by
         \person{Leslie  Lamport} (Digital Equipment
           Corporation�(DEC)\index{DEC@DEC|textbf}\index{Acronyms@\textbf{Acronyms}, defined!DEC@DEC|textbf}) in 1985 to automate all the common
         tasks of document preparation.  It provides a simple way for
         authors and typesetters to use the power of \TeX{} without
         having to learn the entire language. \LaTeX{} is the
         recommended system for all users except professional
         typographic programmers and computer scientists who want to
         study the internals of \TeX{}.

\end{itemize}
\begin{sidebar}\label{myths}
\subsection*{Debunking the mythology}
Naturally, over all the years, a few myths have grown up
       around \LaTeX{}, often propagated by people who should know
       better. So, just to clear up any potential
       misunderstandings\dots
\begin{description}
\item[\sffamily MYTH: `\sfLaTeX{} has only got one
             font']
Most \LaTeX{} systems can use any OpenType, TrueType,
             Adobe (PostScript\index{PostScript}) Type1 or
             Type3, or \mf{} font, among others. This is more
             than most other known typesetting systems.
             \LaTeX{}'s default font is Computer Modern (based on
             Monotype Series�8: see
             Table~\ref{fontable}), not Times Roman, and some
             people get upset because it `looks
               different'. Typefaces differ: that's what
             they're for.
\item[\sffamily MYTH: `\sfLaTeX{} is a Unix
             system']
People are also heard saying: `\LaTeX{} is a
               Windows system', `\LaTeX{} is a
               Mac system', etc., etc.�\emph{ad
               nauseam}. \TeX{} systems run on almost
             every computer in use, from some of the biggest
             supercomputers down to handhelds (Personal Digital Assistant�(PDA)\index{PDA@PDA|textbf}\index{Acronyms@\textbf{Acronyms}, defined!PDA@PDA|textbf}s like the Sharp
             \product{Zaurus}). That includes
             Windows and Linux PCs, Macs, and all Unix systems. If
             you're using something \TeX{} doesn't run on,
             it must be either incredibly new, incredibly old, or
             unbelievably obscure.
\item[\sffamily MYTH: `\sfLaTeX{} is obsolete']
Quite the opposite: it's under constant
             development, with new features being added almost
             weekly. Check the \url+comp.text.tex+ for messages about recent
             uploads to CTAN\index{CTAN@CTAN}. It's
             arguably more up-to-date than most other systems:
             \LaTeX{} had the Euro (\EUR{}) before anyone else, it had
             Inuktitut typesetting before the Inuit got their own
             province in Canada, and it still produces better
             mathematics than anything else.
\item[\sffamily MYTH: `\sfLaTeX{} isn't WYSIWYG\index{WYSIWYG@WYSIWYG}']
Simply not true. The DVI\index{DVI@DVI}
             and PDF\index{PDF@PDF} preview is better
             WYSIWYG\index{WYSIWYG@WYSIWYG} than any wordprocessor
             and most DTP\index{DTP@DTP} systems.

What critics mean is that \LaTeX{}'s
             typographic display is asynchronous with the edit
             window. This is only true for the default CLI\index{CLI@CLI} implementations. See the Introduction for
             details of synchronous versions.
\item[\sffamily MYTH: `\sfLaTeX{} is ``too
               difficult''\thinspace']
This has been heard from physicists who can split atoms;
             from mathematicians who can explain why \(\pi\) exists; from business people who can
             read a balance sheet; from historians who can grasp
             Byzantine politics; from librarians who can understand
             LoC and MARC; and from linguists who can decode Linear
             `B'. Most people grasp \LaTeX{} in 20
             minutes or so. It's not rocket science (or if it is, I
             know any number of unemployed rocket scientists who will
             teach it to you).
\item[\sffamily MYTH: `\sfLaTeX{} is ``only for
               scientists and
               mathematicians''\thinspace']
Not at all. Although it grew up in the
             mathematical and computer science fields, two of its biggest
             growth areas are in the humanities and business,
             especially since the rise of XML\index{XML@XML} brought new demands for
             automated typesetting.
\end{description}
\end{sidebar}\chapter{Installing \TeX{}}
\label{get}
\index{tetex@te\TeX{}}\index{fptex@fp\TeX{}}\index{miktex@MiK\TeX{}}\index{Linux}\index{Unix}\index{Microsoft Windows}\index{Mac OS X}\index{Apple Mac}\index{OS X}
This course is based on using \person{Thomas Esser}'s te\TeX{} (for Linux and other Unix-like
     systems, including Mac OS\thinspace{}X) and
     \person{Fran�ois  Popineau}'s fp\TeX{} (for Microsoft Windows), both from
     \TeX{} Live
     (fp\TeX{} is an implementation of te\TeX{}). Many other
     implementations of \TeX{}, including \person{Christian Schenk}'s  Mik\TeX{} for
     Microsoft Windows, and \person{Tom Kiffe}'s CMac\TeX{} for the Apple Macintosh, can be
     downloaded from CTAN\index{CTAN@CTAN}. \LaTeX{} is
     included with all distributions of \TeX{}.

\TeX{} Live is issued annually as a joint effort by virtually
     all the local \TeX{} user  groups around the world (see \url+http://www.tug.org/lugs.html+ for addresses).
     There are many other distributions of \LaTeX{} both free and
     commercial, as described in the Introduction: they all process
     \LaTeX{} identically, but there are some differences in size,
     speed, packaging, and (in the case of commercial distributions)
     support.
\section{Editing and display}

Before you start using \LaTeX{} you will need to decide on
       which plain-text editor you want to use to create and maintain
       your documents. There is a wide range available, and probably
       no other piece of software causes more flame-wars in Internet
       and other discussions than your choice of editor. It's a
       highly personal choice, so feel free to pick the one you like.
       My personal biases are revealed below.

If you are intending to produce
       PostScript\index{PostScript} or PDF\index{PDF@PDF} (Adobe Acrobat) files, you will need a
       viewer to display them. \product{GSview}
       displays both PostScript\index{PostScript} and PDF\index{PDF@PDF} files; \product{xpdf}
       and Adobe's own \product{Acrobat Reader}
       just display PDF\index{PDF@PDF} files.
\begin{warning}
\label{pdfurl}
\subsubsection*{Additional downloads}
For licensing reasons, the
         \product{GSview}, and \product{Acrobat
           Reader} viewers and the
         \product{WinEdt} editor cannot be
         distributed on the \TeX{} Live media. You have to download
         and install them separately. This is a restriction imposed
         by their authors or vendors, not by the \TeX{} Live
         team.
\begin{itemize}
\item
\product{GSview} is available for
             all platforms from \url+http://www.ghostscript.com/gsview/index.htm+
             (on Unix and VMS systems it's also available as
             \product{GhostView} and
             \product{gv}: see \url+http://www.cs.wisc.edu/~ghost/+)

\item
\product{Acrobat Reader} (all
             platforms) can be downloaded from \url+http://www.adobe.com/products/acrobat/readstep2.html+

\item
\product{Xpdf} (X Window systems
             only) can be downloaded from \url+http://www.foolabs.com/xpdf/+

\item
\product{WinEdt} (Microsoft Windows
             only) comes from \url+http://www.winedt.com+

\end{itemize}
\end{warning}
\begin{center}
\label{editchoice}
\begin{tabular}{lp{4in}}\textbf{\normalfont\bfseries\upshape Editor}&\textbf{\normalfont\bfseries\upshape Comments}\\[2pt]\hline\\[-.95\baselineskip]
\product{Emacs}&Large and powerful. Needs learning (a life-skill
               like \LaTeX{}) but well worth it. Multi-platform, it
               opens and edits anything and everything, with special
               features for \LaTeX{} etc., and good productivity
               tools for writers. Open Source.\\
\product{WinShell}&Simple but effective beginner's tool for
               MS-Windows. Runs \LaTeX{} etc.�with toolbar buttons.
               Very easy to use, small footprint. Strongly
               recommended. Free.\\
\product{WinEdt}&Comprehensive editor aimed at heavy \LaTeX{}
               usage, with toolbar, productivity features, and good
               support. Configurable for almost any distribution of
               \TeX{} (with some effort). Free trial, licensable after
               1�month, MS-Windows only.\\
\product{PFE}&Popular general-purpose editor for MS-Windows: no
               special \LaTeX{} features but a very configurable
               launcher and command-line controller. Free but no
               longer developed.\\
\product{BBedit}&Plain-text editor for Apple Macs,
               heavily used for text applications. Some \TeX{}
               distributions for the Mac come with their own editor,
               but this is a popular and useful tool. 30-day demo.\\
\product{vi}&Standard editor on Unix systems. Dual-mode editor
               (separate text-entry and command modes), now showing
               its age. Adored by devotees, detested by others, just
               like \product{Emacs}�\smiley{}.
               Free.\\
\end{tabular}
\end{center}
\section{Installation for Linux and Unix}
\label{lininst}

Make sure your system libraries and utilities are up to
       date. If you are using Red Hat Linux, use the
       \product{up2date} program to download and
       install updates. For Debian and other distributions, use
       \product{apt-get} or similar utilities. On
       Red Hat systems, remove (or don't install) the RPM version of
       te\TeX{} and associated utilities to avoid version
       conflicts.

If you are installing \TeX{} Live to a new partition, or if
       you have the opportunity to reformat the partition before use,
       use \product{mkfs} with a granularity as
       small as it will go (usually 1024 bytes). This avoids the
       partition running out of inodes because \TeX{} uses very large
       numbers of very small files.

Plan the installation carefully if you are installing for
       multiple users (a shared machine): read \S\thinspace\ref{pkginst} for some comments on where to put additional
       files downloaded later, and see the FAQ on the same topic at
       \url+http://www.tex.ac.uk/cgi-bin/texfaq2html?label=wherefiles+

Above all, Read The Fine
         Manual�(RTFM)\index{RTFM@RTFM|textbf}\index{Acronyms@\textbf{Acronyms}, defined!RTFM@RTFM|textbf}. The documentation is in
       \url+readme.html+, and there's a PDF\index{PDF@PDF} copy for printing.

The installer runs in a shell window, so it can be done
       even from systems with no X Window installation, but it does
       need to be installed as root if you want to stick with the
       default directory locations.

Type the command \verb+sh install-tl.sh+
       to run it: the options are mostly self-explanatory, and
       beginners should pick the Recommended scheme and leave all
       other settings at their defaults.
\section{Installation for Apple Mac}
\label{macinst}

This is exactly the same interface as for the Linux/Unix
       installation. The documentation does point out that
       `most front ends (\product{\TeX{}Shop},
         \product{I\TeX{}Mac},\dots )�use the te\TeX{}
         default location which is
         \url+/usr/local/teTeX+, so, Mac users could
         find interest in installing \TeX{} Live in
         \url+/usr/local/teTeX+ rather than in
         \url+/usr/TeX+.'
\section{Installation for Microsoft Windows}
\label{wininst}

Before you install \TeX{} Live, make sure you have enough
       disk space: the default installation takes about 350Mb on a
       modern filesystem. The installation assumes you have a fully
       updated version of Windows, so visit the Microsoft Web site
       first (\url+http://www.microsoft.com/+) and
       click on \product{Windows Update}. Select and
       install all the relevant updates for your operating system
       (Windows 95, 98, ME, 2000, NT, or XP). You should be doing
       this regularly anyway, to keep your system healthy. You may
       want to run \product{ScanDisk} and give your
       hard disks a full surface check. \TeX{} consists of a very
       large number of quite small files, so it's important that
       your disk is in good shape. When you insert the \TeX{} Live
       disk, it should start the setup program automatically. If you
       have auto-run turned off, open \product{My
         Computer}, double-click on the relevant drive,
       and then double-click \product{Autorun} to
       start the setup program. Some versions of Microsoft Windows
       are broken and won't start the program correctly this
       way. If this happens, use \product{My
         Computer} to go to the
       \url+bin\win32+ subfolder of the \TeX{} Live
       disk and double-click
       \url+TeXLive.exe+\thinspace{}.
\par\smallskip\noindent\textbf{Once the \TeX{} Live program is running:}
\begin{enumerate}
\item \textbf{\LaTeX{}}\\
Install \LaTeX{} itself from the
           \menuitem{TeXLive Software}{Install on
           Hard Disk} menu. If you're new to
           \LaTeX{}, pick Quick Install on the following screen. This
           gives you everything you need to get started, and
           doesn't ask any questions, it just installs it all
           straight away.

If you're installing under Windows NT, 2000, or
           XP, you may want to click on the option to install for all
           users if you have other users on your system.

If you want to use \product{Emacs} as
           your editor, click the option for XemTeX
           Support.\footnote{Note this is nothing to do with \person{Eberhard Matthes}' DOS implementation of \TeX{} called
               em\TeX{}\mdash{}the `Xem' is short for
               \product{Xemacs}.}
\item \textbf{Emacs}\\
After installation, right-click and drag
           \url+Xemacs.exe+ from the
           \url+C:\Program Files\TeXLive\bin\win32+
           folder out onto your desktop and let go, then pick
           `Create Shortcut'. This places
           \product{Emacs} on your desktop for easy
           access.
\item \textbf{WinShell and WinEdt}\\
If you want to install
           \product{WinShell}, run the installer
           program in the \url+support/winshell+
           directory. For \product{WinEdt} you must
           go to their Web site (\url+http://www.winedt.com/+) for a
           downloadable version.

You don't have to install just one editor: if
           you've got the space, install them all so you can try
           them out. You can always uninstall the ones you don't
           want afterwards.
\item \textbf{GSView}\\
Ghostscript is installed automatically, but for
           \product{GSView} you need to go to \url+http://www.cs.wisc.edu/~ghost/gsview/+,
           and download the most recent version.

If you use \product{GSView}, please
           register your copy with Ghostgum, Pty.�(\url+http://www.ghostgum.com.au/+).
\end{enumerate}

Newcomers should note that the downloadable
       \product{WinEdt} comes preconfigured for a
       different distribution of \TeX{} (MIK\TeX{}) and needs some
       careful reconfiguration to work with \TeX{} Live. I recommend
       that beginners use \product{WinShell} to
       start with and graduate to \product{Emacs}
       when they become more expert. Many other people will doubtless
       tell you different\dots
\begin{warning}

Please read the \TeX{} Live update pages at \url+http://www.tug.org/texlive/bugs.html+ for
         details of any changes since the disks were released, and
         download and install any additional software
         required.
\end{warning}
\chapter[Using your editor to create documents]{Using your editor \\to create documents}
\label{plaintext}

\LaTeX{} documents are all \textbf{\textit{plain-text}}\index{plain-text@\textbf{\textit{plain-text}}} files.\footnote{`Plain-Text' originally meant just
         the 94 printable characters of the American Standard Code for Information
           Interchange�(ASCII)\index{ASCII@ASCII|textbf}\index{Acronyms@\string\textbf{Acronyms}, defined!ASCII@ASCII|textbf} but now more commonly includes both
         these \emph{and} the relevant 8-bit
         characters from \emph{one} (only) character
         set such as ISO-8859-1 (Western Latin\ndash{}1) or
         ISO-8859-15 (Western Latin plus the Euro sign). These are
         international standards which work everywhere: try to avoid
         using manufacturers' proprietary character sets like
         Microsoft Windows\ndash{}1252 or Apple Macintosh
         Roman\ndash{}8, because they are unusable on some other
         systems.}  You can edit them with any editor, and transfer
     them to any other computer system running \LaTeX{} and they will
     format exactly the same. Because they are plain text they cannot
     corrupt your system, and they cannot be used for virus
     infections as wordprocessor files can.  Everything you can see
     is in the file and everything in the file is displayed to you:
     there is nothing hidden or secret and no proprietary
     manufacturers' `gotchas' like
     suddenly going out of date with a new version.

In a \LaTeX{} document, you type your text along with
     \textbf{\textit{markup}}\index{markup@\textbf{\textit{markup}}} which identifies the
     important parts of your document by name, for example
     `title', `section',
     `figure', etc. \LaTeX{} does all the formatting for
     you automatically, using the markup to guide its internal rules
     and external stylesheets for typesetting.
\begin{warning}

You will usually hear this markup referred to as
       `commands' or sometimes `control
         sequences' (which is the proper \TeX{}nical term for
       them). For all practical purposes these terms all mean the
       same thing.
\end{warning}

You do not need to format any of your text by hand
     \emph{in your editor}, because \LaTeX{} does it all
     by itself when it typesets. You can of course regularise or
     neaten its appearance \emph{in your editor} for
     ease of editing (for example, keeping each item in a list on a
     separate line), but this is not required.

This course assumes that users have either
     \product{WinEdt} (Windows only) or
     \product{Emacs} (any platform) installed. Both
     are discussed briefly in \S\thinspace\ref{editors} and the menus and toolbars for running
     \LaTeX{} are explained in \chaptername~\ref{process}.
\section{Quick start for the impatient}
\label{quickstart}

If you already know all this stuff about editors and
       plain-text files and running programs, or you know your system
       is already correctly installed (including your editor),
       you'd probably like to type something in and see \LaTeX{}
       do its job. If you don't, then skip forward to \S\thinspace\ref{commands} and read a bit more about \LaTeX{}
       first.
\begin{enumerate}
\item \textbf{Install the software}\\
Make sure you have a properly-installed \LaTeX{} system
           and a copy of a suitable editor
           (\product{Emacs} or
           \product{WinEdt} are recommended).
\item \textbf{Create a demonstration document}\\\label{demodoc}%
Open your editor and type in the following text
           \emph{exactly} as given. Do
           \emph{not} make any changes or miss anything
           out or add anything different:
\begin{sourcecode}[\leftmargin]\begin{Verbatim}[fontsize=\small]
\documentclass[12pt]{article}
\usepackage{palatino,url}
\begin{document}
\section*{My first document}

This is a short example of a \LaTeX\ document I wrote on
\today. It shows a few simple features of automated
typesetting, including

\begin{itemize}
\item setting the default font size to 12pt;
\item specifying `article' type formatting;
\item using the Palatino typeface;
\item adding special formatting for URIs;
\item formatting a heading in `section' style;
\item using the \LaTeX\ logo;
\item generating today's date;
\item formatting a list of items;
\item centering and italicizing;
\item autonumbering the pages.
\end{itemize}

\subsection*{More information}

This example was taken from `Formatting Information',
which you can download from
\url{http://www.ctan.org/tex-archive/info/beginlatex/}
and use as a teach-yourself guide.

\begin{center}
\textit{Have a nice day!}
\end{center}

\end{document}
         \end{Verbatim}
\end{sourcecode}
\item \textbf{Save the document}\\
Save the document as
           \url+demo.tex+\thinspace{}.
\item \textbf{Run \LaTeX{}}\\
Click on the \guiicon{\LaTeX{}} toolbar icon
           or the
           \menuitem{\TeX{}}{\TeX{}
             File} menu item; or type \verb+latex demo+ in a
           command window.
\item \textbf{Preview the typesetting}\\
Click on the \guiicon{DVI} toolbar icon or
           the
           \menuitem{\TeX{}}{\TeX{}
             View} menu item; or type \verb+dviview demo+
           (Microsoft Windows) or \verb+xdvi demo &+
           (Unix and Linux).

(Note that there may be a pause the first time some
           fonts are used, while bitmaps are created.)
\item \textbf{Print it}\\
Click on the \guiicon{Print} toolbar icon
           within the previewer (Microsoft Windows) or type
           \verb+dvips demo+ (Unix and Linux).
\end{enumerate}

If you encounter any errors, it means you
       \emph{do} need to study this chapter after
       all!
\section{Editors}
\label{editors}
\index{editors}
All the text of your documents can be typed into your
       \LaTeX{} document from a standard keyboard using any decent
       plain-text editor. However, it is more convenient to use an
       editor with special features to make using \LaTeX{} easier. Two
       of the most popular are \product{WinEdt}
       (Windows only) and \product{Emacs} (all
       platforms). The \LyX{} document editor is a special case, as it
       uses the What You See Is What You
         Mean�(WYSIWYM)\index{WYSIWYM@WYSIWYM|textbf}\index{Acronyms@\textbf{Acronyms}, defined!WYSIWYM@WYSIWYM|textbf} model of synchronous typographic editing as
       opposed to WYSIWYG\index{WYSIWYG@WYSIWYG}, and many users
       prefer this interface (but see the reservations in the Introduction).
\begin{figure}
\caption{The \LyX{} document editor}
\label{lyxwin}
\begin{center}
\includegraphics[width=1\textwidth]{lyx}
\end{center}
\end{figure}
\subsection{WinEdt}

\product{WinEdt} is a plain-text editor
         for Microsoft Windows (all versions). It lets you create and
         maintain files of plain text (\emph{not}
         wordprocessing files) for any application, but it has a host
         of special functions and shortcuts for \TeX{} and \LaTeX{}.
         Download it from \url+http://www.winedt.com+\mdash{}there's a
         1-month free trial, then it nags you to buy it.

\product{WinEdt} has a built-in toolbar
         of configurable buttons, preset for use with \LaTeX{}, and it
         provides automatic syntactic colourising of \LaTeX{} commands
         in files you edit.
\begin{figure}
\caption{The \product{WinEdt} editor}
\label{winedt}
\begin{center}
\includegraphics[width=0.75\textwidth]{winedt}
\end{center}
\end{figure}

Apart from standard features like the
         \menu{File} and \menu{Edit} menus,
         searching, etc., \product{WinEdt} has
         default buttons on its toolbar for one-click typesetting,
         previewing, and PostScript\index{PostScript} or
         PDF\index{PDF@PDF} generation from \LaTeX{}
         documents.

\product{WinEdt} comes configured for
         the Mik\TeX{} distribution of \LaTeX{}, rather than fp\TeX{},
         so some editing of the menus is required (explained in the
         local installation document) after finishing the fp\TeX{}
         installation. Alternatively, you could install Mik\TeX{}
         instead.
\subsection{GNU Emacs}

\product{Emacs} is a product of
         the GNU\index{GNU}
         Project.\footnote{`GNU's Not
                 Unix�(GNU)\index{GNU@GNU|textbf}\index{Acronyms@\string\textbf{Acronyms}, defined!GNU@GNU|textbf}' is a project to make a
             computer operating environment completely free of
             restrictions.}  Versions are available for all makes and models
         of computer, and it has a \LaTeX{}-mode which provides
         syntactic colouring
         (`fontification' in
         \product{Emacs}-speak) and mouseclick
         processing from a menu or toolbar.
\begin{figure}
\caption{Emacs editing \LaTeX{}}
\begin{center}
\includegraphics[width=0.75\textwidth]{emacs}
\end{center}
\end{figure}

\product{Emacs} is a very large and
         powerful editor, with modes to handle almost everything you
         do on a computer. Many users run
         \product{Emacs} once on logging in, and
         never leave it for the rest of the day\mdash{}or month. As well as edit, you
         can use it to read your mail, browse the Web, read Usenet
         news, do wordprocessing and spreadsheets, compile programs,
         help you write in any computer language\mdash{}including
         XML\index{XML@XML} and \LaTeX{}\mdash{}and it
         provides a few games as well.

\product{Emacs}, like
         \product{WinEdt}, knows about \LaTeX{} and
         how to process it, so there is a menu full of \LaTeX{}
         operations to click on. If you are editing more complex
         documents, especially with mathematics, there is an add-on
         package (`mode' in
         \product{Emacs}-speak) called
         \product{AUC\TeX{}} which has even more
         functionality.

Because \product{Emacs} runs on
         Microsoft Windows,
         Macs,\index{Macintosh}
         Linux, VMS,\index{VMS} and
         most other platforms, many \LaTeX{} users who have multiple
         machines prefer it to other editors because it provides the
         same environment regardless of which platform they are
         using.
\section{\sfLaTeX{} commands}
\label{commands}

\LaTeX{} commands all begin with a
       \textbf{\textit{backslash}}\index{backslash@\textbf{\textit{backslash}}}
       (\verb+\+) and are usually made up of lowercase
       letters only, for example:
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\clearpage
     \end{Verbatim}
\end{sourcecode}

Do not confuse the backslash (\verb+\+) with
       the forward slash (\verb+/+). They are two
       separate characters.

The \command{clearpage} command is an instruction
       to the typesetter to start a new page. It's actually
       quite rare\mdash{}page-breaking is automatic in
       \LaTeX{}\mdash{}but it makes a good example of a simple
       command.
\subsection{Simple commands}
\label{simplecmd}

\label{swallow}%
Simple one-word commands like
         \command{clearpage} which end with a letter must be
         separated from any following text with white-space (a
         newline [linebreak], tab character, or an ordinary space).
         For example either of these two forms will be fine:
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\clearpage The importance of poetic form must not be ignored
       \end{Verbatim}
\end{sourcecode}
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\clearpage
The importance of poetic form must not be ignored
       \end{Verbatim}
\end{sourcecode}

However, if you omit the white-space, as in the
         following example, \LaTeX{} will try to read it as a command
         called \verb+\clearpageThe+, which doesn't
         exist, and it will complain at you.
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\clearpageThe importance of poetic form must not be ignored
       \end{Verbatim}
\end{sourcecode}

\LaTeX{} swallows any white-space which follows a command
         ending in a letter. It does this automatically, so you
         won't get unwanted extra space in your typeset output,
         but it does mean that any simple command which ends in a
         letter and has no arguments (see below) must be followed by
         white-space before normal text starts again, simply to keep
         the command separate from the text.
\subsection{Commands with arguments}
\label{cmdargs}

Many \LaTeX{} commands are followed by one or more
         \textbf{\textit{arguments}}\index{arguments@\textbf{\textit{arguments}}} (a term from
         the field of Computer Science, meaning information to act
         upon), for example:
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\chapter{Poetic Form}
\label{pform}
       \end{Verbatim}
\end{sourcecode}

Such arguments always go in
       \verb+{+\textbf{\textit{curly
           braces}}\index{curly
           braces@\textbf{\textit{curly
           braces}}}\verb+}+ like
         those\index{braces|see{curly braces}} shown above. Be careful not to confuse the
         curly braces on your keyboard with round parentheses
         \verb+(�)+, square brackets
       \verb+[�]+, or angle brackets
             \verb+<�>+. They are all
         different.

With commands like this (with arguments) you do
         \emph{not} need to use extra white-space after
         the command name, because there is an argument following it
         which will keep it separate from any normal text with
         follows after that.
\subsection{White-space in \sfLaTeX{}}
\label{white-space}
\index{white-space}
In \LaTeX{} documents, all \emph{multiple}
         spaces, newlines (linebreaks), and TAB characters are
         treated as if they were a \emph{single} space
         or newline during typesetting. \LaTeX{} does its own spacing
         and alignment using the instructions you give it, so you
         have extremely precise control. You are therefore free to
         use extra white-space in your editor for optical ease and
         convenience when editing.


         The following is therefore exactly equivalent to the example
         in the preceding section:
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\chapter        {Poetic Form}\label
         {pform}
       \end{Verbatim}
\end{sourcecode}

That is, it will get typeset exactly the same. In
         general, just leave a blank line between paragraphs and a
         single space between words and sentences. \LaTeX{} will take
         care of the formatting.
\section{Special characters}
\label{specials}
\index{special characters}
There are ten keyboard characters which have special
       meaning to \LaTeX{}, and cannot be used on their own except for
       these purposes:
\begin{center}
\begin{tabular}{clcc}\textbf{\normalfont\bfseries\upshape Key}&\textbf{\normalfont\bfseries\upshape Meaning}&\multicolumn{1}{>{\bfseries\pbs{\centering}}b{1.5in}}{\normalfont\bfseries\upshape \emph{If you need
                 the actual character itself, type
                 this:}}&\textbf{\normalfont\bfseries\upshape Character}\\[2pt]\hline\\[-.95\baselineskip]
\key{$\backslash$}&The command character&\texttt{\$}\command{backslash}\texttt{\$}&$\backslash$\\
\key{\$}&Math typesetting delimiter&\command{\$}&\$\\
\key{\%}&The comment character&\command{\%}&\%\\
\key{{\char'136}}&Math superscript character&\command{{\char'136}}&{\char'136}\\
\key{\amp }&Tabular column separator&\command{\amp }&\amp \\
\key{{\char'137}}&Math subscript character&\command{{\char'137}}&{\fontencoding{OT1}\fontfamily{cmtt}\selectfont{}{\char'137}}\\
\key{{\char'176}}&Non-breaking space&\command{{\char'176}}&{\char'176}\\
\key{\#}&Macro parameter symbol&\command{\#}&\#\\
\key{{\char'173}}&Argument start delimiter&\texttt{\$}\command{{\char'173}}\texttt{\$}&{\fontencoding{OT1}\fontfamily{cmtt}\selectfont{}{\char'173}}\\
\key{{\char'175}}&Argument end delimiter&\texttt{\$}\command{{\char'175}}\texttt{\$}&{\fontencoding{OT1}\fontfamily{cmtt}\selectfont{}{\char'175}}\\
\end{tabular}
\end{center}

These were deliberately chosen because they are rare in
       normal text, with the exception of \$, \#, \amp ,
       and \%, some of whose meanings were already established
       as \textbf{\textit{metacharacters}}\index{metacharacters@\textbf{\textit{metacharacters}}}
       (characters standing as symbols for something else) by the
       time \TeX{} was written.
\subsection{Using the special characters}
\index{Euro symbol}
Because of the special meaning \LaTeX{} uses for the
         dollar-sign on its own, if you want to print \$35.99
         you type \verb+\$35.99+.

(An unusual but interesting serif-font Euro\index{euro@\euro{}} sign {\rmfamily{}\selectfont{}\euro{}}
         is got with the \command{texteuro} command from the
         \package{textcomp} package. {\sffamily{}\selectfont{}The standard sans-serif \EUR{} needs the
           \package{marvosym} package and is done with
           the \command{EUR} command.}\footnote{The European Commission has specified that everyone
             use the sans-serif design, even in serif text, but this
             is amazingly ugly and most designers rightly ignore
             it.})

If you want to print AT\amp T you need to type
       \verb+AT\&T+; if you want to print 45\%
         you need to type \verb+45\%+; and if
         you want a \textbf{\textit{hash mark}}\index{hash mark@\textbf{\textit{hash mark}}} (the
         \textbf{\textit{octothorpe}}\index{octothorpe@\textbf{\textit{octothorpe}}} or
         American number or `pound' [weight] sign
         `\#') you type
       \verb+\#+. For a pound
         (sterling)\index{pound@�}
         sign �, now nearly obsolete except in the UK and some
         of its former dependencies, use your \key{�} key
         or type \command{textsterling}.

\label{comment}%
The \textbf{\textit{comment
           character}}\index{comment
           character@\textbf{\textit{comment
           character}}} (\verb+%+) makes \LaTeX{}
         ignore the remainder of the line in your document, so you
         can see it in your editor, but it will never get typeset,
         for example:
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
Today's price per Kg is �22.70   % get Mike to update this
       \end{Verbatim}
\end{sourcecode}
\section{Quotation marks}
\label{quotes}
\index{quotation marks}
Do \emph{not} use the unidirectional
       typewriter keyboard \key{"} key for quotation
       marks. Correct typographic quotes are got with the \ttkey{`} key and the \ttkey{'} key, doubled if you want double
       quotes:
\begin{example}
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
He said, ``I'm just going out.''
       \end{Verbatim}
\end{sourcecode}\leavevmode\enspace
\begin{quote}\noindent
{\fontencoding{OT1}\fontfamily{cmr}\selectfont{}He said,
           ``I'm just going out.''}\end{quote}\end{example}

This ensures you get real left-hand and right-hand
       (opening and closing) quotes (usually shaped like tiny
       \textsuperscript{66}�and�\textsuperscript{99}
       or as similarly symmetrically-balanced strokes). If you are
       using \product{Emacs} as your editor, the
       \key{"} key (usually Shift�2) is
       specially programmed in \LaTeX{}-mode to think for itself and
       produce correct \verb+``+ and
       \verb+''+ characters (so this is one occasion when
       you \emph{can} use the \key{"}
       key).
\begin{warning}

If you are reading this in a browser, or if you have
         reprocessed the file using different fonts, it may not show
         you real quotes (some of the browser fonts are defective)
         and the \command{thinspace} below may be too wide.
         Download the typeset (PDF\index{PDF@PDF}) version
         of this document to see the real effect.
\end{warning}

\label{thinspace}%
When typing one quotation inside another,
       there is a special command \command{thinspace} which
       provides just enough separation between double and single
       quotes (a normal space is too much and could allow an
       unwanted linebreak):
\begin{example}
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
He said, `Her answer was ``never''\thinspace', and...
       \end{Verbatim}
\end{sourcecode}\leavevmode\enspace
\begin{quote}\noindent
He said, `Her answer was
         ``never''\thinspace{}', and\dots \end{quote}\end{example}
\section{Accents}
\label{accents}
\index{accents}
For accented letters in ISO 8859-1 (Latin\ndash{}1, Western
       European), 8859-15 (same but with the Euro) or other
       Latin-alphabet character sets just use the accented keys on
       your keyboard (if you have them). If you don't, you need
       to use your operating system's standard keyboard
       \key{Ctrl} or \key{Alt} key combinations
       to generate the characters (see the panel `Keystrokes for accented letters' on p.\pageref{keystrokes}).

You must also tell \LaTeX{} what input encoding you are
       using. Specify this by using the
       \package{inputenc} package\footnote{We
           haven't covered the use of packages yet. Don't
           worry, see \chaptername~\ref{ctan} if you're
           curious.} in your preamble with the
       relevant option. For example, to make \LaTeX{} understand the
       codes for ISO Latin\ndash{}1, use:
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\usepackage[latin1]{inputenc}
     \end{Verbatim}
\end{sourcecode}
\begin{sidebar}\label{keystrokes}
\subsection*{Keystrokes for accented letters}
This is for users whose keyboards do not have native
         accent characters on them. See your Operating System manual
         for full details. Here are two common examples:
\begin{itemize}
\item
Under Linux the letter � is usually got with
             \key{AltGr}--\key{;}~\thinspace{}\key{e}. Refer to the
             \product{xkeycaps} utility for a table
             of key codes and combinations (get it from \url+http://www.jwz.org/xkeycaps/+).

\item
Under Microsoft Windows the letter � is got with
             \key{Ctrl}--\ttkey{'}~\thinspace{}\key{e} or holding down the
             \thinspace{}\key{Alt} key and typing \thinspace{}\key{0}\thinspace{}\key{1}\thinspace{}\key{3}\thinspace{}\key{0}
             on the numeric keypad (\emph{not} the top
             row of shifted numerals). Refer to the
             \product{charmap} utility for a table
             of key codes and combinations (find it in the
             \url+C:\Windows+ folder).

\end{itemize}
\end{sidebar}
If you cannot generate ISO 8859-1 characters from your
       keyboard at all, or you need additional accents or symbols
       which are not in any of the keyboard tables, use the symbolic
       notation below. In fact, this can be used to put any accent
       over any letter: if you particularly want a \~g you can
       have one with the command
       \command{{\char'176}}\verb+g+ (and Welsh
       users can get \^w with
       \command{{\char'136}}\verb+w+).
\begin{center}
\begin{tabular}{lcc}\textbf{\normalfont\bfseries\upshape Accent}&\textbf{\normalfont\bfseries\upshape Example}&\textbf{\normalfont\bfseries\upshape Characters to type}\\[2pt]\hline\\[-.95\baselineskip]
Acute (fada)&�&\verb+\'e+\\
Grave&�&\verb+\`e+\\
Circumflex&�&\verb+\^e+\\
Umlaut or di�resis&�&\verb+\"e+\\
Tilde&�&\verb+\~n+\\
Macron&\=o&\verb+\=o+\\
Bar-under&\b o&\verb+\b o+\\
Dot-over (s�{\fontfamily{cmr}\selectfont\i}\.m{\fontfamily{cmr}\selectfont\i}�)&\.m&\verb+\.m+\\
Dot-under&\d s&\verb+\d s+\\
Breve&\u u&\verb+\u u+\\
H�\v cek (caron)&\v u&\verb+\v u+\\
Long umlaut&\H o&\verb+\H o+\\
Tie-after&{\fontencoding{OT1}\fontfamily{cmr}\selectfont{}\t oo}&\verb+\t oo+\\
Cedilla&\c c&\verb+\c c+\\
O-E ligature&\oe , \OE &\verb+\oe+,
               \verb+\OE+\\
A-E ligature&\ae , \AE &\verb+\ae+,
               \verb+\AE+\\
A-ring&\aa , \AA &\verb+\aa+,
               \verb+\AA+\\
O-slash& \o , \O &\verb+\o+,
               \verb+\O+\\
Soft-l&\l{}, \L{}&\verb+\l+,
               \verb+\L+\\
Ess-zet (scharfes-S)&\ss &\verb+\ss+\\
\end{tabular}
\end{center}

If you use this symbolic method only, you do not need to
       use the \package{inputenc} package. Before the
       days of keyboards and screens with their own real accented
       characters, the symbolic notation was the
       \emph{only} way to get accents, so you may come
       across a lot of older documents (and users!) using this method
       all the time.

Irish and Turkish dotless-{\fontfamily{cmr}\selectfont\i} is done with the
       special command \command{i}, so an {\fontfamily{cmr}\selectfont\'\i}-fada
       (which is normally typed with \key{{\fontfamily{cmr}\selectfont\'\i}})
       requires
       \verb+\'\i+ if you need to type it in long format,
       followed by a backslash-space or dummy pair of curly braces if
       it comes at the end of a word and there is no punctuation,
       because of the rule that \LaTeX{} control sequences which end
       in a letter (see \S\thinspace\ref{swallow}) always absorb any
       following space. So what you normally type as
       {\textit\uline{R{\fontfamily{cmr}\selectfont\'\i} Tea\.mra\.c}} has to be
       \verb+R\'\i\ Tea\.mra\.c+ when typed in full
       (there are not usually any keyboard keys for the
       dotless-{\fontfamily{cmr}\selectfont\i} or the lenited characters). A similar rule
       applies to dotless-{\fontencoding{OT1}\fontfamily{cmr}\selectfont{}{\fontfamily{cmr}\selectfont\j}}.
\section{Sizes, hyphenation, justification, and breaking}
\label{handj}
\index{hyphenation}\index{justification}\index{hj@H\amp J|see{hyphenation, justification}}
\LaTeX{}'s internal measurement system is
       extraordinarily accurate. The underlying \TeX{} engine conducts
       all its business in units smaller than the wavelength of
       visible light, so if you ask for 15mm space, that's what
       you'll get.\footnote{Within the limitations of your screen or printer, of
           course. Most screens cannot show dimensions of less than
           \(\frac{1}{96}\)$''$ without resorting to magnification
           or scaling, and even at 600dpi, fine oblique lines or
           curves on a printer can still sometimes be seen to stagger
           the dots.} At the same time, many dimensions in
       \LaTeX{}'s preprogrammed formatting are specially set up
       to be flexible: so much space, plus or minus certain limits to
       allow the system to make its own adjustments to accommodate
       variations like overlong lines, unevenly-sized images, and
       non-uniform spacing around headings.

\TeX{} uses the most sophisticated justification algorithm
       known to achieve a smooth, even texture to normal paragraph
       text. The programming for this has been borrowed by a large
       number of other DTP systems, and users of these are often
       quite unaware that they are in fact using a significant part
       of \TeX{} in their work. Occasionally, however, you will need
       to hand-correct an unusual word-break or line-break, and there
       are facilities for doing this on individual occasions as well
       as throughout a document.
\subsection{Specifying size units}
\label{dimensions}
\index{dimension}\index{units}
Most people in printing and publishing habitually use
         points and picas and ems. Some designers use cm and mm. Many
         English-language speakers still use inches. You can
         specify lengths in \LaTeX{} in any of these
         units, and others:
\index{pt (points)}\index{points}\index{pc (picas)}\index{picas}\index{bp (big points)}\index{sp (scaled points)}\index{dd (Didot points)}\index{cc (Ciceros)}\index{em (relative measure)}\index{ex (relative measure)}\index{mm (millimeters)}\index{cm (centimeters)}\index{in (inches)}\begin{center}
\begin{tabular}{@{}l>{\pbs{\raggedright}}p{4in}}\textbf{\normalfont\bfseries\upshape Unit}&\textbf{\normalfont\bfseries\upshape Size}\\[2pt]\hline\\[-.95\baselineskip]
\vrule height1.5em width0pt\bfseries\itshape &\vrule height1.5em width0pt\bfseries\itshape Printers' fixed measures\\[2pt]
pt&Anglo-American standard points (72.27 to the
                 inch)\\
pc&pica ems (12pt)\\
bp&Adobe `big' points (72
                 to the inch)\\
sp&\TeX{} `scaled' points
                 (65536 to the pt)\\
dd&Didot (European standard) points (67.54 to the
                 inch)\\
cc&Ciceros (European pica ems, 12dd)\\
\vrule height1.5em width0pt\bfseries\itshape &\vrule height1.5em width0pt\bfseries\itshape Printers' relative measures\\[2pt]
em&ems of the current point size (historically the
                 width of a letter `M' but see
                 below)\\
ex&x-height of the current font (height of letter
                 `x')\\
\vrule height1.5em width0pt\bfseries\itshape &\vrule height1.5em width0pt\bfseries\itshape Other measures\\[2pt]
cm&centimeters (2.54 to the inch)\\
mm&millimeters (25.4 to the inch)\\
in&inches\\
\end{tabular}
\end{center}

The em can cause beginners some puzzlement because
         it's based on the `point size'
         of the type, which is itself misleading. The point size
         refers to the depth of the metal body on which foundry type
         was cast in the days of metal typesetting,
         \emph{not} the height of the letters
         themselves. Thus the letter-size of 10pt type in one face
         can be radically different from 10pt type in another (look
         at Table~\ref{fontable}, where all the examples are
         10pt). An em is the height of the type in a specific size,
         so 1em of 10pt type is 10pt and 1em of 24pt type is 24pt.
         Another name for a 1em space is a
         `quad', and \LaTeX{} has a command
         \command{quad} for leaving exactly that much
         horizontal space. To make the point, Figure~\ref{emsize} shows two capital Ms of 72pt and 36pt
         type in different faces, surrounded by a box exactly 1em of
         those sizes wide. A special name is given to the 12pt em, a
         `pica' em, as it has become a fixed
         measure in its own right.
\begin{figure}
\caption{Different sizes of type boxed at 1em}
\label{emsize}
\begin{center}
\begin{tabular}{rl}\textbf{\normalfont\bfseries\upshape Times New Roman 72pt}&\textbf{\normalfont\bfseries\upshape Adobe Helvetica 36pt}\\[2pt]\hline\\[-.95\baselineskip]
{\vrule height80pt
                     width0pt}{\setlength{\fboxsep}{0pt}\fbox{{\fontencoding{OT1}\fontfamily{ptm}\fontsize{72}{72}\selectfont{}\hbox to1em{\hss M\emstrut\hss}}}}&{\setlength{\fboxsep}{0pt}\fbox{{\fontencoding{T1}\fontfamily{phv}\fontsize{36}{36}\selectfont{}\hbox to1em{\hss M\emstrut\hss}}}}\\
\end{tabular}
\end{center}
\end{figure}

If you are working with other DTP users, watch out for
         those who think that Adobe points (bp) are the only ones.
         The difference is only .27pt per inch, but in 10$''$ of
         text (a full page of A4) that's 2.7pt, which is nearly
         1mm, enough to be clearly visible if you're trying to
         align one sample with another.
\subsection{Hyphenation}
\label{hyph}

\LaTeX{} hyphenates automatically according to the
         language you use (see \S\thinspace\ref{langs}). To specify
         different breakpoints for an individual word, you can insert
         soft-hyphens\index{hyphens!soft} (discretionary hyphens, done with
         \command{-}) wherever you need them, for
         example:
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
When in Mexico, we visited Popoca\-t�petl by helicopter.
       \end{Verbatim}
\end{sourcecode}

To specify hyphenation points for all occurrences of a
         word, use the \command{hyphenation} command in your
         preamble (see the panel `The Preamble' on p.\pageref{preamble}) with one or more
         words in its argument, separated by spaces.  This will even
         let you break `helico-\linebreak pter' correctly. In this command
         you use normal hyphens, not soft-hyphens.\index{hyphens!discretionary}
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\hyphenation{helico-pter Popoca-t�petl im-mer-sion}
       \end{Verbatim}
\end{sourcecode}

If you have frequent hyphenation problems with long,
         unusual, or technical words, ask an expert about changing
         the value of \length{spaceskip},
         which controls the flexibility of the space between words.
         This is not something you would normally want to do, as it
         can change the appearance of your document quite
         significantly.

If you are using a lot of unbreakable text (see next
         section and also \S\thinspace\ref{inlineverb}) it may
         also cause justification problems. One possible solution to
         this is shown in \S\thinspace\ref{macargs}.
\subsection{Unbreakable text}

To force \LaTeX{} to treat a word as unbreakable (the
         opposite of hyphenation), use the \command{mbox}
         command:
       \verb+\mbox{pneumonoultramicroscopicsilicovolcanoconiosis}+.
         This may have undesirable results, however, if
         you change margins:
         \mbox{pneumonoultramicroscopicsilicovolcanoconiosis}\dots

To tie two words together with an unbreakable
         space\index{hard space}\index{white-space!hard} (hard space), use a tilde (\verb+~+)
         instead of the space. This will print as a normal space but
         \LaTeX{} will never break the line at that point. You should
         make this standard typing practice for things like
         people's initials followed by their surname, as in
         Prof. D.�E.�Knuth:
         \verb+Prof.\ D.~E.~Knuth+.
\begin{warning}

Note that a full point after a lowercase letter is
           treated as the end of a sentence, and creates more space
           before the next word. Here, after
           `Prof.', it's
           \emph{not} the end of a sentence, and the
           backslash-space forces \LaTeX{} to insert just an ordinary
           word-space because it's OK to break the line after
           `Prof.', whereas it would look
           wrong to have initials separated with Prof.�D.E.�Knuth broken over a line-end.
\end{warning}
\subsection{Dashes}

For a long dash\mdash{}what printers call an
         `em rule' like this\mdash{}use three
         hyphens typed together, \verb+like~--- this+,
         and bind them to the preceding word with a tilde to avoid
         the line being broken before the dash. It's also common
         to see the dash printed without spaces---like that: the
         difference is purely �sthetic. \emph{Never}
         use a single hyphen for this purpose.

Between digits like page ranges (35\ndash{}47), it is
         normal to use the short dash (what printers call an en-rule)
         which you get by typing two hyphens together, as in
       \verb+35--47+. If you want a minus sign, use math
         mode (\S\thinspace\ref{math}).
\subsection{Justification}

The default mode for typesetting is justified (two
         parallel margins, with word-spacing adjusted automatically
         for the best optical fit). In justifying, \LaTeX{} will never
         add space between letters, only between words. There is a
         special package called \package{so}
         (`space-out') if you need special
         effects like letter-spacing, but these are best left to the
         expert.

There are two commands
         \command{raggedright} and
         \command{raggedleft} which set ragged-right (ranged
         left) and ragged-left (ranged right). Use them inside a
         group (see the panel `Grouping' on p.\pageref{grouping}) to confine their
         action to a part of your text.

{\raggedleft
These modes also exist as
         `environments' (see \S\thinspace\ref{environments}) called
         \env{raggedright} and
         \env{raggedleft} which are more convenient
         when applying this formatting to a whole paragraph or more,
         like this one.
\par}\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\begin{raggedleft}
These modes also exist as environments called raggedright and
raggedleft which is more convenient when applying this formatting
to a whole paragraph or more, like this one.
\end{raggedleft}
       \end{Verbatim}
\end{sourcecode}
\subsection{Languages}
\label{langs}

\LaTeX{} can typeset in the native manner for several
         dozen languages. This affects hyphenation, word-spacing,
         indentation, and the names of the parts of documents used as
         headings (e.g.�Table of Contents).

Most distributions of \LaTeX{} come with US English and
         one or more other languages installed by default, but it is
         easy to add the \package{babel} package and
         specify any of the supported languages or variants, for
         example:
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\usepackage[frenchb]{babel}
..
\selectlanguage{frenchb}
       \end{Verbatim}
\end{sourcecode}

Changing the language with
         \package{babel} automatically changes the
         names of the structural units and identifiers like
         `Abstract',
         `Index', etc.�to their translated
         version. For example, using French as above, chapters will
         start with
         `\emph{Chapitre}'.
\section{Mathematics}
\label{math}
\index{mathematics}
As explained in the Preface, \TeX{} was
       originally written to automate the typesetting of books
       containing mathematics. The careful reader will already have
       noticed that mathematics is handled differently from normal
       text, which is why it has to be typeset specially. This
       document does not cover mathematical typesetting, which is
       explained in detail in many other books and Web pages, so all
       we will cover here is the existence of the math mode commands,
       and some characters which have special meaning, so they
       don't trip you up elsewhere.

In addition to the 10 special characters listed in \S\thinspace\ref{specials}, there are three more characters which
       only have any meaning inside mathematics mode:\index{math characters}
\begin{center}
\begin{tabular}{cl}\textbf{\normalfont\bfseries\upshape Key}&\textbf{\normalfont\bfseries\upshape Meaning}\\[2pt]\hline\\[-.95\baselineskip]
\key{$|$}&Vertical bar\\
\ttkey{<}&Less-than\\
\ttkey{>}&Greater-than\\
\end{tabular}
\end{center}

If you type any of these in normal text (ie outside math
       mode), you will get very weird things happening and lots of
       error messages. If you need to print these characters, you
       \emph{must} type them using math mode.

The hyphen also has an extra meaning in math mode: it
       typesets as a minus sign, so if you want to write about
       negative numbers you need to type the number in math mode so
       the minus sign and the spacing come out right.

To use math mode within a paragraph, enclose your math
       expression in \command{(} and \command{)}
       commands. You can get the much-quoted equation
       \(E=mc^{2}\) by typing
       \verb+\(E=mc^2\)+, and to get a temperature like
       \ifmmode-\else$-$\fi{}30� you need to type
       \verb+\(-30\)�+.\footnote{Bear in mind that the degree symbol is a non-ASCII\index{ASCII@ASCII} character, so you must specify
           what input encoding you are using if you want to type it:
           see the example of the \package{inputenc}
           package in \S\thinspace\ref{accents}. If you don't
           want to use non-ASCII\index{ASCII@ASCII} characters
           (or if you are using a system which cannot generate them),
           you can use the command \command{textdegree} to
           get the degree sign.}

To typeset a math expression as `displayed
         math' (centered between paragraphs), enclose it
       in the commands \command{[} and
       \command{]}.\footnote{You will also see dollar signs used for math mode.
           This is quite common but deprecated: it's what plain
           \TeX{} used in the days before \LaTeX{}, and the habit got
           ingrained in many mathematicians. It still works as a
           convenient shorthand like \url+$x=y$+, as do
           double-dollars for display-mode math like
           \url+$$E=mc^2$$+, but they are only mentioned
           here to warn readers seeing them in other authors'
           work that \command{(}\dots \command{)}
           and \command{[}\dots \command{]} are
           the proper \LaTeX{} commands.}
\begin{example}
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\[\bar n^*_j(s)=\frac{\left\{s\sum_{i=1}^kn_i(0)p^*
_{i,k+1}(s)+M^*(s)\right\}\sum_{i=1}^kp_{0i}p^*{ij}
(s)}{1-s\sum_{i=1}^kp_{0i}p^*_{i,k+1}(s)}+\sum_{i=1}
^kn_i(0)p^*_{ij}(s)[j=1,2,\dots,k].\]
       \end{Verbatim}
\end{sourcecode}\leavevmode\enspace
\begin{quote}\noindent
\(\bar n^*_j(s)=
         \frac{\left\{s\sum^k_{i=1}n_i(0)p^*_{i,k+1}(s)+M^*(s)\right\}
         \sum^k_{i=1}p_{0i}p^*{ij}(s)}{1-s\sum^k_{i=1}p_{0i}p^*_{i,k+1}(s)}
         +\sum^k_{i=1}n_i(0)p^*_{ij}(s)\,\rlap{[j=1,2,\dots,k]}\)
         \end{quote}\end{example}

Displayed equations can be auto-numbered by using the
       \env{equation} environment instead of the
       \command{[} and \command{]} commands.
\chapter{Basic document structures}
\label{basic}
\index{sections}
\LaTeX{}'s approach to formatting is to aim for
     consistency. This means that as long as you identify each
     \textbf{\textit{element}}\index{element@\textbf{\textit{element}}} of your document correctly, it
     will be typeset in the same way as all the other elements like
     it, so that you achieve a professional finish with minimum
     effort.

Elements are the component parts of a document. The popular
     structure of parts, chapters, sections, subsections,
     subsubsections, paragraphs, lists, tables, figures, and so on is
     familiar to everyone from reading books, newspapers, magazines,
     reports, articles, and other classes of documents.

To achieve this consistency, every \LaTeX{} document must
     start by declaring what \textbf{\textit{document class}}\index{document class@\textbf{\textit{document class}}} it
     belongs to.
\section{The Document Class Declaration}
\label{docdecl}
\index{document class}
To tell \LaTeX{} what class of document you are going to
       create, you type a special first line into your file which
       identifies it.\footnote{Readers familiar with SGML\index{SGML@SGML}, HTML\index{HTML@HTML}, or XML\index{XML@XML} will recognize the concept
           as similar to the Document Type
           Declaration.} To start a report, for
       example, you would type the \command{documentclass}
       command like this:
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\documentclass{report}
     \end{Verbatim}
\end{sourcecode}

There are four default classes provided, and many others
       are available online:
\begin{description}
\item[\sffamily \package{report}]
for business, technical, legal, academic, or
             scientific reports;
\item[\sffamily \package{article}]
for magazine or journal articles, reviews,
             conference papers, or research notes;
\item[\sffamily \package{book}]
for books and theses;
\item[\sffamily \package{letter}]
for letters.\footnote{The default \package{letter}
                 class is rather idiosyncratic: there are much better
                 ones you can download and install yourself, such as
                 the \package{memoir} and
                 \package{komascript} packages.}
\end{description}

The \package{article} class in particular
       can be used (some would say `abused') for almost
       any short piece of typesetting by simply omitting the titling
       and layout (see below).

The default classes are normally only used for
       compatibility when exchanging documents with other \LaTeX{}
       users, as they come with every copy of \LaTeX{} and are
       therefore guaranteed to format identically everywhere. For
       most purposes, especially for publication, you can download
       replacements or extensions of these classes:
\begin{itemize}
\item
The \package{memoir} and
           \package{komascript} packages contain
           sophisticated replacements for all the default
           classes;

\item
Many academic and scientific publishers provide their
           own special class files for articles and books (often on
           their Web sites for download);

\item
Conference organisers may also provide class files for
           authors to write papers for presentation;

\item
Many universities provide their own thesis document
           class files in order to ensure exact fulfillment of their
           formatting requirements;

\item
Businesses and other organizations can provide their
           users with corporate stylesheets on a central server and
           configure \LaTeX{} installations to look there first for
           class files and packages.

\end{itemize}

It is worth noting that some of the default document
       classes are intended for final printing on different sizes of
       paper than A4 or Letter. Books and journals are not usually
       printed on office-size paper, so printing them on standard
       office stationery makes them look odd: the margins are too
       wide, or the positioning is unusual, or the font size is too
       small. These default classes are adequate for drafts or for
       sending to another \LaTeX{} user (because you know their system
       will understand them) but they are not really sufficient for
       professional publishing purposes. For this you need a style
       file designed by the publisher to fit their series of
       publications (quite often based on the default classes, but
       looking very different). As noted earlier, the
       \package{memoir} and
       \package{komascript} packages provide good
       facilities for helping design these.
\subsection{Document class options}
\label{doclayout}
\index{paper sizes}
The default layouts are designed for US
         `Letter' size paper.\footnote{Letter size is 8�$''$$\times$11$''$, which is the
             trimmed size of the old Demi Quarto, still in use in
             North America. The other common US office size is
             `Legal', which is
             8�$''$$\times$14$''$, a bastard cutting, but close to
             the old Foolscap (8�$''$$\times$13�$''$). ISO
             standard paper sizes are still virtually unknown in
             North America.} To create documents with the correct proportions
         for standard A4 paper, you need to specify the paper size in
         an optional argument in square brackets before the document
         class name, e.g.
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\documentclass[a4paper]{report}
       \end{Verbatim}
\end{sourcecode}

The other default settings are for: \begin{inparaenum}[\itshape a\upshape)] \item 10pt type (all document classes);  \item two-sided printing (books and reports) or
               one-sided (articles and letters);  and \item separate title page (books and reports
               only)\end{inparaenum}. These can be modified with the following
         document class options which you can add in the same set of
         square brackets, separated by commas:
\index{fonts!sizes}\begin{description}
\label{docfontsize}
\item[\sffamily \opt{11pt}]
to specify 11pt type (headings, footnotes, etc.�get
               scaled up or down in proportion);
\item[\sffamily \opt{12pt}]
to specify 12pt type (again, headings scale);
\item[\sffamily \opt{oneside}]
to format one-sided printing for books and
               reports;
\item[\sffamily \opt{twoside}]
to format articles for two-sided printing;
\item[\sffamily \opt{titlepage}]
to force articles to have a separate title
               page;
\item[\sffamily \opt{draft}]
makes \LaTeX{} indicate hyphenation and
             justification problems with a small square in the
             right-hand margin of the problem line so they can be
             located quickly by a human.
\end{description}

There are extra preset options for other type sizes
         which can be downloaded separately (10pt, 11pt, and 12pt
         between them cover probably 95\% of all document
         typesetting). In addition there are hundreds of add-in
         packages which can automate other layout and formatting
         variants without you having to program anything by hand or
         even change your text.
\begin{exercise}
\label{firstline}
\addcontentsline{loe}{section}{\numberline{1}Create a new document}
\subsubsection*{Create a new document}\begin{enumerate}\item
Use your editor to create a new document.

\item
Type in the Document Class Declaration as shown
               above.

\item
Add a font size option if you wish.

\item
In North America, omit the
               \opt{a4paper} option or change it to
               \opt{letterpaper}.

\item
Save the file (make up a name) ensuring the name
               ends with \url+.tex+.

\end{enumerate}
\end{exercise}
\section{The document environment}
\label{docenv}

After the Document Class Declaration, the text of your
       document is enclosed between two commands which identify the
       beginning and end of the actual document:
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\documentclass[11pt,a4paper,oneside]{report}

\begin{document}
..
\end{document}
     \end{Verbatim}
\end{sourcecode}

(You would put your text where the dots are.) The reason
       for marking off the beginning of your text is that \LaTeX{}
       allows you to insert extra setup specifications before it
       (where the blank line is in the example above: we'll be
       using this soon). The reason for marking off the end of your
       text is to provide a place for \LaTeX{} to be programmed to do
       extra stuff automatically at the end of the document.
       We're not going to do either of those yet,
       though.

A useful side-effect of marking the end of the document
       text is that you can store comments or temporary text
       underneath the \verb+\end{document}+ in the
       knowledge that
       \LaTeX{} will never try to typeset them.

\label{environments}%
This
       \command{begin}\thinspace{}\dots \command{end}
       pair is an example of a common \LaTeX{} structure called an
       \textbf{\textit{environment}}\index{environment@\textbf{\textit{environment}}}.
       Environments enclose text which is to be handled in a specific
       way. All environments start with
       \verb+\begin{...}+ and end with
       \verb+\end{...}+ (putting the name of the
       environment in the curly braces).
\begin{exercise}
\addcontentsline{loe}{section}{\numberline{2}Add a document environment}
\subsubsection*{Add a document environment}\begin{enumerate}\item
Add the \env{document} environment to
             your file.

\item
Leave a blank line between the Document Class
             Declaration and the \verb+\begin{document}+
             (you'll see why later).

\item
Save the file.

\end{enumerate}
\end{exercise}
\section{Titling}
\label{titling}
\index{titles}
The first thing you put in the
       \env{document} environment is almost
       always your document title, the author's name, and the
       date (except in letters, which have a special set of commands
       for addressing which we'll look at later).
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\documentclass[11pt,a4paper,oneside]{report}

\begin{document}

\title{Practical Typesetting}
\author{Peter Flynn\\Silmaril Consultants}
\date{December 2004}
\maketitle

\end{document}
     \end{Verbatim}
\end{sourcecode}

The \command{title}, \command{author},
       and \command{date} commands should be
       self-explanatory. The double backslash (\verb+\\+)
       means a forced linebreak. You always finish the title block with the
       \command{maketitle} command, otherwise the titling
       will never be typeset. The \command{maketitle}
       command is reprogrammable so you can alter the appearance of
       titles on a consistent basis.
\begin{exercise}
\addcontentsline{loe}{section}{\numberline{3}Adding the title block}
\subsubsection*{Adding the title block}\begin{enumerate}\item
Add a \command{title},
             \command{author}, \command{date}, and
             \command{maketitle} command to your file.

\item
Use your own name, make up a title, and give a
           date.

\item
Add two backslashes after your name and add your
           organisation or department name.

\item
The order of the first three commands is not
             important, but the \command{maketitle} command
             must come last.

\end{enumerate}
\end{exercise}

When this file is typeset, you get something like this
       (I've cheated and done it in
         colour (\S\thinspace\ref{colorpkg}) for fun\mdash{}yours will be in black and white
       for the moment):
\begin{center}
\fbox{\includegraphics[width=0.5\textwidth]{title}}
\end{center}

However, before we see how to get this displayed or
       printed, there are a few more elements to cover: abstracts,
       sectioning, the Table of Contents, and paragraphs. If
       you're really impatient, though, refer to \chaptername~\ref{process} to see how to typeset and display
       it.
\section{Abstracts and summaries}
\label{abstracts}
\index{abstracts}\index{summaries}
In reports and articles it is normal for the author (you)
       to provide an Abstract or Summary, in which you describe
       briefly what you have written about and explain its
       importance. Abstracts in articles are usually only a
       few paragraphs long; Summaries in reports can run to several
       pages, depending on the length and complexity of the report
       itself.

In both cases the Abstract or Summary is theoretically
       optional (that is, \LaTeX{} doesn't force you to have one),
       but almost always included. In practice, of course, you go
       back and type the Abstract or Summary
       \emph{after} having written the rest of the
       document, but for the sake of the example we'll jump the
       gun and type it now.

Immediately after the \command{maketitle} you can
       use the \env{abstract} environment, in which
       you simply type your Abstract or Summary, leaving a blank line
       between paragraphs (see \S\thinspace\ref{paragraphs} for this
       convention).
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\documentclass[11pt,a4paper,oneside]{report}
\usepackage[latin1]{inputenc}
\renewcommand{\abstractname}{Summary}
\begin{document}

\title{Practical Typesetting}
\author{Peter Flynn\\Silmaril Consultants}
\date{December 2004}
\maketitle

\begin{abstract}
This document presents the basic concepts of typesetting in a
form usable by non-specialists. It is aimed at those who find
themselves (willingly or unwillingly) asked to undertake work
previously sent out to a professional printer, and who are
concerned that the quality of work (and thus their corporate
image) does not suffer unduly.

The topics cover layout, the need for accuracy, the choice of
typeface, arrangement of the document, adherence to
specifications, and the production process. No foreknowledge
of printing or publishing is needed, but an eye for detail,
a feeling for �sthetics, and some fluency with a computer is
expected.
\end{abstract}

\end{document}
     \end{Verbatim}
\end{sourcecode}

In business and technical documents, the Abstract is often
       called a Management Summary, or Executive Summary, or Business
       Preview, or some similar phrase. \LaTeX{} lets you change the
       name associated with the \env{abstract}
       environment to any kind of title you want, using the
       \command{renewcommand} command to give the
       \command{abstractname} a new value:
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\renewcommand{\abstractname}{Executive Summary}
     \end{Verbatim}
\end{sourcecode}

Notice how the name of the command you are renewing
       (\command{abstractname}) goes in the first set of
       curly braces, and the new value you want it to have goes in
       the second set of curly braces. The environment you use is
       still called \env{abstract} (that is, you still
       type
       \verb+\begin{abstract}+\dots \verb+\end{abstract}+):
       what the \command{abstractname} does is change the
       name that gets displayed and printed, not the name of the
       environment you store the text in.
\begin{exercise}
\addcontentsline{loe}{section}{\numberline{4}Using an Abstract or Summary}
\subsubsection*{Using an Abstract or Summary}\begin{enumerate}\item
Add the \command{renewcommand} line given
             above to your Preamble.

The Preamble is at the start of the document, in
             that gap \emph{after} the
             \command{documentclass} line but
             \emph{before} the
       \verb+\begin{document}+ (remember I said we'd
             see what we left it blank for: see the panel `The Preamble' on p.\pageref{preamble}).

\item
Add an \env{abstract} environment
             after the \command{maketitle} and type in a
             couple of short paragraphs of text.

\item
Save the file (no, I'm not paranoid, just careful).

\end{enumerate}
\end{exercise}

If you look carefully at the example Abstract above,
       you'll see I added an extra command to the Preamble
       (\verb+\usepackage[latin1]{inputenc}+). We'll
       see later what this means (Brownie points for guessing it,
       though, if you read \S\thinspace\ref{accents}).
\begin{sidebar}\label{preamble}
\subsection*{The Preamble}
Modifications which you want to affect a whole document
         go at the very start of your \LaTeX{} file, immediately after
         the \command{documentclass} line and before the
           \verb+\begin{document}+ line:
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\documentclass[11pt,a4paper,oneside]{report}
\renewcommand{\abstractname}{Sneak Preview}
\begin{document}
..
\end{document}
       \end{Verbatim}
\end{sourcecode}

This position, between the Document Class Declaration
         and the beginning of the \env{document}
         environment, is called the \textbf{\textit{preamble}}\index{preamble@\textbf{\textit{preamble}}},
         and it is used for small or temporary modifications to the style
         and behaviour of the document. Major or permanent
         modifications should go in a \url+.sty+ file
         and be invoked with a \command{usepackage} command.
\end{sidebar}\section{Sections}
\label{sections}
\index{sections}
In the body of your document, \LaTeX{} provides seven
       levels of division or sectioning for you to use in structuring
       your text. They are all optional: it is perfectly possible to
       write a document consisting solely of paragraphs of
       unstructured text. Even novels are normally
       divided into chapters, although short stories are often made
       up solely of paragraphs.

Two of these divisions, Parts and Chapters, are only
       available in the \package{book} and
       \package{report} document classes, because they
       don't have any meaning in articles and
       letters.\footnote{It is arguable that chapters also have no place in
           reports, either, as these are conventionally divided into
           sections as the top-level division. \LaTeX{}, however,
           assumes your reports have chapters, but this is only the
           default, and can be changed very simply (see
           \chaptername~\ref{macros}).\label{repchap}}
\begin{center}
\begin{tabular}{clll}\textbf{\normalfont\bfseries\upshape Depth}&\textbf{\normalfont\bfseries\upshape Division}&\textbf{\normalfont\bfseries\upshape Command}&\textbf{\normalfont\bfseries\upshape Notes}\\[2pt]\hline\\[-.95\baselineskip]
\(\ifmmode-\else$-$\fi{}1\)&Part&\command{part}&Only in books and reports\\
0&Chapter&\command{chapter}&Only in books and reports\\
1&Section&\command{section}&Not in letters\\
2&Subsection&\command{subsection}&Not in letters\\
3&Subsubsection&\command{subsubsection}&Not in letters\\
4&Titled paragraph&\command{paragraph}&Not in letters\\
5&Titled subparagraph&\command{subparagraph}&Not in letters\\
\end{tabular}
\end{center}

In each case the title of the part, chapter, section, etc.
       goes in curly braces after the command. \LaTeX{} automatically
       calculates the correct numbering and prints the title in bold.
       You can turn section numbering off at a specific depth:
       details in \S\thinspace\ref{secnum}.
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\section{New recruitment policies}
..
\subsection{Effect on staff turnover}
..
\chapter{Business plan 2004--2006}
     \end{Verbatim}
\end{sourcecode}

There are packages\footnote{Details of how to use \LaTeX{} packages are in \S\thinspace\ref{packages}.}  to let you control the typeface, style, spacing,
       and appearance of section headings: it's much easier to
       use them than to try and reprogram the headings manually. Two
       of the most popular are the \package{ssection}
       and \package{sectsty} packages.

Headings also get put automatically into the Table of
       Contents, if you specify one (it's optional, and we
       haven't done that yet: see \S\thinspace\ref{toc}). But if you make manual styling changes to
       your heading, for example a very long title, or some special
       line-breaks or unusual font-play, this would appear in the
       Table of Contents as well, which you almost certainly
       don't want. \LaTeX{} allows you to give an optional extra
       version of the heading text which only gets used in the Table
       of Contents and any running heads, if they are in effect
        (\S\thinspace\ref{runningheads}). This goes in [square
       brackets] before the curly braces:
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\section[Effect on staff turnover]{The effect of the revised
       recruitment policies on staff turnover at divisional
       headquarters}
     \end{Verbatim}
\end{sourcecode}
\begin{exercise}
\addcontentsline{loe}{section}{\numberline{5}Start your document text}
\subsubsection*{Start your document text}\begin{enumerate}\item
Add a \command{chapter} command after
               your Abstract or Summary, giving the title of your
               first chapter.

\item
If you're planning ahead, add a few more for
               chapters 2, 3, etc. Leave a few blank lines between
               them to make it easier to add paragraphs of text
               later.

\item
I shouldn't need to tell you what to do after
               making significant changes to your document
               file.

\end{enumerate}
\end{exercise}
\subsection{Section numbering}
\label{secnum}
\index{section numbering}
All document divisions get numbered by default.  Parts
         get Roman numerals (Part�I, Part�II, etc.);
         chapters and sections get decimal numbering, and Appendixes
         (which are just a special case of chapters, and share the
         same structure) are lettered (A, B, C, etc.).

You can change the depth to which section numbering
         occurs, so you can turn it off selectively. In this document
         it is set
         to�{\arabic{secnumdepth}}.
         If you only want parts, chapters, and sections numbered, not
         subsections or subsubsections etc., you can change the
         value of the \counter{secnumdepth}
         counter using the the \command{setcounter} command,
         giving the depth value from the table in \S\thinspace\ref{sections}:
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\setcounter{secnumdepth}{1}
       \end{Verbatim}
\end{sourcecode}

A related counter is \counter{tocdepth}, which specifies what
         depth to take the Table of Contents to. It can be reset in
         exactly the same way as \counter{secnumdepth}. The current setting
         for this document is�{\arabic{tocdepth}}.

To get an \emph{unnumbered} section
         heading which does \emph{not} go into the
         Table of Contents, follow the command name with an asterisk
         before the opening curly brace:
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\subsection*{Shopping List}
       \end{Verbatim}
\end{sourcecode}

All the divisional commands from \command{part*}
         to \command{subparagraph*} have this
         `starred' version which can be used
         on special occasions for an unnumbered heading when the
         setting of \counter{secnumdepth} would normally
         mean it would be numbered.
\section{Ordinary paragraphs}
\label{paragraphs}

After section headings comes your text. Just type it and
       leave a blank line between paragraphs. That's all \LaTeX{}
       needs.

The blank line means `start a new paragraph
         here': it does \emph{not} (repeat:
       \emph{\textbf{not}}) mean you get a blank
       line in the typeset output. Now read this paragraph again.

The spacing between paragraphs is a separately definable quantity, a
       \textbf{\textit{dimension}}\index{dimension@\textbf{\textit{dimension}}} or \textbf{\textit{length}}\index{length@\textbf{\textit{length}}} called \length{parskip}. This is normally zero
       (no space between paragraphs, because that's how books
       are normally typeset), but you can easily set it to any size
       you want with the \command{setlength} command in the
       Preamble:
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\setlength{\parskip}{1cm}
     \end{Verbatim}
\end{sourcecode}

\label{paraspace}%
This will set the space between paragraphs
       to 1cm. See \S\thinspace\ref{dimensions} for details of the
       various size units \LaTeX{} can use. \emph{Leaving multiple
         blank lines between paragraphs in your source document
         achieves nothing}: all extra blank lines get
       ignored by \LaTeX{} because the space between paragraphs is
       controlled only by the value of \length{parskip}. To change the space
       between paragraphs, specify it with the command as shown
       above.

White-space in \LaTeX{} can also be made flexible (what
       \titlecite{latexbook} calls
       `rubber' lengths). This means that
       values such as \length{parskip} can
       have a default dimension plus an amount of expansion minus an
       amount of contraction. This is useful on pages in complex
       documents where not every page will be an exact number of
       fixed-height lines long, so some give-and-take in vertical
       space is useful. You specify this in a
       \command{setlength} command like this:
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\setlength{\parskip}{1cm plus4mm minus3mm}
     \end{Verbatim}
\end{sourcecode}

Paragraph indentation can also be set with the
       \command{setlength} command, although you would
       always make it a fixed size, never a flexible one, otherwise
       you would have very ragged-looking paragraphs.
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\setlength{\parindent}{6mm}
     \end{Verbatim}
\end{sourcecode}

By default, the first paragraph after a heading follows
       the standard Anglo-American publishers' practice of
       \emph{no} indentation. Subsequent paragraphs are
       indented by the value of \length{parindent} (default
       18pt).\footnote{Paragraph spacing and indentation are cultural
           settings. If you are typesetting in a language other than
           English, you should use the \package{babel}
           package, which alters many things, including the spacing
           and the naming of sections, to conform with the standards
           of different countries and languages.} You can change this in the same way as any other
       length.

In the printed copy of this document, the paragraph
       indentation is set to {\the\parindent} and the space
       between paragraphs is set to {\the\parskip}. These values do not
       apply in the Web (HTML) version because not all browsers are
       capable of that fine a level of control, and because users can
       apply their own stylesheets regardless of what this document
       proposes.
\begin{exercise}
\addcontentsline{loe}{section}{\numberline{6}Start typing!}
\subsubsection*{Start typing!}\begin{enumerate}\item
Type some paragraphs of text. Leave a blank line
           between each. Don't bother about line-wrapping or
           formatting\mdash{}\LaTeX{} will take care of all that.

\item
If you're feeling adventurous, add a
           \command{section} command with the title of a
           section within your first chapter, and continue typing
           paragraphs of text below that.

\item
Add one or more \command{setlength}
           commands to your Preamble if you want to experiment with
           changing paragraph spacing and indentation.

\end{enumerate}
\end{exercise}

To turn off indentation completely, set it to zero (but
       you still have to provide units: it's still a
       measure!).
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\setlength{\parindent}{0in}
     \end{Verbatim}
\end{sourcecode}

If you do this, though, and leave
       \length{parskip} set to zero, your readers
       won't be able to tell easily where each paragraph begins!
       If you want to use the style of having no indentation with a
       space between paragraphs, use the
       \package{parskip} package, which does it for
       you (and makes adjustments to the spacing of lists and other
       structures which use paragraph spacing, so they don't get too
       far apart).
\section{Table of contents}
\label{toc}
\index{table of contents!automated entries}
All auto-numbered headings get entered in the Table of
       Contents (ToC) automatically. You don't have to print a
       ToC, but if you want to, just add the command
       \command{tableofcontents} at the point where you want
       it printed (usually after the \command{maketitle}
       command and before the Abstract or Summary.

Entries for the ToC are recorded each time you process
       your document, and reproduced the \emph{next}
       time you process it, so you need to re-run \LaTeX{} one extra
       time to ensure that all ToC page-number references are
       correctly calculated.

We've already seen in \S\thinspace\ref{sections} how
       to use the optional argument to the sectioning commands to add
       text to the ToC which is slightly different from the one
       printed in the body of the document. It is also possible to
       add extra lines to the ToC, to force extra or unnumbered
       section headings to be included.
\begin{exercise}
\addcontentsline{loe}{section}{\numberline{7}Inserting the table of contents}
\subsubsection*{Inserting the table of contents}\begin{enumerate}\item
Go back and add a \command{tableofcontents}
             command after the \command{maketitle} command
             in your document.

\item
You guessed.

\end{enumerate}
\end{exercise}

The commands \command{listoffigures} and
       \command{listoftables} work in exactly the same way
       as \command{tableofcontents} to automatically list
       all your tables and figures. If you use them, they normally go
       after the \command{tableofcontents} command.

The \command{tableofcontents} command normally
       shows only numbered section headings, and only down to the
       level defined by the \counter{tocdepth} counter (see \S\thinspace\ref{secnum}), but you can add extra entries with the
       \command{addcontentsline} command. For
       example if you use an unnumbered section heading command to
       start a preliminary piece of text like a Foreword or
       Preface, you can write:\index{table of contents!adding manual entry}
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\subsection*{Preface}
\addcontentsline{toc}{subsection}{Preface}
     \end{Verbatim}
\end{sourcecode}

This will format an unnumbered ToC entry for
       `Preface' in the
       `subsection' font style. You can use
       the same mechanism to add lines to the List of Figures or List
       of Tables by substituting \url+lof+ or
       \url+lot+ for \url+toc+.
\chapter{Typesetting, viewing and printing}
\label{process}
\index{typesetting}\index{viewing}\index{printing}
We've now got far enough to typeset what you've entered. I'm
     assuming at this stage that you have typed some sample text in
     the format specified in the previous chapter, and you've saved
     it in a plain-text file with a filetype of
     \verb+.tex+ and a name of your own
     choosing.
\index{filenames}\begin{exercise}
\addcontentsline{loe}{section}{\numberline{8}Saving your file}
\subsubsection*{Saving your file}
If you haven't already saved your file, do so now (some editors
     and interfaces let you typeset the document without saving it!).

Pick a sensible filename in a sensible directory. Names
     should be short enough to display and search for, but
       descriptive enough to make sense. See the panel `Picking suitable filenames' on p.\pageref{filenames} for more details.
\end{exercise}
\section{Typesetting}
\label{setting}

Typesetting your document is usually done with by clicking
       on a button in a toolbar or an entry in a menu. Which one you
       click on depends on what output you want.
\begin{itemize}
\item
The standard (default) \LaTeX{} program produces a
           device-independent�(DVI)\index{DVI@DVI|textbf}\index{Acronyms@\textbf{Acronyms}, defined!DVI@DVI|textbf} file which
           can be used with any \TeX{} viewer or printer driver on any
           make or model of computer (there are dozens of these
           available: at least one of each (viewer and printer
           driver) should have been installed with your distribution
           of \TeX{}).

\item
The \product{pdflatex} program
           produces an Adobe Acrobat Portable
             Document Format�(PDF)\index{PDF@PDF|textbf}\index{Acronyms@\textbf{Acronyms}, defined!PDF@PDF|textbf} file which can be used with
           any suitable viewer, such as
           \product{GSview},
           \product{PDFview}, the
           \product{Opera} browser, or Adobe's
           own \product{Acrobat Reader}.

\end{itemize}

Depending on which one you choose, you may have to
       [re]configure your editor so that it runs the right program.
       They can all do all of them, but they don't always come
       pre-set with buttons or menus for every possible option,
       because they can't guess which one you want.
\subsection{Standard \sfLaTeX{}}

There are two ways of running \LaTeX{}: from the toolbar
       or menu, or from the command line. Toolbars and menus are
       most common in graphical systems, and are the normal way to
       run \LaTeX{}. Command lines are used in non-graphical systems
       and in automated processes where \LaTeX{} is run unattended
         (so-called `batch' or
       `scripted' processing).
\begin{exercise}
\addcontentsline{loe}{section}{\numberline{9}Running \LaTeX{} from the toolbar or menu}
\subsubsection*{Running \LaTeX{} from the toolbar or menu}
Run \LaTeX{} on your file according to which system
         you're using:
\begin{itemize}
\item
In \product{WinEdt}, click the
               \guiicon{\LaTeX{}} toolbar icon;

\item
In \product{Emacs}, click the
               \menuitem{\TeX{}}{\TeX{}
               File} menu item.

\end{itemize}

Your editor may suggest you save your file if you
           haven't already done so. Do it.
\end{exercise}

Whichever way you run \LaTeX{}, it will process your file
         and display a log or record of what it's doing (see the
         example in Exercise~\ref{terminal}: it looks the same no
         matter what system you use). This is to let you see where
         (if!) there are any errors or problems.

\emph{Don't panic if you see errors}:
         it's very common for learners to mistype or mis-spell
         commands, forget curly braces, type a forward slash instead
         of a backslash, or use a special character by mistake.
         Errors are easily spotted (lines in the log window beginning
         with an exclamation mark) and easily corrected in your
         editor, and you can run \LaTeX{} again to check you have
         fixed everything. \S\thinspace\ref{errmsg} describes some of
         the most common mistakes and suggests how to fix
         them.

When \LaTeX{} finds an error (a real one, not just a
         warning), it displays an error message and pauses. You must
         type one of the following letters to continue:
\begin{center}
\begin{tabular}{cp{4in}}\textbf{\normalfont\bfseries\upshape Key}&\textbf{\normalfont\bfseries\upshape Meaning}\\[2pt]\hline\\[-.95\baselineskip]
\key{x}&Stop immediately and
                 e{\textit\uline{x}}it the program.\\
\key{q}&Carry on {\textit\uline{q}}uietly as best
                 you can and don't bother me with any more error
                 messages.\\
\key{e}&Stop the program but re-position the text in my
                 {\textit\uline{e}}ditor at the point where you
                 found the error.\\
\key{h}&Try to give me more {\textit\uline{h}}elp.\\
\key{i}&(followed by a correction)
               {\textit\uline{i}}nput the correction in place
               of the error and carry on.\\
\end{tabular}
\end{center}

The log will also tell you if there were problems with
         overlong or underrun lines (unusual hyphenations, for
         example), pages running short or long, and other
         typographical niceties (most of which you can ignore until
         later).

Unlike other systems, which try to hide unevennesses in
         the text\mdash{}usually unsuccessfully\mdash{}by interfering
         with the letter-spacing, \LaTeX{} takes the view that the
         author or editor should be able to contribute. While it is
         certainly possible to set \LaTeX{}'s parameters so that
         the spacing is sufficiently sloppy that you will almost
         never get a warning about badly-fitting lines or pages, you
         will almost certainly just be delaying matters until you
         start to get complaints from your readers or
         publishers.

In \product{WinEdt} the log appears in
         a separate window and you have to press the
         \key{Enter} key to dismiss it after checking it.
         In \product{Emacs}, the log appears in the
         bottom half of the edit window and can be dismissed with the
         \menuitem{Files}{One
           Window} menu or by pressing
         \key{Ctrl}--\key{X}~\thinspace{}\key{1}.

If there were no errors, your
         file is ready for displaying or printing.
\begin{sidebar}\label{filenames}
\subsection*{Picking suitable filenames}
Never, ever use directories (folders) or file names which
       contain spaces.  Although your operating system probably
       supports them, some don't, and they will only cause grief
       and tears with \TeX{}.

Make filenames as short or as long as you wish, but
       strictly avoid spaces. Stick to upper- and lower-case letters
       without accents (A\ndash{}Z and a\ndash{}z), the digits
       0\ndash{}9, the hyphen (\verb+-+), and the full
       point or period (\verb+.+), (similar to the
           conventions for a Web URI\index{URI@URI}): it will let you refer to \TeX{}
       files over the Web more easily and make your files more
       portable.
\end{sidebar}\subsection{pdf\sfLaTeX{}}

If you have configured your editor to generate PDF\index{PDF@PDF} files direct instead of DVI\index{DVI@DVI} files, by using the
         \product{pdflatex} program instead of
         standard \LaTeX{}, then you click the
         \guiicon{pdf\LaTeX{}} icon in
         \product{WinEdt} or type the
       \verb+pdflatex+ command in a terminal (console) window
         (exactly the same method as shown above for standard
         \LaTeX{}). \product{Emacs} does not have a
         default menu configured for
         \product{pdflatex}.
\subsection{Running \sfLaTeX{} from a command window}
\label{cmdwin}

This is worth practising even if you normally use a
         graphical access system, so that you understand what it does.
\begin{exercise}
\label{terminal}
\addcontentsline{loe}{section}{\numberline{10}Running \sfLaTeX{} in a terminal or console window}
\subsubsection*{Running \sfLaTeX{} in a terminal or console window}\begin{itemize}
\item
If you are using a non-graphical system, then by
             definition you are already using a command-line terminal
             or console.

\item
Under Linux or Unix (X Window systems such as KDE,
               Gnome, OpenWindows, CDE, etc.) you open a command (shell)
               window by clicking on the shell or screen icon in the
               control panel at the bottom of your screen.

\item
Under Microsoft Windows you open a command window
               by clicking on the
               \menuitem{Start}{Programs}[MS-DOS]
               or
               \menuitem{Start}{Command Prompt}
               menu item.

\end{itemize}

When the command window appears, type
\begin{sourcecode}\begin{Verbatim}[fontsize=\small,commandchars=\\\{\}]
cd {\textit\uline{documents}}
latex {\textit\uline{mybook}}\end{Verbatim}
\end{sourcecode}

Substitute the name of your document directory
           (folder) for \url+documents+ in the
           \verb+cd+ command, and your document filename
           for \url+mybook+ in the
           \verb+latex+ command. Remember to press the
           \key{Enter} key at the end of each line.

You can run \product{pdflatex} in the
           same way by typing \verb+pdflatex+ instead of
           \verb+latex+.
\end{exercise}
\begin{center}
\includegraphics[width=0.75\textwidth]{terminal}
\end{center}
\section{Error messages}
\label{errmsg}

Most error messages are self-explanatory, but because some
       errors can only be righted by humans who can read and
       understand what it's supposed to mean, they don't
       get spotted by \LaTeX{} until much later, leading to several
       messages in a row.

Only a few common error messages are given here: those
       most likely to be encountered by beginners. If you find
       another error message, and it's not clear what you should
       do, ask for help.

Fortunately it's usually easy to find \LaTeX{} errors,
       as the layout of an error message is always the same.
       Error messages begin with an exclamation mark at the start of
       the line in the log, and give a description of the error,
       followed by a line starting with the line number in your
       document file where the error was spotted.

Newcomers should remember to check the list of special
       characters in  (\S\thinspace\ref{specials}): a very large
       number of errors when you are learning \LaTeX{} are due to
       accidentally typing a special character when you didn't mean
       to. This disappears after a few days as you get used to
       them.
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
! Too many }'s.
l.6 \date December 2004}
       \end{Verbatim}
\end{sourcecode}

In the example above, the reason \LaTeX{} thinks there
       are too many
         \verb+}+'s is that the opening curly brace
       after \command{date} and before the word
         \verb+December+ is missing, so the closing curly
       brace is seen as one too many (which it is!).\footnote{In fact, there are other things which can follow the
           \command{date} command apart from a date in curly
           braces, so \LaTeX{} cannot possibly guess that you've
           missed out the opening curly brace\mdash{}until it finds a
           closing one!}
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
! Undefined control sequence.
l.6 \dtae
        {December 2004}
       \end{Verbatim}
\end{sourcecode}

In this second example, \LaTeX{} is complaining that it
         has no such command (`control sequence') as
         \verb+\dtae+ (it's been mistyped, but only a
         human can detect that fact: all \LaTeX{} knows is that
         it's undefined).
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
Runaway argument?
{December 2004 \maketitle
! Paragraph ended before \date was complete.
<to be read again>
                  \par
l.8
       \end{Verbatim}
\end{sourcecode}

In this final example of an error, the closing curly
         brace has been omitted from the date, resulting in
         \command{maketitle} trying to format the title page
         while \LaTeX{} is still expecting more text for the date! As
         \command{maketitle} creates new paragraphs on the
         title page, this is detected and \LaTeX{} complains that the
         previous paragraph has ended but \command{date} is
         not yet finished.

I'll repeat the advice from earlier: if you find an
       error message you can't understand, ask for help.  See
       the section on online help (\S\thinspace\ref{help}) for details.
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
Underfull \hbox (badness 1394) in paragraph at lines 28--30
[][]\LY1/brm/b/n/10 Bull, RJ: \LY1/brm/m/n/10 Ac-count-ing in Busi-
[94]
     \end{Verbatim}
\end{sourcecode}

In this example of a warning, \LaTeX{} cannot stretch the
     line wide enough without making the spacing bigger than its
     currently permitted maximum. The badness (0\ndash{}10,000)
     indicates how severe this is (here you can probably ignore it).
     It says what lines of your file it was typesetting when it found
     this, and the number in square brackets is the number of the
     page onto which the offending line was printed.

The codes separated by slashes are the typeface and font
     style and size used in the line. Ignore them for the moment:
       details are in step~\ref{fdfiles} in the procedure on p.\thinspace\pageref{fdfiles}.
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
[101]
Overfull \hbox (9.11617pt too wide) in paragraph at lines 860--861
[]\LY1/brm/m/n/10 Windows, \LY1/brm/m/it/10 see \LY1/brm/m/n/10 X Win-
     \end{Verbatim}
\end{sourcecode}

Last of all, the opposite warning: this line is too long
       by a shade over 9pt. The chosen hyphenation point which
       minimises the error is shown at the end of the line
       (\emph{Win-}). Line numbers and page numbers are
       given as before. In this case, 9pt is too much to ignore, and
       a manual correction needs making, or the flexibility settings
       need changing (outside the scope of this booklet).
\section{Screen preview}
\label{dvi}
\index{preview}
Once the file has been processed without errors (or even
       if there are still errors, but you want to see what it's
       doing with them), standard \LaTeX{} will have created a
       DVI\index{DVI@DVI} file with the same name as your
       document but the filetype
       \verb+.dvi+. If you're using
       \product{pdflatex}, a PDF\index{PDF@PDF} file will have been created, and you
       can skip to
     \S\thinspace\ref{pdfview}.
\subsection{Previewing DVI output}
\label{dviview}

To see the typeset output, click on the
         \menuitem{TeX}{TeX View}
         menu item in \product{Emacs} or the
         \guiicon{dvi} Preview toolbar icon in
         \product{WinEdt}. A What You See Is What You Get�(WYSIWYG)\index{WYSIWYG@WYSIWYG|textbf}\index{Acronyms@\textbf{Acronyms}, defined!WYSIWYG@WYSIWYG|textbf}
         preview window will appear with your typeset display.
\begin{center}
\includegraphics[width=0.75\textwidth]{xdvi}
\end{center}

Most previewers have a wide range of scaling, zooming,
         and measuring functions, but remember this is a
         \emph{picture} of your output: you cannot edit
         the image. To change it, you always edit your source text and
         reprocess.

With \product{xdvi} and its derivatives
         like \product{dviview}, you can leave the
         display window open, and after you've reprocessed your
         document through \LaTeX{}, moving your mouse back into the
         window will make the display update automatically (click
         your mouse if you have your windowing system set to need a
         click to focus).
\begin{sidebar}
The very first time you display your DVI\index{DVI@DVI} output with a new installation of
           \TeX{}, there may be a short pause if the previewer needs
           to create the special bitmaps used for screen previews of
           some fonts. These give greater accuracy on low-resolution
           devices like screens. As you continue to work with \LaTeX{}
           and your system accumulates these font files, the pause
           for generating them will disappear.
\end{sidebar}\subsection{Previewing with PDF}
\label{pdfview}

If you have configured your system to generate PDF\index{PDF@PDF} files direct instead of
         DVI\index{DVI@DVI}
         files, just open the \url+.pdf+ file using
         any PDF\index{PDF@PDF} viewer or
           browser.

It is possible to configure
         \product{WinEdt} to display a toolbar icon
         which will pop up \product{Acrobat Reader}
         or some other browser with the current PDF\index{PDF@PDF} output file.

Adobe's \product{Acrobat Reader}
           cannot automatically update the view if you reprocess your
         document through \product{pdflatex}. You
         have to close the display with \key{Ctrl}--\key{W}~ and reload the file with \key{Alt}--\key{1}~.
\begin{warning}
\subsubsection*{Bitmap fonts}
Acrobat Reader is extremely poor at rendering Type3
           bitmap fonts. If you are using these (mostly old \LaTeX{}
           installations who have not upgraded to Type1), you will
           see very fuzzy display at low magnifications. It will
           print perfectly, but Acrobat Reader's display is
           disappointing. The solution is to use a better viewer or
           to install and upgrade to the Type1 versions of the CM
           fonts (see \S\thinspace\ref{type1cm}), or both, but there
           remain a few useful fonts which are still only available
           in Type3 format. If you need to use them, you probably
           need to warn your readers to expect a fuzzy display from
           Acrobat Reader (but good printout), and to change to a
           better reader if they can.
\end{warning}
\subsection{Previewing with PostScript}
\label{makeps}

PostScript\index{PostScript} is a page description
         language invented by Adobe and used in laser printers and
         high-end typesetters. It's been the universal standard
         for electronically-formatted print files for over a decade,
         and all printers and publishers are accustomed to using
         them. PDF\index{PDF@PDF}, a descendant of
         PostScript, is rapidly taking over, but
         PostScript\index{PostScript} itself is still extremely
         common, largely because it is very robust, and is usually an
         ASCII\index{ASCII@ASCII} file, which makes it very
         portable and easy to generate. The drawback is the large
         size of PostScript\index{PostScript} files, especially
         if they contain bitmapped graphics.

The \product{dvips} program which comes
         with all \TeX{} systems is used to generate
         PostScript\index{PostScript} files directly from your
         DVI\index{DVI@DVI} output. These
         \url+.ps+ files can be viewed, printed, or
         sent to a platemaker or filmsetter.

An alternative to viewing the DVI file direct is
         therefore to generate a PostScript\index{PostScript} file, especially if
         you're going to have to do this for your publisher
         anyway, and many editors can be configured to do this by
         default. Look for a \guiicon{dvips} toolbar icon or
         menu entry and click on it.

It's very simple to do manually anyway: let's
         assume your \LaTeX{} file was called
         \url+mydoc.tex+, so processing it has created
         \url+mydoc.dvi+. Just type:
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
dvips -o mydoc.ps mydoc
       \end{Verbatim}
\end{sourcecode}

\noindent in a command window (see Exercise~\ref{terminal} on
         p.\thinspace\pageref{terminal} for how to get one)
         and \product{dvips} will create
         \url+mydoc.ps+ which can be used both for
         previewing and printing.

To view a PostScript\index{PostScript} file, you
         need a PostScript\index{PostScript} previewer like
         \product{GSview}, which works with the
         PostScript\index{PostScript} interpreter
         \product{Ghostscript}, which should have
         been installed along with your whole \TeX{} system (if not,
         install both now: \product{GSview} is
         separately licensed and cannot be included in the \TeX{} Live
         distribution, so you have to download it yourself).

\product{GSview} can be set to watch
         the PostScript\index{PostScript} file and automatically
         update the display any time the file is changed, without you
         even having to click on the window.
\section{Printer output}
\label{print}
\index{printing}
\TeX{} systems print on almost anything from the simplest
       dot-matrix printers to the biggest phototypesetters, including
       all the laser printers and a host of other devices in between.
       \emph{How} you do it varies slightly according
       to how you do your typesetting and previewing:
\begin{description}
\item[\sffamily If you are using PDF]
you can print directly from your PDF\index{PDF@PDF} viewer
             (e.g.�\product{PDFview},
             \product{Acrobat Reader}, etc.).  Be
             careful never to click on the `Fit to page'
             option in your viewer, as it will change the size of
             your document so all your measurements become
             wrong.
\item[\sffamily If you are using DVI]
and you have a previewer which has a
             \textbf{print} function configured for your
             printer, you can use that. If not, create a PostScript\index{PostScript}
             file and use that (see below).
\item[\sffamily If you are using PostScript\index{PostScript}]
use the \textbf{print} function in
             \product{GSview}.
\item[\sffamily If you have a real PostScript\index{PostScript}
           printer]
or you are using a system with built-in
             PostScript\index{PostScript} printing support (such
             as Linux), you can create and send
             PostScript\index{PostScript} output directly from
             \product{dvips} to the printer without
             the need to open it in a previewer first. In
             \product{Emacs}, for example, this is
             what happens when you use the
             \menuitem{\TeX{}}{\TeX{}
               Print} menu item.
\item[\sffamily Non-PostScript\index{PostScript} printers]
You can create a PostScript\index{PostScript}
             file with \product{dvips} (see \S\thinspace\ref{makeps}) and use
             \product{GSview} to print it
             (\product{GSview} can print
             PostScript\index{PostScript} files to almost any
             make or model of non-PostScript\index{PostScript}
             printer);


\item[\sffamily Or, if you want a
           non-PostScript\index{PostScript}/Ghostscript
           solution]
install or configure a \TeX{} print driver for your
             printer (as supplied with your \TeX{} installation, and
             there are dozens on CTAN\index{CTAN@CTAN}: their names all start
             with \url+dvi+ and are followed by an
             abbreviation for the printer make or model like
             \product{dvieps} for Epson,
             \product{dvihp} for Hewlett-Packard,
             \product{dvialw} for Apple
             LaserWriters, etc.). Configure the
             driver to print directly to the print queue, or pipe it
             to the print queue manually. On Linux with an HP printer,
             for example, this would be
\begin{sourcecode}[\leftmargin]\begin{Verbatim}[fontsize=\small]
dvihp mydoc | lpr
           \end{Verbatim}
\end{sourcecode}

Microsoft Windows has no easy way to bypass the
             print spool, but you can do it from an MS-DOS command window
             with
\begin{sourcecode}[\leftmargin]\begin{Verbatim}[fontsize=\small]
dvihp mydoc -o mydoc.hp
print /b mydoc.hp
           \end{Verbatim}
\end{sourcecode}

Read the documentation for the driver, as the
           options and defaults vary.
\end{description}

Both the \product{dvips} program and all
       the previewers that print tend to have facilities for printing
       selected pages, printing in reverse, scaling the page size,
       \index{page size!scaling}\index{printing!reverse order}\index{printing!selected pages} and printing only odd or even pages for two-sided
       work. If you are using PostScript\index{PostScript} there
       are programs for manipulating the output, for example to
       perform page imposition to get 4, 8, or 16 pages to a sheet
       for making booklets.
\begin{exercise}
\addcontentsline{loe}{section}{\numberline{11}Print it!}
\subsubsection*{Print it!}
Show that you have understood the process of
         typesetting, previewing, and printing, by displaying your
         document and printing it.
\end{exercise}
\chapter[CTAN, packages, and online help]{CTAN, packages, and \\online help}
\label{ctan}

The Comprehensive \TeX{} Archive
       Network�(CTAN)\index{CTAN@CTAN|textbf}\index{Acronyms@\textbf{Acronyms}, defined!CTAN@CTAN|textbf} is a repository or collection of Web and
   FTP\index{FTP@FTP}
     servers worldwide which contain copies of almost every free
     piece of software related to \TeX{} and \LaTeX{}. CTAN\index{CTAN@CTAN} is rooted at \url+http://www.ctan.org/+ and there are several
     online indexes. There are complete \TeX{} and \LaTeX{} systems for
     all platforms, utilities for text and graphics processing,
     conversion programs into and out of \LaTeX{}, extra typefaces,
     and (possibly the most important) the \LaTeX{}
     \textbf{\textit{packages}}\index{packages@\textbf{\textit{packages}}}.
\begin{sidebar}
CTAN\index{CTAN@CTAN} should
       \emph{always} be your first port of call when
       looking for a software update or a feature you want to use.
       Please don't ask the network help
         resources (\S\thinspace\ref{help}) until you have checked CTAN\index{CTAN@CTAN} and FAQ\index{FAQ@FAQ} first.
\end{sidebar}\section{Packages}
\label{packages}
\index{packages!using}
Add-on features for \LaTeX{} are known as
       `packages'. Dozens of these are
       pre-installed with \LaTeX{} and can be used in your documents
       immediately. To find out what packages are available, you
       should use the CTAN\index{CTAN@CTAN} search page\footnote{\url+http://www.ctan.org/search+} which includes a
       link to Graham Williams' comprehensive package
       catalogue.

When you try to typeset a document which requires a
       package which is not installed on your system, \LaTeX{} will
       warn you with an error message and you can then download the
       package and install it using the instructions in \S\thinspace\ref{pkginst}. You can also download updates to
       packages you already have (ones that were installed along with
       your version of \LaTeX{} as well as ones you added).

There is no theoretical limit to the number of packages
       you can have installed (apart from the size of your disk), but
       there is probably a physical limit to the number that can be
       used inside any one \LaTeX{} document at the same time,
       although it depends on how big each package is. In practice
       there is no problem in having even a couple of dozen packages
       active.
\subsection{Using an existing package}
\label{colorpkg}

To use a package already installed on your system,
         insert a \command{usepackage} command in your
         document preamble with the package name in curly braces.
         For example, to use the \package{color}
         package, which lets you typeset in colours (I warned you
         this was coming!):
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\documentclass[11pt,a4paper,oneside]{report}
\usepackage{color}
\begin{document}

\title{Practical Typesetting}
\author{Peter Flynn\\Silmaril Consultants}
\date{December 2004}
\maketitle

\end{document}
       \end{Verbatim}
\end{sourcecode}

You can include several package names in one
         \command{usepackage} command by separating the
         names with commas, and you can have more than one
         \command{usepackage} command. However, if a
         package needs optional settings in square brackets, you
         \emph{have} to give it its own
         \command{usepackage} command, like
         \package{geometry} shown here.
\begin{sourcecode}\label{oldtitle}\begin{Verbatim}[fontsize=\small]
\documentclass[11pt,a4paper,oneside]{report}
\usepackage{pslatex,palatino,avant,graphicx,color}
\usepackage[margin=2cm]{geometry}
\begin{document}

\title{\color{red}Practical Typesetting}
\author{\color{blue}Peter Flynn\\Silmaril Consultants}
\date{\color{green}December 2004}
\maketitle

\end{document}
       \end{Verbatim}
\end{sourcecode}

This is a simple way to do colours in titling on a
         once-off basis: if it's for a repeatable style
         we'll see in \chaptername~\ref{macros} how it can be
         automated and kept out of the author's way.

Many packages can have additional formatting
         specifications in optional arguments in square brackets, in
         the same way as the \command{documentclass} command
         does. Read the documentation for the package concerned to
         find out what can be done.
\begin{exercise}
\label{geoex}
\addcontentsline{loe}{section}{\numberline{12}Add colour}
\subsubsection*{Add colour}
Use the \package{color} package to add
           some colour to your document. Use the
           \package{geometry} package to change the
           margins.

Print your document if you have a colour printer
           (monochrome printers should print it in shades of
           grey).
\end{exercise}
\subsection{Package documentation}
\label{packagedoc}
\index{packages!documentation}
To find out what commands a package provides (and thus
         how to use it), you need to read the documentation. In the
         \url+texmf/doc+ subdirectory of your
         installation there should be directories full of
         \url+.dvi+ files, one for every package
         installed. These can be previewed or printed like any other
         DVI\index{DVI@DVI} file (see
         \S\thinspace\ref{dviview}). If your installation procedure
         has not installed the documentation, it can all be
         downloaded from CTAN\index{CTAN@CTAN}
         anyway.

Before using a package, you should read the
         documentation carefully, especially the subsection usually
         called `User Interface', which
         describes the commands the package makes available. You
         cannot just guess and hope it will work: you have to read it
         and find out.

See the next section for details of how to create the
         documentation \url+.dvi+ file for additional
         packages you install yourself.
\begin{exercise}
\addcontentsline{loe}{section}{\numberline{13}Read all about it}
\subsubsection*{Read all about it}
Find and view (or print) the documentation on the
           \package{geometry} package you used in
         Exercise~\ref{geoex}.

Investigate one of the other package documentation
         files in the directory.
\end{exercise}
\section{Downloading and installing packages}
\label{pkginst}
\index{packages!downloading}\index{packages!installing}
Once you have identified a package you need and
       haven't already got (or you have got it and need to
       update it), use the indexes on any CTAN\index{CTAN@CTAN} server to find the directory
       where the package lives.

What you need to look for is always \emph{two
         files}, one ending in \url+.dtx+
       and the other in \url+.ins+. The first is a
       DOC\TeX{} file, which combines the package code and its
       documentation in a single file. The second is the installation
       routine (much smaller). You \emph{must always}
       download \emph{both} files.

If the two files are not there, it means the package is
       part of a much larger bundle which you don't normally
       update unless you change version of \LaTeX{}. For example,
       there is no \url+color.dtx+ and
       \url+color.ins+ for the
       \package{color} package because it forms part
       of the \package{graphics} bundle. Such packages
       change very rarely, as they form part of the core of \LaTeX{}
       and are very stable. In general you should not try to update
       these packages in isolation.

Some rare or unusual packages are still supplied as a
       single \url+.sty+ file intended for the now
       obsolete \LaTeX{}\thinspace{}2.09.  You can try to use these if you
       wish but they are not guaranteed to work, and have now almost
       all been replaced by \LaTeXe{} versions. Always look for the
       \url+.dtx+ and \url+.ins+ pair
       of files first.

\label{packinst}%
Download both files to a
       \textbf{\textit{temporary directory}}\index{temporary directory@\textbf{\textit{temporary directory}}}. Keep
       something like \url+C:\tmp+ for this in
       Windows; Linux systems already have a
       \url+/tmp+ directory. There are four steps to
       installing a \LaTeX{} package:
\index{packages!installing}\begin{enumerate}
\item \textbf{Extract the files}\\\label{extract}%
Run \LaTeX{} on the \url+.ins+ file.
           That is, open the file in your editor and process it as if
           it were a \LaTeX{} document, or if you prefer, type
           \verb+latex+ followed by the
           \url+.ins+ filename in a command window in
           the temporary directory.

This will extract all the files needed from the
           \url+.dtx+ file (which is why you must have
           both of them present in the temporary directory). Note
           down or print the names of the files created if there are
           a lot of them (read the log file if you want to see their
           names again).
\item \textbf{Create the documentation}\\\label{dtxdoc}%
Run \LaTeX{} on the \url+.dtx+ file
           twice. This will create a \url+.dvi+ file
           of documentation explaining what the package is for and
           how to use it. Two passes through \LaTeX{} are needed in
           order to resolve any internal crossreferences in the text
           (a feature we'll come onto later). If you prefer to
           create PDF\index{PDF@PDF} then run
           \product{pdflatex} instead. View or print
           this file in the usual manner (see \S\thinspace\ref{dvi}�\emph{et
             seq}.).
\item \textbf{Install the files}\\
While the documentation is printing, move or copy the
           files created in step~\ref{extract}
           from your temporary directory to the correct place[s] in
           your \TeX{} installation directory tree. In an installation
           that conforms to the \TeX{} Directory
             Structure�(TDS)\index{TDS@TDS|textbf}\index{Acronyms@\textbf{Acronyms}, defined!TDS@TDS|textbf}, this would be suitably-named
           subdirectories of
           \url+texmf-local/tex/latex/+. See the panel `Replicating the TDS' on p.\pageref{rightplace} for how to create a parallel
           structure in your local directory, and the table on p.\thinspace\pageref{where} for where `the right place'
           is.

Often there is just a \url+.sty+
           file to move but in the case of complex packages there may
           be more, and they may belong in different locations. For
           example, new BIB\TeX{} packages or font packages will
         typically have several files to install.
\begin{center}
\label{where}
\begin{tabular}{l>{\ttfamily}l>{\pbs{\raggedright}\footnotesize}p{1.5in}}\textbf{\normalfont\bfseries\upshape Type}&\textbf{\normalfont\bfseries\upshape Directory (under
                   \url+texmf-local/+)}&\textbf{\normalfont\bfseries\upshape Comments}\\[2pt]\hline\\[-.95\baselineskip]
\url+.cls+&tex/latex/base&Document class file\\
\url+.sty+&tex/latex/{\textit\uline{packagename}}&Style file: the normal package
                   content\\
\url+.bst+&bibtex/bst&BIB\TeX{} style\\
\url+.mf+&fonts/source/public/{\textit\uline{fontname}}&\mf{} font outline\\
\url+.fd+&tex/latex/mfnfss&Font Definition files for \mf{} fonts
                   only\\
\url+.fd+&tex/latex/psnfss&Font Definition files for PostScript
                   Type�1 fonts only\\
\url+.pfb+&/fonts/type1/{\textit\uline{foundry}}/{\textit\uline{fontname}}&PostScript Type�1 font outline\\
\url+.afm+&/fonts/afm/{\textit\uline{foundry}}/{\textit\uline{fontname}}&Adobe font metrics for PostScript Type�1
                   fonts\\
\url+.tfm+&/fonts/tfm/{\textit\uline{foundry}}/{\textit\uline{fontname}}&\TeX{} font metrics for \mf{} and
                   PostScript Type�1 fonts\\
\url+.vf+&/fonts/vf/{\textit\uline{foundry}}/{\textit\uline{fontname}}&\TeX{} virtual fonts\\
\url+.pdf+,
                   \url+.dvi+&/doc&package documentation\\
others&tex/latex/{\textit\uline{packagename}}&other types of file unless instructed
                   otherwise\\
\end{tabular}
\end{center}

For BIB\TeX{} styles, the \LaTeX{}
           \url+.sty+ files belong in
           \url+texmf-local/tex/latex/...+ (called
           after the package) but the \url+.bst+ file
           belongs in
           \url+texmf-local/bibtex/bst+.

Don't forget to move the \url+.dvi+
           or \url+.pdf+ file of documentation into
           \url+texmf-local/doc+.

If there are configuration or other files, read the
           documentation to find out if there is a special or
           preferred location to move them to.
\item \textbf{Update your index}\\\label{texindex}%\index{packages!indexing}
Finally, run your \TeX{} indexer program to update the
           package database. This program comes with every modern
           version of \TeX{} and is variously called
           \product{texhash},
           \product{mktexlsr}, or even
           \product{configure}, or it might just be a
           mouse click on a button or menu in your editor. Read the
           documentation that came with your installation to find out
           which it is.
\end{enumerate}
\begin{warning}

This last step is \emph{utterly essential},
             otherwise nothing will work.
\end{warning}

The reason this process has not been automated widely is
       that there are still thousands of installations which do not
       conform to the TDS\index{TDS@TDS}, such as old
       shared Unix systems or very old, small-scale PC systems, so there
       is no way for an installation program to guess where to put
       the files: \emph{you} have to know this. There
       are many more systems where the owner, user, or installer has
       chosen \emph{not} to follow the recommended
       TDS\index{TDS@TDS} directory structure, or is
       unable to do so for security reasons (such as a shared system
       where she cannot write to a protected directory).

The reason for having the \url+texmf-local+
       directory (called \url+texmf.local+ on some
       systems) is to provide a place for local modifications or
       personal updates if you are a user on a shared system (Unix,
       Linux, VMS, Windows NT/2000/XP, etc.) where you do not have
       write-access to the main \TeX{} installation directory tree.
       You can also have a personal \url+texmf+
       subdirectory in your own login directory. Your installation
       must be configured to look in these directories first,
       however, so that any updates to standard packages will be
       found there \emph{before} the superseded copies
       in the main \url+texmf+ tree. All modern \TeX{}
       installations should do this anyway, but if not, you can edit
       \url+texmf/web2c/texmf.cnf+ yourself. There is
       an example in Appendix~\ref{cnf}.
\begin{exercise}
\label{insttest}
\addcontentsline{loe}{section}{\numberline{14}Install a package}
\subsubsection*{Install a package}
Download and install the
       \package{paralist} package (which implements
       inline lists).
\end{exercise}
\begin{sidebar}\label{rightplace}
\subsection*{Replicating the TDS}
I find it useful to make the directory structure of
         \url+texmf-local+ the same as that of
         \url+texmf+. Examine the subdirectories of
         \url+texmf/tex/latex/+ for examples. For
         updates of packages which came with your \LaTeX{}
         distribution (as distinct from new ones you are adding
         yourself), you can then use the same subdirectory name and
         position in \url+texmf-local/...+ as the
         original used in \url+texmf/...+.

If you want to create the entire subdirectory structure
         ready for use, you can do it under Unix with the following
         command:
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
cd /usr/TeX/texmf; find . -type d -exec mkdir -p \
/usr/TeX/texmf-local/{} \;
       \end{Verbatim}
\end{sourcecode}

If you are using Microsoft Windows, you can download
         \product{Cygwin}, which provides
         you with the standard Unix tools in a shell window. The
         above command should also work on a Mac running OS\thinspace{}X. In all
         cases, if your installation directory is not
         \url+/usr/TeX+, you need to substitute the
         actual paths to your \url+texmf+ and
         \url+texmf-local+ directories.
\end{sidebar}\section{Online help}
\label{help}
\index{help}
The indexes and documentation files on CTAN\index{CTAN@CTAN} are the primary online resource
       for self-help and you should read these carefully before
       asking questions. You should most especially read the
       Frequently-Asked
         Questions�(FAQ)\index{FAQ@FAQ|textbf}\index{Acronyms@\textbf{Acronyms}, defined!FAQ@FAQ|textbf} document so that you avoid wasting online time
       asking about things for which there is already an
       easily-accessible answer. The FAQ\index{FAQ@FAQ} is at \url+http://www.tex.ac.uk/faq/+\thinspace{}.

The Usenet newsgroup \url+comp.text.tex+ is the principal forum for questions
       and answers about \LaTeX{}. Feel free to ask questions, but
       please do not ask FAQ\index{FAQ@FAQ}s: read the
       documentation instead. People who answer the questions do so
       voluntarily, unpaid, and in their own time, so don't treat
       this as a commercial support service. To access Usenet news,
       type the following URI\index{URI@URI} into your browser's
       `Location' or
       `Address' window:
       \verb+news:comp.text.tex+ (if your browser
       doesn't support Usenet news properly, change it for one that
       does, like \product{Mozilla}\footnote{\url+http://www.mozilla.org/+}).

Another support resource is the mailing list \[email protected]+. Again, feel free to ask
       questions, but again, try to answer the question yourself
       first (and say what you've tried in your message).

The \TeX{} Users Group, as well as most local user groups,
       maintains a web site (\url+http://tug.org+)
       with lots of information about various aspects of the \TeX{}
       system.  See Appendix~\ref{tugform}
       for information on joining TUG.

If you need commercial levels of support, such as
       24-hour phone contact, or macro-writing services, you
       can buy one of the several excellent commercial versions of
       \TeX{}, or contact a consultancy which deals with \TeX{}
       (details on the TUG Web site).

Remember: check the FAQ\index{FAQ@FAQ} first!
\chapter{Other document structures}
\label{otherdoc}

It is actually quite possible to write whole documents using
     nothing but section headings and paragraphs. As mentioned in
   \S\thinspace\ref{sections}, novels, for
     example, usually consist just of chapters divided into
     paragraphs. More commonly, however, you need other features as
     well, especially if the document is technical in nature or
     complex in structure.

It's worth pointing out that
     `technical' doesn't necessarily mean
     `computer technical' or
     `engineering technical': it just means it
     contains a lot of $\tau\eta\chi\nu\epsilon$~(\emph{tekne}), the
     specialist material or artistry of its field. A literary
     analysis such as \titlecite{macnamara} (on the
     marginal notes in the manuscripts of \authorof{bovary}'s \titlecite{bovary} manuscripts) is every bit as
     technical in the literary or linguistic field as the maintenance
     manual for an Airbus 300D is in the aircraft engineering
     field.

This chapter covers the most common features needed in
     writing structured documents: lists, tables, figures (including
     images), sidebars like boxes and panels, and verbatim text
     (computer program listings). In \chaptername~\ref{texttools} we
     will cover footnotes, cross-references, citations, and other
     textual tools.
\section{A brief note on structure}
\label{briefstruct}

It's very easy to sit down at a keyboard with a
       traditional wordprocessor and just start typing. If it's
       a very short document, or something transient or relatively
       unimportant, then you just want to type it in and make it look
       `right' by highlighting with the mouse
       and clicking on font styles and sizes.

In doing so, you may achieve the effect you wanted, but
       your actions have left no trace behind of
       \emph{why} you made these changes. As I said,
       this is unimportant for trivial or short-term documents, but
       if you write longer or more complex documents, or if you often
       write documents to a regular pattern, then making them
       consistent by manual methods becomes a nightmare.
       \LaTeX{}'s facilities for automation are based on you
       providing this `why' information.

If you can tick any of the features below about your
       documents, then you have already started thinking about
       structure.
\begin{itemize}
\renewcommand{\labelitemi}{\raisebox{-.25ex}{\Square}}
\item
The document naturally divides into sections (parts,
           chapters, etc.).

\item
The document is long.

\item
There is lots of repetitive formatting in the
           document.

\item
The document is complex (intellectually or
           visually).

\item
There are lots of figures or tables (or examples,
           exercises, panels, sidebars, etc.).

\item
Accuracy is important in formatting the
           document.

\item
A master copy is needed for future reference or reprinting.

\item
This is a formal or official document needing special
           care and attention.

\item
It's \emph{my} thesis, book,
           leaflet, pamphlet, paper, article,
           etc. \emph{That}'s why I care.

\item
The document (or part of it) may need ongoing or
           occasional re-editing and republishing.

\end{itemize}

If you've got that far, you're over
     half-way done. Using a structural editor\mdash{}even a simple
     outliner\mdash{}can make a huge difference to the quality of your
     thinking because you are consciously organising your thoughts
     before setting them down. And it can make just as big a
     difference to your formatting as well: more consistent, better
     presented, easier for the reader to navigate through, and more
     likely to be read and understood\mdash{}which is presumably why
     you are writing the document in the first place.
\section{Lists}
\label{lists}
\index{lists}
Lists are useful tools for arranging thoughts in a
       digestible format, usually a small piece of information at a
       time. There are four basic types of list:
\begin{center}
\begin{tabular}{>{\pbs{\raggedright}}p{0.4\columnwidth}>{\pbs{\raggedright}}p{0.4\columnwidth}}\begin{description}\item[\sffamily Random or arbitrary lists](sometimes called
                   `itemized' or
                   `bulleted' lists) where the
                   order of items is irrelevant or unimportant. The
                   items are often prefixed with a bullet or other
                   symbol for clarity or decoration, but are
                   sometimes simply left blank, looking like
                   miniature paragraphs (when they are known as
                   `simple' or
                   `trivial' lists).\end{description}&\begin{description}\item[\sffamily Enumerated or sequential lists]where the order of items is critical, such as
                   sequences of instructions or rankings of
                   importance. The enumeration can be numeric (Arabic
                   or Roman), or lettered (uppercase or lowercase),
                   and can even be programmed to be
                   hierarchical (1.a.viii, 2.3.6, etc.).\end{description}\\
\begin{description}\item[\sffamily Descriptive or labelled lists](sometimes called
                   `discussion' lists), which
                   are composed of subheadings or topic labels
                   (usually unnumbered but typographically distinct),
                   each followed by one or more indented paragraphs
                   of discussion or explanation.\end{description}&\begin{description}\item[\sffamily Inline lists]which are sequential in nature, just like
                 enumerated lists, but are
                 \begin{inparaenum}[\itshape a\upshape)] \item formatted \emph{within}
                         their paragraph;  and \item usually labelled with letters,\end{inparaenum}�like this example. The items are
                   often Boolean, with the final item prefixed by
                   `and' or
                   `or'.\end{description}\\
\end{tabular}
\end{center}

There are actually two other types, segmented lists and
       reference lists, but these are much rarer.
\index{environment}
The structure of lists in \LaTeX{} is identical for each
       type, but with a different environment name. Lists are another
       example of this \LaTeX{} technique
       (environments),
       where a pair of matched commands surrounds some text which
       needs special treatment.

Within a list environment, list items are always
       identified by the command \command{item} (followed by
       an item label in [square brackets] in the case of labelled
       lists). You don't type the bullet or the number or the
       formatting, it's all automated.
\subsection{Itemized lists}
\index{lists!itemized}\index{lists!bulleted}
To create an itemized list, use the the
         \env{itemize} environment:
\begin{example}
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\begin{itemize}

\item Itemized lists usually have a bullet;

\item Long items use `hanging indentation', whereby the
text is wrapped with a margin which brings it clear of
the bullet used in the first line of each item;

\item The bullet can be changed for any other symbol, for
example from the \textsf{bbding} or \textsf{pifont} package.

\end{itemize}
       \end{Verbatim}
\end{sourcecode}
\begin{itemize}
\label{labelitem}
\renewcommand{\labelitemi}{\raisebox{-.25ex}{\raisebox{-.25ex}{\PencilRight}}}
\item
Itemized lists usually have a bullet;

\item
Long items use `hanging
                 indentation', whereby the text is
               wrapped with a margin which brings it clear of the
               bullet used in the first line of each item;

\item
The bullet can be changed for any other symbol,
               for example from the \package{bbding}
               or \package{pifont} package.

\end{itemize}
\end{example}

See \S\thinspace\ref{bullets} for details of how to
         change the settings for list item bullets.
\subsection{Enumerated lists}
\index{lists!numbered}\index{lists!enumerated}
To create an enumerated list, use the
         \env{enumerate} environment:
\begin{example}
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\begin{enumerate}

\item Enumerated lists use numbering on each item;

\item Long items use `hanging indentation' just the same
as for itemized lists;

\item The numbering system can be changed for any level.

\end{enumerate}
       \end{Verbatim}
\end{sourcecode}
\begin{enumerate}\item
Enumerated lists use numbering on each
               item;

\item
Long items use `hanging
                 indentation', just the same as for
               itemized lists;

\item
The numbering system can be changed for any
               level.

\end{enumerate}
\end{example}

See \S\thinspace\ref{numberschemes} for details of how
         to change the numbering schemes for each level.
\subsection{Description lists}
\label{desc}
\index{lists!description}\index{lists!discussion}
To create a description list, use the
         \env{description} environment:
\begin{example}
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\begin{description}

\item[Identification:] description lists require a topic
for each item given in square brackets;

\item[Hanging indentation:] Long items use this in the
same way as all other lists;

\item[Reformatting:] Long topics can be reprogrammed to
fold onto multiple lines.

\end{description}
         \end{Verbatim}
\end{sourcecode}
\begin{description}
\item[\sffamily Identification:]
description lists require a topic for each item
                 given in square brackets;
\item[\sffamily Hanging indentation:]
Long items use this in the same way as all
                 other lists;
\item[\sffamily Reformatting:]
Long topics can be reprogrammed to fold onto
                 multiple lines.
\end{description}
\end{example}
\subsection{Inline lists}
\label{inlinelists}
\index{lists!inline}
Inline lists are a special case as they require the use
         of the \package{paralist} package and the
         \env{inparaenum} environment (with an
         optional formatting specification in square
         brackets):
\begin{example}
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\usepackage{paralist}
..
\textbf{\itshape Inline lists}, which are sequential in
nature, just like enumerated lists, but are
\begin{inparaenum}[{\itshape a})]
\item formatted within their paragraph
\item usually labelled with letters\end{inparaenum},
like this example. The items are often Boolean, with
the final item prefixed by `and' or `or'.
         \end{Verbatim}
\end{sourcecode}\leavevmode\enspace
\begin{quote}\noindent
\textbf{\textit{Inline lists}}\index{Inline lists@\textbf{\textit{Inline lists}}},
           which are sequential in nature, just like enumerated
           lists, but are \begin{inparaenum}[\itshape a\upshape)] \item formatted within their paragraph;  and \item usually labelled with letters\end{inparaenum}, like this example. The items are often
           Boolean, with the final item prefixed by
           `and' or
           `or'.\end{quote}\end{example}

See \chaptername~\ref{typo} for details of font-changing commands.
\begin{exercise}
\addcontentsline{loe}{section}{\numberline{15}List practice}
\subsubsection*{List practice}
Add some lists to your document. Pick any two of the
         ones described here to practise with.

If you successfully installed
           \package{paralist} in Exercise~\ref{insttest} then you can use inline lists as
           described in \S\thinspace\ref{inlinelists}.
\end{exercise}
\subsection{Reference lists and segmented lists}

Reference lists are visually indistinguishable from
         numbered or lettered lists, but the numbering or lettering
         does \emph{not} imply a sequence. The numbers
         or letters are just used as labels so that the items can be
         referred to from elsewhere in the text (as in `see
           item 501(c)3'). In this sense they are really a
         kind of sub-sectional division, and \LaTeX{}'s
         \command{paragraph} or
         \command{subparagraph} commands (with appropriate
         renumbering) would probably be a far better solution than
         using a list. Label them and refer to them with
         \command{label} and \command{ref} as for
         any other cross-reference (see \S\thinspace\ref{xrefs}).

Segmented lists are a highly specialised structure and
         outside the scope of this document. For details of their
         usage, see the the chapter `Segmentation and
           Alignment' in \titlecite{teiguide}.
\subsection{Lists within lists}
\label{numberschemes}

You can start a new list environment within the item of
         an existing list, so you can embed one list inside another
         up to four deep. The lists can be of any type, so you can
         have a description list containing an item in which there is
         a numbered sub-list, within which there is an item
         containing a bulleted sub-sub-list.

Multiple embedded lists automatically change the bullet
         or numbering scheme so that the levels don't get
         confused, and the spacing between levels is adjusted to
       become fractionally tighter for more deeply nested levels:
\begin{enumerate}\item
by default an outer enumerated list is numbered in
             Arabic numerals;
\begin{enumerate}\item
an embedded enumerated list is lettered in
                 lowercase;
\begin{enumerate}\item
a third level is numbered in lowercase Roman
                   numerals;
\begin{enumerate}\item
the fourth level uses uppercase
                       alphabetic letters.

\end{enumerate}

\end{enumerate}

\end{enumerate}

\end{enumerate}

But these are only defaults and can easily be changed by
         redefining the relevant set of values. You could also add a
         fifth and further levels, although I suspect that would mean
         your document structure needed some careful analysis, as
         lists embedded five deep will probably confuse your
         readers.

The values for lists come in pairs:\footnote{In fact, any time you define a counter in \LaTeX{},
             you automatically get a command to reproduce its value.
             So if you defined a new counter
             \counter{example} to use in a teaching book, by
             saying \url+\newcounter{example}+, that
             automatically makes available the command
             \url+\theexample+ for use when you want to
             display the current value of
             \counter{example}.} for each level there is a counter to count the
         items and a command to produce the label:
\begin{center}
\begin{tabular}{rcll}\textbf{\normalfont\bfseries\upshape Level}&\textbf{\normalfont\bfseries\upshape Default}&\textbf{\normalfont\bfseries\upshape Counter}&\textbf{\normalfont\bfseries\upshape Label command}\\[2pt]\hline\\[-.95\baselineskip]
1&digit.&\counter{enumi}&\command{theenumi}\\
2&(letter)&\counter{enumii}&\command{theenumii}\\
3&roman.&\counter{enumiii}&\command{theenumiii}\\
4&LETTER.&\counter{enumiv}&\command{theenumiv}\\
\end{tabular}
\end{center}

Note that each counter and command ends with the Roman
         numeral value of its level (this is to overcome the rule
         that \LaTeX{} commands can only be made of letters). To
         change the format of a numbered list item counter, just renew
         the meaning of its label:
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\renewcommand{\theenumi}{\alph{enumi}}
\renewcommand{\theenumii}{\roman{enumii}}
\renewcommand{\theenumiii}{\arabic{enumiii}}
       \end{Verbatim}
\end{sourcecode}

\noindent \label{thecounter}%
This would make the
         outermost list use uppercase letters, the second level use
         lowercase roman, and the third level use ordinary Arabic
         numerals. The fourth level would remain unaffected.
\begin{warning}
\subsubsection*{Lists: a caution to the unwary}
Treat lists with care: people sometimes use tables for
           labelled information which is really a list and would be
           better handled as such. They often do this because their
           wordprocessor has no way to do what they want (usually to
           place the item label level with the description or
           explanation) \emph{except} by using a table,
           hence they are misled into believing that their text is
           really a table when it's actually not.
\end{warning}
\begin{exercise}
\addcontentsline{loe}{section}{\numberline{16}Nesting}
\subsubsection*{Nesting}
Extend your use of lists by nesting one type inside a
         different one.
\end{exercise}
\section{Tables}
\label{tables}
\index{tables}
Tabular typesetting is the most complex and time-consuming
       of all textual features to get right. This holds true whether
       you are typing in plain-text form, using a wordprocessor, using
       \LaTeX{}, using HTML or XML, using a DTP system, or some other
       text-handling package. Fortunately, \LaTeX{} provides a table
       model with a mixture of defaults and configurability to let it
       produce very high quality tables with a minimum of
       effort.
\begin{warning}
\subsubsection*{Terminology}
\LaTeX{}, in common with standard typesetters' practice,
         uses the word `Table' to mean a
         formal textual feature, numbered and with a caption,
         referred to from the text (as in `See
           Table�5'). Sometimes you can get
         `informal' tables, which simply occur
         between two paragraphs, without caption or number.

The arrangement of information in rows and columns
         \emph{within} either of these structures is
         called a `tabulation' or
         `tabular matter'.

It is important to keep this distinction firmly in mind
         for this section.
\end{warning}
\subsection{Floats}
\label{floats}
\index{floats}
Tables and Figures are what printers refer to as
         `floats'. This means they are not
         part of the normal stream of text, but separate entities,
         positioned in a part of the page to themselves (top, middle,
         bottom, left, right, or wherever the designer specifies).
         They always have a caption describing them and they are
         always numbered so they can be referred to from elsewhere in
         the text.

\LaTeX{} automatically floats Tables and Figures,
         depending on how much space is left on the page at the point
         that they are processed. If there is not enough room on the
         current page, the float is moved to the top of the next
         page. This can be changed by moving the Table or Figure
         definition to an earlier or later point in the text, or by
         adjusting some of the parameters which control automatic
         floating.

Authors sometimes have too many floats occurring too
         soon after one another, without any thought for how they are
         supposed to fit on the page and still leave room for text.
         In this case, \LaTeX{} stacks them all up and prints them
         together if possible, or leaves them to the end of the
         chapter in protest. The skill is to space them out within
         your text so that they intrude neither on the thread of your
         argument or discussion, nor on the visual balance of the
         typeset pages. But this is a skill few authors have, and
         it's one point at which professional typographic advice
         may be needed.

There is a \env{float} package which lets
         you create new classes of floating object (perhaps Examples
         or Exercises).
\subsection{Formal tables}

To create a Table, use the \env{table}
         environment containing a \command{caption} command
         where you type the caption, and the \command{label}
         command to give the Table a label by which you can refer to
         it.
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\begin{table}
\caption{Project expenditure to year-end 2003}
\label{ye2003exp}
..
\end{table}
       \end{Verbatim}
\end{sourcecode}

Numbering is automatic, but the \command{label}
         command \emph{must follow} the
         \command{caption} command, not precede it. The
         numbering automatically includes the chapter number in
         document classes where this is appropriate (but this can of
         course be overridden). The \command{caption}
         command has an optional argument to provide a short caption
         if the full caption would be too long for the List of
         Figures:
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\caption[Something short]{Some very long caption that will
only look reasonable in the full figure.}
       \end{Verbatim}
\end{sourcecode}
\subsection{Tabular matter}

Within a Table, you can either typeset the tabular
         matter using \LaTeX{}, or include a table captured as an
         image from elsewhere.  We will see how to include images in
         the next section on Figures, where they are more
         common.

To typeset tabular matter, use the
         \env{tabular} environment. The
         \verb+\begin{tabular}+ command must be followed
         by a compulsory second argument in curly braces giving the
         alignment of the columns. These are specified for each
         column using one of single letters \verb+l+,
       \verb+c+, and \verb+r+ for
         left-aligned, centered, or right-aligned text, or the letter
         \verb+p+ followed by a width argument if you
         want a long entry to wrap to several lines (a miniature
         paragraph as a single cell).

\TeX{}'s original tabular settings were designed for
         classical numerical tabulations, where each cell contains a
         single value. The \verb+p+ specification allows
         a cell to be a miniature paragraph set to a specific width.
         These are \emph{not} multi-row entries, they
         are single cells which contain multiple lines of
         typesetting: the distinction is very important.
         Auto-adjusting cell sizes like you see in a Web browser (the
         `Netscape' table model) are possible
         with the \package{tabularx} package, but
         these are often inelegant in print, however convenient they
         may be in a Web browser.

The \package{array} package provides for
         many other typographic variations such as left-aligned,
         right-aligned, and centred multi-line columns, and  other
         packages provide decimal-aligned columns, the aforementioned
         row-spanning, multi-page, and rotated (landscape format)
         tables.

As an example, a tabular setting with three columns, the
         first one centered, the second left-aligned, and the third
         one right-aligned, would therefore be specified as
         \verb+{clr}+, as in the example below. Note the
         use of indentation to make the elements of the table clear
         for editing, and note also how the typeset formatting is
         unaffected by this (see Table~\ref{ye2003exp}).
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\begin{table}
 \caption{Project expenditure to year-end 2003}
 \label{ye2003exp}
 \begin{center}
   \begin{tabular}{clr}
     &Item&Amount\\
   \hline
     a)&Salaries (2 research assistants)&28,000\\
     &Conference fees and travel expenses&14,228\\
     &Computer equipment (5 workstations)&17,493\\
     &Software&3,562\\
     b)&Rent, light, heat, power, &etc;&1,500\\\cline{3-3}
     &Total&64,783
   \end{tabular}
   \par\medskip\footnotesize
The Institute also contributes to (a) and (b).
 \end{center}
\end{table}
         \end{Verbatim}
\end{sourcecode}
\begin{table}\caption{Project expenditure to year-end 2003}
\label{ye2003exp}
\begin{center}
\begin{tabular}{clr}\textbf{\normalfont\bfseries\upshape }&\textbf{\normalfont\bfseries\upshape Item}&\textbf{\normalfont\bfseries\upshape Amount}\\[2pt]\hline\\[-.95\baselineskip]
a)&Salaries (2 research assistants)&28,000\\
&Conference fees and travel expenses&14,228\\
&Computer equipment (5 workstations)&17,493\\
&Software&3,562\\
b)&Rent, light, heat, power, etc.&1,500\\
\cline{3-3}\vrule height1.1em width0pt \textbf{}&\textbf{Total}&\textbf{64,783}\\
\end{tabular}
\par\smallskip\footnotesize
The Institute also contributes to (a) and
             (b).\end{center}
\end{table}

You do not need to format the tabular data in your
         editor: \LaTeX{} does this for you when it typesets the
         table, using the column specifications you provided. Extra
         space is automatically added between columns, and can be
         adjusted by changing the \length{tabcolsep} dimension.
         \person{Takaaki Ota} provides an excellent Tables mode for
         \product{Emacs} which provides a
         spreadsheet-like interface and can generate \LaTeX{} table
         source code (see Figure~\ref{tabmode}).
\begin{figure}
\caption{Tables mode for \product{Emacs}}
\label{tabmode}
\begin{center}
\includegraphics[width=0.75\textwidth]{table}
\end{center}
\end{figure}

It is conventional to centre the tabular setting within
         the Table, using the \env{center}
         environment (note US spelling) or the
         \command{centering} command. The entries for each cell
         are separated by an ampersand character
         (\verb+&+) and the end of a row is shown by the
         double-backslash (\verb+\\+).

The \command{hline} command draws a rule across
         all columns and the \command{cline} command draws a
         rule across a range of columns (here, under column three
         only). If used, these commands
         \emph{follow} the
         \verb+\\+ of the row they apply to. There are
         some extra formatting commands after the tabular material in
         the example. These are explained in
         \chaptername~\ref{typo}.

If there is no data for a cell, just don't type
         anything\mdash{}but you still need the
         \verb+&+ separating it from the next
         column's data. The astute reader will already have
         deduced that for a table of
         \(n\) columns, there must always be
         \(n\ifmmode-\else$-$\fi{}1\) ampersands in each row. The exception to
         this is when the  \command{multicolumn} command is
         used to create cells which span multiple columns. There is
         also a package (\env{multirow}) to enable
         cells to span multiple rows, but both of these techniques
         are outside the scope of this document.
\subsection{Tabular techniques for alignment}

As mentioned earlier, it's also perfectly possible
         to typeset tabular matter outside a formal Table, where you
         want to lay out an informal tabulation between paragraphs
         where a fully floating formal Table would be unnecessary
         (these are usually quite short: there are several of them in
         this document).

Tabular mode can also be used wherever you need to align
         material side by side, such as in designing letterheads,
         where you may want your company logo and address on one side
         and some other information on the other.

By default, \LaTeX{} typesets
         \env{tabular} environments inline to the
         surrounding text, so if you want your alignment displayed by
         itself, put it inside a positioning environment like
         \env{center},
         \env{flushright}, or
         \env{flushleft}, or leave a blank line or
         \command{par} before and after so it gets typeset
         separately.

There is much more to tabular setting for which there is
         no space here. Full details are in the manuals mentioned in
         the Foreword. One final note to remind you of the
         automated crossreferencing features: because the example
         table is labelled, it can be referenced from anywhere in the
         document as Table~\ref{ye2003exp} just by using
         \verb+\ref{ye2003exp}+, regardless of how much
         the surrounding document or structure is moved or edited.
\begin{exercise}
\addcontentsline{loe}{section}{\numberline{17}Create a tabulation}
\subsubsection*{Create a tabulation}
Create one of the following in your document:
\begin{itemize}
\item
a formal Table with a caption showing the number
             of people in your class broken down by age and
             sex;

\item
an informal tabulation showing the price for three
             products;

\item
the logo {\setlength{\fboxsep}{-3pt}\setlength{\fboxrule}{.4pt}
                 \fbox{\begin{tabular}{cc}\tiny YEAR\\[-.8em]\tiny 2
                 0 0 0\vrule depth1em width0pt\end{tabular}}}
               (hint: \S\thinspace\ref{fbox})

\end{itemize}
\end{exercise}
\section{Figures}
\label{figures}
\index{figures}\index{floats}
As explained in \S\thinspace\ref{floats}, Figures and
       Tables float to a vacant part of the page, as they are not
       part of the sequence of sentences making up your text, but
       illustrative objects that you refer to.

Figures can contain text, diagrams, pictures, or any other
       kind of illustration. To create a figure, use the
       \env{figure} environment: like Tables, they
       automatically get numbered, and must include a caption (with a
       label after the caption, if needed, exactly the same as for
       Tables)
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\begin{figure}
\caption{Total variable overhead variance (after
        \citeauthor[p.191]{bull}}
\label{workeff}
\begin{center}
\fbox{\includegraphics[width=.5\columnwidth]{diagram}}
\end{center}
\end{figure}
       \end{Verbatim}
\end{sourcecode}
\begin{figure}
\caption{Total variable overhead variance (after
           \citeauthoryear{bull} \textsl{p.191})}
\label{workeff}
\begin{center}
\includegraphics[width=0.5\textwidth]{diagram}
\end{center}
\end{figure}

You can see that the structure is very similar to the
         \env{table} environment, but in this case
         we have a graphic included. Details of this command
         (\command{includegraphics}) are in the next
         section. Details of the bibliographic citation mechanism are
         in \S\thinspace\ref{bib}

The content of the Figure could of course also be
       textual, in the form of a list or a text diagram. \LaTeX{} has
       a simple drawing environment called
       \env{picture}, which lets you create a limited
       set of lines and curves, but for a diagram of any complexity,
       you should use a standard vector drawing program like
       \product{tkpaint}, \product{Adobe
         Illustrator}, or \product{Corel
         Draw}, for reasons we shall see in the next
       section.
\section{Images}
\label{images}
\index{images}\index{graphics}
Images (graphics) can be included anywhere in a \LaTeX{}
       document, although in most cases of formal documents they will
       occur in Figures (see preceding section). To use graphics, you
       need to use the \package{graphicx} package in
       your preamble:
       \verb+\usepackage{graphicx}+\footnote{You may find a lot of old files which use a package
           called \package{epsf}. Don't.
           It's obsolete.}

This enables the command
       \command{includegraphics} which is used to insert an
       image in the document. The command is followed by the name of
       your graphics file \emph{without the filetype},
       for example:
       \verb+\includegraphics{myhouse}+ (we'll see
       soon why you don't include the filetype).

In most cases you should just make sure the image file is
       in the same folder (directory) as the document you use it in.
       This avoids a lot of messing around remembering where you put
       the files. If you have images you want to use in several
       different documents in different places on your disk, there is
       a way to tell \LaTeX{} where to look (see \S\thinspace\ref{graphicsdir}).

For standard \LaTeX{}, graphics files
       \emph{must} be in Encapsulated
         PostScript�(EPS)\index{EPS@EPS|textbf}\index{Acronyms@\textbf{Acronyms}, defined!EPS@EPS|textbf} format: this has been the publishing
       industry standard for portable graphics for many years, and no
       other format will work portably in standard \LaTeX{}.\footnote{Some distributions of \TeX{} systems do allow other
           formats, such as Microsoft
             Bitmap�(BMP)\index{BMP@BMP|textbf}\index{Acronyms@\string\textbf{Acronyms}, defined!BMP@BMP|textbf} files, Hewlett-Packard's Printer Control Language�(PCL)\index{PCL@PCL|textbf}\index{Acronyms@\string\textbf{Acronyms}, defined!PCL@PCL|textbf} files, and
           others; but you cannot send such documents to other
           \LaTeX{} users and expect them to work if they don't
           have the same distribution installed as you have.}

All good graphics packages can save images as EPS\index{EPS@EPS}, but be very careful because some
       packages, especially on Microsoft Windows platforms, use very
       poor quality drivers which create very poor quality EPS\index{EPS@EPS} files. If in doubt, check with an
       expert. If you find an EPS\index{EPS@EPS} graphic
       doesn't print, the chances are it's been badly made
       by the graphics software.

For \product{pdflatex}, graphics files
       can be in Joint Photographic
         Experts�(JPG)\index{JPG@JPG|textbf}\index{Acronyms@\textbf{Acronyms}, defined!JPG@JPG|textbf}, Portable Network
         Graphic�(PNG)\index{PNG@PNG|textbf}\index{Acronyms@\textbf{Acronyms}, defined!PNG@PNG|textbf}, or PDF\index{PDF@PDF} format,
       \emph{not}�EPS\index{EPS@EPS}.
       This means if you want to use both standard \LaTeX{} as well as
       \product{pdflatex}, you need to keep your
       graphics in two formats, EPS\index{EPS@EPS} and one
       of the others. This is why you don't include the filetype
       in the filename you give with
       \command{includegraphics}: \LaTeX{} will assume
       EPS\index{EPS@EPS} and
       \product{pdflatex} will look for JPG\index{JPG@JPG}, PNG\index{PNG@PNG} or
       PDF\index{PDF@PDF} files matching the name.

It is in fact possible to tell \LaTeX{} to generate the
       right format by itself, but this requires an external
       command-line graphics converter, and as it gets done afresh
       each time, it slows things down rather a lot.

The \command{includegraphics} command can take
       optional arguments within square brackets before the filename,
       e.g.
       \verb+\includegraphics[width=3in]{myhouse}+ to let
       you re-size the image to fit. You can change height or width
       and the other dimension will change to scale. If you specify
       both, the image will be distorted to fit.

For details of all the arguments, see the documentation on
       the \package{graphicx} package or a copy of the
       \titlecite{companion}. This package also
       includes commands to {\raisebox{1ex}{\rotatebox{180}{rotate}}},
       {\scalebox{-1}[1]{mirror}}, and
       {\scalebox{2}[1]{scale}}
       text.
\index{rotate}\index{mirror}\index{scale}
As mentioned before, always use a vector graphics package
       for creating drawings and diagrams, as these packages can save
       directly in EPS\index{EPS@EPS} or PDF\index{PDF@PDF} format, which means the drawing can be
       scaled to any size without loss of accuracy. Never, ever
       (except in the direst necessity) save any
       \emph{diagram} as a bitmap (JPG\index{JPG@JPG}, PNG\index{PNG@PNG}, etc.) as
       these become blurred and jagged when scaled. Use PNG\index{PNG@PNG} to save screenshots, to preserve the
       individual coloured dots (pixels), and use JPG\index{JPG@JPG} for photographs. The Tagged Image File Format�(TIFF)\index{TIFF@TIFF|textbf}\index{Acronyms@\textbf{Acronyms}, defined!TIFF@TIFF|textbf}, popular with
       graphic designers, should be avoided because far too many
       companies have designed and implemented non-standard,
       conflicting, proprietary extensions to the format, making it
       virtually useless for transfer between computers (except in
       faxes, where it's still used in a much stricter
       version).
\begin{exercise}
\addcontentsline{loe}{section}{\numberline{18}Adding pictures}
\subsubsection*{Adding pictures}
Add \verb+\usepackage{graphicx}+ to the
         preamble of your document, and copy or download an image you
         want to include. Make sure it is a JPG\index{JPG@JPG}, PNG\index{PNG@PNG}, or
         PDF\index{PDF@PDF} image if you use
         \product{pdflatex}, or an EPS\index{EPS@EPS} image if you use standard
         \LaTeX{}.

Add \command{includegraphics} and the filename
         in curly braces (without the filetype), and process the
         document and preview or print it.

Make it into a figure following the example in \S\thinspace\ref{figures}.

Be aware that some DVI\index{DVI@DVI} viewers
         are not able to display all types of graphics, and some
         cannot display colour. For best results, use PDF\index{PDF@PDF} or PostScript\index{PostScript}
         preview.
\end{exercise}

\label{graphicsdir}%
I said earlier that there was a way to
       tell \LaTeX{} where to look if you had stored images centrally
       for use in many different documents. The answer is in a
       command \command{graphicspath} which you supply with
       an argument giving the name of an additional directory path
       you want searched when a file uses the
       \command{includegraphics} command, for example:
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\graphicspath{c:\mypict~1\camera}
\graphicspath{/var/lib/images}
\graphicspath{HardDisk:Documents:Reports:Pictures}
     \end{Verbatim}
\end{sourcecode}

I've used the `safe' (MS-DOS)
       form of the Windows \url+My Pictures+ folder
       because it's A Bad Idea to use directory names containing
       spaces (see the panel `Picking suitable filenames' on p.\pageref{filenames}). Using
       \command{graphicspath} does make your file less
       portable, though, because file paths tend to be specific both
       to an operating system and to your computer, like the examples
       above.
\section{Verbatim text}
\label{verbatim}
\index{verbatim text}
If you are documenting computer procedures, you probably
       need fixed-width type for examples of programming or data
       input or output. Even if you are writing about completely
       non-computer topics, you may often want to quote a URI\index{URI@URI} or
       email address which needs to be typeset specially. It is
       particularly important in these two examples to avoid
       hyphenating them if they have to break over a line-end,
       because the hyphen might be taken by the user as a part of the
       address.

Standard \LaTeX{} includes two features for handling
       fixed-format text, and there are many more available in
       packages.
\subsection{Inline verbatim}
\label{inlineverb}

To specify a word or phrase as verbatim text in
         typewriter type within a sentence, use the special command
         \command{verb}, followed by your piece of text
         surrounded by any suitable character which does
         \emph{not} occur in the text itself. This is a
         very rare exception to the rule that arguments go in curly
         braces. I often use the plus sign for this, for example to
         show a \LaTeX{} command, I type
       \verb`\verb+\includegraphics[width=3in]{myhouse}+`
         in order to display
       \verb+\includegraphics[width=3in]{myhouse}+, but
         sometimes I use the
         \textbf{\textit{grave accent}}\index{grave accent@\textbf{\textit{grave accent}}} (\textbf{\textit{backtick}}\index{backtick@\textbf{\textit{backtick}}} or open-quote) or the
         vertical bar when the phrase already has a plus sign in it,
         like \verb`\verb|\(y=a+2x^2\)|` when
         illustrating the \LaTeX{} equation
         \verb|\(y=a+x^2\)|.

This command has the advantage that it turns off all
         special characters (see \S\thinspace\ref{specials}) except
         the one you use as the delimiter, so you can easily quote
         sequences of characters in any computer syntax without
         problems. However, \LaTeX{} will never break the argument of
         \command{verb} at a line-end when formatting a
         paragraph, even if it contains spaces, so if it happens to
         be long, and falls towards the end of a line, it will stick
         out into the margin. See \S\thinspace\ref{hyph} for
         more information on line-ends and hyphenation.

The \package{url} package avoids this
         by providing the command \command{url} which
         works in the same way as \command{verb}, with the
         argument enclosed in a pair of characters, but performs a
         hyphenless break at punctuation characters, as in
         \url+http://www.ucc.ie/doc/ucc/siteowner.xml+.
         It was designed for Web URI\index{URI@URI}s,\footnote{The original term Uniform Resource
               Locator�(URL)\index{URL@URL|textbf}\index{Acronyms@\string\textbf{Acronyms}, defined!URL@URL|textbf} is strongly deprecated in the Web
             community in favour of the more accurate Uniform Resource Indicator�(URI)\index{URI@URI|textbf}\index{Acronyms@\string\textbf{Acronyms}, defined!URI@URI|textbf}. For
             details see \url+http://www.w3.org/Addressing/+.
             Unfortunately the older term still persists, especially
             in \LaTeX{} and XML\index{XML@XML}
             markup.} so it understands their syntax
         and will never break mid-way through an unpunctuated word,
         only at slashes and full points. Bear in mind, however, that
         spaces are forbidden in URI\index{URI@URI}s, so using spaces in
         \command{url} arguments will fail, as will using
         other non-URI\index{URI@URI}-valid characters.
\subsection{Display verbatim}

For longer (multiline) chunks of fixed-format text, use
         the \env{verbatim} environment:
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\begin{verbatim}
\documentclass[11pt,a4paper,oneside]{report}
\begin{document}

\title{Practical Typesetting}
\author{Peter Flynn\\Silmaril Consultants}
\date{December 2004}
\maketitle

\end{document}
\end{verbatim}
       \end{Verbatim}
\end{sourcecode}

Like \command{verb}, this turns off all special
         characters, so you can include anything at all in the
         verbatim text except the exact line
         \verb+\end{verbatim}+.

For more control over formatting, however, I recommend
         the use of the \package{fancyvrb} package,
         which provides a \env{Verbatim} environment
         (note the capital letter) which lets you draw a rule round
         the verbatim text, change the font size, and even have
         typographic effects inside the \env{Verbatim}
         environment. It can also be used in conjunction with the
         \package{fancybox} package (see below), and
         it can add reference line numbers (useful for chunks of data
         or programming), and it can include entire external
         files.
\begin{exercise}
\addcontentsline{loe}{section}{\numberline{19}Try some fixed-format text}
\subsubsection*{Try some fixed-format text}
Add your email address and home page URI\index{URI@URI} using the
           \command{verb} and \command{url}
           commands. You'll need to
           \verb+\usepackage{url}+ for the latter.

If you know some programming, try a few lines enclosed
           in \env{verbatim} and
           \env{Verbatim} environments.
\end{exercise}
\clearpage
\section{Boxes, sidebars, and panels}
\label{boxes}
\index{boxes}\index{sidebars}\index{panels}
\LaTeX{}, like most typesetting systems, works by setting
       text into boxes. The default box is the width of the current
       page, and works like an old compositor's galley (tray)
       from the days of metal type: it accumulates typeset text until
       it's a bit longer than the specified page height. At this
       stage \LaTeX{} works out how much of it really will fit on a
       page, snips it off and ships it out to the DVI\index{DVI@DVI} or PDF\index{PDF@PDF} file,
       and puts the rest back into the galley to accumulate towards
       the following page.
\subsection{Boxes of text}
\label{boxtext}

Because of this `box' model,
         \LaTeX{} can typeset any text into a box of any width
         wherever on the page you need it.

The simplest command for small amounts of text is
         \command{parbox}. This command needs two arguments
         in curly braces: the first is the width you want the text
         set to, and the second is the text itself, for
         example:
\begin{example}
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\parbox{1in}{Please make sure you send in your completed
            forms by January 1st next year, or the penalty
            clause 2(a) will apply}
         \end{Verbatim}
\end{sourcecode}
\begin{center}
\begin{tabular}{p{1in}}Please make sure you send in your completed
                   forms by January 1st next year, or the penalty
                   clause 2(a) will apply\\
\end{tabular}
\end{center}
\end{example}

The text is typeset to the required width, and the box
         is extended downwards for as long as is required to fit the
         text. Note that the baseline of a \command{parbox}
         is set to the midpoint of the box; that is, if you include a
         \command{parbox} in mid-sentence, the centre of the
         box will be lined up with the line of type currently being
         set.\parbox{1cm}{
{\scriptsize{}\selectfont{}Like
               this small paragraph.\par}
} You can specify that it should be the top or
         bottom by adding an optional
         \opt{t} or
         \opt{b} in square
         brackets before the width. For example,
         \verb+\parbox[t]{1in}{...}+ will produce
         \parbox[t]{1in}{
a box with the baseline aligned with the top line
             of the text in the box.
}

Notice that when setting very narrow measures with type
         that is too large, the spacing may become uneven and there
         may be too much hyphenation. Either use
         \command{raggedright} or reduce the type size, or
         (in extreme cases) reword the text or break each line by
         hand. It is rare for \LaTeX{} to need this: the example above
         was deliberately chosen to be obtuse as an
         illustration.

Where the contents is more extensive or more
         complicated, you can use the \env{minipage}
         environment. Within this you can use virtually everything
         that occurs in normal text (e.g.�lists, paragraphs,
         tabulations, etc.)�with the exception of floats like tables
         and figures. The \env{minipage} environment
         has an argument just like \command{parbox} does,
         and it means the same: the width you want the text set
         to.
\begin{example}
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\begin{minipage}{3in}
Please make sure you send in your completed forms by January
1st next year, or the penalty clause 2(a) will apply.
\begin{itemize}
\item Incomplete forms will be returned to you unprocessed.
\item Forms must be accompanied by the correct fee.
\item There is no appeal. The adjudicators' decision is final.
\end{itemize}
\end{minipage}
         \end{Verbatim}
\end{sourcecode}
\begin{center}
\begin{tabular}{p{3in}}Please make sure you send in your
                     completed forms by January 1st next year, or the
                     penalty clause 2(a) will
                     apply.\begin{itemize}
\item
Incomplete forms will be returned to you
                         unprocessed.

\item
Forms must be accompanied by the correct
                         fee.

\item
There is no appeal. The adjudicators'
                         decision is final.

\end{itemize}
\\
\end{tabular}
\end{center}
\end{example}

Note that in \env{minipage}s and
         \command{parbox}es, the paragraph indentation is
         reset to zero. If you need to change it, set it inside the
         \env{minipage} or \command{parbox}
         using the \command{setlength} command (see \S\thinspace\ref{paragraphs}).

There are two other ways of typesetting text to widths
         other than the normal text width: you can use a one-row,
         one-cell tabulation with the \verb+p+
         column type specification, and you can use the
         \command{vbox} command, which is outside the scope
         of this document.
\subsection{Framed boxes}
\label{fbox}

To put a frame round {\fbox{some text}}, use the
         \command{fbox} command:
         \verb+\fbox{some text}+. This works for a few
         words in mid-line, but the framed box and its contents
         won't break over the end of a line. To typeset
         multiline text in a box, put it in a
         \command{parbox}, or use a
         \env{minipage} or
         \env{tabular} environment as described above,
         and enclose the whole thing in a
         \command{fbox}.
\begin{example}
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\fbox{\begin{tabular}{p{1in}}
Multiline text in a box typeset using \textsf{tabular}
\end{tabular}}
         \end{Verbatim}
\end{sourcecode}
\begin{center}
\setlength{\tabcolsep}{6pt}
\begin{tabular}{|p{1in}|}\hline\vrule height6pt width0pt
Multiline text in a box typeset using
                   \package{tabular}\\
\hline
\end{tabular}
\end{center}
\end{example}

Note the \verb+\begin{tabular}+ and
       \verb+\begin{minipage}+ still need the width
         specified in the normal way:
\begin{example}
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\fbox{\begin{minipage}{3in}
This multiline text is more flexible than a tabular setting:
\begin{itemize}
\item it can contain any type of normal \LaTeX{}
typesetting;
\item it can be any specified width;
\item it can even have its own footnotes\footnote{Like this}.
\end{itemize}
\end{minipage}}
         \end{Verbatim}
\end{sourcecode}
\begin{center}\setlength{\fboxrule}{1pt}
\begin{minipage}{3in}

This multiline text is more flexible than a
               tabular setting:
\begin{itemize}
\item
it can contain any type of normal \LaTeX{}
                   typesetting;

\item
it can be any specified width;

\item
it can even have its own footnotes.\footnote{Like this.}

\end{itemize}
\end{minipage}
\end{center}
\end{example}

The spacing between text and box is controlled by the
         value of \length{fboxsep}, and
         the thickness of the line by \length{fboxrule}. The following values
         were used above:
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\setlength{\fboxsep}{1em}
\setlength{\fboxrule}{2pt}
       \end{Verbatim}
\end{sourcecode}
\subsection{Sidebars and panels}
\label{fancybox}

The \package{fancybox} package lets you
         extend the principle of \command{fbox} with
         commands to surround text in square, oval (round-cornered),
         and drop-shadow boxes (e.g. \command{ovalbox},
         \command{shadowbox}, etc.: see the documentation for
         details).

You can create panels of any size with these borders by
         using the \env{minipage} environment to
         typeset the text inside a special \env{Sbox}
         environment which \package{fancybox} defines.
         The \env{minipage} formats the text but the
         \env{Sbox}�`captures'
         it, allowing you to put the frame round it as it
         prints.

The printed version of this document has examples and
         there is a useful one shown in \S\thinspace\ref{macenv}.
\chapter{Textual tools}
\label{texttools}
\index{tools}
Every text-handling system needs to support a repertoire of
     tools for doing things with text. \LaTeX{} implements many
     dozens, of which a small selection of the most frequently used
     is given here:
\begin{itemize}
\item
quotations (sometimes called `block
       quotes');

\item
footnotes and end-notes;

\item
marginal notes;

\item
cross-references, both normal ones and bibliographic
       citations;

\item
indexes and glossaries;

\item
typesetting multiple columns.

\end{itemize}
\section{Quotations}
\label{quotations}

Direct speech and short quotes within a sentence
       `like this' are done with simple
       quotation marks as described in \S\thinspace\ref{quotes}. Sometimes, however, you may want longer
       quotations set as a separate paragraph. Typically these are indented
       from the surrounding text, and often in a different font or size.
       \LaTeX{} has two environments for doing this:
\begin{description}
\item[\sffamily The {\fontseries{m}\selectfont{}\package{quote}} environment]
is for up to a line of text each per (short)
             quotation, with the whole thing indented from the
             previous paragraph but with no additional indentation on
             each quote;
\begin{example}
\begin{sourcecode}[\leftmargin]\begin{Verbatim}[fontsize=\small]
\begin{quote}
Do, Ronny, Do. \textit{Nancy Reagan}

Da Do Ron Ron. \textit{The Crystals}
\end{quote}
           \end{Verbatim}
\end{sourcecode}\leavevmode\enspace
\begin{quote}\noindent
Do, Ronny, Do. {\fontshape{it}\selectfont{}Nancy
               Reagan}\end{quote}\begin{quote}\noindent
Da Do Ron Ron. {\fontshape{it}\selectfont{}The
               Crystals}\end{quote}\end{example}
\item[\sffamily The {\fontseries{m}\selectfont{}\package{quotation}} environment]
is for longer passages (a paragraph or more) of a
             single quotation, where not only is the block of text
             indented, but each paragraph of it also has its own
             extra indentation on the first line.
\begin{example}
\begin{sourcecode}[\leftmargin]\begin{Verbatim}[fontsize=\small]
\begin{quotation}\small
At the turn of the century William Davy, a Devonshire
parson, finding errors in the first edition of his
\citetitle{davy}, asked for a new edition to be
printed. His publisher refused and Davy purchased a
press, type, and paper. He harnessed his gardener to
the press and apprenticed his housemaid to the
typesetting. After twelve years' work, a new
edition of fourteen sets of twenty-six volumes was
issued---which surely indicates that, when typomania
is coupled with religious fervour, anything up to a
miracle may be achieved.\citequote[p.76]{ryder}
\end{quotation}
           \end{Verbatim}
\end{sourcecode}
\begin{quotation}\small\noindent
At the turn of the century William Davy, a
               Devonshire parson, finding errors in the first edition
               of his \titlecite{davy}, asked
               for a new edition to be printed. His publisher refused
               and Davy purchased a press, type, and paper. He
               harnessed his gardener to the press and apprenticed
               his housemaid to the typesetting. After twelve years'
               work, a new edition of fourteen sets of twenty-six
               volumes was issued---which surely indicates that, when
               typomania is coupled with religious fervour, anything
               up to a miracle may be achieved.
\setlength{\parfillskip}{0pt}\hfill[\citeauthortitleyear{ryder}], p.76\end{quotation}
\end{example}
\end{description}

Such quotations are often set in a smaller size of type
       (although this is not the default, hence the use of the
       \command{small} command in the example). The
       inclusion of the bibliographic citation at the end is
       optional: here it is done with a non-standard command
       \command{citequote} invented for this example (there
       is more about how to do things like this in \chaptername~\ref{macros}).
\section{Footnotes and end-notes}
\label{footnotes}
\index{footnotes}
The command \command{footnote}, followed by the
       text of the footnote in curly braces, will produce an
       auto-numbered footnote with a superior number where you put
       the command, and the note automatically printed at the foot of
       the page.\footnote{Like this.} The number is reset to�1 at the start of each
       chapter (but you can override that and make them run
       continuously throughout the document, or restart at 1 on each
       page or section).

\LaTeX{} automatically creates room for the footnote, and
       automatically reformats it if you change your document in such
       a way that the point of attachment and the footnote would move
       to the next (or preceding) page.

Because of the way \LaTeX{} reads the whole footnote before
       doing anything with it, you can't use
       \command{verb} (\S\thinspace\ref{inlineverb}) alone
       in footnotes: either precede it with
       \command{protect} or use [abuse?] the
       \command{url} command instead, which you should be
       using for Web and email addresses in any case).

Footnotes inside minipages (see \S\thinspace\ref{boxes}) produce lettered notes instead of
       numbered ones, and they get printed at the bottom of the
       minipage, \emph{not} the bottom of the physical
       page (but this too can be changed).

There is a package to hold over your footnotes and make
       them print at the end of the chapter instead
       (\package{endnote}) or at the end of the whole
       document, and there is a package
       (\package{fnpara}) to print many short
       footnotes in several columns so they take up less space. It is
       also possible to have several separate series of footnotes
       active simultaneously, which is useful in critical editions or
       commentaries: a numbered series may be used to refer to an
       original author's notes; a lettered series can be used
       for notes by a commentator or authority; and a third series is
       available for your own notes. It is also possible to format
       footnotes within footnotes.

There are also ways to refer more than once to the same
       footnote, and to defer the positioning of the footnote if it
       occurs in a float like a Table or Figure, where it might
       otherwise need to move to a different page.
\section{Marginal notes}
\label{marginals}
\index{marginal notes}
You can add marginal notes to your text\marginal{Like this.} instead of
       (or as well as) footnotes. You need to make sure that you have
       a wide-enough margin, of course: use the
       \package{geometry} package (see \S\thinspace\ref{colorpkg}) to allocate enough space, otherwise
       the notes will be too cramped. There are several packages to
       help with formatting marginal notes, but the simplest way is
       to define it yourself. Add this new command to your
       preamble:
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\newcommand{\marginal}[1]{%
       \leavevmode\marginpar{\tiny\raggedright#1\par}}
     \end{Verbatim}
\end{sourcecode}

Then you can use
       \verb+\marginal{Some text}+\marginal{Some text} where you need
       it. Be careful, however, because marginal notes are aligned
       with the line where the command starts, so a very long one
       followed too closely by another will cause \LaTeX{} to try and
       adjust the position so they don't overlap.

We're jumping ahead a bit here, as we haven't
       covered how to define your own commands yet. I won't even
       try to explain it here, although the careful reader can
       probably deduce some of it by inspection. See \chaptername~\ref{macros} for more information about making up your
       own commands.
\section{Cross-references}
\label{xrefs}
\index{cross-references}
This is one of the most powerful features of \LaTeX{}. You
       can label any point in a document with a name you make up, and
       then refer to it by that name from anywhere else in the
       document, and \LaTeX{} will always work out the cross-reference
       number for you, no matter how much you edit the text or move
       it around.

A similar method is used to cite documents in a
       bibliography or list of references, and there are packages to
       sort and format these in the correct manner for different
       journals.
\subsection{Normal cross-references}
\label{normalxref}

You label a place in your document by using the command
         \command{label} followed by a short name you make
         up, in curly braces:\footnote{This section is labelled
             `\url+normalxref+',
             for example.} we've already seen this done for labelling
         Figures and Tables.
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\section{New Research}
\label{newstuff}
       \end{Verbatim}
\end{sourcecode}

You can then refer to this point from anywhere in the
         same document with the command \command{ref}
         followed by the name you used, e.g.
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
In section~\ref{newstuff} there is a list of recent projects.
       \end{Verbatim}
\end{sourcecode}

If the label is in normal text, the reference will
         provide the current chapter or section number or both (depending
         on the current document class).\footnote{Thus I can
             refer here to
           \url+\ref{normalxref}+ and get the
             value�\S\thinspace\ref{normalxref}.} If
         the label was inside a Table or Figure, the reference
         provides the Table number or Figure number prefixed by the
         chapter number. A label in an enumerated list will provide a
         reference to the item number. If there is no apparent
         structure to this part of the document, the reference will
         be null. Labels must be unique (that is, each value must
         occur only \emph{once} as a label within a
         single document), but you can have as many references to
         them as you like.

Note the use of the unbreakable space
         (\verb+~+) between the \command{ref}
         and
         the word before it. This prints a space but prevents the
         line ever breaking at that point, should it fall close to
         the end of a line.

The command \command{pageref} followed by any
         of your label values will provide the page number where the
         label occurred, regardless of the document structure. This
         makes it possible to refer to something by
         page number as well as its
         \command{ref} number, which is useful to
         readers in very long documents.

Unresolved references are printed as three question
         marks, and also cause a warning message at the end of the
         log file. There's never any harm in having
         \command{label}s you don't refer to, but using
         \command{ref} when you don't have a matching
         \command{label} is an error.
\subsection{Bibliographic references}
\label{bib}
\index{bibliographies}\index{references}
The mechanism used for references to reading lists and
         bibliographies is almost identical to that used for normal
         cross-references. Although it is possible to type the
         details of each citation manually, there is a companion
         program to \LaTeX{} called BIB\TeX{}, which manages
         bibliographic references automatically, reduces the time
         needed to maintain and format them, and dramatically
         improves accuracy. Using BIB\TeX{} means you only ever have
         to type the bibliographic details of a work once. You can
         then cite it in any document you write, and it will get
         reformatted automatically to the style you specify.
\subsubsection{Citing references}
\label{citation}

BIB\TeX{} works exactly the same way as many other
           bibliographic databases: you keep details of every
           document you want to refer to in a separate file, using
           BIB\TeX{}'s own format (see example below). Many
           writers make a habit of adding the details of every book
           and article they read, so that when they write a document,
           these entries are always available for reference. You give
           each entry a short label, just like you do with normal
           cross-references (see \S\thinspace\ref{normalxref}), and it is
           this label you use to refer to in your own documents when
           you cite the work using the \command{cite}
           command:
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
..as has clearly been shown by Fothergill~\cite{fg}.
         \end{Verbatim}
\end{sourcecode}

By default, this creates a cross-reference number in
           square brackets�[1] which is a common style in the
           Natural Sciences (see \S\thinspace\ref{othercite} for
           details of how to change this). There are dozens of
           alternative citation formats in extra packages, including
           the popular author/year format:
\begin{example}
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
..as has clearly been shown by~\citeauthoryear{fg}.
           \end{Verbatim}
\end{sourcecode}\leavevmode\enspace
\begin{quote}\noindent
\dots as has clearly been shown by�\citeauthoryear{fg}.\end{quote}\end{example}

Note that in this case the author name is not typed,
         but automatically extracted by BIB\TeX{}. There are lots of
         variants on this technique in many packages, allowing you to
         phrase your sentences with references in as natural a way as
         possible, and rely on BIB\TeX{} to insert the right data (if
         you examine the source of this document you'll find I
           use some homebrew commands \command{authorof} and
           \command{titleof} for a similar purpose).

To print the bibliographic listing (usually called
           `References' in articles and
           `Bibliography' in books and
           reports), add these two lines towards the end of your
           document, or wherever you want it printed, substituting
           the name of your own BIB\TeX{} file and the name of your
           chosen bibliography style:
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\bibliographystyle{ieeetr}
\bibliography{mybib}
         \end{Verbatim}
\end{sourcecode}
\begin{itemize}
\item
The \command{bibliography} command is
               followed by the filename of your BIB\TeX{} file
               \emph{without} the
               \url+.bib+ extension.

\item
The \command{bibliographystyle} command
               is followed by the name of any of \LaTeX{}'s
               supported bibliography styles, of which there are many
               dozens available from CTAN\index{CTAN@CTAN}.\footnote{The style shown
                   in the example here provides formatting according
                   to the specifications for Transactions of the IEEE
                   (revised).}

\end{itemize}

The styles \opt{plain} and
           \opt{alpha}
           are two common generic styles used for drafts: see below
           for others.
\subsubsection{Running \product{bibtex}}
\label{bibtex}

When you run the \product{bibtex}
           program, the details of every document you have cited will
           be extracted from your database, formatted according to
           the style you specify, and stored in a temporary
           bibliographic (\url+.bbl+) file with a
           label corresponding to the one you used in your citation,
           ready for \LaTeX{} to use. This is entirely automatic: all
           you do is cite your references in your \LaTeX{} document
           using the labels you gave the entries in your BIB\TeX{}
           file, and run the \product{bibtex}
           program.

After processing your file with \LaTeX{}, run BIB\TeX{}
           on it by clicking on the \guiicon{BIB\TeX{}}
           toolbar icon (\product{WinEdt}) or the
           \menuitem{TeX}{BIBTeX
             File} menu entry
           (\product{Emacs}) or by typing the
           command \verb+bibtex+ followed by the name of
           your document (without the \url+.tex+
           extension). When you run \LaTeX{} again it uses the
           \url+.bbl+ file to add the references
           where you tell it to, and a subsequent run of \LaTeX{} will
           format the correct citation numbers (or author/year, or
           whatever format you are using).
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
$ latex mybook
$ bibtex mybook
$ latex mybook
$ latex mybook
         \end{Verbatim}
\end{sourcecode}

Because of this three-stage process, you always get a
           warning message about an `unresolved
             reference' the first time you add a new
           reference to a previously uncited work. This will
           disappear after subsequent runs of
           \product{bibtex} and \LaTeX{}.

In practice, authors tend to run \LaTeX{} from time to
           time during writing anyway, so they can preview the
           document. Just run BIB\TeX{} after adding a new
           \command{cite} command, and subsequent runs of
           \LaTeX{} will incrementally incorporate all references
           without you having to worry about it. You only need to
           follow the full formal sequence (\LaTeX{}, BIB\TeX{},
           \LaTeX{}, \LaTeX{}) when you have finished writing and want
           to ensure that all references have been resolved.
\subsubsection{BIB\TeX{} format}
\label{bibspec}

The format for the BIB\TeX{} file is specified in the
           BIB\TeX{} documentation (see \S\thinspace\ref{packagedoc}
           for how to find and print it). You create a file with a
           name ending in \url+.bib+, and add your
           entries, for example:
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
@book{fg,
  title        = {{An Innkeeper's Diary}},
  author       = {John Fothergill},
  edition      = {3rd},
  publisher    = {Penguin},
  year         = 1929,
  address      = {London}
}
         \end{Verbatim}
\end{sourcecode}

There is a prescribed set of fields for each of a
           dozen or so types of document: book, article (in a
           journal), article (in a collection), chapter (in a book),
           thesis, report, paper (in a Proceedings), etc. Each entry
           identifies the document type after the
           `\verb+@+' sign,
           followed by the entry label that you make up, and then
           each field (in any order), using the format:
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
keyword = {value},
         \end{Verbatim}
\end{sourcecode}

Most \TeX{}-sensitive editors have a BIB\TeX{} mode
           which understands these
           entries. \product{Emacs} automatically
           uses its \url+bibtex-mode+ whenever you open
           a filename ending in \url+.bib+. When
           editing BIB\TeX{} databases, the rules are simple:
\begin{itemize}
\item
Omit the comma after the last field in the entry
               (only).

\item
Titles may have their case changed in some styles:
               to prevent this, enclose the title in double curly
               braces as in the example.

\item
Values which are purely numeric (e.g.�years) may
               omit the curly braces.

\item
Fields can occur in any order but the format must
               otherwise be \emph{very strictly}
               observed.

\item
Fields which are not used do not have to be
               included (so if your editor automatically inserts them
               blank, you can safely delete the unused lines).

\end{itemize}

To help with this, there are several interfaces to
           creating and maintaining BIB\TeX{} files, such as the
           \product{tkbibtex} program, which runs on
           most platforms (see Figure~\ref{tkbibtex}).
\begin{figure}
\caption{tkBIB\TeX{}, one of several graphical interfaces to
             BIB\TeX{} databases}
\label{tkbibtex}
\begin{center}
\includegraphics[width=0.5\textwidth]{tkbibtex}
\end{center}
\end{figure}
\subsubsection{Changing the layout}
\label{bibstyle}

To change the title printed over the reference listing, just
           change the value of \command{refname} (articles)
           or \command{bibname} (books and reports) by
           adding a line like this in your preamble:
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\renewcommand{\bibname}{Reading List}
         \end{Verbatim}
\end{sourcecode}

The formatting specifications (BIB\TeX{} styles) are
           based on standard settings for journals and books from
           dozens of publishers: you just pick the one you want by
           name. The \url+texmf/bib/bst+ subdirectory
           of your installation contains the ones installed by
           default, and you search on CTAN\index{CTAN@CTAN}
           for others (look for \url+.bst+ files).
           Most of the others are named after university press styles
           (e.g. \product{harvard},
           \product{oxford}) or the publisher or
           journal which specified them (e.g.
           \product{elsevier},
           \product{kluwer}, etc.).

Some of them have an accompanying package file which
           you need to include with the normal
           \command{usepackage} command in your preamble. In
           this case the format may be distributed as
           \url+.dtx+ and \url+.ins+
           files and will need installing in the same way as any
           other package (see \S\thinspace\ref{pkginst}). Always read
           the documentation, because most of the formats are very
           specific to the journal they were designed for, and have
           fairly absolute requirements.
\begin{warning}

If you are writing for a specific publisher, you
             should remember that the rules or formats are laid down
             by the typographic designer of that journal or
             publisher: you cannot arbitrarily change the format just
             because you don't happen to like it: it's not
             your choice!
\end{warning}

It is also possible to write your own BIB\TeX{}
           (\url+.bst+) style files, although it uses
           a language of its own which really needs a computer
           science background to understand. However, this is
           rendered unnecessary in most cases: there is an extensive
           program (actually written in \LaTeX{}) called
           \product{makebst}, which makes
           \url+.bst+ files by asking you a (long)
           series of questions about exactly how you want your
           citations formatted. Just type
           \verb+latex makebst+ in a command window, but
           give it a dummy run first, because some of the questions
           are very detailed, so you need to have thought through how
           you want your citations to appear before you start.
\subsubsection{Other modes of citation}
\label{othercite}

The method of citing a work by numeric reference is
           common in the Natural Sciences but is not used in the
           Humanities and Law. In these fields, citations are usually
           done with short references (author/short-title/year) in a
           numbered footnote. Sometimes they are actually called
           `footnotes' to the exclusion of
           ordinary footnotes, although they are really citations
           which happen by convention to be
           \emph{displayed} as footnotes: an important
           distinction rarely appreciated by authors until they come
           to need a normal footnote.

The bibliography at the back of the document is then
           printed \emph{unnumbered} in alphabetic
           order of author, or perhaps chronologically if the
           time-frame is very large. This unnumbered format is why it
           is conventionally called
           `References' rather than
           `Bibliography': sufficient working
           citation has already been provided in the footnote, and
           the list at the back is for reference purposes only;
           whereas in the Natural Sciences, the citation is just a
           number, or possibly an author and year only, so the full
           listing is called a Bibliography.

The \package{jurabib} package
           (originally intended for German law articles but now
           extended to other fields in the Humanities, and to other
           languages) has extensive features for doing this style of
           citation and is very strongly recommended.
\section{Indexes and glossaries}
\label{indexes}
\index{indexes}\index{glossaries}
\LaTeX{} has a powerful, automated indexing facility which
       uses the standard \product{makeindex}
       program. To use indexing, use the package
       \package{makeidx} and include the
       \command{makeindex} command in your preamble:
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\usepackage{makeidx}
\makeindex
     \end{Verbatim}
\end{sourcecode}

When you want to index something, using the command
       \command{index} followed by the entry in curly
       braces, as you want it to appear in the index, using one of
       the following formats:
\begin{description}
\item[\sffamily Plain entry]
Typing \verb+\index{beer}+ will create
             an entry for `beer' with the
             current page
             number.\index{beer}
\item[\sffamily Subindex entry]
For an entry with a subentry use an exclamation mark
             to separate them:
               \verb+\index{beer!lite}+.\index{beer!lite} Subsubentries like
             \verb+\index{beer!lite!American}+ work to
             another level deep.\index{beer!lite!American}
\item[\sffamily Cross-references]
`See' entries are done with
             the vertical bar (one of the rare times it does
             \emph{not} get interpreted as a math
             character):
             \verb+\index{Microbrew|see{beer}}+\index{Microbrew|see{beer}}
\item[\sffamily Font changes]\label{indextypo}
To change the style of an entry, use the
             @-sign followed by a font change command:
\begin{sourcecode}[\leftmargin]\begin{Verbatim}[fontsize=\small]
\index{beer!Rogue!Chocolate Stout@\textit{Chocolate Stout}}
           \end{Verbatim}
\end{sourcecode}

\noindent This example\index{Chocolate Stout@\textit{Chocolate Stout}} indexes
             `\product{Chocolate
                 Stout}' and italicises it
             at the same time. Any of the standard
             \verb+\text...+ font-change commands work
             here: see the table on p.\thinspace\pageref{fontcmds} for details. You
             can also change the font of the index number on its own,
             as for first-usage references, by using the vertical bar
             in a similar way to the `see'
             entries above, but substituting a font-change command
             (\emph{without} a backslash) such as
             \verb+textbf+ for bold-face text:
             \verb+\index{beer!Rogue!Chocolate Stout|textbf}+\index{Chocolate Stout|textbf} (see the index).
\item[\sffamily Out of sequence]
The same method can be used as for font changes,
             just without the font command:
             \verb+\index{Oregon Brewing Company@Rogue}+\index{Oregon Brewing Company@Rogue} will add an entry for
             `Rogue' in the
             `O' section of the index, as if
             it was spelled `Oregon Brewing
               Company'.
\end{description}

When the document has been processed through \LaTeX{} it
       will have created a \url+.idx+ file, which you
       run through the \product{makeindex} program
       by typing (for example):
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
makeindex�mythesis
       \end{Verbatim}
\end{sourcecode}

Some editors may have a button or menu entry for this.
       The program will look for the \url+.idx+ file
       and output a \url+.ind+ file. This gets used by
       the command \command{printindex} which you put at the
       end of your document, where you want the index printed. The
       default index format is two columns.

Glossaries are done in a similar manner using the command
       \command{makeglossary} in the preamble and the
       command \command{glossary} in the same way as
       \command{index}. There are some subtle differences in
       the way glossaries are handled: both the books by \citeauthoryear{latexbook} and by \citeauthoryear{companion} duck the issue, but
       there is some documentation on \url+glotex+ on
       CTAN\index{CTAN@CTAN}.
\section{Multiple columns}
\label{multicols}
\index{columns}
Use the \package{multicol} package: the
       environment is called \env{multicols} (note the
       plural form) and it takes the number of columns as a separate
       argument in curly braces:
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\usepackage{multicol}
..
\begin{multicols}{3}
..
\end{multicols}
     \end{Verbatim}
\end{sourcecode}
\begin{multicols}{3}
{\setlength{\parskip}{0pt}}
\LaTeX{} has built-in support for two-column typesetting
         via the \verb+twocolumn+ option in the standard
         Document Class Declarations, but it is relatively inflexible
         in that you cannot change from full-width to double-column
         and back again on the same page, and the final page does not
         balance the column heights. However, it does feature special
         \env{figure*} and \env{table*}
         environments which typeset full-width figures and tables
         across a double-column setting.

The more extensive solution
         is the \package{multicol} package, which will
         set up to 10 columns, and allows the number of columns to be
         changed or reset to one in mid-page, so that full-width
         graphics can still be used. It also balances the height of
         the final page so that all columns are the same height, and
         you can control the width of the gutter by redefining the
         \command{columnsep} command to a new dimension.

The package provides the
         \env{multicols} environment (note the extra
         `s') and you follow the
         begin-environment command with the number of columns needed
         as a second argument: \verb+\begin{multicols}{5}+.
\end{multicols}
\chapter{Fonts and layouts}
\label{typo}
\index{typographics}
This is the chapter that most users want first, because they
     come to structured documents from a wordprocessing environment
     where almost the \emph{only} way to convey a
     change of information is to fiddle with the font and size
     drop-down menus.

As I hope you have seen, this is normally completely
     unnecessary in \LaTeX{}, which does most of the hard work for you
     automatically. However, there are occasions when you need to
     make manual typographic changes, and this chapter is about how
     to do them.
\section{Changing layout}
\label{layouts}

The design of the page can be a very subjective matter,
       and also rather a subtle one. Many organisations large and
       small pay considerable sums to designers to come up with page
       layouts to suit their purposes. Styles in page layouts change
       with the years, as do fashions in everything else, so what may
       have looked attractive in 1989 may look rather dated in
       2003.

As with most aspects of typography, making the document
       readable involves making it consistent, so the reader is not
       interrupted or distracted too much by apparently random
       changes in margins, widths, or placement of objects. However,
       there are a number of different occasions where the layout
       usually \emph{does} change, related to the
       frequency with which the format appears.
\begin{itemize}
\item
The title page (and the half-title, copyright page,
           dedication, and other one-page preliminaries if you use
           them) is usually designed individually, as the information
           on it only occurs once in that format anywhere in the
           document.

\item
The table of contents and other related lists like
           figures and tables probably all need to share one
           design.

\item
The prelims like Foreword, Introduction, and Preface
           should likewise follow the same format between
           them.

\item
Chapter and Appendix start pages usually share a
           layout.

\item
Other (normal) pages have a single layout, but it may
           specify individual variations to handle tables, lists,
           figures, sidebars, exercises, footnotes, etc.

\end{itemize}

If you are going to design a whole document, it's
       probably a good idea to read a couple of books on layout
       design first, to get a feel for the conventions which
       contribute to making the reader comfortable reading.

While unusual or radical layouts have an important role in
       attention-grabbing or making a socio-political statement
       (\titlecite{wired} magazine is an obvious
       recent example), they are usually out of place in business
       reports, white papers, books, theses, and journals. In
       ephemera, on the other hand, as in advertising, they are
       probably critical.
\subsection{Spacing}
\label{spacing}
\index{page size!margins}\index{margins}
We mentioned in \S\thinspace\ref{marginals} and
         elsewhere the existence of the
         \package{geometry} package which lets you
         change margins. It also lets you set the text-area height
         and width and a lot of other layout settings: read the
         documentation for details (see \S\thinspace\ref{packagedoc} for how to read package
         documentation).
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\usepackage[left=2cm,top=1cm,bottom=2cm,right=3cm,
           nohead,nofoot]{geometry}
       \end{Verbatim}
\end{sourcecode}

The spacing around the individual textual components
         (headings, paragraphs, lists, footnotes, etc.)�can also be
         changed on a document-wide basis, as we saw with paragraph
         spacing and indentation in \S\thinspace\ref{paraspace}.

Changing the spacing of section headings for the whole
         document can be done with the
         \package{sectsty} package, designed to let
         you adjust section-head spacing without having to know about
         the internal \LaTeX{} coding. The spacing for lists can be
         adjusted with the \package{mdwlist} package.
         In both cases the user with highly specific requirements
         such as a publisher's Compositor's Specification
         should read the relevant sections in the \titlecite{companion} or ask for expert help, as
         there are many internal settings which can also be changed to
         fine-tune your design, but which need some knowledge of
         \LaTeX{}'s internals.

All the above are for automating changes so that they
         occur every time in a consistent manner. You can also make
         manual changes whenever you need:
\index{space|see{white-space}}\begin{description}
\item[\sffamily Flexible vertical space]\index{white-space!vertical!flexible}
There are three preset commands
               \command{smallskip},
               \command{medskip}, and
               \command{bigskip}. These output flexible
               (dynamic, or `rubber') space,
               approximately 3pt, 6pt, and 12pt high respectively,
               but they will automatically compress or expand a
               little, depending on the demands of the rest of the
               page (for example to allow one extra line to fit, or a
               heading to be moved to the next page without anyone
               except a typographer noticing the change). These
               commands can only be used after a paragraph break (a
               blank line or the command
               \command{par}).
\item[\sffamily Fixed vertical space]\index{white-space!vertical!fixed}\index{white-space!vertical!disappearing}
For a fixed-height space which will
               \emph{not} stretch or shrink, use the
               command \command{vspace} followed by a length
               in curly braces, e.g.
             \verb+\vspace{18pt}+ (again, this has to be
               after a paragraph break). Bear in mind that extra
               space which ends up at a page-break when the document
               is formatted will get discarded entirely to make the
               bottom and top lines fall in the correct places. To
               force a space to remain and be taken into account even
               after a page break (rare), use the starred variant:
               \command{vspace*}.
\item[\sffamily Double spacing]\index{white-space!double-spacing}\index{double-spacing}
Double-spacing normal lines of text is usually a
               bad idea, as it looks very ugly.  It is still,
               unfortunately, a requirement in some universities for
               thesis submission, a historical relic from the days of
               typewriters. Nowadays, 1\Frac13 or 1� line
               spacing is considered acceptable, according to your
               font size. If your institution still thinks they
               should have double line spacing, they are quite simply
               wrong. Show them this paragraph and explain that they
               need to enter the 21st century and adapt to the
               features of automated typesetting.  If they still
               insist, use the \package{setspace}
               package,which has commands for double line-spacing and
               one-and-a-half line spacing, but be prepared for some
               very ugly output.

The space between lines is defined by the length
               of \command{baselineskip} multiplied by the
               value of \command{baselinestretch}. In
               general, \emph{don't meddle with
                 \command{baselineskip} at all},
               and with \command{baselinestretch} only if
               you know what you are doing. (Both can, however,
               safely be used as reference values in commands like
             \verb+\vspace*{\baselineskip}+ to leave a
               whole line space.)
\index{spacing|see{white-space}}
The value of \command{baselineskip}
               changes with the font size (see \S\thinspace\ref{fontsize}) but is
               conventionally set to 1.2 times the current nominal
               font size. This is a value derived from long
               experience: only change it if you understand what it
               means and what effect it will have.
\index{spacing|see{double-spacing}}
Quite separately, there are some perfectly genuine
               and acceptable reasons for wanting wide line spacing,
               for example when typesetting a proof of a critical or
               variorum edition, where editors and contributors are
               going to want to add notes manually by writing between
               the lines, or where the text is going to be
               overprinted by something else like Braille, or in
               advertising or display text for special
               effects.
\item[\sffamily Horizontal space]\index{white-space!horizontal}
There is a horizontal equivalent to the
               \command{vspace} command:
               \command{hspace}, which works in the same
               way, so I can force a 1$''$ space like
               this{\hspace*{1in}}in
               mid-paragraph. There are also some predefined
               (shorter) spaces available:
\begin{itemize}
\item
\command{thinspace}�(\Frac1{12}em),
                   which we saw between single and double quotes in
                 \S\thinspace\ref{thinspace}. It's also
                   sometimes used between the full point after
                   abbreviations and a following number, as in page
                   references like p.\thinspace{}199, where a word space
                   would look too big, and setting it solid would
                   look too tight.

\item
\command{enspace}�(�em).
                   There is no direct equivalent predefined in
                   \LaTeX{} for mid and thick spaces as used by metal
                   typesetters, although it would be possible to
                   define them. The en as a unit is often used as the
                   width of a single digit in some fonts, as a
                   convenience so that tables of figures are easy to
                   line up;

\item
\command{quad}�(1em);

\item
\command{qquad}�(2em).

\end{itemize}
\index{tracking|see{letterspacing}}\index{letterspacing}
Beyond this, all horizontal space within
               paragraphs is automatically flexible, as this is what
               \LaTeX{} uses to achieve justification. Never be
               tempted to try and change the spacing between letters
               unless you have some professional training in
               typography. Some systems use letterspacing
               (incorrectly called `tracking') as an aid
               to justification and it is almost always wrong to do
               so (and looks it). While it \emph{is}
               possible to change letterspacing, it should only be
               done by a typographer, and then only very rarely, as
               the settings are very subtle and beyond the scope of
               this booklet.
\end{description}
\subsection{Headers and footers}
\label{runningheads}

\LaTeX{} has built-in settings to control the page style
         of its default page layouts. These are implemented with the
         \command{pagestyle} command, which can take an
         argument of \verb+plain+ (page number centered
         at the bottom), \verb+empty+ (nothing at all),
         or \verb+headings+ (running heads). The
         value \verb+myheadings+ can be used
         if you want to reprogram the definitions of how
         \command{markright} and \command{markboth}
         are used, which control how chapter and section titles get
         into page headers. The command
         \command{thispagestyle} (taking the same arguments)
         can be used to force a specific style for the current page
         only.

The \package{fancyhdr} package lets you
         redefine the left-hand, centre, and right-hand page headers
         and footers for both odd and even pages (twelve objects in
         all). These areas can contain a page number, fixed text,
         variable text (like the current chapter or section title, or
         the catch-words of a dictionary), or even a small image.
         They can also be used to do page backgrounds and frames, by
         making one of them the top corner of an invisible box which
         `hangs' text or images down over the whole
         page.

The settings for the downloadable version of this
         document can be used as an example: for the whole story you
         have to read the documentation.
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\pagestyle{fancy}\fancyhead{}
\renewcommand\headrulewidth{.1pt}
\fancyhead[LO,RE]{\footnotesize\sffamily\lite\leftmark}
\fancyhead[LE,RO]{\footnotesize\sffamily\lite\itshape\rightmark}
\fancyfoot[C]{}
\fancyfoot[LE,RO]{\setlength{\fboxsep}{2pt}\ovalbox{\footnotesize
                 \sffamily\thepage}}
\fancyfoot[LO,RE]{\footnotesize\sffamily\lite\@title}
\fancypagestyle{plain}{\fancyhf{}
         \fancyfoot[R]{\setlength{\fboxsep}{2pt}\ovalbox{%
                       \footnotesize\sffamily\thepage}}
         \fancyfoot[L]{\footnotesize\sffamily\lite\@title}
         \renewcommand{\headrulewidth}{0pt}}
       \end{Verbatim}
\end{sourcecode}

This is probably more complex than most documents, but
       it illustrates some of the most common techniques:
\begin{enumerate}\item
Settings are prefixed by making the
             \command{pagestyle}�`fancy' and
             setting the \command{fancyhead} to null.

\item
The thickness of the rule at the top of the page can
           be changed (or set to 0pt to make it disappear).

\item
The header and footer settings are specified with L,
           C, and R for left, centre, and right; and with O and E for
           Odd and Even numbered pages. In each setting, the typeface
           style, size, and font can be specified along with macros
           which implement various dynamic texts (here, the current
             chapter and section titles, which \LaTeX{} stores in
             \command{rightmark} and
           \command{leftmark}).

\item
The `plain' variant is used for chapter
           starts, and resets some of the parameters accordingly.

\end{enumerate}
\section{Using fonts}
\label{fontuse}
\index{fonts!in general}
The default typeface in \LaTeX{} is Computer Modern�(CM)\index{CM@CM|textbf}\index{Acronyms@\textbf{Acronyms}, defined!CM@CM|textbf}. This typeface was
       designed by Knuth for use with \TeX{} because it is a book
       face, and he designed \TeX{} originally for typesetting books.
       Because it is one of the very few book typefaces with a
       comprehensive set of fonts, including a full suite of
       mathematics, it has remained the default, rather than Times,
       because until recently the mathematical symbols for Times were
       a commercial product often unavailable to users of free
       software.

\index{fonts!\mf{}}\index{fonts!Computer Modern}{\fontencoding{OT1}\fontfamily{cmr}\fontsize{11pt}{11pt}\selectfont{}Computer Modern is based on a 19th-century
         book typeface from Monotype, which is why it looks a little
         like an old-fashioned school book. This paragraph is set in
         Computer Modern so you can see what it looks like. The
         typeface is written in \mf{}, a font-drawing program
         made by Knuth to accompany \TeX{} systems.}
\begin{warning}

If you are reading this in the HTML version, the above
         paragraph is only a low-resolution copy because browsers
         don't usually have the Computer Modern font available.
         All the rest of this document is set in \rmfontfamilyname{}, with
         \sffontfamilyname{} for some of the headings and \ttfontfamilyname{} for the
         fixed-width type.
\end{warning}
\begin{table}\index{fonts!examples}\caption{Fonts available with a full installation of
         \LaTeX{}. There are many more available for download from
         CTAN\index{CTAN@CTAN}.}
\label{fontable}
\begin{center}
\begin{tabular}{ll>{\sffamily}l>{\ttfamily}l}\multicolumn{1}{>{\bfseries\pbs{\raggedright}}b{23mm}}{\normalfont\bfseries\upshape Typeface (font family)}&\textbf{\normalfont\bfseries\upshape Example}&\textbf{\normalfont\bfseries\upshape Package}&\textbf{\normalfont\bfseries\upshape Family}\\[2pt]\hline\\[-.95\baselineskip]
\multicolumn{4}{c}{\vrule height1.5em width0pt\bfseries\itshape \mf{} fonts}\\[2pt]
\llap{* }Computer Modern&{\alphabet{cmr}}&\llap{(}default)&cmr\\
CM\index{CM@CM} Sans&{\alphabet{cmss}}&\llap{(}default)&cmss\\
CM\index{CM@CM} Typewriter&{\alphabet{cmtt}}&\llap{(}default)&cmtt\\
Pandora&{\alphabet{panr}}&pandora&panr\\
Pandora Sans&{\alphabet{pss}}&pandora&pss\\
Universal&{\fontencoding{OT1}\fontfamily{uni}\selectfont
                 The quick brown fox jumps over
                 the lazy}&\mdash{}&uni\\
\llap{* }Concrete&{\alphabet{ccr}}&concrete&ccr\\
BB Dingbats&{\tiny\alphabet[U]{ding}}&\mdash{}&ding\tablefootnote{uenc}\\
Cypriot&{\fontsize{5}{10}\selectfont
                 \alphabet{cypr}}&\mdash{}&cypr\\
�{\fontfamily{cmr}\selectfont\i}reannach&{\fontencoding{OT1}\fontfamily{eiad}\selectfont
                 N\'{\char'151}l aon tinte�n mar do thinte�n
                 f�in}&eiad&eiad\\
Etruscan&{\scriptsize\alphabet{etr}}&\mdash{}&etr\\
Linear `B'&{\tiny\alphabet{linb}}&\mdash{}&linb\\
Phoenician&{\shortalphabet{phnc}}&\mdash{}&phnc\\
Runic&{\fontencoding{OT1}\fontfamily{fut}\selectfont
                 THE QUICK BROWN FOX JUMPS OVER THE}&\mdash{}&fut\\
Rustic&{\tiny\alphabet{rust}}&\mdash{}&rust\\
Bard&{\tiny\alphabet[U]{zba}}&\mdash{}&zba\\
Uncial&{\tiny\alphabet{uncl}}&\mdash{}&uncl\\
D�rer&{\fontencoding{OT1}\fontfamily{zdu}\selectfont
                 THE QUICK BROWN FOX JUMPS OVER THE}&\mdash{}&zdu\\
Fraktur&{\dalphabet[U]{yfrak}}&\mdash{}&yfrak\tablefootnote{uenc}\\
Gothic&{\dalphabet[U]{ygoth}}&\mdash{}&ygoth\tablefootnote{uenc}\\
Schw�bische&{\dalphabet[U]{yswab}}&\mdash{}&yswab\tablefootnote{uenc}\\
\multicolumn{4}{c}{\vrule height1.5em width0pt\bfseries\itshape Adobe fonts}\\[2pt]
Bookman&{\alphabet{pbk}}&bookman&pbk\\
Schoolbook&{\alphabet{pnc}}&newcent\tablefootnote{addhelv}&pnc\\
Palatino&{\alphabet{ppl}}&palatino\tablefootnote{addag}&ppl\\
\llap{\dag  }Times&{\alphabet{ptm}}&times\tablefootnote{addhelv}&ptm\\
Avant Garde&{\alphabet{pag}}&avant&pag\\
Helvetica&{\alphabet{phv}}&helvet&phv\\
Zapf Chancery&{\fontencoding{OT1}\fontfamily{pzc}\itshape
                 \selectfont The quick brown fox jumps over the lazy
                 dog}&zapfchan&pzc\\
Courier&{\fontencoding{OT1}\fontfamily{pcr}\selectfont
                 The quick brown fox jumps over the
                 lazy}&courier&pcr\\
Zapf Dingbats&{\scriptsize\alphabet[U]{pzd}}&pifont&pzd\tablefootnote{uenc}\\
Symbol&{\alphabet[U]{psy}}&\mdash{}&pzd\tablefootnote{uenc}\\
\multicolumn{4}{c}{\vrule height1.5em width0pt\bfseries\itshape X Consortium fonts}\\[2pt]
Charter&{\alphabet{bch}}&charter&bch\\
Nimbus Roman&{\alphabet{unm}}&\mdash{}&unm\\
Nimbus Sans&{\alphabet{unms}}&\mdash{}&unms\\
URW Antiqua&{\alphabet{uaq}}&\mdash{}&uaq\\
URW Grotesk&{\bfseries\alphabet{ugq}}&\mdash{}&ugq\\
Utopia&{{\fontencoding{OT1}\fontfamily{put}\selectfont{}(removed from \TeX{}
             Live as it is not a free font)}}&utopia&put\\
\end{tabular}
\renewcommand{\theenumi}{\textit{\alph{enumi}}}\footnotesize\begin{enumerate*}\item Uses specialised font encoding `U'.\label{uenc}\item Uses Helvetica as the sans-serif
                   font and Courier for monospace. Full names are
                   `New Century Schoolbook' and
             `Times New Roman'.\label{addhelv}\item Uses Avant Garde as the
                   sans-serif font and Courier for monospace.\label{addag}\end{enumerate*}\par\smallskip\footnotesize
\begin{itemize*}
\item [\sffamily *] Full selection of mathematical symbols
         available.
\item [\sffamily \dag ] Mathematical symbols available
         both free and commercially.
\end{itemize*}
\end{center}
\end{table}

In addition to CM\index{CM@CM}, there are
       many other \mf{} fonts which can be downloaded from
       CTAN\index{CTAN@CTAN}, including a large collection
       of historical, symbol, initial, and non-Latin fonts. \LaTeX{}
       also comes with the complete `Adobe 35'
       collection of typefaces which are built into every laser
       printer, so you have the same base set as other DTP\index{DTP@DTP} systems. There are some more fonts
       included in PostScript\index{PostScript} Type�1
       format donated by the X�Consortium which match those
       distributed free with the X�Window system. Plus, of
       course, standard \LaTeX{} can use any of the thousands of
       Type�1 fonts, and \product{pdflatex} can
       use any of the thousands of TrueType fonts as well.
\index{fonts!TrueType}\index{fonts!metafont@\mf{}}\index{fonts!PostScript}\index{fonts!Type�1}\begin{warning}

Just to make it clear: standard \LaTeX{} uses \mf{}
         and PostScript\index{PostScript} Type�1 fonts
         only. To use TrueType fonts as well, you must use
         \product{pdflatex} instead.
\end{warning}
\subsection{Changing the default font family}
\index{fonts!changing the default}
\LaTeX{} expects to work with three font families as
         defaults:
\index{fonts!families}\begin{center}
\begin{tabular}{l>{\ttfamily}l}\textbf{\normalfont\bfseries\upshape Font family}&\textbf{\normalfont\bfseries\upshape Code}\\[2pt]\hline\\[-.95\baselineskip]
Roman (serif, with tails on the uprights), the
                 default&rm\\
Sans-serif, with no tails
                 on the uprights&sf\\
Monospace (fixed-width or
                 typewriter)&tt\\
\end{tabular}
\end{center}

If you use one of the packages listed in Table~\ref{fontable}, it will replace the default of the
         same type. For example,
         \verb+\usepackage{bookman}+ makes the default
         Roman font Bookman but leaves the sans-serif and monospace
         fonts untouched. Equally,
         \verb+\usepackage{helvet}+ changes the default
         sans-serif font to Helvetica but leaves the serif (Roman)
         and monospace fonts untouched. Using both commands will
         change both defaults because they operate independently.
         \emph{However}\dots as it is common to want
         to change all three defaults at the same time, some of the
         most common `suites' of typefaces are
         provided as packages:
\begin{description}
\item[\sffamily \package{times}]
changes to Times/Helvetica/Courier.
\item[\sffamily \package{pslatex}]
same as \package{times} but uses a
               specially narrowed Courier to save space (normal
               Courier is rather inelegantly wide). This is the
               preferred setting if you want Times.\footnote{The \package{pslatex} package
                   is also said to be outdated by some experts
                   because it implemented rather long-windedly what
                   can now be done in three commands. However, until
                   these replace the current version, I recommend
                   continuing to use \package{pslatex}
                   when you want Times with Helvetica and
                   Courier.}
\item[\sffamily \package{newcent}]
changes to New Century Schoolbook/Helvetica/Courier.
\item[\sffamily \package{palatino}]
changes to Palatino/Avant Garde/Courier.
\item[\sffamily \package{palatcm}]
changes the roman to Palatino only, but with
               CM\index{CM@CM} mathematics
\end{description}

Where no package name is given in Table~\ref{fontable}, it means the font is rarely used as
         a default by itself except in special cases like users' own
         homebrew packages. To use the font you have to specify it
         manually, or make a little macro for yourself if you use it
         more than once, as shown below.
\subsection{Changing the font family temporarily}
\label{fontfam}
\index{fonts!changing temporarily}
To shift to another font family on a temporary basis,
         group the text within curly braces to limit the scope of the
         font change, and use the commands
         \command{fontencoding} (if needed),
         \command{fontfamily}, and
         \command{selectfont} commands \emph{immediately
           inside} the opening curly brace, e.g.
\begin{example}
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
{\fontfamily{phv}\selectfont Helvetica looks like this}
and {\fontencoding{OT1}\fontfamily{ppl} Palatino looks
like this}.
       \end{Verbatim}
\end{sourcecode}\leavevmode\enspace
\begin{quote}\noindent
{\fontencoding{OT1}\fontfamily{phv}\selectfont{}Helvetica
             looks like this} and {\fontencoding{OT1}\fontfamily{ppl}\selectfont{}Palatino looks like
             this}.\end{quote}\end{example}

In this example, the \command{fontencoding}
         command has been used to ensure that the typeface will work
         even if the sentence is used in the middle of something
         typeset in a different encoding (like this document).
\begin{sidebar}\label{grouping}
\subsection*{Grouping}\index{grouping}
Notice the use of curly braces in a slightly different
           way from their use to delimit the argument to a command.
           This is called `grouping' and it
           restricts the effect of changes made
           \emph{inside} the group so that they do not
           interfere with the text following. Any font changes made
           within the curly braces cease when the closing curly brace
           is processed.
\end{sidebar}
In a normal document, of course, random typeface changes
         like this are very uncommon. You select your faces once at
         the start of the document, and stick with them.  Most cases
         where people want to do unusual typeface changes involve
         things like special symbols on a repetitive basis, and
         \LaTeX{} provides much easier programmable ways to make these
         changes into shorthand commands (called macros: see \chaptername~\ref{macros}). You could, for example, make a macro
         called \command{product} which would let you
         typeset product names in a distinct typeface:
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
Andlinger has replaced \product{Splosh} with \product{SuperSplosh}
       \end{Verbatim}
\end{sourcecode}

This is one of \LaTeX{}'s most powerful features. It
         means that if you needed to change your
         \command{product} command at some later stage to
         use a different font, you only have to change three
         characters in the macro (the font family abbreviation), and
         you don't need to edit your document text at
         all!
\subsection{Changing font style}
\index{fonts!styles}
Within each typeface or font family there are usually
         several different styles of type. \LaTeX{} distinguishes
         between font \textbf{\textit{family}}\index{family@\textbf{\textit{family}}}, font
         \textbf{\textit{shape}}\index{shape@\textbf{\textit{shape}}}, and font
         \textbf{\textit{series}}\index{series@\textbf{\textit{series}}}:
\begin{center}
\begin{tabular}{l>{\ttfamily}ll}\textbf{\normalfont\bfseries\upshape Type style}&\textbf{\normalfont\bfseries\upshape Command}&\textbf{\normalfont\bfseries\upshape Example (using Computer Modern)}\\[2pt]\hline\\[-.95\baselineskip]
Upright (default)&\command{upshape}*&{\alphabet{cmr}}\\
Italic&\command{itshape}&{\font\foo=cmti10 \foo
               The quick brown fox jumps over the lazy dog}\\
Slanted&\command{slshape}*&{\slshape\alphabet{cmr}}\\
Small Capitals&\command{scshape}*&{\scshape\alphabet{cmr}}\\
Bold&\command{bfseries}*&{\fontseries{b}\selectfont\alphabet{cmr}}\\
Bold Extended&\command{bfseries}\dag &{\font\foo=cmbx10 \foo
               The quick brown fox jumps over the lazy dog}\\
Sans-serif&\command{sffamily}&{\alphabet{cmss}}\\
Monospace&\command{ttfamily}&{\alphabet{cmtt}}\\
\end{tabular}
\par\smallskip\footnotesize
\begin{itemize*}
\item [\sffamily *] Not all typefaces have all
               variants! Some only have bold and italics.
\item [\sffamily \dag ] Some typefaces do not have
               both bold and bold extended: by default \LaTeX{} uses
               \command{bfseries} for bold extended.
\end{itemize*}
\end{center}

These `shape',
         `series', and
         `family' commands are
         \textbf{\textit{commutative}}\index{commutative@\textbf{\textit{commutative}}}, so you can combine a
         shape with a series and/or a family, as in:
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
..{\bfseries\itshape\sffamily bold italic sans-serif type}...
       \end{Verbatim}
\end{sourcecode}

This gives you {\sffamily{}\fontseries{bx}\fontshape{it}\selectfont{}bold italic sans-serif type}, but
         beware of pushing your fonts beyond their limits unless you
         are a typographer. It is not normally meaningful to combine
         one shape or series class with another of the same class,
         such as trying to get slanted-italics. It's an
         impossibility to combine one family with another (such as a
         seriffed sans-serif typeface!). Slanted plus italics, for
         example, doesn't make sense, as italics are already
         slanted (although it is technically possible); and while some
         typefaces may well possess italic small caps, they are not
         in common use. Sans-serif and monospace (typewriter) are
         different fonts, and often different typeface families
         entirely.\footnote{Although if you're a typographer wanting to
             experiment with typewriter typefaces with and without
             serifs, you can use \mf{} to do exactly this kind
             of thing. But that's outside the scope of this
             document.}

There is an alternative syntax for the most common type
         shape and series commands which uses curly braces in the
         normal `argument' manner:
\begin{center}
\label{fontcmds}
\begin{tabular}{l>{\ttfamily}ll}\textbf{\normalfont\bfseries\upshape Type style}&\textbf{\normalfont\bfseries\upshape Command}&\textbf{\normalfont\bfseries\upshape Example}\\[2pt]\hline\\[-.95\baselineskip]
Italic&\verb+\textit{a few words}+&puts {\font\foo=cmti10 \foo a few
                   words} into italics\\
Slanted&\verb+\textsl{a few words}+&puts {\fontencoding{OT1}\fontfamily{cmr}\fontshape{sl}\selectfont{}a few
                   words} into slanted type*\\
Small Capitals&\verb+\textsc{a few words}+&puts {\fontencoding{OT1}\fontfamily{cmr}\fontshape{sc}\selectfont{}a few
                   words} into small caps\\
Bold&\verb+\textbf{a few words}+&puts {\fontencoding{OT1}\fontfamily{cmr}\fontseries{b}\selectfont{}a few
                   words} into bold type\\
Sans-serif&\verb+\textsf{a few words}+&puts {\fontencoding{OT1}\fontfamily{cmss}\selectfont{}a few
                   words} into sans-serif type\\
Monospace&\verb+\texttt{a few words}+&puts {\fontencoding{OT1}\fontfamily{cmtt}\selectfont{}a few
                   words} into typewriter type\\
\end{tabular}
\par\smallskip\footnotesize
\begin{itemize*}
\item [\sffamily *] If slanted is available separately
             from italics.
\end{itemize*}
\end{center}

You can nest these inside one another too:
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
..\textbf{\itshape\textsf{bold italic sans-serif type}}...
       \end{Verbatim}
\end{sourcecode}
\subsection{Font sizes}
\label{fontsize}
\index{fonts!sizes}
\LaTeX{} has built into its defaults a set of predefined
         font size steps corresponding more or less to the
         traditional sizes available to metal typesetters. This is
         deliberate, as these sizes have grown up over 500 years of
         printing as those which go best together for book-work,
         which is where \TeX{} originated.

These sizes are also reflected in the size steps at
         which Computer Modern was designed. It often comes as a
         surprise to new users that many typefaces are not designed
         as a single font and just scaled up or down, but specially
         drawn at different sizes to make them more legible.

As an example, {\fontencoding{OT1}\fontfamily{cmr}\fontsize{11}{11}\selectfont{}here's 11pt Computer
           Modern}, and {\font\cmbig=cmr5
           at11pt\cmbig here's 5pt Computer Modern scaled up to
           11pt}, and
         {\font\cmsmall=cmr17 at11pt\cmsmall
           here's 17pt Computer Modern scaled down to
           11pt} so you can see there really is a
         significant difference. In general, you probably don't
         want to go scaling fonts too much beyond their design size
         because they will start to look very odd.

The default sizes (and the commands that operate them)
         are based on the use of a 10pt font. Using the larger
         defaults (11pt and 12pt) for the body font will scale these
         sizes up approximately in proportion. The exact sizes used
         are listed in the macros in the Class Option files
         \url+size10.clo+,
         \url+size11.clo+ and
         \url+size12.clo+. \TeX{}'s default fonts
         above 10pt are in fact scaled by a factor of 1.2, as shown
         in the fourth column of the table below.
\begin{center}
\begin{tabular}{llrl}\textbf{\normalfont\bfseries\upshape Command}&\textbf{\normalfont\bfseries\upshape Example}&\multicolumn{1}{>{\bfseries\pbs{\raggedleft}}b{.5in}}{\normalfont\bfseries\upshape Nominal point size}&\multicolumn{1}{>{\bfseries\pbs{\raggedright}}b{.4in}}{\normalfont\bfseries\upshape Exact point size}\\[2pt]\hline\\[-.95\baselineskip]
\command{tiny}&{\fontencoding{OT1}\fontfamily{cmr}\fontsize{5}{5}\selectfont{}The quick brown fox jumps over
                   the lazy dog}&5&5\\
\command{scriptsize}&{\fontencoding{OT1}\fontfamily{cmr}\fontsize{7}{7}\selectfont{}The quick brown fox jumps over
                   the lazy dog}&7&7\\
\command{footnotesize}&{\fontencoding{OT1}\fontfamily{cmr}\fontsize{8}{8}\selectfont{}The quick brown fox jumps
                   over the lazy dog}&8&8\\
\command{small}&{\fontencoding{OT1}\fontfamily{cmr}\fontsize{9}{9}\selectfont{}The quick brown fox jumps over
                   the lazy dog}&9&9\\
\command{normalsize}&{\fontencoding{OT1}\fontfamily{cmr}\fontsize{10}{10}\selectfont{}The quick brown fox jumps
                   over the lazy dog}&10&10\\
\command{large}&{\fontencoding{OT1}\fontfamily{cmr}\fontsize{12}{12}\selectfont{}The quick brown fox jumps
                   over the lazy}&12&12\\
\command{Large}&{\fontencoding{OT1}\fontfamily{cmr}\fontsize{14}{14}\selectfont{}The quick brown fox jumps
                   over t}&14&14.40\\
\command{LARGE}&{\fontencoding{OT1}\fontfamily{cmr}\fontsize{18}{18}\selectfont{}The quick brown fox jumps
                   o}&18&17.28\\
\command{huge}&{\fontencoding{OT1}\fontfamily{cmr}\fontsize{20}{20}\selectfont{}The quick brown fox
                   jum}&20&20.74\\
\command{Huge}&{\fontencoding{OT1}\fontfamily{cmr}\fontsize{24}{24}\selectfont{}The quick brown
                   fox}&24&24.88\\
\end{tabular}
\end{center}

While this relieves the beginner of having
         to worry about the `right' size for a
         given task, when you need a specific size there is the
         \command{fontsize} command:
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\fontsize{22}{28}\selectfont This is 22pt type 6pt leaded
       \end{Verbatim}
\end{sourcecode}

This takes two arguments: the point size and the
         baseline distance. The above example gives you 22pt type on
         a 28pt baseline (i.e.�with 6pt extra space or
         `leading' between lines).
\begin{warning}

Computer Modern fonts (the default) come fixed at the
           named size steps shown in the table, and if you try to use
           an odd size in between, \LaTeX{} will pick the closest step
           instead. If you really need to use CM\index{CM@CM} at arbitrary sizes there is a
           package \package{type1cm} which lets you
           override the default steps. If you use PostScript\index{PostScript}
           (Type�1) fonts, the step sizes do not apply and the
           font scaling is infinitely variable.
\end{warning}
\subsection{Logical markup}

All this playing around with fonts is very pretty but
         you normally only do it for a reason, even if that reason is
         just to be decorative. Italics, for example, are used for
         many things:
\begin{center}
\begin{tabular}{l>{\itshape}l}\textbf{\normalfont\bfseries\upshape Cause}&\textbf{\normalfont\bfseries\upshape Example}\\[2pt]\hline\\[-.95\baselineskip]
Foreign words&ex officio\\
Scientific names&Ranunculus ficaria\\
Emphasis&must not\\
Titles of documents&The \LaTeX{} Companion\\
Product names&{{\upshape
                   Corel's}} WordPerfect\\
Variables in maths&\(E=mc^{2}\)\\
Subtitles or headings&How to get started\\
Decoration&FREE UPGRADE!!!\\
\end{tabular}
\end{center}

Humans usually have no problem telling the difference
         between these reasons, because they can read and understand
         the meaning and context. Computers cannot (yet), so it has
         become conventional to use descriptive names which make the
         distinction explicit, even though the appearance may be the
         same.

\LaTeX{} has some of these built in, like
         \command{emph}, which provides
         \emph{emphasis}. This has a special feature
         because \emph{when the surrounding text is
           already italic, \emph{emphasis}
         automatically reverts to upright type}, which is a
         normal practice for typesetting.
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
This has a special feature because {\itshape when the surrounding
text is already italic, \emph{emphasis} automatically reverts to
upright type, which is a normal practice for typesetting.
       \end{Verbatim}
\end{sourcecode}

\label{emph}%
This sensitivity to logic is programmed into
         the definition of \command{emph} and it's not
         hard to make up other commands of your own which could do
         the same, such as \command{foreign} or
         \command{product}.

But why would you bother? In a short document it's
         probably not important, but if you're writing a long
         report, or a formal document like an article, a book, or a
         thesis, it makes writing and editing hugely easier if you
         can control whole groups of special effects with a single
         command, such as italicising, indexing, or cross-referencing
         to a glossary. If a format needs changing, you only have to
         change the definition, and every occurrence automatically
         follows suit.

It also makes it possible to find and act on groups of
         meanings\mdash{}such as making an index of scientific names
         or product names (as in this document)\mdash{}if they are
         identified with a special command. Otherwise you'd
         spend weeks hunting manually through every
         \command{textit} command to find the ones you
         wanted. This is the importance of automation: it can save
         you time and money.

In \chaptername~\ref{macros} we will see how to make your
         own simple commands like this.
\subsection{Colour}
\index{colour}\index{fonts!colour}
You can typeset anything in \LaTeX{} in any colour you
         want using the \package{color} package.
         First, you need to add the command
         \verb+\usepackage{color}+ to your preamble (note
         the US spelling of color!). This makes available a default
         palette of primary colours: {\selectfont{}\color{red}red}, {\selectfont{}\color{green}green}, and {\selectfont{}\color{blue}blue} for the RGB\index{RGB@RGB} colour model used for emitted light
         (television screens), and {\selectfont{}\color{cyan}cyan},
         {\selectfont{}\color{magenta}magenta}, and {\selectfont{}\color{yellow}yellow} to go with black for the
         CMYK\index{CMYK@CMYK} colour model used for reflected light
         (printing).

For the occasional word or phrase in colour, use the command
         \command{textcolor} with two arguments, the colour
         name and the text: \verb+\textcolor{red}{like this}+.
         There is a \command{color} command as well, for use
         within groups:
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
..{\color{blue}some text in blue}...
       \end{Verbatim}
\end{sourcecode}

If you have the PostScript\index{PostScript} printer driver
         \product{dvips} installed, you also get a
         separate 64-colour palette of predefined names
         (representing approximately the colours in the big box of
         \product{Crayola} colouring pencils much
         favoured by artists and designers). This adds a new colour
         model called
         \verb+named+, so if you want the
         \product{Crayola} colour RubineRed, you can
         create a name of your own for it to use in colour-changing
         commands:
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\definecolor{myred}{named}{RubineRed}
       \end{Verbatim}
\end{sourcecode}

RubineRed looks {\selectfont{}\color{myred}like
           this} (\verb+\textcolor{myred}{like this}+) if you're reading this in colour.
         To use these names with
         \product{pdflatex}, you need to use the
         \opt{pdftex} option to the
           \package{color} package. You can still look up the CMYK\index{CMYK@CMYK} codes in the file
         \url+texmf/tex/latex/graphics/dvipsnam.def+
         and use \verb+cmyk+ as the colour model name,
         if you have software which requires it. In that case you
         would say:
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\definecolor{myred}{cmyk}{0,1,0.13,0}
       \end{Verbatim}
\end{sourcecode}

You can define any shade you want by giving it a
         name and providing the Red-Green-Blue�(RGB)\index{RGB@RGB|textbf}\index{Acronyms@\textbf{Acronyms}, defined!RGB@RGB|textbf} or Cyan-Magenta-Yellow-Black�(CMYK)\index{CMYK@CMYK|textbf}\index{Acronyms@\textbf{Acronyms}, defined!CMYK@CMYK|textbf} colour
         values expressed as decimals, using this
         \command{definecolor} command. For example, an
         RGB\index{RGB@RGB} shade given as (37,125,224) in
         decimal (\#250FE0 in hexadecimal as used on the Web)
         needs to be given as \begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\definecolor{midblue}{rgb}{0.145,0.490,0.882}
       \end{Verbatim}
\end{sourcecode}
(divide each value by 255, the maximum for
         each of the hues in the Red-Green-Blue colour model). The
         \command{definecolor} command takes three
         arguments: the name you want to refer to the shade by; the
         name of the color model (here \verb+rgb+) and
         the set of decimal-fraction values separated by commas. You
         can then use \command{textcolor} with your new
         colour name: {\selectfont{}\color{midblue}the midblue looks like
           this if you're reading in colour.}

The \package{color} package also provides
         a colour version of \command{fbox} (see \S\thinspace\ref{fbox}) called
         \command{colorbox}:
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\colorbox{midblue}{\color{magenta}Magenta on midblue}
       \end{Verbatim}
\end{sourcecode}

{\colorbox{midblue}{\color{magenta}Magenta
           on midblue}}: you can see how careful you
           need to be with colours.
\section{Installing new fonts}
\label{instfonts}
\index{fonts!installing}
Different fonts come in a variety of packagings: the three
       most common used with \TeX{} systems are
       PostScript\index{PostScript} fonts, TrueType fonts, and
       \mf{} fonts. How you install them and where they go
       depends on how you installed \LaTeX{}: all I can deal with here
       are the standard locations within the TDS\index{TDS@TDS}.

Most typefaces come supplied as one or more font files.
       PostScript\index{PostScript} fonts are supplied as a pair
       of files: an outline and a metric, as described in \S\thinspace\ref{mffonts} and
       \S\thinspace\ref{psfonts}. A TrueType font combines these in a
       single file. For \LaTeX{} use you also need a style
       (\url+.sty+) file and font definition
       (\url+.fd+), which can easily be created if
       they are not supplied.

The instructions here assume the use of the New Font Selection Scheme�(NFSS)\index{NFSS@NFSS|textbf}\index{Acronyms@\textbf{Acronyms}, defined!NFSS@NFSS|textbf} used in
       \LaTeXe{}. If you are running the obsolete \LaTeX{} 2.09,
       upgrade it now.
\subsection{Installing \mf{} fonts}
\label{mffonts}

This is the simplest installation. When you download
         \mf{} fonts from CTAN\index{CTAN@CTAN},
         you'll usually find a large number of Outline files
         (\url+.mf+ files) and maybe some other types
         as well (see below).
\begin{enumerate}
\item \label{newsub}%
Create a new subdirectory named after the typeface
             you're installing in
             \url+texmf-local/fonts/source/public/+:
\begin{center}
\includegraphics[width=0.75\textwidth]{public}
\end{center}
\item
Copy all the \url+.mf+ (outline)
             files to this directory.
\item
Copy the \url+.fd+ (Font Definition)
             file[s] and the \url+.sty+ (style) file
             to your \url+texmf/tex/latex/mfnfss+
             directory.
\item
Run your \TeX{} indexer program (see step~\ref{texindex} in the procedure on p.\thinspace\pageref{texindex}).
\end{enumerate}

That's it. Unlike PostScript\index{PostScript}
         fonts, \mf{} fonts can be used to generate the font
         metric file (\url+.tfm+ files) automatically
         on-the-fly the first time the typeface is used, so there
         should be nothing else to install. Some \mf{} fonts
         come with pre-generated \url+.tfm+ files
         which you can install if your system is slow at generating
         them itself:
\begin{enumerate}
\addtocounter{enumi}{\thehold}\item
Create a new subdirectory within
             \url+texmf-local/fonts/tfm/public/+ named
             the same as the one you created for the
             \url+.mf+ files above.
\item
Copy all the \url+.tfm+ files into
             this subdirectory.
\item
Run your \TeX{} indexer program (see step~\ref{texindex} in the procedure on p.\thinspace\pageref{texindex}).
\end{enumerate}
\setcounter{hold}{\theenumi}
In some rare cases, pre-generated packed bitmap fonts
         (\url+.pk+ files) are also available from
         CTAN\index{CTAN@CTAN} (normally your previewer and
         print driver creates these automatically, but you can use
         the pre-generated ones if you have a very slow system). If
         you really want to install these, it's a similar
         procedure to the \url+.tfm+ files:
\begin{enumerate}
\addtocounter{enumi}{\thehold}\item
Create a new subdirectory within
             \url+texmf-local/fonts/pk/modeless/+
             named the same as the one you created for the
             \url+.mf+ and \url+.tfm+
             files above.
\item
Copy all the \url+.nnnpk+ files into
             this subdirectory (\(nnn\) is a
             number reflecting the dot-density of the bitmap). On
             Microsoft systems the files may just end in
             \url+.pk+ and be kept in subdirectories
             named after the dot-density, e.g.
             \url+dpi360+.
\item
Run your \TeX{} indexer program (see step~\ref{texindex} in the procedure on p.\thinspace\pageref{texindex}).
\end{enumerate}
\setcounter{hold}{\theenumi}
Now you can put a \command{usepackage} command
         in your preamble with whatever name the
         \verb+.sty+ file was called, and read the
         documentation to see what commands it gives to use the font
         (refer to \S\thinspace\ref{packinst} and step~\ref{dtxdoc} in the procedure on p.\thinspace\pageref{dtxdoc}).

If the font came \emph{without}\url+.fd+ or \url+.sty+ files,
         you'll need to find someone who can make them for you (or
         follow the outline in \S\thinspace\ref{psfonts}, step~\ref{fdfiles} in the procedure on p.\thinspace\pageref{fdfiles}).
\subsection{Installing PostScript fonts}
\label{psfonts}
\index{fonts!PostScript}
Lots of people will tell you that
         PostScript\index{PostScript} fonts and PostScript
         output are dead and that TrueType or OpenType fonts and PDF
         output are the way to go. While this is true for many cases,
         standard \LaTeX{} does not work with TrueType fonts and does
         not produce PDF\index{PDF@PDF} directly. Only
         \product{pdflatex} does that, and there are
         still many printers whose typesetters and platemakers need
         PostScript\index{PostScript} rather than PDF\index{PDF@PDF}. In addition, operating system
         support for scalable fonts is still very poor on Unix
         systems (including Linux), despite the advances in recent
         years, so in many cases it still makes sense to use
         \TeX{}'s built-in support for PostScript.

PostScript (Adobe Type�1) fonts come in two halves,
         just like \mf{} fonts: a Font Metric and an Outline.
         Unlike \mf{} fonts, however, you must install both: you
         cannot cause the the metrics to be generated from the
         outline as you can with \mf{}.

The two file types are \url+.afm+ (Adobe
         Font Metric) and \url+.pfb+
         (PostScript Font Binary�(PFB)\index{PFB@PFB|textbf}\index{Acronyms@\textbf{Acronyms}, defined!PFB@PFB|textbf}) files.
         \emph{You must have both for each font before you
           start.} If you only have the near-obsolete
         \url+.pfa+ (PostScript\index{PostScript}
         Font ASCII\index{ASCII@ASCII}) files, it may be
         possible to generate the \url+.pfb+ files
         using the \product{t1binary} program from
         the \product{t1utils} package (see \url+http://gnuwin32.sourceforge.net/packages/t1utils.htm+)
         or the excellent \product{PFAedit} font
         editor (from \url+http://pfaedit.sourceforge.net+). There are
         unfortunately still some companies distributing Type�1
         fonts in \url+.pfa+ format (Mathematica is
         one reported recently).
\begin{warning}

The installation method I described in earlier
           editions has worked perfectly for me for years, but I have
           updated it here to use the facilities of the
           \product{updmap} program (which comes
           with your \TeX{} installation). This removes the need for
           one of the steps I gave before, which required editing the
           \url+psfonts.map+ file, as this is now
           recreated by \product{updmap}. The
           procedure below is \emph{not} the official
           way (that's \product{fontinst}), but
           it is the basis for a script I am working on called
           \product{Gutta-Percha}\footnote{Yes, as in rubber.}, which automates the whole process.
\end{warning}

I'll repeat this: before you start, make sure you
         have all the \url+.afm+ and
         \url+.pfb+ files for the typeface you want.
         In the example below, I'm going to use a single font
         from an imaginary typeface called Foo, so I have
         \verb+foo.afm+ and
         \verb+foo.pfb+ files.
\begin{enumerate}
\item \textbf{Put the files in your temporary directory}\\
This is \url+/tmp+ on Linux, and
             should be \url+C:\tmp+ or
             \url+C:\temp+ or even
             \url+C:\Windows\temp+ on Microsoft
             Windows.
\item \textbf{Find out or decide on the short font name to use
             inside \LaTeX{}.}\\
This is \emph{not} the full
             descriptive name (e.g.�Baskerville Italic Bold
             Extended) but an encoded font name in the format
             \verb+fnnsseec+, devised by \person{Karl Berry}, which stores the same information in no
             more than eight characters for compatibility with
             systems which cannot handle long filenames. The letters
             in the format above have the following meanings (see the
             \product{fontname} documentation for
             more details):
\begin{center}
\begin{tabular}{lll}\textbf{\normalfont\bfseries\upshape Letter}&\textbf{\normalfont\bfseries\upshape Meaning}&\textbf{\normalfont\bfseries\upshape Examples}\\[2pt]\hline\\[-.95\baselineskip]
\verb+f+&foundry&\verb+b+=Bitstream,
                     \verb+m+=Monotype,
                     \verb+p+=Adobe (PostScript)\\
\verb+nn+&typeface name&\verb+ba+=Baskerville,
                     \verb+tm+=Times,
                     \verb+pl+=Palatino\\
\verb+ss+&series/shape&\verb+r+=roman,
                     \verb+bi+=bold italic, etc.\\
\verb+ee+&encoding&\verb+8a+=default 8-bit
                     ANSI, \verb+ly+=Y\amp Y's
                     \TeX{}'n'ANSI\\
{\fontseries{b}\selectfont{}\verb+c+}&[small]caps&(this is a literal
                     `c' character, used only
                   if needed)\\
\end{tabular}
\end{center}

The \url+texmf/fontname+ directory in
             your installation of \LaTeX{} has files for several foundries
             giving fully-formed names like these for common fonts
             (e.g. \verb+ptmr8a+ is
             [Adobe] \uline{\textbf{P}}ost\-Script
             \uline{\textbf{T}}i\uline{\textbf{m}}es
             \uline{\textbf{R}}oman in an
             \uline{\textbf{8}}\ndash{}bit \uline{\textbf{A}}NSI
             encoding;
             \verb+bgslly+ is \uline{\textbf{B}}itstream
             \uline{\textbf{G}}ill \uline{\textbf{S}}ans
             \uline{\textbf{L}}ight in Y\amp Y's \TeX{}'n'ANSI
             encoding [\uline{\textbf{LY}}1]).\footnote{Confusingly, Bitstream fonts (and others from
                 similar sources) mostly have different names from
                 the original fonts, so what they call Humanist 521
                 is actually Gill Sans. Until recently, US law only
                 allowed the \emph{names} of typefaces
                 to be copyrighted, not the font designs themselves,
                 leading to widespread piracy.} Read the documentation in \titlecite{fontname}
             to find out how to make up your own short
             names if the foundry and font you want is not shown in
             the \url+fontname+ directory.

In this example we'll call our mythical example
             typeface `zork' (standing for
             \uline{\textbf{Z}}fonts \uline{\textbf{Or}}dinary
             Boo\uline{\textbf{k}}face, because
             \verb+k+ is the letter used for Book
             fonts, \verb+b+ being already the code
             for bold) and we'll assume it
             comes in the two files \url+foo.afm+ and
             \url+foo.pfb+ that I mentioned
             above.

While the \product{fontname}
             directories have ready-made lists of these names for
             popular collections of typefaces, making them up
             requires some knowledge of typographic terms and a
             careful reading of the
             \product{fontname} documentation.
\item \textbf{Decide on your encoding}\\
This is what tripped me up the first few times until
             someone pointed me at Y\amp Y's
             \TeX{}'n'ANSI encoding which (to me) seems to
             be the only one that includes the glyphs I want where I
             want them.\index{fonts!encoding} Your mileage may vary. This encoding is
             referred to as \verb+LY1+ within \LaTeX{} and
             the encoding file is in
             \url+texmf/dvips/base/texnansi.enc+.
             Encoding is needed because Adobe fonts store their
             characters in different places to the \TeX{}
             standard.

Copy this encoding file to the temporary directory
             where you're doing all this stuff. If you're
             using the 8a or 8r encoding (or some other encoding),
             then copy that file instead
             (\url+8a.enc+,
             \url+8r.enc+).
\item \textbf{Convert \url+.afm+ files to
             \url+.tfm+}\\\label{idfile}%
The \product{afm2tfm} program is a
             standard utility in the \url+bin+
             directory of your \TeX{} installation. If it's not,
             update your installation.

In a command window, type:
\begin{sourcecode}[\leftmargin]\begin{Verbatim}[fontsize=\footnotesize]
afm2tfm foo.afm -v zorkly.vpl -p texnansi.enc rzorkly.tfm >zork.id
           \end{Verbatim}
\end{sourcecode}

This creates a special `raw'
             \TeX{} Font Metric file (hence the special \verb+r+
             prefix) that \LaTeX{} can use, with a list of all its
             properties encoded with LY1 (the
             \url+.vpl+ or Virtual Property List
             file). Many people will tell you that virtual fonts are
             dead and that this is the wrong way to do it, but no-one
             has ever shown me an alternative that works, so I stick
             with it.
\item \textbf{Small caps (optional)}\\\label{sc}%
If you want a small caps variant faked up (perhaps
             because the typeface family doesn't have a special
             small-caps font), repeat the medicine like this:
\begin{sourcecode}[\leftmargin]\begin{Verbatim}[fontsize=\footnotesize]
afm2tfm foo.afm -V zorklyc.vpl -p texnansi.enc rzorkly.tfm >>zork.id
           \end{Verbatim}
\end{sourcecode}

Note the capital \verb+V+ option here.
             Yes, it \emph{does} overwrite the
             \url+rzorkly.tfm+ created in the first
             command. Let it. And those are \emph{two}
             of the `greater-than' signs
             before the \url+zork.id+ filename because
             we want to append to it, not overwrite it.
\item \textbf{Create the virtual font}\\
Turn the \url+.vpl+ files into
             \url+.vf+ and \url+.tfm+
             pairs. \LaTeX{} uses these to convert from Adobe's
             encoding to its own.
\begin{sourcecode}[\leftmargin]\begin{Verbatim}[fontsize=\small]
vptovf zorkly.vpl zorkly.vf zorkly.tfm
vptovf zorklyc.vpl zorklyc.vf zorklyc.tfm
           \end{Verbatim}
\end{sourcecode}

Again, the \url+vptovf+ program is a
             standard part of your \TeX{} distribution.
\item \textbf{Make directories to hold the files}\\
Under your \url+texmf-local+
             directory there should be a \url+fonts+
             directory, and in there there should be
             \url+afm+, \url+tfm+,
             \url+type1+, and \url+vf+
             directories. Create them if they do not already
             exist.
\begin{center}
\includegraphics[width=0.75\textwidth]{fonts}
\end{center}

In each of these four, create a directory for the
             foundry, and within them create a directory for the
             typeface (using a human-readable typeface name, not the
             short \person{Karl  Berry} fontname). In our example, this
             means:
\begin{sourcecode}[\leftmargin]\begin{Verbatim}[fontsize=\small]
mkdir -p /usr/TeX/texmf-local/fonts/afm/zfonts/ordinary
mkdir -p /usr/TeX/texmf-local/fonts/tfm/zfonts/ordinary
mkdir -p /usr/TeX/texmf-local/fonts/type1/zfonts/ordinary
mkdir -p /usr/TeX/texmf-local/fonts/vf/zfonts/ordinary
           \end{Verbatim}
\end{sourcecode}

Or if you're lazy like me:
\begin{sourcecode}[\leftmargin]\begin{Verbatim}[fontsize=\small]
(cd /usr/TeX/texmf-local/fonts;\
for d in afm tfm type1 vf;do mkdir -p $d/zfonts/ordinary;done)
           \end{Verbatim}
\end{sourcecode}

For Microsoft Windows users, the path before
             \url+texmf-local+ may look something like
             \verb+C:\Program Files\TeXLive\+, depending
             on how and where you have installed your \TeX{}
             system.

The \verb+-p+ is a Unix feature: it
             automatically creates any missing intervening
             subdirectories. If your directory-making command
             doesn't do this, you'll have to make the
             intervening directories by hand first.
\item \textbf{Copy the files to their rightful places}\\
Copy the four groups of files to the four new
             directories:
\begin{sourcecode}[\leftmargin]\begin{Verbatim}[fontsize=\small]
cp *.afm /usr/TeX/texmf/fonts/afm/zfonts/ordinary/
cp *.tfm /usr/TeX/texmf/fonts/tfm/zfonts/ordinary/
cp *.pfb /usr/TeX/texmf/fonts/type1/zfonts/ordinary/
cp *.vf /usr/TeX/texmf/fonts/vf/zfonts/ordinary/
           \end{Verbatim}
\end{sourcecode}

You can of course do all this with a directory
             window and mouse if you find it easier.
\item \textbf{Create a font map}\\
The font map is what tells
             \product{dvips} which PFB\index{PFB@PFB} file to use for which font. The
             configuration file for \product{dvips}
             is \url+texmf/dvips/config/config.ps+ and
             it gets its entries from the program
             \product{updmap} which reads map files
             for each typeface. The configuration file for
             \product{updmap} is
             \url+texmf-var/web2c/updmap.cfg+\footnote{There is another one of these at
                 \url+texmf/web2c/updmap.cfg+, but
                 that contains the map references for the fonts which
                 came with your distribution of \TeX{}, so you should
                 not interfere with it.}, so it needs an entry for our new font,
           using the three-letter font family abbreviation (the first
             three letters of the Berry fontname (here
             `\verb+zor+'):
\begin{sourcecode}[\leftmargin]\begin{Verbatim}[fontsize=\small]
Map zor.map
           \end{Verbatim}
\end{sourcecode}

We also have to create this map file
             (\url+zor.map+) in a subdirectory of
             \url+texmf-local/dvips/config/+ named
             after the foundry, so we need to create
             \url+texmf-local/dvips/config/zfonts+ as
             well.
\begin{enumerate}
\item
Open
                 \url+/usr/TeX/texmf-var/web2c/updmap.cfg+
                 in your editor.
\item
At the bottom, add the line:
                 \verb`Map zor.map`
\item
Save and close the file.
\end{enumerate}

The font entries in our
             \verb+zor.map+ will be on a
             \emph{single} line each, with no
             line-wrapping. Each entry gives the short name of the
             font, the long (Adobe) name, the
             PostScript\index{PostScript} encoding parameters
             (in quotes), and then two filenames prefixed by input
             redirects (less-than signs): the encoding file and the
             PostScript\index{PostScript} outline file.
\begin{enumerate}
\item
First create the directory if it doesn't already
                 exist:
\begin{sourcecode}[\leftmargin]\begin{Verbatim}[fontsize=\small]
mkdir -p /usr/TeX/texmf-local/dvips/config/zfonts
           \end{Verbatim}
\end{sourcecode}
\item
Use your editor to open (create) the file
                 \url+/usr/TeX/texmf-local/dvips/config/zfonts/zor.map+.
\item \label{fullname}%
Insert the line:
\begin{sourcecode}[\leftmargin]\begin{Verbatim}[fontsize=\scriptsize]
rzorkly Ordinary-Blackface "TeXnANSIEncoding ReEncodeFont" <texnansi.enc <foo.pfb
                 \end{Verbatim}
\end{sourcecode}
\item
Save and close the file.
\end{enumerate}

You get the full font name (here,
             `Ordinary-Blackface') from the
             \verb+zork.id+ which was created back in
             step~\ref{idfile} in the procedure on p.\thinspace\pageref{idfile} when we ran
             \product{afm2tfm}. You must get this
             exactly right, because it's the
             `official' full name of the font,
             and PostScript\index{PostScript} files using this
             font need to match it.
\item \textbf{Create a style file}\\
\LaTeX{} needs a style file to implement the
           interface to the font. Call it after the
             typeface or something related; in this example we'll
             call it \url+foozork.sty+. In it go
           some details of the name and date we did this, what
           version of \LaTeX{} it needs, and any other command
           necessary to operate the font, like the font encoding and
           whether it is to supersede the current default Roman font.
\begin{enumerate}
\item
Use your editor to open (create)
                 \url+foozork.sty+ in
                 \url+texmf-local/tex/latex/psnfss+.
\item
Insert the following lines:
\begin{sourcecode}[\leftmargin]\begin{Verbatim}[fontsize=\small]
% foozork - created from foo for Zork
\def\fileversion{1.0}
\def\filedate{2002/12/03}
\def\docdate{2002/12/03}
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{foozork}[\filedate\space\fileversion\space
                         Zfonts Ordinary PSNFSS2e package]
\RequirePackage[LY1]{fontenc}
\renewcommand{\rmdefault}{zor}
\endinput
               \end{Verbatim}
\end{sourcecode}

Note the following:
\begin{itemize}
\item
The first argument to
                     \command{ProvidesPackage}�
                     \emph{must} be the same as this
                     style file name; and that the font family is
                     referred to as \verb+zor+, being the
                     foundry letter
                     plus the fontname abbreviation. This acts as a
                     prefix for any/all font variants (bold, italic,
                     etc.).

\item
If you are not using Y\amp Y encoding, omit
                     the line referring to LY1 font encoding.

\item
If this is a typewriter font, make the
                     renewed command \command{rmdefault}
                     into \command{ttdefault}.

\item
If it's a sans-serif font, make it
                     \command{sfdefault} instead.

\item
Omit the command completely if you
                     don't want the style file to supersede the
                     current defaults but simply to make the font
                     available. If you do this, you probably want to
                     write a new command or two to use it, typically
                     one for grouped use and one for argument
                     use:

\end{itemize}
\begin{sourcecode}[\leftmargin]\begin{Verbatim}[fontsize=\footnotesize]
\newcommand{\zorkfamily}{\fontencoding{LY1}\fontfamily{zor}\selectfont}
\newcommand{\textzork}[1]{{\zorkfamily#1}}
               \end{Verbatim}
\end{sourcecode}
\item
Save and close the file.
\end{enumerate}
\item \textbf{Create the Font Definition file}\\\label{fdfiles}%
The last file to create is the \textbf{\textit{font definition}}\index{font definition@\textbf{\textit{font definition}}}
             (\url+.fd+) file.  This is named
             following the pattern \verb+eeefnn.fd+,
             using the same conventions as before, by prepending the
             (lowercase) encoding abbreviation to the foundry letter
             and fontname abbreviation, so our example would be
             \verb+ly1zor.fd+ for the LY1 encoding and
             the \verb+zor+ short font name.
\begin{enumerate}
\item
Use your editor to open (create)
                 \url+texmf-local/tex/latex/psnfss/ly1zor.fd+
\item
Enter the following lines:
\begin{sourcecode}[\leftmargin]\begin{Verbatim}[fontsize=\small]
\ProvidesFile{ly1zor.fd}[2002/03/03 v0.1 manual font
                        definitions for LY1/zor.]

\DeclareFontFamily{LY1}{zor}{}

\DeclareFontShape{LY1}{zor}{k}{n}{<-> zorkly}{}
\DeclareFontShape{LY1}{zor}{k}{sc}{<-> zorklyc}{}
                 \end{Verbatim}
\end{sourcecode}
\item
Save and close the file.
\end{enumerate}

FD files typically use one
             \command{DeclareFontFamily} command which
             specifies the encoding and the short font name. Then as
             many pairs of
             \command{DeclareFontShape} commands as you
             converted fonts (assuming you did
             both normal and small caps for each font: see
             step~\ref{sc} in the procedure on p.\thinspace\pageref{sc}; if you didn't, then only one such
             command per font is needed here). The arguments to the
             \command{DeclareFontShape} command to watch are
             the 3rd (weight/width), 4th (shape), and 5th (font
             outline name): the rest are static for each
             \url+.fd+ file and simply identify the
             encoding and the font family.

The codes to use are given on
             pages�190\ndash{}91 of the \titlecite{companion} and should also be in
             your copies of
             \url+texmf/fontnames/weight.map+ and
             \url+texmf/fontnames/width.map+.  The
             rules for combining weight and width need care: RTFM\index{RTFM@RTFM} for
             \package{fontname}. There is no
             \url+shape.map+ in
             \package{fontname} because it's not
             part of font file names, it's purely a \LaTeX{}
             creation, so here's what the same book says:
\begin{center}
\begin{tabular}{ll}\textbf{\normalfont\bfseries\upshape Character}&\textbf{\normalfont\bfseries\upshape Meaning}\\[2pt]\hline\\[-.95\baselineskip]
\verb+n+&normal (upright)\\
\verb+it+&italic\\
\verb+sl+&slanted\\
\verb+sc+&small caps\\
\verb+ui+&upright italic\\
\verb+ol+&outline\\
\end{tabular}
\end{center}

Add your own for other oddities, but be consistent:
             I use \verb+cu+ for cursive (scripts), for
             example, and \verb+k+ for blackletter faces
             (not to be confused with \verb+k+ as a
             \emph{width} for
             `book').

The default fontspec (5th)
             argument above \verb+<->+ means
             all sizes come from the same font outline (remember if
             this was a \mf{} font with different design sizes
             like CM it would be much more complex).

If the face has only a few variants, you can create
             any other entries for bold, italic, slanted, etc. with
             the relevant weight and width and shape values pointing
             at the relevant outline file.

If you want one font to
             substitute for a missing one (for example italics to
             substitute for slanted in a typeface which has no
             slanted variant of its own) give the
             \verb+ssub+ (`silent
               substitution') command in the fontspec:
             for example to make all references to
             \verb+sl+ (slanted) type use an existing
             italic font, make the 5th argument like this:
\begin{sourcecode}[\leftmargin]\begin{Verbatim}[fontsize=\small]
{<-> ssub * zor/m/it}
             \end{Verbatim}
\end{sourcecode}

If you find the x-height of a font too big or too
             small to sort well with another font you are using, you
             can specify an \verb+s+
             (`scale') factor in this argument
             instead: this example will shrink the result to
             80\% of normal:
\begin{sourcecode}[\leftmargin]\begin{Verbatim}[fontsize=\small]
{<-> s * [0.8] zorkly}
             \end{Verbatim}
\end{sourcecode}
\item \textbf{Update the index and the map files}\\
Run your \TeX{} indexer program (see step~\ref{texindex} in the procedure on p.\thinspace\pageref{texindex}) so that
           \product{updmap} can find the files it
           needs.

Then run \product{updmap} (just
             type \verb+updmap+. This updates the
           maps and runs the \TeX{} indexer program again
           automatically.
\end{enumerate}

Now you can \verb+\usepackage{foozork}+ in
         your \LaTeX{} file to make it the default font. To use the
         font incidentally instead of as the default, you can
         say:
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
This is {\zorkfamily ZORK} or \textzork{ZORK}
       \end{Verbatim}
\end{sourcecode}
\subsection{Installing the Type�1 Computer Modern
         fonts}
\label{type1cm}

If your \LaTeX{} installation uses the
         \mf{} (bitmap) versions of the Computer Modern
         typeface, you may want to switch to the Type�1
         (PostScript\index{PostScript}) version, especially if
         you are going to be using
         \product{pdflatex} instead of standard
         \LaTeX{} because Acrobat Reader makes such a hames of
         displaying Type3 fonts. \product{GSview}
         and \product{pdfview} handles them
         correctly.

To do this, install one of the sets of CM PostScript
         fonts. There are several available:
\begin{itemize}
\item
The fonts from BlueSky Research at \url+http://www.ctan.org/tex-archive/fonts/cm/ps-type1/bluesky/+

\item
\person{Basil�K. Malyshev}'s fonts at \url+http://www.ctan.org/tex-archive/fonts/cm/ps-type1/bakoma/+

\item
\person{Vladimir Volovich}'s CM-Super  at \url+http://www.ctan.org/tex-archive/fonts/ps-type1/cm-super/+

\item
\person{Bogus\l{}aw Jackowski}'s Latin Modern at \url+ftp://cam.ctan.org/tex-archive/fonts/ps-type1/lm.tar.gz+

\end{itemize}

The BaKoMa fonts include the American
           Mathematical Society�(AMS)\index{AMS@AMS|textbf}\index{Acronyms@\textbf{Acronyms}, defined!AMS@AMS|textbf} fonts for extended
         mathematics, but are more complex to install because they
         come with a special set of TFM files.

The BlueSky fonts are just PFB\index{PFB@PFB}
         and AFM files, and are a drop-in replacement requiring no
         further changes, as they use the same TFM files as the
         \mf{} version. Follow the \url+README+
         file in the downloadable archive for installation
         instructions.

The Latin Modern and CM-Super fonts are new and I
           haven't tested them but they are well spoken
           of. Feedback on this is very welcome.

The \TeX{} Live distribution uses Type�1 versions of
         Computer Modern by default. There are more details in the
         FAQ at \url+http://www.tex.ac.uk/cgi-bin/texfaq2html?label=uselmfonts+\thinspace{}.
\chapter{Programmability (macros)}
\label{macros}
\index{macros}
We've touched several times on the ability of \LaTeX{}
     to be reprogrammed. This is one of its central features, and one
     that still, after nearly a quarter of a century, puts it well
     above many other typesetting systems, even those with macro
     systems of their own. It's also the one that needs most
     foreknowledge, which is why this chapter is in this
     position.

\LaTeX{} is in fact itself just a collection of
     macros\mdash{}rather a big collection\mdash{}written in
     \TeX{}'s internal typesetting language. These \textbf{\textit{macros}}\index{macros@\textbf{\textit{macros}}} are little program-like sets of
     instructions with a name which can be used as shorthand for an
     operation you wish to perform more than once.

Macros can be arbitrarily complex. Many of the ones used in
     the standard \LaTeX{} packages are several pages long, but as we
     will see, even short ones can very simply automate otherwise
     tedious chores and allow the author to concentrate on
     \emph{writing}.
\section{Simple replacement macros}
\label{replacement}

In its simplest form, a \LaTeX{} macro can just be a
       straightforward text replacement of a phrase to avoid
       misspelling something each time you need it, e.g.
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\newcommand{\ef}{European Foundation for the Improvement of Living
     and Working Conditions}
     \end{Verbatim}
\end{sourcecode}

Put this in your preamble, and you can then use
       \command{ef} in your document and it will typeset it
       as the full text. Remember that after a command ending in a
       letter you need to leave a space to avoid the next word
       getting gobbled up as part of the command (see
     \S\thinspace\ref{swallow}). And when you want to force a space
       to be printed, use a backslash followed by a space, e.g.
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
The \ef\ is an institution of the Commission of the European Union.
     \end{Verbatim}
\end{sourcecode}

As you can see from this example, the
       \command{newcommand} command takes two arguments:
     \begin{inparaenum}[\itshape a\upshape)] \item the name you want to give the new command;  and \item the expansion to be performed when you use it\end{inparaenum}, so there are always two sets of curly braces
       after \command{newcommand}.
\section{Macros using information gathered previously}
\label{macinf}

A more complex example is the macro
       \command{maketitle} which is used in almost every
       formal document to format the title block. In the basic
       document classes (book, report, and article) it performs small
       variations on the layout of a centred block with the title
       followed by the author followed by the date, as we saw in
       \S\thinspace\ref{titling}.

If you inspect one of these document class files, such as
       \url+texmf/tex/latex/base/report.cls+ you will
       see \command{maketitle} defined (and several variants
       called \command{@maketitle} for use in different
       circumstances). It uses the values for the title, author, and
       date which are assumed already to have been stored in the
       internal macros \command{@title},
       \command{@author}, and \command{@date} by
       the author using the matching \command{title},
       \command{author}, and \command{date}
       commands in the document.

This use of one command to store the information in
       another is a common way of gathering the information from the
       user. The use of macros containing the
       \verb+@+ character prevents their accidental
       misuse by the user: in fact to use them in your preamble we
       have to allow the \verb+@+ sign to become a
       `letter' so it can be recognised in a
       command name, and remember to turn it off again
       afterwards (see item~\ref{makeat} below).
\begin{sourcecode}\label{newtitle}\begin{Verbatim}[fontsize=\small]
\makeatletter
\renewcommand{\maketitle}{%
  \begin{flushleft}%
     \sffamily
     {\Large\bfseries\color{red}\@title\par}%
     \medskip
     {\large\color{blue}\@author\par}%
     \medskip
     {\itshape\color{green}\@date\par}%
     \bigskip\hrule\vspace*{2pc}%
  \end{flushleft}%
}
\makeatother
     \end{Verbatim}
\end{sourcecode}

Insert this in the sample file on p.\thinspace\pageref{oldtitle} immediately before the
       \verb+\begin{document}+ and remove the
         \verb+\color{...}+ commands from the title,
       author, and date. Re-run the file through \LaTeX{}, and you
       should get something like this:
\begin{center}
\setlength{\fboxsep}{1cm}\includegraphics[width=0.75\textwidth]{newtitle}
\end{center}

In this redefinition of \command{maketitle},
         we've done the following:
\begin{enumerate}\item\label{makeat}
Enclosed the changes in
           \command{makeatletter} and
           \command{makeatother} to allow us to use the
           \verb+@+ sign in command names;\footnote{If you move all this preamble into a style file of
               your own, you don't need these commands: the use
               of \url+@+ signs in command names is
               allowed in style and class files.}

\item
Used \command{renewcommand} and put
         \command{maketitle} in curly braces after it;

\item
Opened a pair of curly braces to hold the new
         definition. The closing curly brace is immediately before
           the \command{makeatother};

\item
Inserted a \env{flushleft} environment
         so the whole title block is left-aligned;

\item
Used \command{sffamily} so the whole title
         block is in the defined sans-serif typeface;

\item
For each of \command{@title},
           \command{@author}, and \command{@date},
           we have used some font variation and colour, and enclosed
           each one in curly braces to restrict the changes just to
           each command. The closing \command{par} makes
           sure that multiline title and authors and dates get
           typeset with the relevant line-spacing;

\item
Added some flexible space between the lines, and
           around the \command{hrule} (horizontal rule) at
           the end;

\end{enumerate}

Note the \verb+%+ signs after any line ending
     in a curly brace, to make sure no intrusive white-space find its
     way into the output. These aren't needed after simple
     commands where there is no curly brace because excess
     white-space gets gobbled up there anyway.
\section{Macros with arguments}
\label{macargs}

But macros are not limited to text expansion. They can
       take arguments of their own, so you can define a command to do
       something with specific text you give it. This makes them much
       more powerful and generic, as you can write a macro to do
       something a certain way, and then use it hundreds of times
       with a different value each time.

We looked earlier (\S\thinspace\ref{emph}) at making new
       commands to put specific classes of words into certain fonts,
       such as product names into italics, keywords into bold, and so
       on. Here's an example for a command
       \command{product}, which also indexes the product
       name and adds a trademark sign:
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\newcommand{\product}[1]{%
       \textit{#1}\texttrademark%
       \index{#1@\textit{#1}}%
}
     \end{Verbatim}
\end{sourcecode}

If I now type \verb+\tmproduct{Velcro}+ then I
       get \product{Velcro}\texttrademark{} typeset, and if
       you look in the index, you'll find this page referenced
       under `{\fontshape{it}\selectfont{}Velcro}'. Let's
       examine what this does:
\begin{enumerate}\item
The macro is specified as having one argument (that's
           the \verb+[1]+ in the definition). This will
           be the product name you type in curly braces when you use
           \command{product}. Macros can have up to nine
           arguments.

\item
The expansion of the macro is contained in the second
           set of curly braces, spread over several lines (see item~\ref{macrolines} for why).

\item
It prints the value of the first argument (that's
           the \verb+#1+) in italics, which is
           conventional for product names, and adds the
           \command{texttrademark} command.

\item
Finally, it creates an index entry using the same
           value (\verb+#1+), making sure that it's
           italicised in the index (see the list on p.\thinspace\pageref{indextypo} in \S\thinspace\ref{indextypo} to remind yourself of how indexing
           something in a different font works).

\item\label{macrolines}
Typing this macro over several lines makes it easier
           for humans to read. I could just as easily have
           typed
\begin{sourcecode}[\leftmargin]\begin{Verbatim}[fontsize=\small]
\newcommand{\product}[1]{\textit{#1}\index{#1@\textit{#1}}}
         \end{Verbatim}
\end{sourcecode}

but it wouldn't have been as clear what I was doing.

One thing to notice is that to prevent unwanted
           spaces creeping into the output when \LaTeX{} reads the
           macro, I ended each line with a comment character
           (\verb+%+). \LaTeX{} normally treats
           newlines as spaces when formatting (remember \S\thinspace\ref{comment}), so this stops the end of line
           being turned into an unwanted space when the macro is
           used. \LaTeX{} always ignores spaces at the
           \emph{start} of macro lines anyway, so
           indenting lines for readability is fine.

\end{enumerate}

In  (\S\thinspace\ref{hyph}) we mentioned the problem
       of frequent use of unbreakable text leading to poor
       justification or to hyphenation problems. A solution is to
       make a macro which puts the argument into an
       \command{mbox} with the appropriate font change, but
       precedes it all with a conditional
       \command{linebreak} which will make it more
       attractive to \TeX{} to start a new line.
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\newcommand{\var}[1]{\linebreak[3]\mbox{\ttfamily#1}}
     \end{Verbatim}
\end{sourcecode}

This only works effectively if you have a reasonably wide
     setting and paragraphs long enough for the differences in
     spacing elsewhere to get hidden. If you have to do this in
     narrow journal columns, you may have to adjust wording and
     spacing by hand occasionally.
\section{Nested macros}
\label{macnest}

Here's a slightly more complex example, where one
       macro calls another. It's common in normal text to refer
       to people by their forename and surname (in that order), for
       example \person{Don  Knuth}, but to have them indexed as \emph{surname,
         forename}. This pair of macros,
       \command{person} and \command{reindex},
       automates that process to minimize typing and indexing.
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\newcommand{\person}[1]{#1\reindex #1\sentinel}
\def\reindex #1 #2\sentinel{\index{#2, #1}}
     \end{Verbatim}
\end{sourcecode}
\begin{enumerate}\item
The digit 1 in square brackets means that
           \command{person} has one argument, so you put the
           whole name in a single set of curly braces, e.g.
           \verb+\person{Don Knuth}+.

\item
The first thing the macro does is output
       \verb+#1+, which is the value of what you typed,
           just as it stands, so the whole name gets typeset exactly
           as you typed it.

\item
But then it uses a special feature of Plain \TeX{}
           macros (which use \command{def} instead of
           \LaTeX{}'s \command{newcommand}\footnote{Don't try this at home alone, children! This one
               is safe enough, but you should strictly avoid
               \command{def} for a couple of years. Stick to
               \command{newcommand} for now.}): they too
           can have multiple arguments but you can separate them with
           other characters (here a space) to form a pattern which
           \TeX{} will recognise when reading the arguments.

In this example (\command{reindex}) it's
           expecting to see a string of characters
           (\verb+#1+) followed by a space, followed by
           another string of characters (\verb+#2+)
           followed by a dummy command (\command{sentinel}).
           In effect this makes it a device for splitting a name into two
           halves on the space between them, so the two halves can be
           handled separately. The \command{reindex} command
           can now read the two halves of the name separately.

\item
The \command{person} command invokes
           \command{reindex} and follows it with the name
           you typed plus the dummy command
           \command{sentinel} (which is just there to signal
           the end of the name). Because \command{reindex}
           is expecting two arguments separated by a space and
           terminated by a \command{sentinel}, it sees
           `\verb+Don+ and
             \verb+Knuth+' as two separate
           arguments.

It can therefore output them using
           \command{index} in reverse order, which is
           exactly what we want.

\end{enumerate}

A book or report with a large number of personal names to
       print and index could make significant use of this to allow
       them to be typed as
       \verb+\person{Leslie Lamport}+ and printed as
       \person{Leslie Lamport}, but have them indexed as
       `Lamport,�Leslie' with virtually no effort
       on the author's part at all.
\begin{exercise}
\addcontentsline{loe}{section}{\numberline{20}Other names}
\subsubsection*{Other names}
Try to work out how to make this
       \command{person} feature work with names like:
\begin{itemize*}
\item Blanca Maria Bartosova de Paul
\item Patricia Maria Soria de Miguel
\item Arnaud de la Vill�sbrunne
\item Prince
\item Pope John Paul II
\end{itemize*}

Hints: the command \command{space} produces a
       normal space, and one way around \LaTeX{}'s requirements
       on spaces after command names ending with a letter is to
         follow such commands with an empty set of curly braces
         \verb+{}+.
\end{exercise}
\section{Macros and environments}
\label{macenv}

As mentioned in \S\thinspace\ref{fancybox}, it is possible
     to define macros to capture text in an environment and reuse it
     afterwards. This avoids any features of the subsequent use
     affecting the formatting of the text.

One example of this uses the facilities of the
     \package{fancybox} package, which defines a variety
     of framed boxes to highlight your text, and a special
       environment \env{Sbox} which
     `captures' your text for use in these boxes.

By putting the text (here in a
     \env{minipage} environment because we want to
       change the width) inside the \env{Sbox}
       environment, it is typeset into memory and stored in the macro
       \command{theSbox}. It can then be used afterwards as
       the argument of the \command{shadowbox} command (and
     in this example it has also been centred).
\begin{example}
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\begin{Sbox}
\begin{minipage}{3in}
This text is formatted to the specifications
of the minipage environment in which it occurs.

Having been typeset, it is held in the Sbox
until it is needed, which is after the end of
the minipage, where you can (for example) centre
it and put it in a special framed box.
\end{minipage}
\end{Sbox}
\begin{center}
\shadowbox{\theSbox}
\end{center}
     \end{Verbatim}
\end{sourcecode}
\begin{sidebar}
This text is formatted to the specifications
of the minipage environment in which it occurs.

Having been typeset, it is held in the Sbox
until it is needed, which is after the end of
the minipage, where you can (for example) centre
it and put it in a special framed box.
\end{sidebar}\end{example}
\section{Reprogramming \sfLaTeX{}'s internals}
\label{reprog}

\LaTeX{}'s internal macros can also be reprogrammed or
       even rewritten entirely, although doing this can require a
       considerable degree of expertise. Simple changes, however, are
       easily done.

Recall that \LaTeX{}'s default document structure for
       the Report document class uses Chapters as the main unit of
       text, whereas in reality most reports are divided into
       Sections, not Chapters (\S\thinspace\ref{repchap}). The result
       of this is that if you start off your report with
       \verb+\section{Introduction}+, it will print
       as

{\Large{}\fontseries{b}\selectfont{}0.1\quad Introduction\emstrut}

\noindent which is not at all what you want. The zero is
       caused by it not being part of any chapter. But this numbering
       is controlled by macros, and you can redefine them. In this
       case it's a macro called \verb+\thesection+
       which reproduces the current section number counter (see \S\thinspace\ref{thecounter}). It's redefined afresh in each
       document class file, using the command
       \command{renewcommand} (in this case in
       \url+texmf/tex/latex/base/report.cls+):
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\renewcommand \thesection {\thechapter.\@arabic\c@section}
     \end{Verbatim}
\end{sourcecode}

You can see it invokes \command{thechapter}
       (which is defined elsewhere to reproduce the value of the
       \counter{chapter} counter), and it then prints a dot,
       followed by the Arabic value of the counter called
       \counter{section} (that \verb+\c@+
       notation is \LaTeX{}'s internal way of referring to
       counters). You can redefine this in your preamble to simply
       leave out the reference to chapters:
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\renewcommand{\thesection}{\arabic{section}}
     \end{Verbatim}
\end{sourcecode}

I've used the more formal method of enclosing the
       command being redefined in curly braces. For largely
       irrelevant historical reasons these braces are often omitted
       in \LaTeX{}'s internal code (as you may have noticed in
       the example earlier). And I've also used the
       `public' macro
       \command{arabic} to output the value of
       \counter{section} (\LaTeX{}'s internals use a
       `private' set of control sequences
       containing \verb+@+-signs, designed to protect
       them against being changed accidentally).

Now the introduction to your report will start
       with:

{\Large{}\fontseries{b}\selectfont{}1\quad Introduction\emstrut}

What's important is that you \emph{don't
         ever} need to alter the original document class
       file \url+report.cls+: you just copy the
       command you need to change into your own document preamble,
       and modify that instead. It will then override the
       default.
\subsection{Changing list item bullets}
\label{bullets}

As mentioned earlier (\S\thinspace\ref{labelitem}),
         here's how to redefine a bullet for an itemized list,
         with a slight tweak:
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
\usepackage{bbding}
\renewcommand{\labelitemi}{\raisebox{-.25ex}{\PencilRight}}
       \end{Verbatim}
\end{sourcecode}

Here we use the \package{bbding} package
         which has a large selection of
         `dingbats' or little icons, and we
         make the label for top-level itemized lists print a
         right-pointing pencil (the names for the icons are in the
         package documentation: see \S\thinspace\ref{packagedoc} for how
         to get it).

In this case, we are using the
         \command{raisebox} command within the redefinition
         because it turns out that the symbols in this font are
         positioned slightly too high for the typeface we're
         using. The \command{raisebox} command takes two
         arguments: the first is a dimension, how much to raise the
         object by (and a negative value means
         `lower': there is no
         \verb+\lowerbox+ command!); and the second is the
         text you want to affect. Here, we are shifting the symbol
         down by �ex (see \S\thinspace\ref{dimensions} for a list
         of dimensions \LaTeX{} can use).

There is a vast number of symbols available: see
         \titlecite{symbol-list} for a comprehensive list.
\chapter{Compatibility with other systems}
\label{compat}

As we saw in \chaptername~\ref{plaintext}, \LaTeX{} uses
     plain-text files, so they can be read and written by any standard
     application that can open text files. This helps preserve your
     information over time, as the plain-text format cannot be
     obsoleted or hijacked by any manufacturer or sectoral interest,
     and it will always be readable on any computer, from your
     handheld (yes, \LaTeX{} is available for some PDA\index{PDA@PDA}s) to
     the biggest supercomputer.

However, \LaTeX{} is intended as the last stage of the
     editorial process: formatting for print or display. If you have
     a requirement to re-use the text in some other
     environment\mdash{}a database perhaps, or on the Web or a CD-ROM\index{CD-ROM@CD-ROM} or DVD\index{DVD@DVD}, or in Braille
     or voice output\mdash{}then it should be edited, stored, and
     maintained in something neutral like XML, and only converted to
     \LaTeX{} when a typeset copy is needed.

Although \LaTeX{} has many structured-document features in
     common with SGML\index{SGML@SGML} and XML\index{XML@XML}, it can still only be processed by the
     \LaTeX{} and
     \product{pdflatex} programs. Because its macro features
     make it almost infinitely redefinable, processing it requires a
     program which can unravel arbitrarily complex macros, and
     \LaTeX{} and its siblings are the only programs which can do that
     effectively. Like other typesetters and formatters (Quark
     \product{XPress},
     \product{PageMaker},
     \product{FrameMaker}, Microsoft
     \product{Publisher},
     \product[3]{3B2} etc.), \LaTeX{} is largely a
     one-way street leading to typeset printing or display
     formatting.

Converting \LaTeX{} to some other format therefore means you
     will unavoidably lose some formatting, as \LaTeX{} has features
     that others systems simply don't possess, so they cannot be
     translated. Similarly, converting other formats to \LaTeX{}
     usually means editing back the stuff the other formats omit
     because they only store appearances, not structure.
\section{Converting into \sfLaTeX{}}
\label{tolatex}

There are several systems which will save their text in
       \LaTeX{} format. The best known is probably the
       \LyX{} editor, which is a
       wordprocessor-like interface to \LaTeX{} for Windows and Unix.
       Several maths packages like the
       \product{EuroMath} editor, and the
       \product{Mathematica} and
       \product{Maple} analysis packages, can also
       save material in \LaTeX{} format.

In general, most wordprocessors and DTP systems don't
       have the level of internal markup sophistication needed to
       create a \LaTeX{} file, or any other kind of structured
       document, because they only store what the text looks like,
       not why it's there or what role it fulfills. There are two
     ways out of this:
\begin{itemize}
\item
Use the \menuitem{File}{Save
         As\dots } menu item to save the wordprocessor
           file as HTML, rationalise the HTML using
         \person{Dave  Raggett}'s \product{HTML
               Tidy}\footnote{\url+http://tidy.sourceforge.net/+}, and convert the resulting
           XHTML to \LaTeX{} with any of the standard tools (see
           below).

\item
Use a specialist conversion tool like EBT's
           \product{DynaTag} (now available from
           Enigma, if you can persuade them to sell you a copy).
           It's expensive and they don't advertise it, but
           for bulk conversion of consistently-marked
           \product{Word} files into XML it beats everything
           else hands down. The \product{Word} files
           \emph{must} be consistent, though, and must
           use named styles from a stylesheet, otherwise no system on
           earth is going to be able to guess what it means.

\end{itemize}

There is of course a third way, suitable for large volumes
       only: send it off to the Pacific Rim to be retyped into XML.
       There are hundreds of companies from India to Polynesia who do
       this at high speed and low cost. It sounds crazy when the
       document is already in electronic form, but it's a good
       example of the low quality of wordprocessor markup that this
       solution exists at all.

You will have noticed that all the solutions lead to one
       place: SGML\index{SGML@SGML} or XML\index{XML@XML}. As explained above and elsewhere, these
       formats are the only ones devised so far capable of storing
       sufficient information in machine-processable,
       publicly-accessible form for a document to be recreated in
       multiple output formats.  Once your document is in XML\index{XML@XML} or
       SGML\index{SGML@SGML}, there is a large range of software available to turn it
       into other formats, including \LaTeX{}. Processors in any of
       the common styling and processing languages like DSSSL\index{DSSSL@DSSSL}, XSLT\index{XSLT@XSLT},
       \product{Omnimark},
       \product{Metamorphosis},
       \product{Balise}, etc. can easily be written
       to output \LaTeX{}, and this approach is extremely
       common.

Much of this will be simplified when wordprocessors
       support native, arbitrary XML as a standard feature.
       Sun's \product{Star Office} and its Open
       Source sister, \product{OpenOffice}, have
       used XML as their native Save format for several years, and
       there is a project at the Organisation for
         the Advancement of Structured Information Systems�(OASIS)\index{OASIS@OASIS|textbf}\index{Acronyms@\textbf{Acronyms}, defined!OASIS@OASIS|textbf}
       for developing a common XML office file format based on those
       used by these two packages.
       \product{WordPerfect} has also had a native
       SGML\index{SGML@SGML} (and now XML\index{XML@XML}) editor for many years, which will work
       with any Document Type Definition�(DTD)\index{DTD@DTD|textbf}\index{Acronyms@\textbf{Acronyms}, defined!DTD@DTD|textbf} (but not a Schema).
       Microsoft has had a half-hearted `Save
         As\dots XML' for a while, using an internal
       and largely undocumented Schema, but the
       `Professional' versions of
       \product{Word} and
       \product{Excel} in
       \product{Office�11} (Office 2003) now
       have full support for arbitrary Schemas.

When these efforts coalesce into generalised support for
       arbitrary DTD\index{DTD@DTD}s and Schemas, it will
       mean a wider choice of editing interfaces, and probably the
       ability to run XSLT\index{XSLT@XSLT} conversion into
       \LaTeX{} from within these editors,  uch as is done at the
       moment with \product{Emacs} or
       \product{XML Spy}.
\section{Converting out of \sfLaTeX{}}
\label{latexto}

This is much harder to do comprehensively. As noted
       earlier, the \LaTeX{} file format really requires the \LaTeX{}
       program itself in order to process all the packages and
       macros, because there is no telling what complexities authors
       have added themselves (what a lot of this booklet is
       about!).

There is an excellent program on CTAN\index{CTAN@CTAN} to do
       \LaTeX{}-to-\product{Word} conversion, but it
       only handles a subset of the built-in commands of default
       \LaTeX{}, not packages or your own macros.

One easy route into wordprocessing, however, is the
       reverse of the procedures suggested in the preceding section:
       convert \LaTeX{} to HTML, which many wordprocessors read
       easily. The \product[latex2html]{\LaTeX{}2HTML} and
       \product[tex4ht]{\TeX{}4HT} programs do
       this quite well, given the limited formatting available
       through Web browsers.

If you have the full version of Adobe
       \product{Acrobat}, you can open a PDF\index{PDF@PDF} file created by
       \product{pdflatex}, select and copy all the
       text, and paste it into \product{Word} and
       some other wordprocessors, and retain some common formatting
       of headings, paragraphs, and lists. Both solutions still
       require the wordprocessor text to be edited into shape, but
       they preserve enough of the formatting to make it worthwhile
       for short documents. Otherwise, use the
       \product{pdftotext} program to extract
       everything from the PDF\index{PDF@PDF} file as
       plain (paragraph-formatted) text.

At worst, the \product{detex} program on
       CTAN\index{CTAN@CTAN} will strip a \LaTeX{} file of
       all markup and leave just the raw unformatted text, which can
       then be re-edited. There are also programs to extract the raw
       text from DVI\index{DVI@DVI} and PostScript�(PS)\index{PS@PS|textbf}\index{Acronyms@\textbf{Acronyms}, defined!PS@PS|textbf} files.
\section{Going beyond \sfLaTeX{}}
\label{beyondlatex}

The reader will have deduced by now that while \LaTeX{} is
       possibly the best programmable formatter around, the \LaTeX{}
       file format is not generally usable with anything except the
       \LaTeX{} program. \LaTeX{} was originally written in the
       mid-1980s, about the same time as the Standard Generalized Markup Language�(SGML)\index{SGML@SGML|textbf}\index{Acronyms@\textbf{Acronyms}, defined!SGML@SGML|textbf},
       but the two projects were not related. However, \TeX{} and
       \LaTeX{} have proved such useful tools for formatting SGML\index{SGML@SGML} and more recently XML\index{XML@XML} that many users chose this route for
       their output, using conversions written in the languages
       already mentioned in \S\thinspace\ref{latexto}.

Unfortunately, when the rise of the Web in the early 1990s
       popularised SGML\index{SGML@SGML} using the HyperText Markup Language�(HTML)\index{HTML@HTML|textbf}\index{Acronyms@\textbf{Acronyms}, defined!HTML@HTML|textbf}, browser
       writers deliberately chose to encourage authors to ignore the
       rules of SGML\index{SGML@SGML}. Robust auto-converted
       formatting therefore became almost impossible except via the
       browsers' low-quality print routines.

It was not until 1997, when the Extensible Markup Language�(XML)\index{XML@XML|textbf}\index{Acronyms@\textbf{Acronyms}, defined!XML@XML|textbf} was devised,
       that it again became possible to provide the structural and
       descriptive power of SGML\index{SGML@SGML} but
       without the complex and rarely-used options which had made
       standard SGML\index{SGML@SGML} so difficult to
       program for.

XML\index{XML@XML} is now becoming the
       principal system of markup. Because it is based on the
       international standard (SGML\index{SGML@SGML}), it is
       not proprietary, so it has been implemented on most platforms,
       and there is lots of free software supporting it as well as
       many commercial packages. Like SGML\index{SGML@SGML},
       it is actually a meta-language to let you define your own
       markup, so it is much more flexible than HTML\index{HTML@HTML}. Implementations of the companion
       Extensible Stylesheet Language�(XSL)\index{XSL@XSL|textbf}\index{Acronyms@\textbf{Acronyms}, defined!XSL@XSL|textbf}
       provide a direct route to PDF\index{PDF@PDF} but at
       the expense of reinventing most of the wheels which \LaTeX{}
       already possesses, so the sibling Extensible Stylesheet Language:
         Transformations�(XSLT)\index{XSLT@XSLT|textbf}\index{Acronyms@\textbf{Acronyms}, defined!XSLT@XSLT|textbf} can be used instead to translate
       to \LaTeX{} source code. This is usually much faster than
       writing your own formatting from scratch in XSL\index{XSL@XSL}, and it means that you can take full
       advantage of the packages and sophistication of \LaTeX{}. A
       similar system is used for the Linux Documentation Project,
       which uses SGML\index{SGML@SGML} transformed by the
       Document Style Semantics and Specification
         Language�(DSSSL)\index{DSSSL@DSSSL|textbf}\index{Acronyms@\textbf{Acronyms}, defined!DSSSL@DSSSL|textbf} to \TeX{}

The source code of this booklet, available online at
       \url+http://www.ctan.org/tex-archive/info/beginlatex/src/+
       includes XSLT which does exactly this.
\appendix
\chapter[GNU Free Documentation License]{GNU Free Documentation License\\\LARGE\itshape Version 1.2, November 2002}
\label{gfdl}
\begin{multicols}{2}\small\gfdl
\begin{quotation}\small\noindent
Copyright (C) 2000,2001,2002  Free Software Foundation,
       Inc. 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
       Everyone is permitted to copy and distribute verbatim copies
       of this license document, but changing it is not
       allowed.
\end{quotation}
\setcounter{section}{-1}
\section{PREAMBLE}
\label{gfdl-0}

The purpose of this License is to make a manual, textbook,
       or other functional and useful document `free' in
       the sense of freedom: to assure everyone the effective freedom
       to copy and redistribute it, with or without modifying it,
       either commercially or noncommercially. Secondarily, this
       License preserves for the author and publisher a way to get
       credit for their work, while not being considered responsible
       for modifications made by others.

This License is a kind of `copyleft', which
       means that derivative works of the document must themselves be
       free in the same sense.  It complements the GNU General Public
       License, which is a copyleft license designed for free
       software.

We have designed this License in order to use it for
       manuals for free software, because free software needs free
       documentation: a free program should come with manuals
       providing the same freedoms that the software does.  But this
       License is not limited to software manuals; it can be used for
       any textual work, regardless of subject matter or whether it
       is published as a printed book.  We recommend this License
       principally for works whose purpose is instruction or
       reference.
\section{APPLICABILITY AND DEFINITIONS}
\label{gfdl-1}

\label{gfdl-doc}%
This License applies to any manual or other
       work, in any medium, that contains a notice placed by the
       copyright holder saying it can be distributed under the terms
       of this License.  Such a notice grants a world-wide,
       royalty-free license, unlimited in duration, to use that work
       under the conditions stated herein.  The
       `Document', below, refers to any such manual or
       work.  Any member of the public is a licensee, and is
       addressed as `you'.  You accept the license if
       you copy, modify or distribute the work in a way requiring
       permission under copyright law.

\label{gfdl-mod-ver}%
A `Modified Version' of the
       Document means any work containing the Document or a portion
       of it, either copied verbatim, or with modifications and/or
       translated into another language.

\label{gfdl-secnd-sect}%
A `Secondary Section' is
       a named appendix or a front-matter section of the Document
       that deals exclusively with the relationship of the publishers
       or authors of the Document to the Document's overall
       subject (or to related matters) and contains nothing that
       could fall directly within that overall subject.  (Thus, if
       the Document is in part a textbook of mathematics, a Secondary
       Section may not explain any mathematics.)  The relationship
       could be a matter of historical connection with the subject or
       with related matters, or of legal, commercial, philosophical,
       ethical or political position regarding them.

\label{gfdl-inv-sect}%
The `Invariant Sections'
       are certain Secondary Sections whose titles are designated, as
       being those of Invariant Sections, in the notice that says
       that the Document is released under this License.  If a
       section does not fit the above definition of Secondary then it
       is not allowed to be designated as Invariant.  The Document
       may contain zero Invariant Sections.  If the Document does not
       identify any Invariant Sections then there are none.

\label{gfdl-cov-text}%
The `Cover Texts' are
       certain short passages of text that are listed, as Front-Cover
       Texts or Back-Cover Texts, in the notice that says that the
       Document is released under this License.  A Front-Cover Text
       may be at most 5 words, and a Back-Cover Text may be at most
       25 words.

\label{gfdl-transparent}%
A `Transparent' copy of
       the Document means a machine-readable copy, represented in a
       format whose specification is available to the general public,
       that is suitable for revising the document straightforwardly
       with generic text editors or (for images composed of pixels)
       generic paint programs or (for drawings) some widely available
       drawing editor, and that is suitable for input to text
       formatters or for automatic translation to a variety of
       formats suitable for input to text formatters.  A copy made in
       an otherwise Transparent file format whose markup, or absence
       of markup, has been arranged to thwart or discourage
       subsequent modification by readers is not Transparent.  An
       image format is not Transparent if used for any substantial
       amount of text.  A copy that is not `Transparent'
       is called `Opaque'.

Examples of suitable formats for Transparent copies
       include plain ASCII without markup, Texinfo input format,
       LaTeX input format, SGML or XML using a publicly available
       DTD, and standard-conforming simple HTML,
       PostScript\index{PostScript} or PDF designed for human
       modification.  Examples of transparent image formats include
       PNG, XCF and JPG.  Opaque formats include proprietary formats
       that can be read and edited only by proprietary word
       processors, SGML or XML for which the DTD and/or processing
       tools are not generally available, and the machine-generated
       HTML, PostScript\index{PostScript} or PDF produced by
       some word processors for output purposes only.

\label{gfdl-title-page}%
The `Title Page' means,
       for a printed book, the title page itself, plus such following
       pages as are needed to hold, legibly, the material this
       License requires to appear in the title page. For works in
       formats which do not have any title page as such, `Title
         Page' means the text near the most prominent
       appearance of the work's title, preceding the beginning
       of the body of the text.

\label{gfdl-entitled}%
A section `Entitled XYZ'
       means a named subunit of the Document whose title either is
       precisely XYZ or contains XYZ in parentheses following text
       that translates XYZ in another language. (Here XYZ stands for
       a specific section name mentioned below, such as
       `Acknowledgements', `Dedications',
       `Endorsements', or `History'.)  To
       `Preserve the Title' of such a section when you
       modify the Document means that it remains a section
       `Entitled XYZ' according to this
       definition.

The Document may include Warranty Disclaimers next to the
       notice which states that this License applies to the Document.
       These Warranty Disclaimers are considered to be included by
       reference in this License, but only as regards disclaiming
       warranties: any other implication that these Warranty
       Disclaimers may have is void and has no effect on the meaning
       of this License.
\section{VERBATIM COPYING}
\label{gfdl-2}

You may copy and distribute the Document in any medium,
       either commercially or noncommercially, provided that this
       License, the copyright notices, and the license notice saying
       this License applies to the Document are reproduced in all
       copies, and that you add no other conditions whatsoever to
       those of this License.  You may not use technical measures to
       obstruct or control the reading or further copying of the
       copies you make or distribute.  However, you may accept
       compensation in exchange for copies.  If you distribute a
       large enough number of copies you must also follow the
       conditions in section 3.


You may also lend copies, under the same conditions stated
       above, and you may publicly display copies.
\section{COPYING IN QUANTITY}
\label{gfdl-3}

If you publish printed copies (or copies in media that
       commonly have printed covers) of the Document, numbering more
       than 100, and the Document's license notice requires
       Cover Texts, you must enclose the copies in covers that carry,
       clearly and legibly, all these Cover Texts: Front-Cover Texts
       on the front cover, and Back-Cover Texts on the back cover.
       Both covers must also clearly and legibly identify you as the
       publisher of these copies.  The front cover must present the
       full title with all words of the title equally prominent and
       visible.  You may add other material on the covers in
       addition.  Copying with changes limited to the covers, as long
       as they preserve the title of the Document and satisfy these
       conditions, can be treated as verbatim copying in other
       respects.

If the required texts for either cover are too voluminous
       to fit legibly, you should put the first ones listed (as many
       as fit reasonably) on the actual cover, and continue the rest
       onto adjacent pages.

If you publish or distribute Opaque copies of the Document
       numbering more than 100, you must either include a
       machine-readable Transparent copy along with each Opaque copy,
       or state in or with each Opaque copy a computer-network
       location from which the general network-using public has
       access to download using public-standard network protocols a
       complete Transparent copy of the Document, free of added
       material.  If you use the latter option, you must take
       reasonably prudent steps, when you begin distribution of
       Opaque copies in quantity, to ensure that this Transparent
       copy will remain thus accessible at the stated location until
       at least one year after the last time you distribute an Opaque
       copy (directly or through your agents or retailers) of that
       edition to the public.

It is requested, but not required, that you contact the
       authors of the Document well before redistributing any large
       number of copies, to give them a chance to provide you with an
       updated version of the Document.
\section{MODIFICATIONS}
\label{gfdl-4}

You may copy and distribute a Modified Version of the
       Document under the conditions of sections 2 and 3 above,
       provided that you release the Modified Version under precisely
       this License, with the Modified Version filling the role of
       the Document, thus licensing distribution and modification of
       the Modified Version to whoever possesses a copy of it.  In
       addition, you must do these things in the Modified
       Version:
\begin{enumerate}\renewcommand{\theenumi}{\Alph{enumi}}\item Use in the Title Page (and on the covers,
           if any) a title distinct from that of the Document, and
           from those of previous versions (which should, if there
           were any, be listed in the History section of the
           Document).  You may use the same title as a previous
           version if the original publisher of that version gives
           permission.

\item List on the Title Page, as authors, one or
           more persons or entities responsible for authorship of the
           modifications in the Modified Version, together with at
           least five of the principal authors of the Document (all
           of its principal authors, if it has fewer than five),
           unless they release you from this requirement.

\item State on the Title page the name of the
           publisher of the Modified Version, as the
           publisher.
\item Preserve all the copyright notices of the
           Document.

\item Add an appropriate copyright notice for
           your modifications adjacent to the other copyright
           notices.

\item Include, immediately after the copyright
           notices, a license notice giving the public permission to
           use the Modified Version under the terms of this License,
           in the form shown in the Addendum (\S\thinspace\ref{gfdl-addendum}) below.

\item Preserve in that license notice the full
           lists of Invariant Sections and required Cover Texts given
           in the Document's license
           notice.
\item Include an unaltered copy of this License.

\item Preserve the section Entitled
           `History', Preserve its Title, and add to it
           an item stating at least the title, year, new authors, and
           publisher of the Modified Version as given on the Title
           Page.  If there is no section Entitled
           `History' in the Document, create one stating
           the title, year, authors, and publisher of the Document as
           given on its Title Page, then add an item describing the
           Modified Version as stated in the previous sentence.

\item Preserve the network location, if any,
           given in the Document for public access to a Transparent
           copy of the Document, and likewise the network locations
           given in the Document for previous versions it was based
           on.  These may be placed in the `History'
           section.  You may omit a network location for a work that
           was published at least four years before the Document
           itself, or if the original publisher of the version it
           refers to gives permission.

\item For any section Entitled
           `Acknowledgements' or
           `Dedications', Preserve the Title of the
           section, and preserve in the section all the substance and
           tone of each of the contributor acknowledgements and/or
           dedications given therein.

\item Preserve all the Invariant Sections of the
           Document, unaltered in their text and in their titles.
           Section numbers or the equivalent are not considered part
           of the section titles.

\item Delete any section Entitled
           `Endorsements'. Such a section may not be
           included in the Modified Version.

\item Do not retitle any existing section to be
           Entitled `Endorsements' or to conflict in
           title with any Invariant Section.

\item Preserve any Warranty Disclaimers.

\end{enumerate}

If the Modified Version includes new front-matter sections
       or appendices that qualify as Secondary Sections and contain
       no material copied from the Document, you may at your option
       designate some or all of these sections as invariant.  To do
       this, add their titles to the list of Invariant Sections in
       the Modified Version's license notice. These titles must
       be distinct from any other section titles.

You may add a section Entitled
       `Endorsements', provided it contains nothing but
       endorsements of your Modified Version by various parties--for
       example, statements of peer review or that the text has been
       approved by an organization as the authoritative definition of
       a standard.

You may add a passage of up to five words as a Front-Cover
       Text, and a passage of up to 25 words as a Back-Cover Text, to
       the end of the list of Cover Texts in the Modified Version.
       Only one passage of Front-Cover Text and one of Back-Cover
       Text may be added by (or through arrangements made by) any one
       entity.  If the Document already includes a cover text for the
       same cover, previously added by you or by arrangement made by
       the same entity you are acting on behalf of, you may not add
       another; but you may replace the old one, on explicit
       permission from the previous publisher that added the old
       one.

The author(s) and publisher(s) of the Document do not by
       this License give permission to use their names for publicity
       for or to assert or imply endorsement of any Modified
       Version.
\section{COMBINING DOCUMENTS}
\label{gfdl-5}

You may combine the Document with other documents released
       under this License, under the terms defined in section 4 (\S\thinspace\ref{gfdl-4}) above for modified
       versions, provided that you include in the combination all of
       the Invariant Sections of all of the original documents,
       unmodified, and list them all as Invariant Sections of your
       combined work in its license notice, and that you preserve all
       their Warranty Disclaimers.

The combined work need only contain one copy of this
       License, and multiple identical Invariant Sections may be
       replaced with a single copy.  If there are multiple Invariant
       Sections with the same name but different contents, make the
       title of each such section unique by adding at the end of it,
       in parentheses, the name of the original author or publisher
       of that section if known, or else a unique number.  Make the
       same adjustment to the section titles in the list of Invariant
       Sections in the license notice of the combined work.

In the combination, you must combine any sections Entitled
       `History' in the various original documents,
       forming one section Entitled `History'; likewise
       combine any sections Entitled `Acknowledgements',
       and any sections Entitled `Dedications'.  You
       must delete all sections Entitled
       `Endorsements'.
\section{COLLECTIONS OF DOCUMENTS}
\label{gfdl-6}

You may make a collection consisting of the Document and
       other documents released under this License, and replace the
       individual copies of this License in the various documents
       with a single copy that is included in the collection,
       provided that you follow the rules of this License for
       verbatim copying of each of the documents in all other
       respects.

You may extract a single document from such a collection,
       and distribute it individually under this License, provided
       you insert a copy of this License into the extracted document,
       and follow this License in all other respects regarding
       verbatim copying of that document.
\section{AGGREGATION WITH INDEPENDENT
       WORKS}
\label{gfdl-7}

A compilation of the Document or its derivatives with
       other separate and independent documents or works, in or on a
       volume of a storage or distribution medium, is called an
       `aggregate' if the copyright resulting from the
       compilation is not used to limit the legal rights of the
       compilation's users beyond what the individual works
       permit.  When the Document is included an aggregate, this
       License does not apply to the other works in the aggregate
       which are not themselves derivative works of the
       Document.

If the Cover Text requirement of section 3 is applicable
       to these copies of the Document, then if the Document is less
       than one half of the entire aggregate, the Document's
       Cover Texts may be placed on covers that bracket the Document
       within the aggregate, or the electronic equivalent of covers
       if the Document is in electronic form.  Otherwise they must
       appear on printed covers that bracket the whole
       aggregate.
\section{TRANSLATION}
\label{gfdl-8}

Translation is considered a kind of modification, so you
       may distribute translations of the Document under the terms of
       section 4. Replacing Invariant Sections with translations
       requires special permission from their copyright holders, but
       you may include translations of some or all Invariant Sections
       in addition to the original versions of these Invariant
       Sections.  You may include a translation of this License, and
       all the license notices in the Document, and any Warranty
       Disclaimers, provided that you also include the original
       English version of this License and the original versions of
       those notices and disclaimers.  In case of a disagreement
       between the translation and the original version of this
       License or a notice or disclaimer, the original version will
       prevail.

If a section in the Document is Entitled
       `Acknowledgements', `Dedications',
       or `History', the requirement (section 4) to
       Preserve its Title (section 1) will typically require changing
       the actual title.
\section{TERMINATION}
\label{gfdl-9}

You may not copy, modify, sublicense, or distribute the
       Document except as expressly provided for under this License.
       Any other attempt to copy, modify, sublicense or distribute
       the Document is void, and will automatically terminate your
       rights under this License.  However, parties who have received
       copies, or rights, from you under this License will not have
       their licenses terminated so long as such parties remain in
       full compliance.
\section{FUTURE REVISIONS OF THIS
       LICENSE}
\label{gfdl-10}

The Free Software Foundation may publish new, revised
       versions of the GNU Free Documentation License from time to
       time.  Such new versions will be similar in spirit to the
       present version, but may differ in detail to address new
       problems or concerns.  See
       http://www.gnu.org/copyleft/.

Each version of the License is given a distinguishing
       version number.  If the Document specifies that a particular
       numbered version of this License `or any later
         version' applies to it, you have the option of
       following the terms and conditions either of that specified
       version or of any later version that has been published (not
       as a draft) by the Free Software Foundation.  If the Document
       does not specify a version number of this License, you may
       choose any version ever published (not as a draft) by the Free
       Software Foundation.
\section{ADDENDUM: How to use this License
       for your documents}
\label{gfdl-addendum}

To use this License in a document you have written,
       include a copy of the License in the document and put the
       following copyright and license notices just after the title
       page:
\begin{quotation}\small\noindent

         Copyright (c)  YEAR  YOUR NAME. Permission is granted to
         copy, distribute and/or modify this document under the terms
         of the GNU Free Documentation License, Version 1.2 or any
         later version published by the Free Software Foundation;
         with no Invariant Sections, no Front-Cover Texts, and no
         Back-Cover Texts. A copy of the license is included in the
         section entitled `GNU Free Documentation
           License'.

\end{quotation}

If you have Invariant Sections, Front-Cover Texts and
       Back-Cover Texts, replace the
       `with\dots Texts.' line with this:
\begin{quotation}\small\noindent

         with the Invariant Sections being LIST THEIR TITLES, with
         the Front-Cover Texts being LIST, and with the Back-Cover
         Texts being LIST.

\end{quotation}

If you have Invariant Sections without Cover Texts, or
       some other combination of the three, merge those two
       alternatives to suit the situation.

If your document contains nontrivial examples of program
       code, we recommend releasing these examples in parallel under
       your choice of free software license, such as the GNU General
       Public License, to permit their use in free software.

\end{multicols}
\chapter{Configuring \TeX{} search paths}
\label{cnf}

\TeX{} systems run on a huge variety of platforms, and are
     typically made up of huge numbers of quite small files, so they
     cannot easily use each operating system's built-in methods
     of searching for a file when needed.

Instead, they use a technique borrowed from the Unix world,
     based on a simple index for each directory they need to look in.
     This is known as the ls-R database, from the Unix command
     (\verb+ls -R+) which creates it, and the program
     which does it for \TeX{} is sometimes actually called
     \product{mktexlsr}. This is the program referred
     to in step~\ref{texindex} in the procedure on p.\thinspace\pageref{texindex}.

However, to know where to make these indexes, and thus where
     to search, \TeX{} needs to be told about them. In a standard
     \TeX{} installation this information is in
     \url+texmf/web2c/texmf.cnf+. The file is similar
     to a Unix script, but the only lines of significance for the
     search paths are the following (this is how they appear in the
     default Unix installation, omitting the comments):
\begin{sourcecode}\begin{Verbatim}[fontsize=\small]
TEXMFMAIN = /usr/TeX/texmf
TEXMFLOCAL = /usr/TeX/texmf-local
HOMETEXMF = $HOME/texmf
TEXMF = {$HOMETEXMF,!!$TEXMFLOCAL,!!$TEXMFMAIN}
SYSTEXMF = $TEXMF
VARTEXFONTS = /var/lib/texmf
TEXMFDBS = $TEXMF;$VARTEXFONTS
   \end{Verbatim}
\end{sourcecode}

As you can see, this defines where the main \TeX{}/\mf{}
     directory is, where the local one is, and where the user's
     personal (home) one is. It then defines the order in which they
     are searched, and makes this the system-wide list. A temporary
     directory for bitmap fonts is set up, and added to the list,
     defining the places in which \product{texhash}
     or \product{mktexlsr} creates its
     databases.

In some installations, the local directory is set up in
     \url+/usr/local/share/texmf+ or
     \url+/usr/share/texmf.local+ or similar
     variations, so you would substitute this name for
     \url+/usr/TeX/texmf-local+. Under Microsoft
     Windows, the names will be full paths such as
     \url+C:\Program Files\TeXLive\texmf+. On an Apple
     Mac, it might be \url+Hard Disk:TeX:texmf+.

If you edit plain-text configuration files with anything
     other than a plain-text editor (e.g.�a wordprocessor), or if you
     edit them with a plain-text editor which has been set to
     word-wrap long lines, make sure you turn line-wrapping
     \emph{off} so that any long lines are preserved in
     their correct format.
\chapter{\TeX{} Users Group membership}
\label{tugform}

The \TeX{} Users Group was founded in 1980 for educational
     and scientific purposes: to provide an organization for those
     who have an interest in typography and font design, and are
     users of the \TeX{} typesetting system invented by Donald Knuth.
     TUG is run by and for its members and represents the interests
     of \TeX{} users worldwide.
\subsection*{TUG membership benefits}\addcontentsline{toc}{subsection}{TUG membership benefits}

Members of TUG help to support and promote the use of
       \TeX{}, \mf{}, and related systems worldwide. All members
       receive \titlecite{tugboat} \textsl{TUGboat}, the
       journal of the \TeX{} Users Group, the \TeX{} Live software
       distribution (a runnable \TeX{} system), and the CTAN\index{CTAN@CTAN} software distribution (containing most
       of the CTAN\index{CTAN@CTAN} archive).

In addition, TUG members vote in TUG elections, and
       receive discounts on annual meeting fees, store purchases, and
       TUG-sponsored courses. TUG membership (less benefits) is
       tax-deductible, at least in the USA.  See the TUG Web site for
       details.
\subsection*{Becoming a TUG member}\addcontentsline{toc}{subsection}{Becoming a TUG member}

Please see the forms and information at \url+http://tug.org/join.html+.  You can join
       online, or by filling out a paper form. The NTG (Dutch) and
       UKTUG (United Kingdom) \TeX{} user groups have joint membership
       agreements with TUG whereby you can receive a discount for
       joining both user groups.  To do this, please join via \url+http://www.ntg.nl/newmember.html+ (the NTG
       membership page) or \url+http://uk.tug.org/Membership/+ (the UKTUG
       page), respectively, and select the option for joint
       membership.

Each year's membership entitles you to the software and
       TUGboat produced for that year (even if it is produced in a
       subsequent calendar year, as is currently the case with
       TUGboat).  You can order older issues of TUGboat and \TeX{}
       memorabilia through the TUG store (\url+http://tug.org/store+).

The current TUG membership fee is \$65 (US) per year
       for individuals and \$35 for students and seniors. Add
       \$10 to the membership fee after May 31 to cover
       additional shipping and processing costs. The current rate for
       non-voting subscription memberships (for libraries, for
       example) is \$85. The current institutional rate is
       \$500, which includes up to seven individual
       memberships.
\subsection*{Privacy}\addcontentsline{toc}{subsection}{Privacy}

TUG uses your personal information only to mail you
       products, publications, notices, and (for voting members)
       official ballots. Also, if you give explicit agreement, we may
       incorporate it into a membership directory which will be made
       available only to TUG members.

TUG neither sells its membership list nor provides it to
       anyone outside of its own membership.
\renewcommand{\bibname}{References}
\bibliography{beginlatex}
\bibliographystyle{jurabib}
\begin{VerbatimOut}{beginlatex.bib}
@book{mathguide,
 juraauthor = {AMS},
 author = {{American Mathematical Society}},
 title = {{Short Math Guide for \LaTeX{}}},
 juratitle = {Short Math Guide},
 publisher = {AMS},
 address = {Providence, RI},
 url = {http://www.ams.org/tex/short-math-guide.html},
 year = {2001},
 comment = {Written by XSLT}
}
@techreport{fontname,
 author = {Karl Berry},
 title = {{Fontname: Filenames for \TeX{} fonts}},
 url = {http://www.ctan.org/tex-archive/info/fontname/},
 organisation = {\TeX{} Users Group},
 address = {Portland, OR},
 year = {June 2001},
 comment = {Written by XSLT}
}
@book{bull,
 author = {RJ Bull},
 title = {{Accounting in Business}},
 publisher = {Butterworths},
 address = {London},
 year = {1972},
 isbn = {0-406-70651-4},
 comment = {Written by XSLT}
}
@techreport{teiguide,
 author = {Lou Burnard and Michael Sperberg-McQueen},
 title = {{Guidelines for the Text Encoding Initiative}},
 juratitle = {TEI Guidelines},
 organisation = {OUP},
 address = {Oxford},
 year = {1995},
 comment = {Written by XSLT}
}
@book{davy,
 author = {William Davy},
 title = {{A System of Divinity}},
 publisher = {Published by the author},
 address = {Lustleigh, Devon},
 year = {1806},
 comment = {Written by XSLT}
}
@techreport{gentle,
 author = {Michael Doob},
 title = {{A Gentle Introduction to \TeX{}: A Manual for Self-Study}},
 juratitle = {Gentle Intro},
 organisation = {\TeX{} Users Group},
 address = {Portland, OR},
 year = {2002},
 url = {http://www.ctan.org/tex-archive/info/gentle/},
 comment = {Written by XSLT}
}
@book{bovary,
 author = {Gustave Flaubert},
 title = {{Madame Bovary}},
 address = {Paris},
 year = {1857},
 comment = {Written by XSLT}
}
@book{htmlbook,
 author = {Peter Flynn},
 title = {{The HTML Handbook}},
 juratitle = {The HTML Handbook},
 publisher = {International Thompson Computer
         Press},
 address = {London},
 isbn = {1-85032-205-8},
 year = {1995},
 comment = {Written by XSLT}
}
@book{sgmltools,
 author = {Peter Flynn},
 title = {{Understanding SGML and XML Tools}},
 juratitle = {SGML \amp  XML Tools},
 publisher = {Kluwer},
 address = {Boston},
 isbn = {0-7923-8169-6},
 year = {1998},
 comment = {Written by XSLT}
}
@book{fg,
 author = {John Fothergill},
 title = {{An Innkeeper's Diary}},
 publisher = {Penguin},
 address = {London},
 edition = {3rd},
 year = {1929},
 comment = {Written by XSLT}
}
@book{companion,
 author = {Michel Goossens and Frank Mittelbach and Alexander Samarin},
 title = {{The \LaTeX{} Companion}},
 juratitle = {Companion},
 publisher = {Addison-Wesley},
 address = {Reading, MA},
 isbn = {0-201-54199-8},
 year = {1993},
 comment = {Written by XSLT}
}
@book{graphicscomp,
 author = {Michel Goossens and Sebastian Rahtz and Frank Mittelbach},
 title = {{The \LaTeX{} Graphics Companion}},
 juratitle = {Graphics Companion},
 publisher = {Addison-Wesley},
 address = {Reading, MA},
 isbn = {0-201-85469-4},
 year = {1997},
 comment = {Written by XSLT}
}
@book{webcomp,
 author = {Michel Goossens and Sebastian Rahtz and Ross Moore and Bob Sutor},
 title = {{The \LaTeX{} Web Companion}},
 juratitle = {Web Companion},
 publisher = {Addison-Wesley},
 address = {Reading, MA},
 isbn = {0-201-43311-7},
 year = {1999},
 comment = {Written by XSLT}
}
@article{goreham-ctt,
 author = {Anthony Goreham},
 title = {{Re: Installing a new font: PFM, PFB}},
 juratitle = {Installing a new font},
 url = {news:comp.text.tex},
 number = {[email protected]},
 pages = {(all pages)},
 year = {28 November 2001},
 comment = {Written by XSLT}
}
@article{heller,
 author = {Robert Heller},
 title = {{New To \LaTeX{}\dots Unlearning Bad Habits}},
 juratitle = {Bad habits},
 url = {news:comp.text.tex},
 number = {[email protected]},
 pages = {(all pages)},
 year = {11 March 2003},
 comment = {Written by XSLT}
}
@techreport{fontinst,
 author = {Alan Jeffrey and Rowland McDonnell},
 title = {{Font installation software for \TeX{}}},
 juratitle = {Fontinst},
 url = {http://www.tex.ac.uk/tex-archive/fonts/utilities/fontinst/},
 organisation = {\TeX{} Users Group},
 year = {30 June 1998},
 comment = {Written by XSLT}
}
@book{aocs,
 author = {Donald Ervin Knuth},
 title = {{The Art of Computer Programming}},
 publisher = {Addison-Wesley},
 address = {Reading, MA},
 edition = {2nd},
 volume = {1},
 isbn = {0-201-89685-0},
 year = {1980},
 comment = {Written by XSLT}
}
@book{latexbook,
 author = {Leslie Lamport},
 title = {{\LaTeX{}: A Document Preparation System}},
 publisher = {Addison-Wesley},
 address = {Reading, MA},
 isbn = {0-201-52983-1},
 edition = {2nd},
 year = {1994},
 comment = {Written by XSLT}
}
@book{macnamara,
 author = {Matthew {Mac Namara}},
 title = {{La Textualisation de \emph{Madame
         Bovary}}},
 publisher = {Rodopi},
 address = {Amsterdam},
 year = {2003},
 comment = {Written by XSLT}
}
@techreport{lshort,
 author = {Tobias Oetiker and Hubert Partl and Irene Hyna and Elisabeth Schlegl},
 title = {{The (Not So) Short Guide to \LaTeXe{}: \LaTeXe{} in 131 Minutes}},
 juratitle = {Short Guide},
 organisation = {\TeX{} Users Group},
 url = {http://www.ctan.org/tex-archive/info/lshort/},
 year = {2001},
 edition = {3.2},
 comment = {Written by XSLT}
}
@techreport{symbol-list,
 author = {Scott Pakin},
 title = {{A comprehensive list of symbols in \TeX{}}},
 juratitle = {Symbol list},
 organisation = {\TeX{} Users Group},
 url = {http://www.ctan.org/tex-archive/info/symbols/comprehensive/},
 year = {2002},
 comment = {Written by XSLT}
}
@techreport{begin,
 juraauthor = {TUG},
 author = {{\TeX{} Users Group}},
 title = {{Getting Started with \TeX{}, \LaTeX{}, and friends}},
 juratitle = {Getting Started},
 organisation = {\TeX{} Users Group},
 url = {http://www.tug.org/begin.html},
 year = {November 2003},
 comment = {Written by XSLT}
}
@techreport{imported,
 author = {Keith Reckdahl},
 title = {{Using imported graphics in \LaTeXe{}}},
 juratitle = {Imported graphics},
 organisation = {\TeX{} Users Group},
 url = {http://www.ctan.org/tex-archive/info/epslatex.pdf/},
 year = {1997},
 edition = {2.0},
 comment = {Written by XSLT}
}
@book{ryder,
 author = {John Ryder},
 title = {{Printing for Pleasure}},
 publisher = {Bodley Head},
 address = {London},
 isbn = {0-370-10443-9},
 year = {1976},
 comment = {Written by XSLT}
}
@techreport{xmlfaq,
 author = {Peter Flynn},
 title = {{The XML FAQ}},
 organisation = {University College Cork},
 address = {Cork, Ireland},
 url = {http://www.ucc.ie/xml/},
 year = {January 2003},
 comment = {Written by XSLT}
}
@techreport{gnufdl,
 juraauthor = {FSF},
 author = {{Free Software Foundation}},
 title = {{The GNU Free Documentation License}},
 juratitle = {GNU FDL},
 organisation = {Free Software Foundation},
 address = {Boston, MA},
 url = {http://www.fsf.org/copyleft/fdl.html},
 year = {2003/02/10 23:42:49},
 comment = {Written by XSLT}
}
@proceedings{tugboat,
 editor = {Barbara Beeton},
 title = {{TUGboat}},
 publisher = {\TeX{} Users Group},
 address = {Portland, OR},
 issn = {0896-3207},
 year = {Since 1980},
 comment = {Written by XSLT}
}
@proceedings{wired,
 editor = {Chris Anderson},
 title = {{WIRED}},
 publisher = {Cond\'e Nast},
 address = {San Francisco, CA},
 issn = {1059-1028},
 year = {1993--},
 comment = {Written by XSLT}
}
\end{VerbatimOut}
\renewcommand{\indexname}{Index}
\clearpage\section*{\indexname}

The same fonts are used here as in the text of the booklet
     (see the Introduction)
   to distinguish between different meanings:
\begin{center}
\begin{tabular}{ll}\textbf{\normalfont\bfseries\upshape Notation}&\textbf{\normalfont\bfseries\upshape Meaning}\\[2pt]\hline\\[-.95\baselineskip]
CTAN\index{CTAN@CTAN}&Acronyms (small caps in some typefaces)\\
\command{command}&\LaTeX{} control sequences (monospace font)\\
{\fontseries{b}\fontshape{it}\selectfont{}term}&Defining instance of a specialist term (bold
             italics)\\
\product{product}&program or product name (italics)\\
\env{environment}&\LaTeX{} environment (sans-serif bold)\\
\package{package}&\LaTeX{} package (sans-serif; all available from
             CTAN\index{CTAN@CTAN})\\
\opt{options},
             \counter{variables}&options and variables (oblique)\\
\end{tabular}
\end{center}

In the online version, these entries are all hyperlinked to
     their source: for clarity the stylesheet recommends
     retaining the traditional blue colour but removing the
     underlining which most browsers use to indicate a link.

Page numbers in {\fontseries{b}\selectfont{}bold type}
     indicate the defining instance.
\par\parfillskip=0pt plus.5fil
\multicolsep=1.5pc\printindex
\end{document}