# LaTeX/Package Reference

LaTeX

Getting Started

Common Elements

Mechanics

Technical Texts

Special Pages

Special Documents

Creating Graphics

Programming

Miscellaneous

Help and Recommendations

Appendices

1. Authors
3. Package Reference
4. Sample LaTeX documents
5. Index
6. Command Glossary

edit this boxedit the TOC

This is an incomplete list of useful packages that can be used for a wide range of different kind of documents. Each package has a short description next to it and, when available, there is a link to a section describing such package in detail. All of them (unless stated) should be included in your LaTeX distribution as package_name.sty. For more information, refer to the documentation of the single packages, as described in Installing Extra Packages.

The list is in alphabetical order.

amsmath It contains the advanced math extensions for LaTeX. The complete documentation should be in your LaTeX distribution; the file is called amsdoc, and can be dvi or pdf. For more information, see the chapter about Mathematics.
amssymb It adds new symbols in to be used in math mode.
amsthm It introduces the proof environment and the \theoremstyle command. For more information see the Theorems section.
array It extends the possibility of LaTeX to handle tables, fixing some bugs and adding new features. Using it, you can create very complicated and customized tables. For more information, see the Tables section.
babel It provides the internationalization of LaTeX. It has to be loaded in any document, and you have to give as an option the main language you are going to use in the document. For more information see the Internationalization section.
bm Allows use of bold greek letters in math mode using the \bm{...} command. This supersedes the amsbsy package.
booktabs provides ex­tra com­mands as well as be­hind-the-scenes op­ti­mi­sa­tion for producing tables. Guide­lines are given as to what con­sti­tutes a good ta­ble in the package documentation.
boxedminipage It introduces the boxedminipage environment, that works exactly like minipage but adds a frame around it.
caption Allows customization of appearance and placement of captions for figures, tables, etc.
cancel Provides commands for striking out mathematical expressions. The syntax is

\cancel{x} or \cancelto{0}{x}

changepage To easily change the margins of pages. The syntax is

All the arguments can be both positive and negative numbers; they will be added (keeping the sign) to the relative variable.

cite Sup­ports com­pressed, sorted lists of nu­mer­i­cal ci­ta­tions, and also deals with var­i­ous punc­tu­a­tion and other is­sues of rep­re­sen­ta­tion, in­clud­ing com­pre­hen­sive man­age­ment of break points.
easylist Adds support for arbitrarily-deep nested lists (useful for outlines). See List Structures.
esint Adds additional integral symbols, for integrals over squares, clockwise integrals over sets, etc.
eucal Other mathematical symbols.
fancyhdr To change header and footer of any page of the document. It is described in the Page Layout section.
fontenc To choose the font encoding of the output text. You might need it if you are writing documents in a language other than English. Check in the Fonts section.
geometry For easy management of document margins and the document page size. See Page Layout.
glossaries For creation of glossaries and list of acronyms. For more information, see the relevant chapter.
graphicx allows you to insert graphic files within a document.
hyperref It gives LaTeX the possibility to manage links within the document or to any URL when you compile in PDF. For more information, see the relevant section.
indentfirst Once loaded, the beginning of any chapter/section is indented by the usual paragraph indentation.
inputenc To choose the encoding of the input text. You might need it if you are writing documents in a language other than English. Check in the Special Characters section.
latexsym Other mathematical symbols.
listings To insert programming code within the document. Many languages are supported and the output can be customized. For more information, see the Source Code Listings.
mathptmx Sets the default font of the entire document (including math formulae) to Times New Roman, which is a more familiar font, and useful in saving space when fighting against page limits.
mathrsfs Other mathematical symbols.
mhchem allows you to easily type chemical species and equations. It automatically formats chemical species so you don't have to use subscript commands. It also Allows you to draw chemical formulas.
microtype It provides an improvement to LaTeX's default ty­po­graphic ex­ten­sions, improvements in such areas as char­ac­ter pro­tru­sion and font ex­pan­sion, in­ter­word spac­ing and ad­di­tional kern­ing, and hy­phen­at­able letter-spacing
multicol provides the mul­ti­cols environment which typesets text into multiple columns.
natbib Gives additional citation options and styles.
paralist provides compactitem environment which typesets list items much more closely than LaTeX's default.
pdfpages This package simplifies the insertion of external multi-page PDF or PS documents.
rotating It lets you rotate any kind of object. It is particularly useful for rotating tables. For more information, see the relevant section.
setspace Lets you change line spacing, e.g. provides the \doublespacing command for making double spaced documents. For more information, see the relevant section.
showkeys A useful package related to referencing. If you wish to reference an image or formula, you have to give it a name using \label{...} and then you can recall it using \ref{...}. When you compile the document these will be replaced only with numbers, and you can't know which label you had used unless you take a look at the source. If you have loaded the showkeys package, you will see the label just next or above the relevant number in the compiled version. An example of a reference to a section is . This way you can easily keep track of the labels you add or use, simply looking at the preview (both dvi or pdf). Just before the final version, remove it.
showidx It prints out all index entries in the left margin of the text. This is quite useful for proofreading a document and verifying the index. For more information, see the Indexing section.
subfiles The "root" and "child" document can be compiled at the same time without making changes to the "child" document. For more information, see the Modular Documents section.
subfig It allows to define multiple floats (figures, tables) within one environment giving individual captions and labels in the form 1a, 1b.