# Documentation Guide

Search

for

Features and News | Web2c and configuration | TeX variants | Guides | Graphics | Diagrams | LaTeX packages | Ancillary programs | Man pages | More...
--- | --- | --- | --- | --- | --- | --- | --- | --- | ---

This page is an attempt at a guided tour around the TeX and LaTeX documentation which is distributed with teTeX.

teTeX is a unix TeX and LaTeX system assembled by Thomas Esser since 1994. Its home page is located at http://www.tug.org/tetex/. The teTeX Manual is the main reference for teTeX specific information including configuration. A few notes on teTeX configuration are available below but are not intended to replace the manual.

Queries about installing and maintaining the teTeX installation itself should be directed to the teTeX mailing list: (see the teTeX Homepage for instructions) - but check the frequently-asked questions list first. Questions about using LaTeX, TeX, etc., are best posted to the usenet newsgroup `comp.text.tex` where they will receive attention from a worldwide readership.

The documentation available through this page is provided as either plain text, html or in one of the 3 common formats for TeX related output described in the table below. Note that only the `xdvi*` software is distributed with teTeX.

File suffix | Format name | Viewers
--- | --- | ---
*.dvi | Device Independent | xdvi, xdvik, kdvi,...
*.ps | PostScript | ghostview, gv, ggv, kghostview,...
*.pdf | Portable Document Format | Acrobat Reader (acroread), xpdf, ggv, kdf,...

All these file types may be viewed from a properly configured web browser such as those from the Mozilla family (with appropriate plugins such as MozPlugger, the Acrobat Reader plugin,...), or Konqueror, or ... Most of the original LaTeX sources can be found in the documentation tree which is rooted at `$TEXMFDIST/doc` or `$TEXMFLOCAL/doc`.

teTeX makes available the traditional `man` and `info` pages. The former are listed in the man pages section below.

Other interfaces to documentation include the `texdoc` and `texdoctk` tools.

Note that teTeX does not contain a graphical interface for editing and processing *.tex documents. Choices in a unix environment for this include (x)emacs (with auctex or preview-latex), kile, nedit and its LaTeX mode, vim,...

## Main features in the 3.0 release

- teTeX is free software.
- Included programs: web2c, xdvik, dvipsk, texinfo, pdfetex, Omega, dvipng, aleph, dviljk, ps2pk, makeindex, texconfig, fmtutil, updmap, texdoc, texdoctk.
- TDS (TeX Directory Structure) compliant support tree with fonts / macros / documentation: 226 MB, >13000 files.
- Updated texmf tree with many updated or added packages. Most notably: LaTeX2e, ConTeXt, Latin Modern fonts, beamer, koma-script and memoir package.
- Easy to install and to customize, even for a multi-platform setup.
- Ready for producing resolution independent (bitmap free) postscript or pdf documents (including thumbnails, hyperlinks and bookmarks).

## What is new in 3.0?

- Updated programs: web2c 7.5.4, xdvik 22.84.9, dvipsk 5.95a, texinfo 4.8, pdfetex 1.21a (based on TeX-3.141592 and eTeX-2.2), Omega 1.23.2.3, dviljk 2.6p2, ps2pk 1.5, makeindex 2.14, texi2html 1.76, texconfig, fmtutil, updmap, texdoc, texdoctk v0.6.0a.
- Restructured texmf trees: cached runtime data or updated configuration files are no longer mixed with the distributed tree.
- Added programs: dvipng 1.5 (convert dvi -> png) and aleph 3.141592-1.15-2.1-0.0-rc4 (combines a stable omega version with features of eTeX).
- Updated texmf tree: LaTeX2e <2003/12/01>, ConTeXt version 2005.01.31, Latin Modern fonts, beamer, memoir, and many others.
- TDS: the distributed texmf tree was rearranged to follow revision 1.1 of the TDS.
- Default engine: pdfetex is now the default engine used for most formats (including latex).
- Multi-user: texconfig / updmap / fmtutil can now be used in a multi-user environment.

Refer to the teTeX Manual for further details.

## Main features in the 2.0 release

- included files reviewed for license problems; teTeX now is free software!
- program packages: web2c 7.4.5, pdfTeX 1.10a, e-TeX 2.1, Omega 1.23.2.1, xdvik 22.40v, dvipsk 5.92b, dviljk 2.6p2, dvipdfm 0.13.2c, ps2pk 1.5, makeindex 2.14, texinfo 4.4, texconfig 2.0, updmap 2.0, texdoctk.
- main TeX formats: plain.tex 3.14159265, LaTeX2e <2001/06/01>, ConTeXt 2003.1.31
- TDS (TeX Directory Structure) compliant support tree with fonts / macros / documentation: 150 MB, >11000 files
- easy to install and to customize, even for a multi-platform setup ready for producing resolution independent (bitmap free) postscript or pdf documents (including thumbnails, hyperlinks and bookmarks)

## What else was new in teTEX 2

- The dvipdfm application by Mark A. Wicks
- The command `texdoc` [package-name] will attempt to display documentation for that package from the shell command line.
- pazo and tx/px fonts added (to supplement times / palatino).
- Many fonts and macro packages updated or added, e.g., pdfpages or framed.

## What was new in teTEX 1

