2 The Structure of a LaTeX Document
2.1 The structure of a source file
2.1.1 Processing of options and packages
2.1.2 Splitting the source file into parts
2.1.4 optional—Providing variants in the document source
2.2.3 Changing fixed heading texts
2.2.4 fncychap—Predefined chapter heading layouts
2.2.5 quotchap—Mottos on chapters
2.2.6 titlesec—A different approach to headings
2.3 Table of contents structures
2.3.1 Entering information into the contents files
2.3.2 Typesetting a contents list
2.3.3 Combining contents lists
2.3.4 Providing additional contents files
2.3.5 shorttoc—Summary table of contents
2.3.6 minitoc—Multiple tables of contents
2.3.7 titletoc—A different approach to contents lists
2.4.1 showkeys—Displaying the reference keys
2.4.2 varioref—More flexible cross-references
2.4.3 prettyref—Adding frills to references
2.4.4 titleref—Non-numerical references
2.4.5 hyperref—Active references
2.4.6 xr—References to external documents
3.1.1 xspace—Gentle spacing after a macro
3.1.2 ellipsis, lips—Marks of omission
3.1.3 amsmath—Nonbreaking dashes
3.1.4 relsize—Relative changes to the font size
3.1.5 textcase—Change case of text intelligently
3.1.6 ulem—Emphasize via underline
3.1.7 soul—Letterspacing or stealing sheep
3.1.8 url—Typesetting URLs, path names, and the like
3.1.9 euro—Converting and typesetting currencies
3.1.10 lettrine—Dropping your capital
3.1.11 Paragraph justification in LaTeX
3.1.12 ragged2e—Enhancing justification
3.1.13 setspace—Changing interline spacing
3.1.14 picinpar—Making rectangular holes
3.2 Footnotes, endnotes, and marginals
3.2.1 Using standard footnotes
3.2.2 Customizing standard footnotes
3.2.3 ftnright—Right footnotes in a two-column environment
3.2.4 footmisc—Various footnotes styles
3.2.5 perpage—Resetting counters on a “per-page” basis
3.2.6 manyfoot—Independent footnotes
3.2.7 endnotes—An alternative to footnotes
3.3.1 Modifying the standard lists
3.3.2 paralist—Extended list environments
3.3.3 amsthm—Providing headed lists
3.4.1 Simple verbatim extensions
3.4.2 upquote—Computer program style quoting
3.4.3 fancyvrb—Highly customizable verbatim environments
3.4.4 listings—Pretty-printing program code
3.5.1 lineno—Numbering lines of text
3.5.2 parallel—Two text streams aligned
3.5.3 multicol—A flexible way to handle multiple columns
3.5.4 changebar—Adding revision bars to documents
4.1 Geometrical dimensions of the layout
4.2.1 layouts—Displaying your layout
4.2.2 A collection of page layout packages
4.2.3 typearea—A traditional approach
4.2.4 geometry—Layout specification with auto-completion
4.2.5 lscape—Typesetting individual pages in landscape mode
4.2.6 crop—Producing trimming marks
4.3 Dynamic page data: page numbers and marks
4.3.2 lastpage—A way to reference it
4.3.3 chappg—Page numbers by chapters
4.3.5 extramarks—Providing new marks
4.4.1 The low-level page style interface
4.4.2 fancyhdr—Customizing page styles
4.4.3 truncate—Truncate text to a given length
4.5.1 nextpage—Extensions to clearpage
4.6.1 KOMA-Script—A drop-in replacement for article et al.
4.6.2 memoir—Producing complex publications
5.1 Standard LaTeX environments
5.1.1 Using the tabbing environment
5.1.2 Using the tabular environment
5.2 array—Extending the tabular environments
5.2.1 Examples of preamble commands
5.2.2 Defining new column specifiers
5.3.1 Explicit calculation of column widths
5.3.2 tabularx—Automatic calculation of column widths
5.3.3 tabulary—Column widths based on content
5.3.4 Differences between tabular*, tabularx, and tabulary
5.4 Multipage tabular material
5.4.1 supertabular—Making multipage tabulars
5.4.2 longtable—Alternative multipage tabulars
5.6 Customizing table rules and spacing
5.6.3 hhline—Combining horizontal and vertical lines
5.6.5 tabls—Controlling row spacing
5.6.6 booktabs—Formal ruled tables
5.7.1 multirow—Vertical alignment in tables
5.7.2 dcolumn—Decimal column alignments
5.8 Footnotes in tabular material
5.8.1 Using minipage footnotes with tables
5.8.2 threeparttable—Setting table and notes together
5.9.1 Managing tables with wide entries
6.1 Understanding float parameters
6.2.1 placeins—Preventing floats from crossing a barrier
6.2.2 afterpage—Taking control at the page boundary
6.2.3 endfloat—Placing figures and tables at the end
6.3 Extensions to LaTeX’s float concept
6.3.1 float—Creating new float types
6.3.2 caption—For nonfloating figures and tables
6.3.3 rotating—Rotating floats
6.3.4 rotfloat—Combining float and rotating
6.4.1 wrapfig—Wrapping text around a figure
6.4.2 picins—Placing pictures inside the text
6.5 Controlling the float caption
6.5.1 caption—Customizing your captions
6.5.2 subfig—Substructuring floats
6.5.3 subfloat—Sub-numbering floats
6.5.4 sidecap—Place captions sideways
6.5.5 fltpage—Captions on a separate page
7.1.1 The history of LaTeX’s font selection scheme (NFSS)
7.1.2 Input and output encodings
7.2 Understanding font characteristics
7.2.1 Monospaced and proportional fonts
7.2.2 Serifed and sans serif fonts
7.2.3 Font families and their attributes
7.3.1 Standard LaTeX font commands
7.3.2 Combining standard font commands
7.3.3 Font commands versus declarations
7.3.4 Accessing all characters of a font
7.3.5 Changing the default text fonts
7.3.6 LaTeX 2.09 font commands
7.4.1 Special math alphabet identifiers
7.4.2 Text font commands in math
7.4.3 Mathematical formula versions
7.5 Standard LaTeX font support
7.5.1 Computer Modern—The LaTeX standard fonts
7.5.2 inputenc—Selecting the input encoding
7.5.3 fontenc—Selecting font encodings
7.5.4 textcomp—Providing additional text symbols
7.5.5 exscale—Scaling large operators
7.5.6 tracefnt—Tracing the font selection
7.5.7 nfssfont.tex—Displaying font tables and samples
7.6 PSNFSS—PostScript fonts with LaTeX
7.6.1 Font samples for fonts supported by PSNFSS
7.6.2 mathptmx—Times Roman in math and text
7.6.3 mathpazo—Palatino in math and text
7.6.4 pifont—Accessing Pi and Symbol fonts
7.7 A collection of font packages
7.7.1 eco—Old-style numerals with Computer Modern
7.7.2 ccfonts, concmath—The Concrete fonts
7.7.3 cmbright—The Computer Modern Bright fonts
7.7.4 luximono—A general-purpose typewriter font
7.7.5 txfonts—Alternative support for Times Roman
7.7.6 pxfonts—Alternative support for Palatino
7.7.7 The Fourier-GUTenberg fonts
7.7.8 The URW Antiqua and Grotesk fonts
7.7.9 yfonts—Typesetting with Old German fonts
7.7.10 euler, eulervm—Accessing the Euler fonts
7.8 The LaTeX world of symbols
7.8.1 dingbat—A selection of hands
7.8.2 wasysym—Waldi’s symbol font
7.8.3 marvosym—Interface to the MarVoSym font
7.8.4 bbding—A METAFONT alternative to Zapf Dingbats
7.8.5 ifsym—Clocks, clouds, mountains, and other symbols
7.8.6 tipa—International Phonetic Alphabet symbols
7.8.7 Typesetting the euro symbol (€)
7.9.1 Setting individual font attributes
7.9.2 Setting several font attributes
7.9.3 Automatic substitution of fonts
7.9.4 Using low-level commands in the document
7.10.2 Naming those thousands of fonts
7.10.3 Declaring new font families and font shape groups
7.10.4 Modifying font families and font shape groups
7.10.5 Declaring new font encoding schemes
7.10.6 Internal file organization
7.10.7 Declaring new fonts for use in math
7.10.8 Example: Defining your own .fd files
7.10.9 The order of declaration
7.11.1 Character data within the LaTeX system
7.11.2 LaTeX’s internal character representation (LICR)
7.12 Compatibility packages for very old documents
7.12.1 oldlfont, rawfonts, newlfont—Processing old documents
7.12.2 LaTeXsym—Providing symbols from LaTeX 2.09 lasy fonts
8.2 Display and alignment structures for equations
8.2.1 Comparison with standard LaTeX
8.2.2 A single equation on one line
8.2.3 A single equation on several lines: no alignment
8.2.4 A single equation on several lines: with alignment
8.2.5 Equation groups without alignment
8.2.6 Equation groups with simple alignment
8.2.7 Multiple alignments: align and flalign
8.2.8 Display environments as mini-pages
8.2.9 Interrupting displays: intertext
8.2.10 Vertical space and page breaks in and around displays
8.2.11 Equation numbering and tags
8.2.12 Fine-tuning tag placement
8.2.13 Subordinate numbering sequences
8.2.14 Resetting the equation counter
8.3.3 Stacking in subscripts and superscripts
8.3.5 delarray—Delimiters surrounding an array
8.4 Compound structures and decorations
8.4.7 Fractions and generalizations
8.4.9 amsxtra—Accents as superscripts
8.6.2 Operator and function names
8.7 Fine-tuning the mathematical layout
8.7.1 Controlling the automatic sizing and spacing
8.8.1 Additional math font commands
8.8.3 A collection of math font set-ups
8.9.1 Mathematical symbol classes
8.9.2 Letters, numerals, and other Ordinary symbols
8.9.8 Opening and Closing symbols
9 LaTeX in a Multilingual Environment
9.1 TeX and non-English languages
9.1.1 Language-related aspects of typesetting
9.1.2 Culture-related aspects of typesetting
9.1.3 Babel—LaTeX speaks multiple languages
9.2.1 Setting or getting the current language
9.3 User commands provided by language options
9.3.3 Language-specific commands
9.3.5 Languages and font encoding
9.4 Support for non-Latin alphabets
9.5.1 Hyphenating in several languages
9.5.3 The structure of the babel language definition file
10 Graphics Generation and Manipulation
10.1 Producing portable graphics and ornaments
10.1.1 boxedminipage—Boxes with frames
10.1.2 shadow—Boxes with shadows
10.1.3 fancybox—Ornamental boxes
10.1.4 epic—An enhanced picture environment
10.1.5 eepic—Extending the epic package
10.1.6 Special-purpose languages
10.2 LaTeX’s device-dependent graphics support
10.2.1 Options for graphics and graphicx
10.2.2 The includegraphics syntax in the graphics package
10.2.3 The includegraphics syntax in the graphicx package
10.2.4 Setting default key values for the graphicx package
10.2.5 Declarations guiding the inclusion of images
10.2.6 A caveat: Encapsulation is important
10.3 Manipulating graphical objects in LaTeX
10.3.2 Resizing to a given size
10.4 Display languages: PostScript, PDF, and SVG
10.4.1 The PostScript language
10.4.2 The dvips PostScript driver
10.4.3 pspicture—An enhanced picture environment for dvips
10.4.4 The Portable Document Format
10.4.5 Scalable Vector Graphics
11.1 Syntax of the index entries
11.1.3 Page ranges and cross-references
11.1.4 Controlling the presentation form
11.1.5 Printing special characters
11.1.7 Defining your own index commands
11.2 makeindex—A program to format and sort indexes
11.2.1 Generating the formatted index
11.2.2 Detailed options of the MakeIndex program
11.2.4 Customizing the index with MakeIndex
11.3 xindy—An alternative to MakeIndex
11.3.1 Generating the formatted index with xindy
11.3.2 International indexing with xindy
11.3.3 Modules for common tasks
11.3.4 Style files for individual solutions
11.4 Enhancing the index with LaTeX features
11.4.2 showidx, repeatindex, tocbibind, indxcite—Little helpers
11.4.3 index—Producing multiple indexes
12.1.1 Bibliographical reference schemes
12.1.2 Markup structure for citations and bibliography
12.1.3 Using BibTeX to produce the bibliography input
12.2.1 Standard LaTeX—Reference by number
12.2.2 cite—Enhanced references by number
12.2.3 notoccite—Solving a problem with unsorted citations
12.3.2 natbib—Customizable author-date references
12.3.3 bibentry—Full bibliographic entries in running text
12.5.1 jurabib—Customizable short-title references
12.5.2 camel—Dedicated law support
12.6 Multiple bibliographies in one document
12.6.1 chapterbib—Bibliographies per included file
12.6.2 bibunits—Bibliographies for arbitrary units
12.6.3 bibtopic—Combining references by topic
12.6.4 multibib—Separate global bibliographies
13.1 The BibTeX program and some variants
13.1.1 bibtex8—An 8-bit reimplementation of BibTeX
13.2 The BibTeX database format
13.2.2 The text part of a field explained
13.2.3 Abbreviations in BibTeX
13.2.5 Cross-referencing entries
13.4 Bibliography database management tools
13.4.1 biblist—Printing BibTeX database files
13.4.2 bibtools—A collection of command-line tools
13.4.3 bibclean, etc.—A second set of command-line tools
13.4.4 bibtool—A multipurpose command-line tool
13.4.5 pybliographer—An extensible bibliography manager
13.4.6 JBibtexManager—A BibTeX database manager in Java
13.4.7 BibTexMng—A BibTeX database manager for Windows
13.5 Formatting the bibliography with BibTeX styles
13.5.1 A collection of BibTeX style files
13.5.2 custom-bib—Generate BibTeX styles with ease
13.6 The BibTeX style language
13.6.1 The BibTeX style file commands and built-in functions
13.6.2 The documentation style btxbst.doc
13.6.3 Introducing small changes in a style file
14 LaTeX Package Documentation Tools
14.1 doc—Documenting LaTeX and other code
14.1.1 General conventions for the source file
14.1.2 Describing new macros and environments
14.1.3 Cross-referencing all macros used
14.1.4 The documentation driver
14.1.5 Conditional code in the source
14.2 docstrip.tex—Producing ready-to-run code
14.2.1 Invocation of the DOCSTRIP utility
14.2.2 DOCSTRIP script commands
14.2.3 Installation support and configuration
14.2.4 Using DOCSTRIP with other languages
14.3 ltxdoc—A simple LaTeX documentation class
14.3.1 Extensions provided by ltxdoc
14.3.2 Customizing the output of documents that use ltxdoc
14.4 Making use of version control tools
14.4.1 rcs—Accessing individual keywords
14.4.2 rcsinfo—Parsing the $Id$ keyword
A A LaTeX Overview for Preamble, Package, and Class Writers
A.1 Linking markup and formatting
A.1.1 Command and environment names
A.1.3 Defining new environments
A.1.4 Defining and changing counters
A.1.5 Defining and changing space parameters
A.2 Page markup—Boxes and rules
A.2.4 Manipulating boxed material
A.3 Control structure extensions
A.3.1 calc—Arithmetic calculations
A.3.2 ifthen—Advanced control structures
A.4 Package and class file structure
A.4.3 The declaration of options
A.4.4 The execution of options
A.4.5 The package loading part
A.4.7 Special commands for package and class files
A.4.8 Special commands for class files
B Tracing and Resolving Problems
B.1.1 Dying with memory exceeded
B.2 Warnings and informational messages
B.3 TeX and LaTeX commands for tracing
B.3.1 Displaying command definitions and register values
B.3.2 Diagnosing page-breaking problems
B.3.3 Diagnosing and solving paragraph-breaking problems
B.3.4 Other low-level tracing tools
B.3.5 trace—Selectively tracing command execution
C LaTeX Software and User Group Information
C.2 How to get those TeX files?
C.3.1 Using the TeX file catalogue
C.3.2 Finding files on the archive
C.4 Finding the documentation on your TeX system
C.4.1 texdoc—Command-line interface for a search by name
C.4.2 texdoctk—Panel interface for a search by subject