oreilly.comSafari Books Online.Conferences.


AddThis Social Bookmark Button

LaTeX: It's Not Just for Academia, Part 2
Pages: 1, 2, 3

Generating an Index

If you are writing a reference document, a book, or a report, it's sometimes useful to include an index section at the end of the document. An index is a list of key words in the document and the page, or pages, where they occur. You add an index to your document with the makeinx package.

To create an index, you first include and enable the makeinx package in the document preamble. Next, add the index command to each word you wish to include in the index.

As you learned in the first article, in LaTeX\index{LaTeX}, 
you can manage your bibliographic citations using 

Finally, you generate the index by running the following programs (do not add the extension, just the file name):

% latex latex-file    
% makeindex latex-file
% latex latex-file


% pdflatex latex-file    
% makeindex latex-file
% pdflatex latex-file

Here's how it works. First, LaTeX processes the file and writes each index entry to a file, with a .idx extension. Next, makeindex creates the sorted index, which it stores in a file with a .ind extension. Finally, you run LaTeX again to place the index into the document.

You can create many different index formats by changing the syntax of the index command. See a LaTeX reference for more information.


As you learned in the first article, you manage your bibliographic citations using BibTeX. BibTeX is a separate program you use to manage your bibliographic citations and merge selected citation information onto your LaTeX documents.

BibTeX solves some very common problems that arise when constructing a bibliography. For example, imagine you are writing a paper that includes many references and citations. Further imagine that the publication you are submitting to requires citation information to be formatted in a certain format, such as ACM or IEEE. Without BibTeX, you would need to maintain a list of your references and format each entry by hand in the required format. If you need to submit the paper to another publication, with a different citation format, you have to reformat each citation by hand.

BibTeX solves this problem quite easily. Here's what you need to do. First, maintain your citations in a format that BibTeX understands. You do this by formatting each citation in a defined format and placing it into a file, with a .bib extension. You can place all citations in a single file, or break them up as you wish.

Here's an example of the format:

@misc{ wilson-ltxx,
  author = "Peter R. Wilson",
  title = "LTX2X: A LATEX to X Auto-tagger",
  url = "" }

BibTeX identifies each record by its key. In the above example, the key is wilson-ltxx. This is the value you use to reference the citation within your LaTeX document.

As you can imagine, the format has many options and parameters. See the Resource section for more information. In fact, you can get many citations already formatted in BibTeX format at sites such as CiteSeer .

To create a citation in your text, use the cite command (\cite), with the parameter specifying the citation key. This command places a citation mark into the final text, pointing to the reference and includes the reference in the bibliography. You can add a reference to the bibliography, without adding a reference mark to the main text with the no cite command (\nocite).

To create a bibliography, add the following commands just before the end document command.


The bibliography style command specifies the bibliographic style used to format each citation. The bibliography command instructs LaTeX to insert the appropriate citations into the document. BibTeX supports many bibliographic styles. See its documentation for more information.

To generate your bibliography, perform the following steps:

  • Run LaTeX on the LaTeX file
  • Run BibTeX on the LaTeX file
  • Run LaTeX again on the LaTeX file
  • Run LaTeX yet again on the LaTeX file
% latex latexfile
% bibtex latex-file
% latex latex-file
% latex latex-file


LaTeX supports the inclusion of footnotes in your text with the footnote command. The footnote command takes an optional argument, num, that you can use to change the default footnote number.

\footnote{Text for the footnote.}

In addition to the footnote command, you can also include footnotes with the footnote mark and footnote test commands (\footnotemark, \footnotetext). The footnote mark and footnote test commands are used in concert to place footnotes at the botton of a page.


Table are something that we all use in our documents. LaTeX enables you to create high-quality tables through the table and tabular environments. Using these environments, you can easily produce very well-structured and readable tables of information. The basic syntax for creating a table is as follows:

\caption{Table caption}
 column 1 & column 2 ... & column k \\

Where LaTeX places a table is very important. For example, if you have a large table in your document, you would rather see it on a single page, rather than broken up across pages. In the LaTeX literature, you will see the term "float'" or "floating object" to refer to this idea. This describes the situation where a table or figure can not fit on its current page, and is placed on a separate so-called floating page.

LaTeX enables control over the placement of tables through the where parameter. The where parameter defines where the table is displayed on the page. A value of b places the table at the bottom of the page, h places the table here, t at the top of the page, and p on a separate float page containing no text, only floats.

The concept of floating objects also applied to figures and footnotes.

You use the tabular environment to construct the table. The pos and cols parameters control how the table is formatted. The pos parameter controls the vertical position of the whole tabular environment. The values are either t (align with top row) or b (align with bottom row). The cols parameter controls the column formatting: l = format text left, r = format text right, c = format text center. The p{wd} parameter controls the size of a column and makes columns with multiple lines.


You add figures to a document with the figure command. Like tables, this places a figure at the location of the command, conditioned by the where parameter. Figures can also float over pages so make sure you read the description of floating objects in the Tables section.

You insert a figure as follows:

\caption{Figure caption}


Most documents are composed of not only text, but also graphics. You insert graphics into a LaTeX file with the insert graphic command (\includegraphics). However, you cannot insert a JPG or PDF file into a LaTeX document, only EPS files. To insert other file formats like JPG, you have a few choices. One way is to convert your graphic file to EPS and then insert it into the document. Another way is to use PDFLaTeX, which is described below.

To convert the graphics file you can use a Mac OS X Aqua-based programs, such as Graphics Converter, or install ImageMagick from Fink, and use the following command:

% convert [jpeg-file] [eps-file]

You insert a graphics file into a document by first using the graphicx package and then using the insert graphics command.


To insert a JPG file directly, use the PDFLaTeX program to process your LaTeX document.


This explanation is quite basic and there are far more issues to working with graphics in LaTeX. In addition to inserting graphics, LaTeX supports commands that enable you to draw picture elements such as boxes, trees, and curves in your document. Consult the Resource sections for more information.


One of the major reasons for using LaTeX is its strong handling of mathematical equations and formulas. This is a complex subject, so I'm just going to touch on the basics to give you a feel for how it works and looks.

You insert mathematical symbols into your document by either surrounding the expressions with the $ symbol, or using the begin/end math commands.

The time-points $x_{i}$ to $x_{j}$ are embedded in the main text.

(l_{1} \leq x_{j} - x_{i} \leq u_{i}) \vee ... 
\vee (l_{n} \leq x_{j} - x_{i} \leq u_{n})


There are many times when you need to include a list of information in a document. To create lists, LaTeX provides the itemize, enumerate, and description environments. Each of these environments lets you easily add different types of lists to your documents. All of these lists can be nested, so you can produce various kinds of lists with different sub-list levels.

\item item 1 text
\item item 2 text

Pages: 1, 2, 3

Next Pagearrow