- New TeX-like programs, e-tex, omega, pdftex and their LaTeX variants.
- New format ConTeXt.
- Computer Modern fonts in Adobe Postscript Type 1 form (courtesy of Blue Sky Research.) See the entry for dvips.
- Based on Web2C 7.3. This allows the size of TeX’s tables to be set in the configuration file `texmf.cnf` and easily adjusted.
- Updated release of LaTeX and many of its packages.
- Xdvi is now hypertext-capable. Especially useful in conjunction with the new hyperref package.
- Many new packages including bm, colortbl, fancyvrb, hyperref, picins, sidecap, footmisc, and the MDW tools (at, cmtt, doafter, mathenv,...).
- T2 font encoding, support for Cyrillic and LH fonts.
- Better support for installing new fonts.

## Web2c and configuration

teTeX is based on the web2c implementation of TeX, metafont, etc. Information on running the various programs is contained in web2c.pdf. All programs use a common, configurable, library for searching for files. The file kpathsea.pdf gives details. Data file system trees for tex, metafont and related programs (texmf trees) in teTeX are structured according to the TeX Directory Structure (TDS). Available texmf trees, their location and purpose are set in the web2c configuration file `texmf.cnf` and described there and in the manual.

Configuration options in teTeX can be set system-wide using the `texconfig-sys` utility, or at the user level by `texconfig`. This `*-sys` convention is also followed for created map files (`udpmap`) and format files (`fmtutil`). Files created by these utilities are stored in the appropriate texmf tree.

To speed up file search file name databases named `ls-R` are used. They are located at the root of each texmf tree and need to be updated with the `texhash` command after the addition of files to the texmf trees except in the cases of automatic font generation or when using `texconfig`.

## TeX and its variants

TeX | encTeX | plain TeX | eplain | LaTeX | PDFTeX and PDFLaTeX | Omega and Lambda | ETex and ELaTeX | Aleph | ConTeXt
--- | --- | --- | --- | --- | --- | --- | --- | --- | ---

This distribution includes the classical plain and LaTeX macro packages as well as several more recent developments of TeX (and LaTeX).

### TeX

The original TeX described in the TeXbook by Donald E. Knuth.

### encTeX

A backwards compatible extension to the original TeX allowing UTF-8 processing in 8-bit TeX.

### plain TeX

The format described in the TeXbook.

### Eplain

Eplain is an extended version of plain TeX format.

### LaTeX

The extremely popular macro package originally by Leslie Lamport and described in LaTeX, a document preparation system (2nd edition) . Currently LaTeX is developed by the LaTeX project which has recently updated its description of additional capabilities in the LaTeX Companion (2nd edition). Most entries below deal with LaTeX functionality.

### PDFTeX and PDFLaTeX

Han The Thanh’s TeX variant which can generate output in Adobe PDF format. Documentation is in the PDFTeX manual.

### Omega and Lambda

The Omega system and the corresponding LaTeX format Lambda extend TeX for mixed multi-lingual typesetting using unicode. See the omega home page.

### ETeX and ELaTeX

e-TeX adds several extensions to TeX notably right-to-left typesetting.

### Aleph

The Aleph project aims to build a "usable" version of Omega, incorporating ETeX extensions.

### ConTeXt

A relatively recent macro package for TeX by Hans Hagen. A ConTeXt specific package is included: PPCHTEX which allows typesetting chemical structure-formulas.

## Guides

Useful information in a questions and answers format is provided by the UK TeX users group Frequently Asked Questions list.

### LaTeX guides

LaTeX2e is the recommended version of LaTeX, and the older version LaTeX 2.09 is obsolete. If you know LaTeX2.09 read about LaTeX2e vs LaTeX2.09 and why you should switch. There is one manual describing the LaTeX language itself, which may at a pinch substitute for a book, the Not so short Introduction to LaTeX2e. There is also a full reference manual of LaTeX2e commands -- ideal for looking up a particular piece of formatting while writing a document (also available in dvi format) and a table of available mathematical symbols. Either new or old users of LaTeX 2e should benefit from checking the Dos and don’ts of LaTeX 2e.

Most LaTeX books refer to a local guide to describe operating-system and implementation-dependent aspects, notably the commands to invoke LaTeX and how to preview and print documents. The document Running LaTeX and utilities on a Unix system (also in PostScript form) is a good introduction to most of these topics.

There are errata lists available for two well-known books, the LaTeX Book and the LaTeX Companion (1st edition) (2nd edition).

The LaTeX project maintains a documentation page listing guides available through the web or in book form.

### ConTeXt guides

teTeX includes a few ConTeXt guides: the main ConTeXt manual, a readme document, an installation guide with information on the command line interface `texexec`, additional information on texexec, an introductory document and a full list of commands. Further documentation on ConTeXt is available from the PRAGMA site.

## Graphics and Colour

A very common requirement is to include some kind of graphics as an external file (usually PostScript) into a LaTeX document. The definitive manual on how to do this is Keith Reckdahl’s excellent Using imported graphics in LaTeX2e. The document Packages in the ‘graphics’ bundle is the documentation on the recommended LaTeX2e graphics package, which includes information on how to use colours in the output.

Other graphics related packages include:

psfrag
  Allows importing PostScript figures from any other package, but use LaTeX’s power for all of the mathematical and textual annotations. (But note that `xfig` allows you to do this anyway).
