Navigation:

Search



Our Friends

Articles LaTeX
 

LaTeX

An introduction and guide to using the LaTeX document system to typeset text, math, and graphics.

This was written by Lincoln D. Durey, Adriane S. Durey and given on Sat Nov 24 2001.

Table of Contents


1. Introduction

TeX is the document markup language and typesetting engine developed by Don Knuth. LaTeX is a modern set of TeX macro packages that make the parent language much more versatile and easier to use. In essence, LaTeX ( latex ) takes source code in .tex format, and generates an intermediate .dvi file, which is then processed by dvips to produce printable .ps . In a nutshell, TeX generates output by gluing rectangles of typeset material together. Several letters are glued together to form a word; several of these units are glued together to form paragraphs; paragraph units are glued to figure units and tables units, all of which are just rectangles, and these form the output page.

To compile your .tex files on the command line (see the man pages for additional options for dvips ):

latex file.tex
dvips -t letter file -o

Or in a Makefile:

%.dvi: %.tex
                latex $> <& foo
                - bibtex $*
%.ps: %.dvi     
                dvips -t letter -o $@ -C$(NUM) -D$(DPI) $>

The intermediate .dvi file is a device independent file which means that it contains all of the typesetting information, but it is not ready to be sent to a rendering device (printer). You may view these intermediate files with xdvi . For actual output by a physical printing device, you will need to convert this using a tool designed to generate the output you want: dvips makes PostScript files, dvipdf makes Proprietary Data Formats, you get the point from the names. (It is also possible to convert from .ps to .pdf , using ps2pdf .)

In the following sections, we will cover how to typeset a report and a letter. We'll cover how to create the finest looking math you have ever seen; how to include tables, figures, and images in your work; and how to cite references.

2. Basic LaTeX File

All basic LaTeX files have at a bare minimum a declaration of the class of the document to be rendered, which may have options, and begin and end document tags. If you LaTeX a document at this stage, you won't get any errors, but you won't get any output. The further addition of LaTeX commands or plain text will be compiled into your output code, as in this example, the (nearly) smallest LaTeX that will compile. You will get a free page number at the bottom.

\documentclass{report}
\begin{document}
Hello, World!
\end{document}

The class declaration determines what style the rendered document will take, one particular document with no content change at all is rendered significantly differently simply by changing its class from report to article . Options to the different classes include paper size and orientation, font size, and more. They are specified as in \documentclass[12pt,landscape]{book} . Optional arguments in LaTeX are indicated by [ ] pairs, and required arguments by { }.

LaTeX source code is basically marked up plain text, so type in your full text, LaTeX it, and then begin adding your special items of which there are many examples in this handout. The first things to modify in your text are to signify a paragraph break with a double carriage return (a blank line). You may add comments to your source code with the % character anywhere in a line (the rest of the line is a comment.) To comment a block of code, you must comment every single line. There are certain specific command related characters which must be escaped using a backslash to be represented after processing by LaTeX (examples include: #, %, &, etc. which are coded as \# , \% , \& ).

Certain useful macros are pre-defined by LaTeX. Macros available in most class files include nicely formatted titles ( \title{Title} ), author name ( \author{Your Name} ), and date ( \date{\today}} ). These are defined before the begin document tag, they are invoked inside the document using \maketitle . You may divide your source code into more manageable pieces by simply chopping it into many .tex files and including them into a master .tex file using \input{subfile.tex} . (These files do not require begin and end document tags, in fact those will break the compilation process; input simply drops the block of text in place of the input macro.) Every logical piece of a document is typically made into a section ( \section{Section Title} ), we therefore like to put each section into its own LaTeX file, which you can see in the source code for this handout.

