A LaTeX command begins with the command name, which consists of a \ followed by either (a) a string of letters or (b) a single non-letter. Arguments contained in square brackets [] are optional while arguments contained in braces {} are required. NOTE: LaTeX is case sensitive. Enter all commands in lower case unless explicitly directed to do otherwise.
1 – Counters
Everything LaTeX numbers for you has a counter associated with it. The name of the counter is the same as the name of the environment or command that produces the number, except with no \. Below is a list of the counters used LaTeX's standard document styles to control numbering. part part figure enumi chapter subparagraph table enumii section page footnote enumiii subsection equation mpfootnote enumiv subsubsection
1.1 – \addtocounter
\addtocounter {counter} {value} The \addtocounter command increments the counter by the amount specified by the value argument. The value argument can be negative.
1.2 – \alph
\alph {counter} This command causes the value of the counter to be printed in alphabetic characters. The \alph command causes lower case alphabetic characters, e.g. a, b, c... while the \Alph command causes upper case alphabetic characters, e.g. A, B, C...
1.3 – \arabic
\arabic {counter} The \arabic command causes the value of the counter to be printed in arabic numbers, e.g. 3.
1.4 – \fnsymbol
\fnsymbol {counter} The \fnsymbol command causes the value of the counter to be printed in a specific sequence of nine symbols that can be used for numbering footnotes.
1.5 – \newcounter
\newcounter {foo} [counter] The \newcounter command defines a new counter named foo. The optional argument [counter] causes the counter foo to be reset whenever the counter named in the optional argument is incremented.
1.6 – \roman
\roman {counter} This command causes the value of the counter to be printed in roman numerals. The \roman command causes lower case roman numerals, e.g. i, ii, iii..., while the \Roman command causes upper case roman numerals, e.g. I, II, III...
1.7 – \setcounter
\setcounter {counter} {value} The \setcounter command sets the value of the counter to that specified by the value argument.
1.8 – \usecounter
\usecounter {counter} The \usecounter command is used in the second argument of the list environment to allow the counter specified to be used to number the list items.
1.9 – \value
\value {counter} The \value command produces the value of the counter named in the mandatory argument. It can be used where LaTeX expects an integer or number, such as the second argument of a \setcounter or \addtocounter command, or in \hspace{\value{foo}\parindent} It is useful for doing arithmetic with counters.
2 – Cross References
One reason for numbering things like figures and equations is to refer the reader to them, as in "See Figure 3 for more details."
2.1 – \label
\label{key} A \label command appearing in ordinary text assigns to the key the number of the current sectional unit; one appearing inside a numbered environment assings that number to the key. A key con consist of any sequence of letters, digits, or punctuation characters. Upper- and lowercase letters are different.
2.2 – \pageref
\pageref{key} The \pageref command produces the page number of the place in the text where the corresponding \label command appears.
2.3 – \ref
\ref{key} The \ref command produces the number of the sectional unit, equation number, ... of the corresponding \label command.
3 – Definitions
3.1 – \newcommand
\newcommand{cmd}[args]{def} \renewcommand{cmd}[args]{def} These commands define (or redefine) a command. - cmd: A command name beginning with a \. For \newcommand it must not be already defined and must not begin with \end; for \renewcommand it must already be defined. - args: An integer from 1 to 9 denoting the number of arguments of the command being defined. The default is for the command to have no arguments. - def: The text to be substituted for every occurrence of cmd; a parameter of the form n in cmd is replaced by the text of the nth argument when this substitution takes place.
3.2 – \newenvironment
\newenvironment{nam}[args]{begdef}{enddef} \renewenvironment{nam}[args]{begdef}{enddef} These commands define or redefine an environment. - nam: The name of the environment. For \newenvironment there must be no currently defined environment by that name, and the command \nam must be undefined. For \renewenvironment the environment must already be defined. - args: An integer from 1 to 9 denoting the number of arguments of the newly-defined environment. The default is no arguments. - begdef: The text substituted for every occurrence of \begin{name}; a parameter of the form n in cmd is replaced by the text of the nth argument when this substitution takes place. - enddef: The text substituted for every occurrence of \end{nam}. It may notcontain any argument parameters.
3.3 – \newtheorem
\newtheorem{env_name}{caption}[within] \newtheorem{env_name}[numbered_like]{caption} This command defines a theorem-like environment. - env_name: The name of the environment -- a string of letters. Must not be the name of an existing environment or counter. - caption: The text printed at the beginning of the environment, right before the number. - within: The name of an already defined counter, usually of a sectional unit. Provides a means of resetting the new theorem counter within the sectional unit. - numbered_like: The name of an already defined theorem-like environment. The \newtheorem command may have at most one optional argument.
3.4 – \newfont
\newfont{cmd}{font_name} Defines the command name cmd, which must not be currently defined, to be a declaration that selects the font named font_name to be the current font.
4 – Document Styles
Valid LaTeX document styles include: o article o report o memo o letter o milstd o bookform They are selected with the following command: \documentstyle [options] {style} The options for the different styles are: 1. article: 11pt, 12pt, twoside, twocolumn, draft, fleqn, leqno, acm 2. report: 11pt, 12pt, twoside, twocolumn, draft, fleqn, leqno, acm 3. letter: 11pt, 12pt, fleqn, leqno, acm 4. memo: 11pt, 12pt, twoside,twocolumn, draft, fleqn, leqno 5. milstd: 11pt, 12pt, twoside,twocolumn, draft, fleqn, leqno 6. bookform: 11pt, 12pt, twoside,twocolumn, draft, fleqn, leqno If you specify more than one option, they must be separated by a comma.
4.1 – \flushbottom
The \flushbottom declaration makes all text pages the same height, adding extra veritcal space when necessary to fill out the page.
4.2 – \onecolumn
The \onecolumn declaration starts a new page and produces single-column output.
4.3 – \raggedbottom
The \raggedbottom declaration makes all pages the height of the text on that page. No extra vertical space is added.
4.4 – \twocolumn
The \twocolumn declaration starts a new page and produces two-column output.
5 – Environments
LaTeX provides a number of different paragraph-making environments. Each environment begins and ends in the same manner. \begin{environment-name} . . . \end{environment-name}
5.1 – array
\begin{array}{col1col2...coln} column 1 entry & column 2 entry ... & column n entry \\ . . . \end{array} Math arrays are produced with the array environment. It has a single mandatory argument describing the number of columns and the alignment within them. Each column, coln, is specified by a single letter that tells how items in that row should be formatted. - c for centered - l for flushleft - r for flushright Column entries must be separated by an &. Column entries may include other LaTeX commands. Each row of the array must be terminated with a \\.
5.2 – center
\begin{center} Text on line 1 \\ Text on line 2 \\ . . . \end{center} The center environment allows you to create a paragraph consisting of lines that are centered within the left and right margins on the current page. Each line must be terminated with a \\.
5.2.1 – \centering
This declaration corresponds to the center environment. This declaration can be used inside an environment such as quote or in a parbox. The text of a figure or table can be centered on the page by putting a \centering command at the beginning of the figure or table environment. Unlike the center environment, the \centering command does not start a new paragraph; it simply changes how LaTeX formats paragraph units. To affect a paragraph unit's format, the scope of the declaration must contain the blank line or \end command (of an environment like quote) that ends the paragraph unit.
5.3 – description
\begin{description} \item [label] First item \item [label] Second item . . . \end{description} The description environment is used to make labeled lists. The label is bold face and flushed right.
5.4 – documentlist
\begin{documentlist} \item[Title \\ subtitle \\ subtitle] Document description \item[Title \\ subtitle \\ subtitle] Document description . . . \end{documentlist} The documentlist environment is used to produce a list of documents where the title of the document is formatted as one stack and the description is formatted as another stack. These stacks are then placed side by side with the tops of the stacks alined. For example, MIL-STD-490 The Preparation of Notice 2 Military Specifications
5.5 – enumerate
\begin{enumerate} \item First item \item Second item . . . \end{enumerate} The enumerate environment produces a numbered list. Enumerations can be nested within one another, up to four levels deep. They can also be nested within other paragraph-making environments. Each item of an enumerated list begins with an \item command. There must be at least one \item command within the environment.
5.6 – eqnarray
\begin{eqnarray} math formula 1 \\ math formula 2 \\ . . . \end{eqnarray} The eqnarray environment is used to display a sequence of equations or inequalities. It is very much like a three-column array environment, with consecutive rows separated by \\ and consecutive items within a row separated by an &. An equation number is placed on every line unless that line has a \nonumber command.
5.7 – equation
\begin{equation} math formula \end{equation} The equation environment centers your equation on the page and places the equation number in the right margin.
5.8 – figure
\begin{figure}[placement] body of the figure \caption{figure title} \end{figure} Figures are objects that are not part of the normal text, and are usually "floated" to a convenient place, like the top of a page. Figures will not be split between two pages. The optional argument [placement] determines where LaTeX will try to place your figure. There are four places where LaTeX can possibly put a float: - h: Here - at the position in the text where the figure environment appears. - t: Top - at the top of a text page. - b: Bottom - at the bottom of a text page. - p: Page of floats - on a separate float page, which is a page containing no text, only floats. The standard report and article styles use the default specifier tbp. The body of the figure is made up of whatever text, LaTeX commands, etc. you wish. The \caption command allows you to title your figure.
5.9 – flushleft
\begin{flushleft} Text on line 1 \\ Text on line 2 \\ . . . \end{flushleft} The flushleft environment allows you to create a paragraph consisting of lines that are flushed left to the left-hand margin. Each line must be terminated with a \\.
5.9.1 – \raggedright
This declaration corresponds to the flushleft environment. This declaration can be used inside an environment such as quote or in a parbox. Unlike the flushleft environment, the \raggedright command does not start a new paragraph; it simply changes how LaTeX formats paragraph units. To affect a paragraph unit's format, the scope of the declaration must contain the blank line or \end command (of an environment like quote) that ends the paragraph unit.
5.10 – flushright
\begin{flushright} Text on line 1 \\ Text on line 2 \\ . . . \end{flushright} The flushright environment allows you to create a paragraph consisting of lines that are flushed right to the right-hand margin. Each line must be terminated with a \\.
5.10.1 – \raggedleft
This declaration corresponds to the flushright environment. This declaration can be used inside an environment such as quote or in a parbox. Unlike the flushright environment, the \raggedleft command does not start a new paragraph; it simply changes how LaTeX formats paragraph units. To affect a paragraph unit's format, the scope of the declaration must contain the blank line or \end command (of an environment like quote) that ends the paragraph unit.
5.11 – itemize
\begin{itemize} \item First item \item Second item . . . \end{itemize} The itemize environment produces a bulleted list. Itemizations can be nested within one another, up to four levels deep. They can also be nested within other paragraph-making environments. Each item of an itemized list begins with an \item command. There must be at least one \item command within the environment.
5.12 – list
\begin{list}{label}{spacing} \item First item \item Second item . . . \end{list} The {label} argument specifies how items should be labeled. This argument is a piece of text that is inserted in a box to form the label. This argument can and usually does contain other LaTeX commands. The {spacing} argument contains commands to change the spacing parameters for the list. This argument will most often be null, i.e. {}. This will select all default spacing which should suffice for most cases.
5.13 – minipage
\begin{minipage} [position] {width} text \end{minipage} The minipage environment is similar to a \parbox command. It takes the same optional position argument and mandatory width argument. You may use other paragraph-making environments inside a minipage. Footnotes in a minipage environment are handled in a way that is particularly useful for putting footnotes in figures or tables. A \footnote or \footnotetext command puts the footnote at the bottom of the minipage instead of at the bottom of the page, and it uses the mpfootnote counter instead of the ordinary footnote counter. NOTE: Don't put one minipage inside another if you are using footnotes; they may wind up at the bottom of the wrong minipage.
5.14 – picture
\begin{picture}(width,height)(x offset,y offset) . picture commands . \end{picture} The picture environment allows you to create just about any kind of picture you want containing text, lines, arrows and circles. You tell LaTeX where to put things in the picture by specifying their coordinates. A coordinate is a number that may have a decimal point and a minus sign - a number like 5, 2.3 or -3.1416. A coordinate specifies a length in multiples of the unit length \unitlength, so if \unitlength has been set to 1cm, then the coordinate 2.54 specifies a length of 2.54 centimeters. You can change the value of \unitlength anywhere you want, using the \setlength command, but strange things will happen if you try changing it inside the picture environment. A positionis a pair of coordinates, such as (2.4,-5), which specifies the point with x-coordinate 2.4 and y-coordinate -5. Coordinates are specified in the usual way with respect to an origin, which is normally at the lower-left corner of the picture. Note that when a position appears as an argument, it is not enclosed in braces; the parentheses serve to delimit the argument. The picture environment has one mandatory argument, which is a position. It specifies the size of the picture. The environment produces a rectangular box with width and height determined by this argument's x- and y-coordinates. The picture environment also has an optional position argument, following the size argument, that can change the origin. (Unlike ordinary optional arguments, this argument is not contained in square brackets.) The optional argument gives the coordinates of the point at the lower-left corner of the picture (thereby determining the origin). For example, if \unitlength has been set to 1mm, the command \begin{picture}(100,200)(10,20) produces a picture of width 100 millimeters and height 200 millimeters, whose lower-left corner is the point (10,20) and whose upper-right corner is therefore the point (110,220). When you first draw a picture, you will omit the optional argument, leaving the origin at the lower-left corner. If you then want to modify your picture by shifting everything, you just add the appropriate optional argument. The environment's mandatory argument determines the nominal size of the picture. This need bear no relation to how large the picture really is; LaTeX will happily allow you to put things outside the picture, or even off the page. The picture's nominal size is used by TeX in determining how much room to leave for it. Everything that appears in a picture is drawn by the \put command. The command \put (11.3,-.3){ ... } puts the object specified by "..." in the picture, with its reference point at coordinates (11.3,-.3). The reference points for various objects will be described below. The \put command creates an LR box. You can put anything in the text argument of the \put command that you'd put into the argument of an \mbox and related commands. When you do this, the reference point will be the lower left corner of the box.
5.14.1 – \circle
\circle[*]{diameter} The \circle command produces a circle of the specified diameter. If the *-form of the command is used, LaTeX draws a solid circle.
5.14.2 – \dashbox
\dashbox{dash length}(width,height){ ... } The \dashbox has an extra argument which specifies the width of each dash. A dashed box looks best when the width and height are multiples of the dash length.
5.14.3 – \frame
\frame{ ... } The \frame command puts a rectangular frame around the object specified in the argument. The reference point is the bottom left corner of the frame. No extra space is put between the frame and the object.
5.14.4 – \framebox
\framebox(width,height)[position]{ ... } The \framebox command is analogous to the \makebox command.
5.14.5 – \line
\line(x slope,y slope){length} The \line command draws a line of the specified length and slope.
5.14.6 – \linethickness
\linethickness{dimension} Declares the thickness of horizontal and vertical lines in a picture environment to be dimension, which must be a positive length. It does not affect the thickness of slanted lines and circles, or the quarter circles drawn by \oval to form the corners of an oval.
5.14.7 – \makebox
\makebox(width,height)[position]{ ... } The \makebox command for the picture environment is similar to the normal \makebox command except that you must specify a width and height in multiples of \unitlength. The optional argument, [position], specifies the quadrant that your text appears in. You may select up to two of the following: - t: Moves the item to the top of the rectangle - b: Moves the item to the bottom - l: Moves the item to the left - r: Moves the item to the right
5.14.8 – \multiput
\multiput(x coord,y coord)(delta x,delta y){number of copies}{object} The \multiput command can be used when you are putting the same object in a regular pattern across a picture.
5.14.9 – \oval
\oval(width,height)[portion] The \oval command produces a rectangle with rounded corners. The optional argument, [portion], allows you to select part of the oval. - t: Selects the top portion - b: Selects the bottom portion - r: Selects the right portion - l: Selects the left portion
5.14.10 – \put
\put(x coord,y coord){ ... } The \put command places the item specified by the mandatory argument at the given coordinates.
5.14.11 – \shortstack
\shortstack[position]{... \\ ... \\ ...} The \shortstack command produces a stack of objects. The valid positions are: - r: Moves the objects to the right of the stack - l: Moves the objects to the left of the stack - c: Moves the objects to the center of the stack (default)
5.14.12 – \vector
\vector(x slope,y slope){length} The \vector command draws a line with an arrow of the specified length and slope. The x and y values must lie between -4 and +4, inclusive.
5.15 – quotation
\begin{quotation} text \end{quotation} The margins of the quotation environment are indented on the left and the right. The text is justified at both margins and there is paragraph indentation. Leaving a blank line between text produces a new paragraph.
5.16 – quote
\begin{quote} text \end{quote} The margins of the quote environment are indented on the left and the right. The text is justified at both margins. Leaving a blank line between text produces a new paragraph.
5.17 – tabbing
\begin{tabbing} text \= more text \= still more text \= last text \\ second row \> \> more \\ . . . \end{tabbing} The tabbing environment provides a way to align text in columns. It works by setting tab stops and tabbing to them much the way you do with an ordinary typewriter.
5.17.1 – \=
The \= command sets the tab stops.
5.17.2 – \>
The \> command causes LaTeX to advance to the next tab stop.
5.17.3 – \<
The \< command allows you to put something to the left of the local margin without changing the margin.
5.17.4 – \+
The \+ command moves the left margin of the next and all the following commands one tab stop to the right.
5.17.5 – \-
The \- command moves the left margin of the next and all the following commands one tab stop to the left.
5.17.6 – \'
The \' command moves everything that you have typed so far n the current column , everything starting from the most recent \>, \<, \', \\, or \kill command, to the right of the previous column, flush against the current column's tab stop.
5.17.7 – \`
The \` command allows you to put text flushed right against any tab stop, including tab stop 0. However, it can't move text to the right of the last column because there's no tab stop there. The \` command moves all the text that follows it, up to the \\ or \end{tabbing} command that ends the line, to the right margin of the tabbing environment. There must be no \> or \' command between the \` and the command that ends the line.
5.17.8 – \kill
The \kill command allows you to set tab stops without producing text. It works just like the \\ except that it throws away the current line instead of producing output for it. The effect of any \=, \+ or \- commands in that line remain in effect.
5.18 – table
\begin{table}[placement] body of the table \caption{table title} \end{table} Tables are objects that are not part of the normal text, and are usually "floated" to a convenient place, like the top of a page. Tables will not be split between two pages. The optional argument [placement] determines where LaTeX will try to place your table. There are four places where LaTeX can possibly put a float: - h: Here - at the position in the text where the table environment appears. - t: Top - at the top of a text page. - b: Bottom - at the bottom of a text page. - p: Page of floats - on a separate float page, which is a page containing no text, only floats. The standard report and article styles use the default specifier tbp. The body of the table is made up of whatever text, LaTeX commands, etc. you wish. The \caption command allows you to title your table.
5.19 – tabular
\begin{tabular}[pos]{cols} column 1 entry & column 2 entry ... & column n entry \\ . . . \end{tabular} or \begin{tabular*}{width}[pos]{cols} column 1 entry & column 2 entry ... & column n entry \\ . . . \end{tabular*} These environments produce a box consisting of a sequence of rows of items,aligned vertically in columns. The mandatory and optional arguments consist of: o width: Specifies the width of the tabular* environment. There must be rubber space between columns that can stretch to fill out the specified width. o pos: Specified the vertical postionion; default is alignment on the center of the environment. - t - align on top row - b - align on bottom row o cols: Specifies the column formatting. It consists of a sequence of the following specifiers, corresponding to the sequence of columns and intercolumn material. - l - A column of left-aligned items. - r - A column of right-aligned items. - c - A column of centered items. - | - A vertical line the full height and depth of the environment. - @{text} - This inserts text in every row. An @-expression suppresses the intercolumn space normally inserted between columns; any desired space between the inserted text and the adjacent items must be included in text. An \extracolsep{wd} command in an @-expression causes an extra space of width wd to appear to the left of all subsequent columns, until countermanded by another \extracolsep command. Unlike ordinary intercolumn space, this extra space is not suppressed by an @-expression. An \extracolsep command can be used only in an @-expression in the cols argument. - p{wd} - Produces a column with each item typeset in a parbox of width wd, as if it were the argument of a \parbox[t]{wd} command. However, a \\ may not appear in the item, except in the following situations: (i) inside an environment like minipage, array, or tabular, (ii) inside an explicit \parbox, or (iii) in the scope of a \centering, \raggedrigth, or \raggedleft declaration. The latter declarations must appear inside braces or an environment when used in a p-column element. - *{num}{cols} - Equivalent to num copies of cols, where num is any positive integer and cols is any list of column-specifiers, which may contain another *-expression.
5.19.1 – \cline
\cline {i-j} The \cline command draws horizontal lines across the columns specified in the mandatory argument.
5.19.2 – \hline
The \hline command will draw a horizontal line the width of the table. It's most commonly used to draw a line at the top, bottom, and between the rows of the table.
5.19.3 – \multicolumn
\multicolumn {cols} {pos} {text} The \multicolumn is used to make an entry that spans several columns. The first mandatory argument, cols, specifies the number of columns to span. The second mandatory argument, pos, specifies the formatting of the entry; c for centered, l for flushleft, r for flushright. The third mandatory argument, text, specifies what text is to make up the entry.
5.19.4 – \vline
The \vline command will draw a vertical line extending the full height and depth of its row. An \hfill command can be used to move the line to the edge of the column. It can also be used in an @-expression.
5.20 – thebibliography
\begin{thebibliography}{widest-label} \bibitem[label]{cite_key} . . . \end{thebibliography} The thebibliography environment produces a bibliography or reference