poligraf
  Provides preparation of pages for prepress, color separation, cropmarks, color and gray scale bars, and mirror print. An example for LaTeX and an example for plain are available.
preview
  This package is used by preview-latex for (x)emacs. It allows to produce tight (meaning with correct bounding box) eps images of typeset fragments like displayed formulas.
ps4pdf
  A new way of dealing with Postscript commands (e.g. PSTricks graphics, PSfrag replacements, EPS graphics) inside pdflatex documents. See the test file.
xcolor
  Allows a user to select a document-wide target color model and offers tools for conversion between color models.
epstopdf.sty
  PDF output through pdftex and the graphicx (or graphics) package implies graphics inclusions as `*.pdf` files (or other formats but not `.eps`). A change in output format normally implies using the `epstopdf` program to convert graphics inclusions. You may find the epstopdf style convenient as it automates such a procedure.

## Graph and Diagram Drawing

Probably the best way to draw a simple diagram is to use the xfig program (see the unix man page for details). However there are programmatic ways for more sophisticated work. These include:

eepic
  A macro package for a much enhanced LaTeX "picture mode". Requires driver support for tpic `\special`s. Some drawing programs such as xfig can write their output as eepic macros.
pict2e
  A redefinition of commands in the picture environment
curves
  An enhancement of LaTeX’s picture mode to improve curve drawing.
xypic
  there is also a reference manual.
texdraw
  There are examples in the directory generic/texdraw/.
pspicture
  Extend LaTeX `picture` drawing environment using PostScript \specials.
multibox
  Multiple boxes in pictures.
Pstricks
  a set of macros for performing fancy twiddles using PostScript, such as drawing of geometrical objects, diagrams, fancy boxes, grayscales, etc. There is a User Guide ( part 1, part 2, part 3, part 4), a quick reference card, and lots of documentation in the doc/generic/pstricks directory. Documents inside the `obsolete` directory, including the manual and reference card, are indeed obsolete but still useful. See also the Pstricks web pages by Denis Girou and Herbert Voss. Several additions to Pstricks are available:
  pstricks-add
    Various additions to the Pstricks macros.
  pst-3dplot
    3d plotting.
  pst-gr3d
    3d grids.
  pst-vue3d
    3d views.
  pst-blur
    Blurred shadows.
  pst-circ
    Electric circuits.
  pst-fill
    Filling and tiling.
  pst-lens
    Simulating a lens over a graphic.
  pst-math
    Extra mathematical functions.
  pst-osci
    Oscilloscope screenshots.
  pst-poly
    Polygonal shapes.
  pst-slpe
    Color gradient extensions.
  pst-uml
    UML diagrams.
  psgo
    GO diagrams.
METAPOST
  a development of Donald Knuth’s METAFONT program which produces PostScript rendition of fonts, diagrams, etc., rather than bitmapped versions. Documentation includes a manual and a guide to plotting graphs using METAPOST.
trees
  Macros for drawing "tree" diagrams.
overpic
  This package defines the `overpic` environment for overlaying a picture environment on top of an included graphic defined by an includegraphics command. Examples in opic-abs.tex and opic-rel.tex.
pb-diagram
  Commutative diagrams using an adaptative grid and variable arrows. Source example available.
ecltree
  Tree like structures with words on nodes.

## LaTeX Packages

Alternative classes | Document structure | Formatting tools | Page layout | Document appearance | Tables | Floats | Fonts | Mathematics | Languages | Alternative Doc Types | Package programming | Utilities
--- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ---

The main LaTeX classes included with the core distribution are `article`, `book`, `report`, `letter` and `slides`. They are describeb in LaTeX, a document preparation system.

LaTeX packages offer additional control and alternatives to the visual appearance and formatting of LaTeX documents. Many are described in The LaTeX Companion. The majority of packages included in teTeX are listed below. Many more have been written to provide additional capabilities and are available for download from the Comprehensive TeX Archive Network servers, abbreviated to CTAN (locate a nearby CTAN node). Here is the Catalogue of packages available from CTAN. LaTeX itself and most of these packages are released under the LaTeX Project Public License.

### Alternative classes and bundles

Most additional LaTeX classes and bundles listed in the following sections have a narrow scope and try to solve a very specific problem. A few try to offer full alternatives with respect to document design to the main LaTeX classes. Two examples with such a generic nature:

KOMA-script
  Provides drop-in replacements for the standard classes but also additional packages usable with LaTeX or KOMA-script classes. Inspired by german typographical traditions.
memoir
  A bundle by Peter Wilson of some of his packages and other material allowing page, chapter and caption styles, typewriter appearance, facilities aimed at e-books,...

A large number of publishers of scientific books and journals provide their own latex styles, some of these under licenses that allow using them freely. Two such cases are included in teTeX:

amsmath, amsfonts, amsart, amsbook, amsproc...
  The American Mathematical Society AMS-Math (AMS-LaTeX) packages (see the Mathematics section below and the online FAQ).
REVTeX 4
  From the American Physical Society. Check the webpage and the documents included with teTeX.

### Document Structure

xr
  Page references to external documents.
varioref
  "Intelligent" page references.
lastpage
  Reference the number of pages in your LaTeX document (as in a page footer that says: Page N of M).
totpages
  Reference the total number of pages in your dvi document.