More than you ever wanted to know about all of the available LaTeX commands can be found in [2] and [3]. There are also LaTeX packages to do things like slides (for Powerpoint-like slides, check out prosper : http://sourceforge.net/projects/prosper/ ), to format your work for journal submissions, for music typesetting (MuSiXTeX), chemistry, and many other things [1].

3. A Letter to Mom

There aren't too many differences between a letter and a report in LaTeX. To begin with, you define \documentclass{letter} and give yourself begin and end document tags as before. Then you need to define your addressing information ( \address{} ), name ( \name{} ), and signature line ( \signature{} ) (also generally your name) outside of the document tags.

Inside the document tags, you can then define multiple letters using

\begin{letter}{Mom's address}
Hello, Mom!
\end{letter}

The begin letter tag takes a second argument, the recipient's address. Then you supply an \opening{Dear John:} , the letter body, and a \closing{Sincerely,} . Enclosures ( \encl{} ) and carbon copies ( \cc{} ) can also be added. Then, end your letter. No matter how many letters you put in the document tags, all will get their information about you from the macros at the beginning of the file. Just run latex and dvips as before.

This letter also gives two examples of lists, an enumerated list and an itemized list (descriptive lists exist as well.)

4. IEEE Math

Mathematical equations are a specialty of LaTeX. There isn't any equation out there that isn't easily described in the LaTeX language. You can put equations like e = mc 2 in the text (using $e=mc^2$ ). The $ denotes the start and end of in-line math. Or you can do equations outside the text, and they can be numbered or not. The names of the math macros are generally quite logical as for \lim , \sum , and \alpha .

5. Tables

Tables are a wonderful way to present certain types of information. In LaTeX we need to first distinguish between two closely related environments with bearing on their construction. The first is the obvious table . This environment wraps around a conceptual table, a block of processed text, but does not itself create any content. tabular is what actually sets blocks of text and line grids together to make a readable table. In the tabular options r, l, c == right, left, center column justifications, and the | (pipe) creates the vertical lines. \hline makes the horizontal lines, & separates the columns, and \\ ends rows. Go forth and tabulate!

Other things that apply globally and occur in this example include the \newcommand{} directive, allowing you to write your own macros, and the \caption{} directive, which is self-explanatory.

6. Figures

Figures are really quite simple, like the table environment, a figure is simply a wrapper which signifies the block of imagery. Also, like the table environment, it takes a \caption{} . The actual content of a figure can be anything (even a tabular ), but it is usually an image. The easiest way to include an image is using the graphicsx package which you must include (using \usepackage{} ), which you can then tell that you are using the dvips post-processor. So, we can simply code \includegraphics[width=3in,height=6cm]{figure.eps} and produce a picture (where width and height are optional).

7. Citing Sources

To include references to works that you have cited in you research, you need a helper of LaTeX called bibTeX. bibTeX bibliography entries are stored in a .bib file. The attached .bib file contains entries for all of the common reference types and many obscure ones. To include a bibliography file in your document, you need to say \bibliography{filename} . To cite the references within your document, you simply use the command \cite{keyword} . Then to actually compile the bibliography into typesettable citation references you run bibTeX as:

latex file
bibtex file
latex file
latex file
dvips -t letter file -o

We know this seems like of extra compilation. Because LaTeX can only typeset the text that is available at run-time, the first run of LaTeX will not generate any citations (or table, figure, or section references). Running bibTeX generates two files, .bbl and .blg , which contain the typesetting data we need. We must run LaTeX a second time (and sometimes a third) for the citation numbers to register in the text. If we fail, we will see [?].

8. Pictures
9. Resources
  1. Michel Goossens, Sebastian Rahtz, and Frank Mittelbach. The LaTeX Graphics Companion: Illustrating Documents with TeX and PostScript . Addison-Wesley, Reading, MA, 1997
  2. Helmut Kopka and Patrick W. Daly. A Guide to LaTeXe: Document Preparation for Beginners and Advanced Users . Addison-Wesley Publishing Company, Wokingham, England, second edition, 1995.
  3. Leslie Lamport. LaTeX: A Document Preparation System User's Guide and Reference Manual . Addison-Wesley Publishing Company, Reading, MA, second edition, 1994.

External Links

  • http://latex-project.org/
  • http://www.ctan.org/
  • The (not so) Short Introduction to LaTeX - http://ctan.tug.org/tex-archive/info/lshort/english/

This article has external documents! Click here.