LaTeX/Package Reference
| Getting Started
Common Elements
Mechanics Technical Texts
Special Pages Special Documents Creating Graphics Programming Miscellaneous Help and Recommendations Appendices
|
Here is a (not complete) 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. | |
| 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 | Assists in citation management. | |
| color | It adds support for colored text. For more information, see the relevant section. | |
| 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 | To manage external pictures. | |
| 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. | |
| mathrsfs | Other mathematical symbols. | |
| natbib | Gives additional citation options and styles. | |
| 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 |
|
| 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. | |
| syntonly | If you add the following code in your preamble:
LaTeX skims through your document only checking for proper syntax and usage of the commands, but doesn’t produce any (DVI or PDF) output. As LaTeX runs faster in this mode you may save yourself valuable time. If you want to get the output, you can simply comment out the second line. |
|
| textcomp | Provides extra symbols, e.g. arrows like \textrightarrow, various currencies (\texteuro,...), things like \textcelsius and many others. | |
| theorem | You can change the style of newly defined theorems. For more information see the Theorems section. | |
| todonotes | Lets you insert notes of stuff to do with the syntax \todo{Add details.}. | |
| siunitx | Helps you typeset of SI-units correctly. For example \SI{12}{\mega\hertz}. Automatically handles the correct spacing between the number and the unit. Note that even non-SI-units are set, like dB, rad, ... | |
| ulem | It allows to underline text (either with straight or wavy line). Few examples of usage are added to the Fonts chapter. | |
| url | It defines the \url{...} command. URLs often contain special character such as '_' and '&', in order to write them you should escape them inserting a backslash, but if you write them as an argument of \url{...}, you don't need to escape any special character and it will take care of proper formatting for you. If you are using hyperref, you don't need to load url because it already provides the \url{...} command. | |
| verbatim | It improves the verbatim environment, fixing some bugs. Moreover, it provides the comment environment, that lets you add multiple-line comments or easily comment out big parts of the code. | |
| wrapfig | To insert images surrounded by text. It was discussed in section Floats, Figures and Captions. | |
| xypic | It is used to create trees, graphs, (commutative) diagrams, and similar things. See Xy-pic. |
The