hyperref
  Create hypertext documents in dvi, postscript or PDF form. Contents listings, references, bibliographic citations and URLs are converted to hyperlinks.
dinbrief
  The `dinbrief` document class (in German).
german
  The `german` and `ngerman` document classes.
ntgclass
  Dutch document classes.
minitoc
  Package to add a mini-"table of contents" to each chapter. Example 1, example 2.
titlesec
  Customize the sectioning format of a document.
index
  A different implementation of the LaTeX indexing commands. An example is included.
abstract
  Extra options for the abstract, e.g. a one column abstract in a 2 column document.
appendix
  Provides extra facilities for typesetting appendices.
sectsty
  Macros to customize sectional headings (section, chapter, etc.)
tocloft
  Customize the table of contents or lists of figures or tables.
tocbibind
  Add document elements such as a bibliography or index to the table of contents.
comment
  Test file for customizable comments using `comment.sty`.

### Formatting Tools

upgreek
  Upright lower case greek letters.
xspace
  Define commands that don’t eat spaces.
verbatim
  A more robust implementation of the `verbatim` environment.
moreverb
  An extension to the verbatim package that can handle `TAB` expansion, can number lines in an included file, can produce boxed verbatims, etc.
fancyvrb
  A comprehensive and customizable re-implementation of the `verbatim` environment. Allows specification of fonts, colours, etc., line numbering, framing, `TAB` handling and conditional processing.
fvrb-ex
  An extension to fancyvrb.
enumerate
  Adds an optional argument to the enumerate environment which determines the style in which the counter is printed.
icomma
  Intelligent spacing around commas which corrects problems when the comma is used as a decimal separator.
comma
  `\usepackage{comma}` defines the command `\commaform{number}` which typesets number with a comma every third digit. If you want something other than a comma, for instance a thin space, or a full word space, redefine `\commaformtoken` for instance `\renewcommand\commaformtoken{\,}`.
indentfirst
  Indent first paragraph after section header.
program
  This package is for typesetting computer programs and algorithms. There is an example in program-demo.tex.
textfit
  Package to support fitting of text to a given width of height by scaling the font.
typehtml
  Typeset HTML (i.e., World Wide Web documents) directly from LaTeX.
plain
  Allows the inclusion of plain tex markup in a LaTeX document. It defines the LaTeX environment `plain` which is used to enclose the plain tex to be included.
amsrefs
  An alternative to BibTeX included in the AMS classes allowing typesetting of bibliographic entries directly from LaTeX with records in a format similar to the one used in BibTeX .bib files. Extra documentation in the latex/amscls directory.
natbib
  Customizable citations. Can do almost any variant of numerical or author-date style citations. There’s also a quick reference.
footbib
  Citations as footnotes.
bibentry
  Insert formatted bibliographic references inline in the text.
paralist
  Typeset lists within paragraphs.
MDW tools
  A collection of packages written by Mark Wooding including the next five entries. Documentation for other components can be found in the appropriate section in this document.
mdwlist
  Various list related environments. There is a more versatile `description` environment, and some stuff for making `compacted` lists (with no extra space between items).
mdwtab
  A complete ground-up rewrite of LaTeX’s `tabular` and `array` environments. Has lots of advantages over the standard version, and over the version in `array.sty`.
footnote
  Provides commands for saving executing footnotes.
sverb
  A bunch of macros for doing verbatim things.
syntax
  A load of commands for describing syntax. There is an environment for typesetting BNF grammars.
acronym
  Make sure all acronyms used are spelt out at least once.
hyphenat
  Improved control over hyphenation.
ragged2e
  Provides commands and environments for setting ragged text which are easy to configure to allow hyphenation.
nomencl
  Package for preparing tables of nomenclature or glossaries.
SIunits
  Macros for typesetting SI units.
units
  Typesetting of physical/metric units.
gensymb
  Unifying typographical conventions for measurement units in text and formulas.
soul
  Typeset text in a spaced-out or underlined fashion.
ulem
  Underlining styles.
framed
  Allows defining framed or shaded regions that can be divided between different pages. The shaded environment requires the color package and the definition of shadecolor, e.g., `\definecolor{shadecolor}{gray}{.9}`.
lettrine
  Allows dropped capitals at the beginning of a paragraph in different styles and adjustements. A demo file is available.
listings
  A source code printer.
alphalph
  Numbering using letters.
sublabel
  Subnumbering as in 4a, 4b, 4c, 4d.
authblk
  A more versatile way to indicate author names and affiliations.
shapepar
  A macro to typeset paragraphs in a specific shape. Check the same directory for examples and a shape generating python script.
texnames
  Macros to typeset the names of the TeX and METAFONT programs.
url
  Typesetting URLs, e.g., `\url{http://www.tug.org/}`.
aeguill
  French guillemets («») in several fonts.

### Page Layout

geometry
  Customize page layout (page sizes) using an easy and flexible user interface. Example sample.tex generates a testpage.
fancyhdr
  Support for sophisticated control of page headers and footers in LaTeX2e. It supercedes fancyheadings.
footmisc
  Customize footnote numbering, style and presentation.
footnpag
  Allows footnotes on individual pages to be numbered from 1, rather than being numbered sequentially through the document.
nopageno
  `\usepackage{nopageno}` suppresses all page numbering including that on title and frontmatter pages.
