\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/MPG.18d82140d65ddc5898968c@news.earthlink.net+}):
\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 \url+texhax@tug.org+. 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 = {m3r8qj42o3.fsf@micawber.queens.ox.ac.uk},
  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 = {MPG.18d82140d65ddc5898968c@news.earthlink.net},
  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}
