2.5 LaTeX command syntax

In the LaTeX input file, a command name starts with a backslash character, \. The name itself then consists of either (a) a string of letters or (b) a single non-letter.

LaTeX commands names are case sensitive; for example, \pagebreak differs from \Pagebreak (the latter is not a standard command). Most command names are lowercase, but in any event you must enter all commands in the same case as they are defined.

A command may be followed by zero, one, or more arguments. These arguments may be either required or optional. Required arguments are contained in curly braces, {...}. Optional arguments are contained in square brackets, [...]. Generally, but not universally, if the command accepts an optional argument, it comes first, before any required arguments; optional arguments could come after required arguments, or both before and after.

Inside of an optional argument, to use the character close square bracket (]) hide it inside curly braces, as in \item[closing bracket {]}]. Similarly, if an optional argument comes last, with no required argument after it, then to make the first character of the following text be an open square bracket, hide it inside curly braces.

LaTeX has the convention that some commands have a * form that is closely related to the form without a *, such as \chapter and \chapter*. The difference in behavior varies from command to command.

This manual describes all accepted options and *-forms for the commands it covers (barring unintentional omissions, a.k.a. bugs).

As of the 2020-10-01 release of LaTeX, the expl3 and xparse packages are part of the LaTeX2e format. They provide a completely different underlying programming language syntax. We won’t try to cover that in this document; see the related package documentation and other LaTeX manuals.


Unofficial LaTeX2e reference manual