chappg
  The `chappg` package causes pages to be numbered in the style chapter-pagenumber. So the pages of chapter 3 will be numbered 3-1, 3-2, ..., and the pages of appendix B will be numbered B-1, B-2, ...
layout
  Generate a test page showing the page layout.
layouts
  Draw display of page layout parameters.
scale
  Rescales an entire document by 1.414 for photographic reduction.
anysize
  Another package to set page sizes. Superceded by geometry.
fix2col
  Improves some deficiencies in LaTeX’s built-in two column output.
mparhack
  Corrects some anomalies of `\marginpar`.
multicol
  LaTeX package to mix single and multiple columns. Allows you to shift between two and one columns anywhere.
multitoc
  Typeset tables of contents and lists of figures and tables in multi-column mode.
ftnright
  Customize placement of footnotes in two column documents.
picinpar
  Insert pictures into paragraphs. (NOTE: Piet van Oostrum does not recommend this package. Picins is recommended instead.)
picins
  Insert pictures into paragraphs.
rotating
  Environment to rotate text, figures etc. There are examples, as LaTeX source and dvi or PostScript output.
wrapfig
  Wrap text around a figure or table.
eso-pic
  This package makes it easy to add some picture commands to every page.
pdfpages
  A pdflatex macro package for inclusion of external document pdf pages.
extsizes
  Extends LaTeX classes from the traditional 10pt, 11pt or 12pt text to 8pt, 9pt, 14pt, 17pt, or 20pt text needed in special circunstances.
fullpage
  A package to fully use a page leaving minimal margins.
vmargin
  An alternative way for dealing with paper sizes and margins.
textpos
  Absolute positioning on the page. Useful for posters.
chngpage
  Allows changing page layout in the middle of a document.
portland
  Allows changes between portrait and landscape.
setspace
  Double, one and a half spacing, any line spacing...
parskip
  No parindent, some parskip.
nextpage
  Provides additional `\clearpage` like commands, allowing such things as clearing to the next even numbered page without flushing floats.

### Modifying document appearance

showkeys
  Print label, ref, cite and bib keys.
showlabels
  Print `\label` arguments or equation numbers in margin at point of definition.
changebar
  Add "change bars" in a document margin using dvi \specials.
crop
  Print crop marks.
draftcopy
  Overprint `DRAFT` on each page of document to indicate draft copy. The directory latex/draftcopy/ has a number of examples.
count1to
  Sets some new counters for section selection.
prelim2e
  Allows marking of preliminary versions of a document in the output.
thumbpdf
  Support of thumbnails with pdfTeX, plain/LaTeX formats.
hypbmsec
  Expands sectioning commands to allow replacing bookmarks in pdf documents if section titles are not suitable for that purpose.
pagesel
  Output a subset of the pages in the document.
hypcap
  Adjusting the anchor point of captions when using hyperref.

### Tables

array
  An extended implementation of the array and tabular environments which implements options to format columns.
longtable
  Support for tables longer than a page.
delarray
  Add delimiters (parentheses, etc.) around arrays.
supertabular
  A multi-page tables package.
xtab
  Another multi-page tables package extending `supertabular`.
dcolumn
  Align on the decimal point of numbers in tabulars.
hhline
  Better horizontal lines in tabulars and arrays.
tabularx
  Tabulars that widen automatically.
ltxtable
  Longtable combined with tabularx.
colortbl
  Add colour to LaTeX tables.
booktabs
  A package to lay out tables in high-quality (according to the author’s opinion) book form.
slashbox
  Typeset a box with a diagonal divider for table headings.
blkarray
  A new and experimental way of dealing with arrays.
threeparttable
  Tables with captions and notes.
multirow
  Make an entry that will span multiple rows of a table.
tabls
  Modifies the array and tabular of LaTeX to keep text from touching other text or lines.

### Floats

Floats are environments like `figure` and `table` which move text, etc., around in the document.

afterpage
  Implements a command that causes the commands specified in its argument to be expanded after the current page is output. Useful to flush floats, for example
float
  Improves the interface for defining floating objects such as figures and tables. Introduces the boxed float and the ruled float.
subfig (and subfigure)
  Figures divided into subfigures. Due to lack of full backward compatibility of `subfig`, relatively to the currently obsolete and differently named version (`subfigure`), both are available. In new documents use `subfig`. Examples for `subfig` in the same directory.
endfloat
  Place all figures on pages by themselves at the end of the document.
placeins
  Keeps floats "in their place", preventing them from floating past a `\FloatBarrier` command into another section.
caption
  Extend caption capabilities for figures and tables, such as the caption width, style, font.
ccaption
  Commands for continuation captions, unnumbered captions, and a legend heading for any environment.
sidecap
  Defines new LaTeX environments called SCfigure and SCtable (analogous to figure and table), to typeset captions sideways. leftcaption and rightcaption.
floatflt
  Float text around figures and tables which do not span the full width of a page. This is an improved version of floatfig. Examples, latex source, precursor package floatfig.
rotfloat
  Combines `rotating` package with enhanced float facilities of `float`. Examples: LaTeX source and output.
figcaps
  A package to put figures and tables at the end of an article.

### Fonts and Supporting Packages

In addition to the preinstalled fonts, see the section on using fontinst to install new fonts, especially PostScript Type 1 fonts and the font naming conventions.

psnfss
  A package collection providing the LaTeX2e font selection scheme for standard Postscript fonts. Includes how to invoke several styles using standard Postscript fonts (Times, Helvetica, Palatino,...) and some free fonts (Charter, Utopia, Pazo) instead of the cm font family.
Latin Modern (LM)
  A pre-release version of the Latin Modern family of Postscript type 1 fonts wich extentends the CM family with lots of additional (mainly accented) characters.
ae
  A set of virtual fonts designed to be a close approximation to a T1-encoded set based on the CM fonts. This should make it possible to use the existing Type1 versions of the CM fonts to produce PDF files even when one needs hyphenation patterns other than English. See also aecompl
fontsmpl
  Print a sample of a font.
rawfonts
  Emulation of LaTeX 2.09 low-level font commands, eg \tenrm.
pslatex
  LaTeX with a mix of the standard Postscript fonts. Available as a package or a command.
beton
  Typeset a LaTeX2e document with the Concrete fonts designed by Don Knuth and used in his book Concrete Mathematics.
ccfonts
  LaTeX font definition files for the Concrete fonts and a LaTeX package for typesetting documents using Concrete as the default font family.
cmbright
  Use the "Computer Modern bright" font family.
Y&Y support
  teTeX contains support for several font families from Y&Y. Such fonts are not a part of teTeX and must be purchased separately. Support packages include:
  mathtime
    Support for the Mathtime fonts. Note that if you really want to use the mathtime fonts you need to reverse the change described in the belleek fonts README file.
  mt11p
    Support for the Mathtime and MathtimePlus fonts.
  lucidabr
    Support for the Lucida Bright fonts. See also lucida.
  LY1
    Support for the `texnansi` encoding as used by default in the Y&Y TeX system. There is also an option to support the `ansinew` encoding that is the default encoding in Microsoft Windows.
belleek
  teTeX includes the belleek fonts as a drop-in replacement for the mathtime fonts.
dotlessj
  This package declares the macros `\j` and `\jmath` to insert a dotless j in text and math mode.
dotlessi
  Provides dotless i’s and j’s for use in any math font.
mflogo
  LaTeX package and font definition file to access the Knuthian `logo` fonts described in The MetaFontbook and the MetaFont and MetaPost logos in LaTeX documents.
Concrete Math fonts
  A set of math fonts for use with Donald Knuth’s concrete text fonts.
concrete
  This package simply includes the beton and euler packages for an approximation of the style in Concrete Mathematics.
mathcomp
  A package for using the Text Companion fonts in math mode. (For example to get an upright "mu".)
type1cm
  Allows the use of Computer Modern fonts at arbitrary type sizes instead of the usual discrete magsteps.
scalefnt
  Makes available the `\scalefont` command to scale the current font and baselineskip.
relsize
  Several ways to rescale fonts.
yfonts
  A LaTeX interface to the old-german fonts designed by Yannis Haralambous.
oldgerm
  German handwriting fonts.
wasysym
  This package defines LaTeX commands to insert the symbols in the wasysym font set.
stmaryrd
  The "St Mary’s Road" symbol fonts.
marvodoc
  The Martin Vogel symbol fonts.
cmtt
  Provides an `mTT` encoding for the Computer Modern Typewriter font, which solves lots of messy problems.
mathpazo
  The mathpazo fonts and style. This allows mixing the Palatino font for text with suitable fonts in formulas.
pxfonts
  Another fonts and style package centered on Palatino for roman text, Helvetica for sans serif, extra or modified fonts for math,..., offering a full alternative to the use of the cm font family.
txfonts
  Another fonts and style package centered on Times for roman text,..., offering a full alternative to the use of the cm font family.
cbgreek
  Greek text fonts.
eurosym
  An officially looking euro currency symbol. Typeset the documentation for testing.
microtype
  Micro typographic adjustements with pdflatex. A test file is included.

For special purpose math fonts see also the next section.

### Mathematics including AMS extensions

A very useful guide to the American Mathematical Society extensions to LaTeX is provided in Chapter 8 of The LaTeX Companion, 2nd edition (table of contents).

amsmath
  User guide for AMS-LaTeX as implemented in the amsmath package. Also see the documents in the directory latex/amsmath/.
amsart, amsbook, amsproc
  Instructions for the AMS classes used in its journals and monographs. Templates are available for articles, books and proceedings.
theorem
  Enhancements to the theorem environments, giving more choice in theorem layout.
ntheorem
  Additional enhancements to the theorem environments, including endmark placement and creation of theorem lists.
amsthm
  An alternative theorem package which is part of the AMS classes and is different from the theorem package above providing several useful enhancements. A test file (source, output) is available.
amsfonts
  Documentation for the AMS mathematical font set. See also the package documentation, the bug list and the frequently-asked questions list.
empheq
  Visual markup extensions to amsmath.
mathtools
  Additional extensions and improvements to amsmath.
bm
  The right way to make bold mathematical symbols.
bbold
  Blackboard variant fonts for Computer Modern, with LaTeX support.
dstroke
  Double stroke fonts designed to be similar to Computer Modern.
dsfont
  Double-stroke maths fonts. Declares the macro `\mathds{}` to use double-stroke roman fonts. Package option `sans` uses sans-serif version.
accents
  Various extensions for mathematical accents.
euler
  Provides a setup for using the AMS Euler family of fonts for math in LaTeX documents.
eufrak
  Use the Euler Fraktur symbols.
euscript
  Substitute the usual math calligraphic characters with Euler script equivalents.
mathrsfs
  This package defines the command `\mathscr{ABC}` which typesets symbols such as Hamiltonians using the Ralph Smith Formal Script (rsfs) calligraphic fonts.
amsguide
  User guide for AMS-TeX (the original plain TeX mathematics package). See also the errata for its manual, The Joy of TeX.
leftidx
  Left sub and superscripts in mathematical mode. Their vertical position is adjusted according to the height of the symbol they precede.
fixmath
  Uppercase greek letters in italics inside formulas.
mathenv
  A collection of mathematical environments with a theme of aligning things in columns.
mdwmath
  Contains a few trivial definitions for mathematical things. The main thing is that the `\sqrt` command for doing square roots has been improved.
esint
  Generalization of a number of integral signs using cm fonts.

### Multilingual LaTeX

babel
  This package supports multilingual documents in many languages. Some articles on babel that appeared in TUGBoat: tb1202, tb1401, tb1604.
platex
  Polish support. See also html documentation.
mwcls
  Styles supporting polish typographical conventions.
eo
  Esperanto support in LaTeX. See other files in the same directory.
inputenc
  Allows use of 8-bit character sets in source documents.
cyrillic
  Package for using cyrillic fonts.
T2
  Another font encoding for Cyrillic.
MLTeX
  MLTeX is a modification of TeX version that allows the hyphenation of words with accented letters using ordinary Computer Modern (CM) fonts. There are instructions on how to use MLTeX’ \charsubdef extension with LaTeX.

### Additional or alternative "document" types

beamer
  A LaTeX style for presentations using a projector or transparencies. Besides the userguide look at the contents of the examples and solutions (templates) directories.
seminar
  A LaTeX style for overhead transparencies and notes. Example 1, Example 2. List of frequently asked questions. List of known bugs.
examdoc
  Style for preparing examination papers.
currvita
  Style for preparing curriculum vitae. A test file is included.
labels
  A package for making sticky labels in LaTeX.
textmerg
  Package for creating "text merges" (like wordprocessor mail merge letters) in LaTeX. The directory latex/textmerg contains examples.

### Programming, Package Authoring

at
  Allows you to use ‘@’ as a sort of "command-introducing" character, a bit like ‘\’ is already.
doafter
  Provides a TeX programmer’s utility \doafter <token> <group> which does the <token> after the group is complete, including any \aftergroup things.
ifthen
  Defines if/then/else macros for conditional text.
calc
  Package for infix arithmetic notation in LaTeX.
fp
  Fixed-point arithmetic package for TeX and LaTeX
keyval
  Provides support for writing keyword-style arguments to packages. Used by graphics.
somedefs
  A "programmer’s toolkit" for package writers.
fileerr
  Implementation of an error handler for "file-not-found" errors.
localloc
  Enhanced register-allocation macros.
doc
  Literate Programming for package writers -- The combined LaTeX package-code/documentation suite.
docstrip
  Package to build stripped-down version of package files for speed.
everysel
  This package provides hooks into the NFSS command \selectfont called `\EverySelectfont` and `\AtNextSelectfont` analogous to `\AtBeginDocument`.
everyshi
  This package defines a new command `\EveryShipout` analogous to `\AtBeginDocument`.
stdclsdv
  Macros to interact with sectional divisions of standard LaTeX classes.
twoopt
  Enables macros with two optional arguments.
mhsetup
  Programming tools used in the mh bundle which also includes empheq and mathtools.
onlyamsmath
  Allows class writers to force their users to use the environments provided by the amsmath package instead of plain or standard LaTeX math environments.

### Utilities

checkend
  Improves LaTeX error messages with respect to environments which are accidentally left open.
mylatex
  Make a format from the preamble of any LaTeX file.
textcmds
  Shorthand commands for all the text symbols produced in LaTeX by non-letter ligatures.
ifpdf
  A switch to deal with commands specific to pdf output.

## Ancillary Programs

Bibtex | Makeindex | Dvips | Dvipdfm | Dvipng | Epstopdf | Xdvi | Texinfo
--- | --- | --- | --- | --- | --- | --- | ---

### Bibtex

`bibtex` is a separate program for managing databases of bibliographic references and selecting for citation in a LaTeX document. It is described in Appendix B of LaTeX: a Document Preparation System and chapter 13 of The LaTeX Companion and online in the documents entitled BibTexing and Designing BibTeX Styles.

The latter document, Designing BibTeX Styles is a guide to customizing the format of the reference list. The non-expert may find it more useful to use the ancillary program `makebst` which semi-automates the design of a new bibliography style.

`natbib` is a LaTeX package which allows customization of the citation style in the text (rather than the format of the reference list). It works with almost all bibliography styles, even those which define their own citation macros.

Additional capabilities are provided by the bibunits package which allows defining separate bibliographies for different document parts or multibib which allows referencing multiple bibliographies.

Usage of BibTeX can also be adpted to other ends. A LaTeX style for address databases using BibTeX is also included.

### Makeindex

The `makeindex` program which provides facilities for generating an index is described in the documents Index Preparation and Processing and the Makeindex user guide.

### Dvips

The full documentation for the dvips DVI -> PostScript translator. N.B. The advice concerning including PostScript graphics has been superceded by the standard LaTeX2e graphics package.

Type I versions of the computer-modern fonts are used by default when invoking `dvips` in teTeX. Command arguments such as `-Pcmz` or `-Pamz` are no longer needed. Type 1 fonts are scaleable so the resulting PostScript does not include bitmapped fonts and is therefore resolution-independent. This is very useful if the postscript is to be scaled up or down or the final destination printer is not known.

### Dvipdfm

A dvi to pdf translator with extra features and its documentation. Web page at `http://gaspra.kettering.edu/dvipdfm/`.

### Dvipng

A fast `dvi` to `png` converter. Developed within the preview-latex project. Information on using dvipng is available from its unix "man" page. Use `man dvipng` to read it.

### Epstopdf

The `epstopdf` program converts `*.eps` files to `*.pdf` preserving page size and coordinates. Use `man epstopdf` to read the unix "man" page.

### Xdvi

A dvi viewer. The online documentation for `xdvi` is available as a unix "man" page. Use `man xdvi` to read it.

### Texinfo

Texinfo is a macro package for TeX used by the GNU system for producing manuals in different formats including the online info system and printed manuals. Also included is `texi2html` which will convert texinfo files to html.

## Man pages

Unix man pages included with teTeX range from being little more than a pointer to other documentation to being the main or sometimes unique source of information about a given application. For reference, a full list follows.

`afm2tfm(1)` `allcm(1)` `allec(1)` `allneeded(1)` `amstex(1)` `bibtex(1)` `ctangle(1)` `ctie(1)` `cweave(1)` `cweb(1)` `dmp(1)` `dvi2fax(1)` `dvicopy(1)` `dvihp(1)` `dvilj(1)` `dvilj2p(1)` `dvilj4(1)` `dvilj4l(1)` `dvilj6(1)` `dvipdfm(1)` `dvipdft(1)` `dvipng(1)` `dvips(1)` `dvired(1)` `dvitomp(1)` `dvitype(1)` `e2pall(1)` `ebb(1)` `eplain(1)` `epstopdf(1)` `etex(1)` `fdf2tex(1)` `fmtutil-sys(1)` `fmtutil(1)` `fontinst(1)` `gftodvi(1)` `gftopk(1)` `gftype(1)` `gsftopk(1)` `info(1)` `infokey(1)` `install-info(1)` `kpseaccess(1)` `kpsepath(1)` `kpsereadlink(1)` `kpsestat(1)` `kpsetool(1)` `kpsewhere(1)` `kpsewhich(1)` `kpsexpand(1)` `lambda(1)` `latex(1)` `mag(1)` `makeindex(1)` `makeinfo(1)` `makempx(1)` `makempy(1)` `mf-nowin(1)` `mf(1)` `mft(1)` `mkindex(1)` `mkocp(1)` `mkofm(1)` `mktexfmt(1)` `mktexlsr(1)` `mktexmf(1)` `mktexpk(1)` `mktextfm(1)` `mpost(1)` `mpto(1)` `newer(1)` `odvicopy(1)` `odvips(1)` `odvitype(1)` `ofm2opl(1)` `omega(1)` `opl2ofm(1)` `otp2ocp(1)` `outocp(1)` `ovf2ovp(1)` `ovp2ovf(1)` `oxdvi(1)` `patgen(1)` `pdfetex(1)` `pdflatex(1)` `pdftex(1)` `pdfxtex(1)` `pfb2pfa(1)` `pk2bm(1)` `pktogf(1)` `pktype(1)` `pltotf(1)` `pooltype(1)` `ps2frag(1)` `ps2pk(1)` `pslatex(1)` `rubibtex(1)` `rumakeindex(1)` `tangle(1)` `tcdialog(1)` `tex(1)` `texconfig-sys(1)` `texconfig(1)` `texdoc(1)` `texdoctk(1)` `texexec(1)` `texfind(1)` `texfont(1)` `texhash(1)` `texi2dvi(1)` `texi2html(1)` `texindex(1)` `texlinks(1)` `texshow(1)` `texutil(1)` `tftopl(1)` `thumbpdf(1)` `tie(1)` `ttf2afm(1)` `updmap-sys(1)` `updmap(1)` `vftovp(1)` `vptovf(1)` `weave(1)` `xdvi(1)` `xdvizilla(1)` `fmtutil.cnf(5)` `info(5)` `texinfo(5)`

A few of these are also available using the `info` system.

On a terminal window type `man application_name` (or `info application_name`) followed by `<return>` as appropriate. If a man page number appears more than once in the above list you may need to use `man section application_name` where `section` refers to what is indicated inside ().

## Other sources of Information

Here are some other useful sources of information on LaTeX, TeX and related programs on the World-Wide Web.

- The TeX user’s group.
- Cambridge university’s Text Processing using LaTeX site. This contains a mine of useful information.
- The LaTeX Navigator.

Your local installation may have details about local additions at `$TEXMFLOCAL/doc` or by accessing this page with the `?local=yes` modifier.

Last update: February 05, 2005, 01h 00m WET. Originally by Keith Refson. Currently maintained by João P Matos. |