GETTING UP AND RUNNING WITH A_{M}S-L^{A}TEX

PHILIP S. HIRSCHHORN

December 16, 1992

Abstract. This is an attempt to tell you enough about L^{A}TEX and A_{M}S-L^{A}TEX so that you can get started with it without having to read the book.

Contents

1. Introduction 2

2. Basic L^{A}TEX stuff 2 2.1. The documentstyle command

2.2. begin{document} and end{document}

2.3. Sections and subsections 2.4. Italics for emphasis 2.5. Once is never enough

3. Title, Author, and the maketitle command 5 3.1. The title 3.2. The author, and the author’s address 3.3. The date

3.4. maketitle

4. Theorems, Propositions, Lemmas, etc. 6 4.1. Stating theorems, propositions, etc. 4.2. Proofs 4.3. Changing the fonts used in theorems, etc.

5. Cross-References 9 5.1. References to sections, theorems and equations 5.2. References to page numbers 5.3. Bibliographic references

6. Mathematics 11 6.1. Mathematics in running text 6.2. Displayed mathematics 6.3. Commutative diagrams

7. Macro definitions, a.k.a. newcommand 14

8. Lists: itemize, enumerate, and description  14

9. The bibliography 16

   9.1. begin{thebibliography} and end{thebibliography}

9.2. Bibliography items

10. The template file 16

References 21

1. Introduction

This is an attempt to get you up and running with AMS-L^{A}TEX with the least possible pain. These instructions won’t be a substitute for the User’s Guide, but they may get you started quickly enough so that you’ll only need to refer to the guide occasionally, which should eliminate most of the pain.

AMS-L^{A}TEX is really just a new documentstyle for L^{A}TEX, but it will only work after you’ve installed the new font selection scheme into L^{A}TEX. (There are actually two new documentstyles, amsart and amsbook, plus an optional argument amstex that can be added to the standard L^{A}TEX article documentstyle, but all I’ll discuss here is the amsart documentstyle.) Thus, using AMS-L^{A}TEX is really using a variety of L^{A}TEX. If you’re new to L^{A}TEX and these last few sentences made no sense to you at all, don’t worry about it. You don’t have to know what the old font selection scheme is in order to use the new one.

I’ll be assuming that you have at least some experience with either plain TEX, AMS-TEX or L^{A}TEX, and I’ll try to tell you what you need to know so that you can get started with AMS-L^{A}TEX without actually reading the L^{A}TEX User’s Guide [3], or even taking much of a look at the AMS-L^{A}TEX User’s Guide [1].

If you’ve never used any version of TEX, then I recommend Jon Warbrick’s Essential L^{A}TEX [4]. This is intended for those with no knowledge of TEX or L^{A}TEX, and concisely gives a description of what a L^{A}TEX document looks like and how you type text in a L^{A}TEX document. You should then look at Sections 3.3.1 and 3.3.2 of the L^{A}TEX User’s Guide [3, pages 41–47] to learn how to type mathematics in a L^{A}TEX document.

I’ve also given you a template file template.tex, which is an attempt to give you enough to mostly fake your way through an AMS-L^{A}TEX file, almost without even reading these instructions. I’ve included the text of that file in these instructions as Section 10, so you might want to take a look at that now, and then just use the table of contents of these instructions to get more information on whatever in that file confuses you.

In case you haven’t guessed, these instructions were printed using AMS-L^{A}TEX, so you can get some idea what it all looks like.

2. Basic L^{A}TEX stuff

In this section, we’ll describe the three commands that have to be part of any L^{A}TEX document:

\documentstyle, \begin{document}, and \end{document}. The complete explanation of these

can be found in the L^{A}TEX User’s Guide [3] or in Essential L^{A}TEX [4]. We’ll also explain how to begin a new section or subsection of the paper, and how L^{A}TEX manages to get the cross-references right (which is also the explanation of why you need to run a file through L^{A}TEX twice to be sure that all the cross-references are correct).

RUNNING AMS-L^{A}TEX 3

2.1. The documentstyle command. Before you type anything that actually appears in the paper, you must include a \documentstyle command. It’s easiest to just put the \documentstyle command at the very beginning of the file, possibly with a few lines of comments before it.

It’s actually the choice of document style that determines whether you’re using AMS-L^{A}TEX or just plain old L^{A}TEX. There are two document styles that are a part of AMS-L^{A}TEX: amsart and amsbook. There is also the amstex option that can be added to the standard L^{A}TEX article document style. I’ll only be discussing the amsart document style here. For the others, see the AMS-L^{A}TEX User’s Guide [1].

The simplest version of the documentstyle command is

                              \documentstyle{amsart}

This will give you the default type size, which is 10 point type. If you’d like to use 12 point type, then you should include the optional argument [12pt]; this makes the command

                           \documentstyle[12pt]{amsart}

There should be no spaces inside the square brackets that enclose the optional argument.

There are two other optional arguments that might be of interest. The first is for when you want to include the macros that make it easier to draw commutative diagrams. (These aren’t included automatically, since they take up a lot of memory, and not everyone wants to use them.) If you want 10 point type and you want to use the commutative diagram macros, then the command is

                           \documentstyle[amscd]{amsart}

If you want 12 point type and you want to use the commutative diagram macros, then the command is

                        \documentstyle[12pt,amscd]{amsart}

The other optional argument is for use when you want to use some of the special symbols contained in the AMSFonts package. (These are the fonts msam and msbm.) If you want the standard names for these symbols to be defined for your use, then you need to include the optional argument amssymb. Thus, to use the default 10 point type and have the special symbols defined, use the command

                          \documentstyle[amssymb]{amsart}

If you want to use 12 point type, the commutative diagram macros, and special symbols from the AMSFonts collection, then use the command

                    \documentstyle[12pt,amscd,amssymb]{amsart}

You can list the optional arguments 12pt, amscd, and amssymb in whatever order you like, but there should be no spaces inside of the square brackets, and the optional arguments should be separated by commas.

2.2. begin{document} and end{document}. Everything that is to appear in the document must appear in between the \begin{document} and \end{document} commands. There are no optional arguments for these commands, so they always look the same. Anything following the \end{document} command is ignored. You are allowed to have macro definitions (i.e., newcommands; see Section 7) before the \begin{document}, and that’s actually a good place for them, but that’s about all.

2.3. Sections and subsections. To begin a new section, you give the command

                              \section{Section name}

To begin the present section, I gave the command

                           \section{Basic \LaTeX\ stuff}

A section number is supplied automatically. If you want to be able to make reference to that section, then you need to label it. Since I wanted to be able to demonstrate the cross-reference commands, I actually began this section with the lines

\section{Basic \LaTeX\ stuff}
\label{sec:basicstuff}

This allows me to say “Section~\ref{sec:basicstuff}” and have it printed as Section 2.

To begin a new subsection, you give the command

                           \subsection{Subsection name}

To begin the present subsection, I gave the command

                       \subsection{Sections and subsections}

A subsection number is supplied automatically. If you want to be able to make reference to that subsection, then you need to label it. This subsection was begun with the lines

\subsection{Sections and subsections}
\label{sec:sections}

so if we say “Section~\ref{sec:sections},” it is printed as Section 2.3.

Labels always take the number of the smallest enclosing structure. Thus, a \label command that’s inside a section but not inside a subsection or Theorem or anything else will take the value of the section counter, while a \label command that’s inside the statement of a Theorem will take the value of that Theorem number. For more information on this, see Section 5. 2.3.1. Yes, there are subsubsections too. I began this subsubsection with the command

                 \subsubsection{Yes, there are subsubsections too}

I refuse to even experiment to see if there are subsubsubsections. Sections without numbers. I began this subsubsection with the command

\subsubsection*{Sections without numbers}

and got a subsubsection that wasn’t numbered. If you give the command

\section*{A Section Title}

then you’ll begin a new section, which will not have a number. 2.4. Italics for emphasis. If you want to use italics to emphasize a word or two, the L^{A}TEX convention is not to switch explicitly to italics, but rather to use the command \em (which means emphasize). This command works just like a font change command, except that it switches you into italics if the current font is roman, and switches you out of italics if the current font is italics.

For example, if you type

               The whole is {\em more\/} than the sum of its parts.

you’ll get

The whole is more than the sum of its parts.

but if you type

\begin{thm}
The whole is\/ {\em more} than the sum of its parts.
\end{thm}

you’ll get Theorem 2.1. The whole is more than the sum of its parts.

2.5. Once is never enough. This is an explanation of how L^{A}TEX manages to fill in crossreferences to parts of the file it hasn’t processed yet, and what those .aux and .toc files are.

Cross-References. Every time L^{A}TEX processes your file, it writes an auxiliary file. Since the file containing these instructions is called amshelp.tex, the auxiliary file is called amshelp.aux. The auxiliary file contains the definitions of all the keys used for cross-references. When L^{A}TEX begins to process your file, it first looks for an .aux file, and reads it in if it exists. Of course, this is the .aux file that was produced the last time that your file was processed, so the Theorem numbers, Section numbers, etc. are all the ones from the last time the file was processed.

The very first time that L^{A}TEX processes your file, there is no .aux file, and so L^{A}TEX gives lots of warning messages about undefined labels, or whatever. Ignore all of this. The next time that you run L^{A}TEX, there will be an .aux file, and all the references will be filled in. (Yes, it is possible, at least in theory, for some page number to change every time you run L^{A}TEX on your file, even without any changes in the source file, but this isn’t very likely.)

The Table of Contents. If you give the command \tableofcontents, then L^{A}TEX will try to write a table of contents, including the page numbers of the sections. Obviously, L^{A}TEX can’t know those page numbers or section titles yet, so as L^{A}TEX processes your file, it writes a .toc file containing the information it needs. (The .toc file for these instructions is amshelp.toc.) Once again, L^{A}TEX is always using the information from the last time that it processed your file.

If you do include a table of contents in your document, and if the table of contents takes up at least a page or so of space, then you might have to run L^{A}TEX three times in order to get all of the cross-references correct. The reason for this is that the first time you run L^{A}TEX there isn’t any .toc file listing the section titles, and so the table of contents has nothing in it. The second time you run L^{A}TEX you’ll get a table of contents that lists the page numbers for the sections from the last time you ran L^{A}TEX, when the table of contents took up no space at all. Unfortunately, during this second run, the table of contents will be created, and will take up enough space to change the page numbers of the sections from what they were during the first run. Only during the third run will the correct page numbers be written into the table of contents. Since this doesn’t change the amount of space that the table of contents occupies, this version will be correct.

How do I know when everything is correct? Every time that you run L^{A}TEX, it checks to see that the cross-reference numbers that it read from the .aux file are correct. If any of them are incorrect, it prints a warning on the screen at the very end of the run advising you that labels may have changed, and that you should run L^{A}TEX again to get the cross-references right. Unfortunately, L^{A}TEX doesn’t seem to check that the table of contents entries are correct, so if you change the name of a section in a way that doesn’t make any page references incorrect, you won’t be warned to run L^{A}TEX again.

3. Title, Author, and the maketitle command

This stuff should go right after the \begin{document} command. I’ll give a quick sketch here, which is probably all you’ll ever need, but the full explanation is given in the AMS-L^{A}TEX sample paper testart.tex [2, Page 3], with extra explanation given in the comments of the source file testart.tex itself. If you are already familiar with L^{A}TEX, then you should be warned that this part is slightly different from what you do when using the standard L^{A}TEX article documentstyle.

3.1. The title. You announce the title with the command

                   \title[Optional running title]{Actual title}

These instructions used the title command

\title[Running \AmS-\LaTeX]
{Getting up and running\\
with \AmS-\LaTeX}

Notice that you indicate line breaks in the title with a double backslash. If I had decided to let the full title be printed in the head of the odd numbered pages, I would have used the command

\title{Getting up and running\\
with \AmS-\LaTeX}

3.2. The author, and the author’s address. The author is specified with an author command:

                              \author{Author's name}

These directions used the command \author{Philip S. Hirschhorn}. The author’s address is given in an address command, with double backslashes to indicate line breaks. These instructions used the command

\address{Department of Mathematics\\
         Wellesley College\\
         Wellesley, MA 02181}

You can also include an email address, but you have to enter a double “at” sign for each one in the address. These instructions used

\email{phirschhorn@@lucy.wellesley.edu}

To acknowledge support, use the command \thanks, e.g.,

\thanks{Supported in part by NSF grant 3.14159}

This will be printed as a footnote on the first page.

Multiple authors. If there are several authors, then each one should have a separate \author command, with each individual’s address following that individual’s \author command, in its own \address command. If there are several authors, and their combined names are too long for the running head on the even numbered pages, you can give a running head as an optional argument in square brackets. (It’s apparently a convention that the running head in a multiple author paper should have only initials for the first and middle names, but I don’t think that I was invited to that convention.) The source file testart.tex is an example of a paper with three authors, two of whom are at the same institution. The comments in the source file carefully explain what’s going on.

3.3. The date. This is pretty straightforward:

                          \date{Whatever date you please}

To have the date of processing used, use the command \date{\today}.

3.4. maketitle. After you’ve given all of the commands mentioned in this section, you can give the command \maketitle. The exact arrangement is determined by the document style. In particular, the amsart document style puts the author’s address at the end of the paper. If you don’t give the command \maketitle, a title won’t be made.

4. Theorems, Propositions, Lemmas, etc.

The instructions in this section assume that you’re using the newtheorem commands that I put

in the file template.tex.

4.1. Stating theorems, propositions, etc. To state a theorem, you do the following:

\begin{thm}
The square of the hypotenuse of a right triangle is equal to the sum
of the squares of the two adjacent sides.
\end{thm}

If you do that, you’ll get the following:

Theorem 4.1. The square of the hypotenuse of a right triangle is equal to the sum of the squares of the two adjacent sides.

If you thought that it was only a proposition, you’d use

\begin{prop}
The square of the hypotenuse of a right triangle is equal to the sum
of the squares of the two adjacent sides.
\end{prop}

and you’d get

Proposition 4.2. The square of the hypotenuse of a right triangle is equal to the sum of the squares of the two adjacent sides.

If you think it’s a theorem again, but you’d like to make reference to it in some other part of the paper, you have to choose a key with which you’ll refer to it, and then label the theorem. If you want to use the key pythagthm, then it would look like the following:

\begin{thm}
\label{pythagthm}
The square of the hypotenuse of a right triangle is equal to the sum
of the squares of the two adjacent sides.
\end{thm}

If you later give the command \ref{pythagthm}, then that command will expand to the number that was assigned to that theorem (in this case, 4.1). For more explanation of cross-references, see Section 5.

If you’d like to state a theorem and give a name to it, then you can add an optional argument to the \begin{thm} command. If you type

\begin{thm}[Pythagorus]
The square of the hypotenuse of a right triangle is equal to the sum
of the squares of the two adjacent sides.
\end{thm}

you’ll get

Theorem 4.3 (Pythagorus). The square of the hypotenuse of a right triangle is equal to the sum of the squares of the two adjacent sides.

Summary of environments provided in the template. Most of the following structures are numbered in the same sequence, in the form SectionNumber.Number. The exceptions are that the bigthm environment is numbered separately and uses letters instead of numbers (i.e., Theorem A, Theorem B, etc.), and the Notation and Terminology environments are unnumbered.

Theorem Environments

Environment Name  Printed Form  Font shape used in body
bigthm  Theorem  Slanted
thm  Theorem  Slanted
cor  Corollary  Slanted
lem  Lemma  Slanted
prop  Proposition  Slanted
defn  Definition  Normal
rem  Remark  Normal
ex  Example  Normal
notation  Notation  Normal
terminology  Terminology  Normal

For full details, see the beginning of the template file (reproduced here in Section 10), after the comment “The Theorem Environments.” To change the font used in the body of the environment, see Section 4.3.

4.2. Proofs. To give a proof, you do the following:

\begin{pf}
As any fool can plainly see, it's true!
\end{pf}

and you’ll get the following:

Proof. As any fool can plainly see, it’s true!

If the theorem said that a condition was both necessary and sufficient for something, and you want to prove each part separately, you can do the following:

\begin{pf*}{Proof (sufficiency)}
Well, it's {\em obviously\/} sufficient!
\end{pf*}

and you’ll get

Proof (sufficiency). Well, it’s obviously sufficient!

that is, if you use the pf* environment instead of the pf environment, you must include a second argument to the \begin{pf*} command which will be printed in place of the word “Proof ” that would have been supplied by \begin{pf}.

If the proof of Theorem 4.1 does not appear immediately after its statement, you might use the following:

\begin{pf*}{Proof of Theorem~\ref{pythagthm}}
As any fool can plainly see, it's true!
\end{pf*}

and you’d get Proof of Theorem 4.1. As any fool can plainly see, it’s true!

4.3. Changing the fonts used in theorems, etc. This section is set in small type because it’s technical, and you probably don’t need to worry about it. We explain how to change the font used in the body of theorem environments, in case you don’t like what we’ve set up.

Each ‘theorem’ environment is defined by a \newtheorem command. The fonts used in the header and the body of the ‘theorem’ are determined by the theoremstyle that is current when the \newtheorem command is given.

The amsart documentstyle provides three theoremstyles: plain, definition, and remark. The plain theoremstyle chooses italics as the default font for the body of the theorem. In the template, we’ve used the \theorembodyfont command to change the font used in the body of the theorem to slanted.

The template file includes the commands

\theoremstyle{plain}   %% This is the default, anyway
\begingroup % Confine the \theorembodyfont command
\theorembodyfont{\sl}
\newtheorem{bigthm}{Theorem}   % Numbered separately, as A, B, etc.
\newtheorem{thm}{Theorem}[section]   % Numbered within each section
\newtheorem{cor}[thm]{Corollary}     % Numbered along with thm
\newtheorem{lem}[thm]{Lemma}         % Numbered along with thm
\newtheorem{prop}[thm]{Proposition}  % Numbered along with thm
\endgroup
%%% We need to do the following outside of any group,
%%% since it's not \global:
\renewcommand{\thebigthm}{\Alph{bigthm}}  % Number as "Theorem A."

This sets things up so that the font used for the body of theorems, Propositions, etc. is slanted. The \theorembodyfont command changes the font used, and the \begingroup and \endgroup commands keep this from affecting any environments that are defined later.

If you prefer italics in the body of theorems, then remove the \theorembodyfont command. If you’d like to change the font used in the body of ‘theorems’ in either the definition or remark theoremstyles (both of which use normal type), then insert the appropriate \theorembodyfont commands (enclosing the \theorembodyfont and \newtheorem commands in a group, to avoid unintentionally affecting the font of ‘theorems’ that you define later).

5. Cross-References

This section explains how to make reference to numbered sections, theorems, equations, and bibliography items, with the correct reference numbers filled in automatically by L^{A}TEX.

5.1. References to sections, theorems and equations. For each structure in the manuscript to which you’ll be making reference, you must assign a key that you’ll use to refer to that structure. For sections, theorems and numbered equations, you assign the key using the \label command. This command takes one argument, which is the key you’re assigning to the object. The command \ref{key} then produces the number that was assigned to that structure. If the structure is an equation, then the command \eqref{key} should be used instead of the command \ref{key}.

Consider the following example.

Theorem 5.1. If the maps f: X → Y and g: X → Y are homotopic, then f_{∗} = g_{∗}: H_{∗}X → H_{∗}Y.

We typed this theorem as follows.

\begin{thm}
\label{homotopy}
If the maps $f\colon X \to Y$ and $g\colon X \to Y$ are homotopic,
then $f_* = g_* \colon H_*X \to H_*Y$.
\end{thm}

If we now type “see Theorem~\ref{homotopy},” then it will be printed as “see Theorem 5.1.”

So, what exactly is the label labeling? We began this section by typing

\section{Cross-References}
\label{sec:xreferences}

and we began this subsection by typing

\subsection{References to sections, theorems and equations}
\label{sec:thmrefs}

The phrase “See Section~\ref{sec:xreferences}” is printed as “See Section 5,” while the phrase “See Section~\ref{sec:thmrefs}” is printed as “See Section 5.1.”

The command \label{key} assigns to key the value of the smallest enclosing structure. That’s why the command \ref{sec:xreferences} is printed as 5, while \ref{sec:thmrefs} is printed as 5.1: the key sec:xreferences was defined inside of Section 5 but outside of Section 5.1, while the key sec:thmrefs was defined inside of Section 5.1.

References to equations. To make reference to a numbered equation, you assign the key as before, but you replace \ref with \eqref. For example, if you type

\begin{equation}
\label{additivity}
H_* \bigvee_{\alpha\in A} X_\alpha   \iso
          \bigoplus_{\alpha\in A}H_* X_\alpha
\end{equation}

then you’ll get

H_{∗} ⋁_{α∈A} X_{α} ≈ ⨁_{α∈A} H_{∗}X_{α} (5.1)

If we now say

\begin{thm}
Equation~\eqref{additivity} is true for all sorts of functors $H$.
\end{thm}

then we’ll get

Theorem 5.2. Equation (5.1) is true for all sorts of functors H.

Notice the parentheses around the equation number, and the fact that even though the theorem is set in slanted type, the equation number is set in an upright font. This is the advantage of using \eqref instead of \ref; the command \eqref arranges it so that the number and surrounding parentheses are in an upright font no matter what the surrounding font, and supplies an italic correction if it’s needed.

5.2. References to page numbers. If you want to make reference to the page that contains a label, rather than to the structure that is labeled, use the command \pageref{key}. For example, if you type

Look at page~\pageref{homotopy} to find Theorem~\ref{homotopy}.

you’ll get “Look at page 9 to find Theorem 5.1.”

5.3. Bibliographic references. Bibliography entries receive a key as part of their basic structure. Each item in the bibliography is entered as

\bibitem{key} The actual bibliography item goes here.

(For more detail on this, see Section 9.)

You refer to bibliography items using the \cite command. For example, the bibliography of these instructions contains the entry

\bibitem{HA}
D. G. Quillen, {\em Homotopical Algebra,} Lecture Notes in
Mathematics number 43, Springer-Verlag, Berlin, 1967.

If we say “This is the work of Quillen~\cite{HA},” then it will be printed as “This is the work of Quillen [6].” Notice that square brackets have been inserted around the bibliography item number.

The \cite command takes an optional second argument, which allows you to annotate the reference. If we say “see~\cite[Chapter I]{HA},” then it will be printed as “see [6, Chapter I].”

6. Mathematics

6.1. Mathematics in running text. This is pretty much exactly as it is in plain TEX, except that you have an extra option (which you can ignore). The simplest thing is to just enclose between dollar signs ($) any material that should be in math mode. Thus, if you type

                         This is true for $ i + j \le n$.

you’ll get

This is true for i + j ≤ n.

The only novelty that L^{A}TEX introduces is that, instead of using a dollar sign to toggle math mode on and off, you can use ‘\(’ to begin math mode, and ‘\)’ to end math mode. Thus, the example above is equivalent to typing

                        This is true for \( i + j \le n\).

This provides a tiny bit more error checking, but can otherwise be safely ignored.

6.2. Displayed mathematics. For simple displayed mathematics without an equation number, this is very much like plain TEX, again with extra choices that can be ignored. If you enclose material between double dollar signs($$), it will be interpreted in math mode and displayed. Thus, if you’ve previously given the command \newcommand{\iso}{\approx} (see Section 7), and you type

$$
\pi_1(X \vee Y) \iso \pi_1X * \pi_1Y
$$

you’ll get

π_{1}(X ∨ Y) ≈ π_{1}X ∗ π_{1}Y

The new choices are that exactly the same thing will be obtained by either

\[
\pi_1(X \vee Y) \iso \pi_1X * \pi_1Y
\]

or by

\begin{displaymath}
\pi_1(X \vee Y) \iso \pi_1X * \pi_1Y
\end{displaymath}

or by

\begin{equation*}
\pi_1(X \vee Y) \iso \pi_1X * \pi_1Y
\end{equation*}

If you’d like the displayed formula to be numbered, then you should use the equation environment. (L^{A}TEX calls all formula numbers equation numbers, whether or not the mathematics has anything to do with equations.) If you type

\begin{equation}
\pi_1(X \vee Y) \iso \pi_1X * \pi_1Y
\end{equation}

you’ll get

π_{1}(X ∨ Y) ≈ π_{1}X ∗ π_{1}Y (6.1)

(Notice that the equation environment produces an equation number, while the equation* environment doesn’t. This is a standard L^{A}TEXism: Adding an asterisk to the name of a numbered L^{A}TEX environment often gives the unnumbered equivalent.)

If you’d like to be able to make reference to the equation number, you need to label the equation, using a key that you can use for referencing it:

\begin{equation}
\label{pi1eqn}
\pi_1(X \vee Y) \iso \pi_1X * \pi_1Y
\end{equation}

If you later type “see formula~\eqref{pi1eqn}” you’ll get “see formula (6.1).” (For more on cross-references to formulas, see Section 5.1.)

AMS-L^{A}TEX has several environments that make it easier to typeset complicated multiline displays. These are explained in the AMS-L^{A}TEX User’s Guide [1, pages 26–30] and illustrated in testart.tex [2, pages 30–42].

6.3. Commutative diagrams. AMS-L^{A}TEX provides the CD environment for drawing commutative diagrams. These only allow for rectangular diagrams, but they’re very convenient to use. If you want diagonal arrows, this section is of no use to you.

Important: To use the CD environment, your documentstyle command must include the amscd option. For example, the template file uses the command

                        \documentstyle[12pt,amscd]{amsart}

which selects the amsart documentstyle, with two options: the first selects twelve point type as the default, and the second includes the macros for the CD environment.

A simple example. To produce the diagram

A ⟶ B  B ↑ ∥ ↓
X ⟵ B ⟶ Y

you type

$$
\begin{CD}
A    @>>>     B   @=     B\\
@AAA       @|        @VVV\\
X   @<<<   B   @>>>      Y
\end{CD}
$$

This illustrates several things. First of all, the CD environment must be inside of a displayed mathematics environment. (Here we used the standard $$ toggle to get displayed mathematics. If we had used, e.g., \begin{equation} and \end{equation}, we would have had an equation number assigned to the display.) Right pointing arrows are obtained with @>>>, left pointing arrows with @<<<, up pointing arrows with @AAA, down pointing arrows with @VVV, horizontal equals signs with @=, and vertical equals signs with @|. Each line except the last is ended with a double backslash (\\).

Labeling the arrows. The arrows can also be labeled. For horizontal arrows, anything between the first and second inequality sign goes above the arrow, and anything between the second and third inequality sign goes below it. For downward arrows, anything between the first and second V goes to the left, and anything between the second and third goes to the right (and similarly for upward arrows). Thus, if you type

\begin{equation*}
\begin{CD}
H_iX  @>f_*>>     H_iY   @<g_*<\iso<    E_fA\\
@V\phi VV        @V\psi VV            @AA\Omega A\\
\pi_iQ   @>\alpha\beta\gamma>>    \pi_i(R,S)
                   @<<\text{A long arrow}<   \prod_{k=1}^i H_kZ
\end{CD}
\end{equation*}

you’ll get

H_{i}X ⟶^{f_{∗}} H_{i}Y  ⟵_{≈}^{g_{∗}}  E_{f}A
ϕ↓  ^{ψ}↓  ↑^{Ω}
π_{i}Q ⟶^{αβγ} π_{i}(R, S) ⟵_{A long arrow} ∏_{k=1}^{i} H_{k}Z

Leaving out part of the rectangle. If you want to end a line in the diagram early (omitting the right end of that line), just type the double backslash. If you want to leave out the beginning of a line, you type “@.” (the “at” sign followed by a period) to denote an invisible arrow. (It’s the arrows that are the column markers in the CD environment.) Thus, if you type

\begin{equation*}
\begin{CD}
X\\
@VfVV\\

Y  @=     Y\\
@.       @VVgV\\
  @.     Z
\end{CD}
\end{equation*}

you’ll get

\begin{aligned}X \\ f & ↓ \\ Y & Y \\ ↓ & g \\ & Z \end{aligned}

7. Macro definitions, a.k.a. newcommand

L^{A}TEX allows you to use the same \def command that you use in plain TEX, but it’s considered bad style. Instead, L^{A}TEX has the \newcommand and \renewcommand commands, which do a little error checking for you. In plain TEX, you might use the command

                               \def\tensor{\otimes}

but in L^{A}TEX, the preferred form is

                           \newcommand{\tensor}{\otimes}

The advantage of this is that L^{A}TEX will check to see if there already is a command with the name \tensor, and give you an error message if there is. If you know that there is a previous definition of \tensor but you want to override it, then you use the command

                          \renewcommand{\tensor}{\otimes}

If you want to use macros with replaceable parameters, the newcommand command allows this. For the equivalent of the plain TEX command

                         \def\pushout#1#2#3{#1\cup_{#2}#3}

you use the L^{A}TEX command

                      \newcommand{\pushout}[3]{#1\cup_{#2}#3}

i.e., the command name is enclosed in braces, and the number of parameters is enclosed in square brackets.

                   8. Lists: itemize, enumerate, and description

There are three list making environments: itemize, enumerate, and description. The itemize environment just lists the items with a marker in front of each one. If you type

\begin{itemize}
\item
This is the first item in the list, which runs on long enough to
spill over onto a second line.
\item
This is the second item in the list, which is a bit shorter.
\item
This is the last item.
\end{itemize}

then you’ll get • This is the first item in the list, which runs on long enough to spill over onto a second line.

• This is the second item in the list, which is a bit shorter.

• This is the last item. The enumerate environment looks the same, except that the items in the list are numbered. If

you type

\begin{enumerate}
\item
This is the first item in the list, which runs on long enough to
spill over onto a second line.
\item
This is the second item in the list, which is a bit shorter.
\item
This is the last item.
\end{enumerate}

then you’ll get (1) This is the first item in the list, which runs on long enough to spill over onto a second line.

(2) This is the second item in the list, which is a bit shorter.

(3) This is the last item.

The description environment requires an extra argument for each \item command, which will be printed at the beginning of the item. If you type

\begin{description}
\item[sedge]
A green plant, found in both wetlands and uplands.  Sedges are often
confused with grasses and rushes.
\item[grass]
A green plant, found in both wetlands and uplands.  Grasses are often
confused with sedges and rushes.
\item[rush]
A green plant, found in both wetlands and uplands.  Rushes are often
confused with sedges and grasses
\end{description}

you’ll get sedge: A green plant, found in both wetlands and uplands. Sedges are often confused with grasses and rushes. grass: A green plant, found in both wetlands and uplands. Grasses are often confused with sedges and rushes. rush: A green plant, found in both wetlands and uplands. Rushes are often confused with sedges and grasses

These environments can be inserted within each other, and the enumerate environment keeps track of what level it’s at, and numbers its items accordingly. If you type

\begin{enumerate}
\item I went to the dry cleaners.
\item I went to the supermarket.  I bought
\begin{enumerate}
\item Bread.
\item Cheese.

\item Tabasco sauce.
\end{enumerate}
\item I went to the bank.
\end{enumerate}

you’ll get (1) I went to the dry cleaners.

(2) I went to the supermarket. I bought (a) Bread.

(b) Cheese.

(c) Tabasco sauce.

(3) I went to the bank.

9. The bibliography

9.1. begin{thebibliography} and end{thebibliography}. The bibliography is begun with the command

                          \begin{thebibliography}{number}

where number is a random number that, when printed, is as wide as the widest number of any item in the bibliography. (The only use made of number is that L^{A}TEX assumes that the numbers that it will assign to the actual items in the bibliography will be no wider (when printed) than number.) For example, if the bibliography will contain between 10 and 19 items, you can use

\begin{thebibliography}{10}.

After listing each item in the bibliography, you end the bibliography with the \end{thebibliography} command.

9.2. Bibliography items. Each item is begun with a \bibitem command. The format is

                   \bibitem{key for cross-references}Item entry

For example, the bibliography in these instructions contains the entry

\bibitem{yellowmonster}
A. K. Bousfield and D. M. Kan, {\em Homotopy Limits, Completions and
Localizations,} Lecture Notes in Mathematics number 304,
Springer-Verlag, New York, 1972.

The above entry allows you to say

Homotopy inverse limits are discussed
in~\cite[Chapter 11]{yellowmonster}.

and have it print as “Homotopy inverse limits are discussed in [5, Chapter 11].” For more on this, see Section 5.3.

10. The template file

The following is the text of the file template.tex.

%%% template.tex
%%% This is a template for making up an AMS-LaTeX file
%%% Version of December 16, 1992
%%%------------------------------------------------------------------
%%% The following documentstyle command chooses 12 point type (instead
%%% of the default 10 point), allows us to use the commutative

%%% diagram macros, and defines the standard names for all of the
%%% special symbols in the AMSfonts package:
\documentstyle[12pt,amscd,amssymb]{amsart}

%%% This part of the file (after the documentstyle command, but before
%%% the \begin{document}) is called the ``preamble''.  This is a good
%%% place to  put our macro definitions.
\newcommand{\tensor}{\otimes}
\newcommand{\homotopic}{\simeq}
\newcommand{\homeq}{\cong}
\newcommand{\iso}{\approx}
\newcommand{\ho}{\operatorname{Ho}}
% Homotopy direct limit:
\newcommand{\hodlim}{\underrightarrow
{\operatorname{\mathstrut holim}}}
% Homotopy inverse limit:
\newcommand{\hoilim}{\underleftarrow
{\operatorname{\mathstrut holim}}}

\newcommand{\C}{{\cal C}}
\newcommand{\M}{{\cal M}}
\newcommand{\W}{{\cal W}}

%%%-------------------------------------------------------------------
%%%-------------------------------------------------------------------
%%% The Theorem environments:
%%%
%%%
%%% The following commands set it up so that:
%%%
%%% All Theorems, Corollaries, Lemmas, Propositions, Definitions,
%%% Remarks, and Examples will be numbered in a single sequence, and
%%% the numbering will be within each section.
%%%

%%% Anything called `bigthm' in the TeXfile will be printed as
%%% Theorem, but will be numbered in a separate sequence, named
%%% Theorem A, Theorem B, Theorem C, etc.
%%%
%%%
%%% Notations and Terminologies will not be numbered.
%%%
%%% Theorems, Propositions, Lemmas, and Corollaries will have the most
%%% formal typesetting.
%%%
%%% Definitions will have the next level of formality.
%%%
%%% Remarks, Examples, Notations, and Terminologies will be the least
%%% formal.
%%%
%%% Theorem:
%%% \begin{thm}
%%%
%%% \end{thm}
%%%
%%% Theorem: (Numbered separately, as Theorem A, etc.)
%%% \begin{bigthm}
%%%
%%% \end{bigthm}
%%%
%%% Corollary:
%%% \begin{cor}
%%%
%%% \end{cor}
%%%
%%% Lemma:
%%% \begin{lem}
%%%
%%% \end{lem}
%%%
%%% Proposition:
%%% \begin{prop}
%%%
%%% \end{prop}
%%%
%%% Definition:
%%% \begin{defn}
%%%
%%% \end{defn}
%%%
%%% Remark:
%%% \begin{rem}
%%%

%%% \end{rem}
%%%
%%% Example:
%%% \begin{ex}
%%%
%%% \end{ex}
%%%
%%% Notation:
%%% \begin{notation}
%%%
%%% \end{notation}
%%%
%%% Terminology:
%%% \begin{terminology}
%%%
%%% \end{terminology}
%%%
%%%       Theorem environments
\theoremstyle{plain}   %% This is the default, anyway
\begingroup % Confine the \theorembodyfont command
\theorembodyfont{\sl}
\newtheorem{bigthm}{Theorem}   % Numbered separately, as A, B, etc.
\newtheorem{thm}{Theorem}[section]   % Numbered within each section
\newtheorem{cor}[thm]{Corollary}     % Numbered along with thm
\newtheorem{lem}[thm]{Lemma}         % Numbered along with thm
\newtheorem{prop}[thm]{Proposition}  % Numbered along with thm
\endgroup
%%% We need to do the following outside of any group,
%%% since it's not \global:
\renewcommand{\thebigthm}{\Alph{bigthm}}  % Number as "Theorem A."

\theoremstyle{definition}
\newtheorem{defn}[thm]{Definition}   % Numbered along with thm
\theoremstyle{remark}
\newtheorem{rem}[thm]{Remark}        % Numbered along with thm
\newtheorem{ex}[thm]{Example}        % Numbered along with thm
\newtheorem{notation}{Notation}
\renewcommand{\thenotation}{}  % to make the notation
                               % environment unnumbered
\newtheorem{terminology}{Terminology}
\renewcommand{\theterminology}{}  % to make the terminology
                                  % environment unnumbered
%%%-------------------------------------------------------------------
%%% The following causes equations to be numbered within sections:

\numberwithin{equation}{section}
%%%-------------------------------------------------------------------
%%%-------------------------------------------------------------------
%%%-------------------------------------------------------------------
%%%-------------------------------------------------------------------
%%%-------------------------------------------------------------------
%%%-------------------------------------------------------------------
%%%-------------------------------------------------------------------
\begin{document}
%%% In the title, use a double backslash "\\" to show a linebreak:
%%% Use one of the following two forms:
%%% \title{Text of the title}
%%% or
%%% \title[Short form for the running head]{Text of the title}
\title

\author{}
%%% In the address, show linebreaks with double backslashes:
\address{}
%%% Email address is optional.  If you include it, use a double at
%%% sign "@@" to produce a single at sign in the printed copy, e.g.,
%%% \email{nsteenrod@@math.princeton.edu}
\email{}
%%% To have the current date inserted, use \date{\today}:
\date{}

\maketitle
%%% To include a table of contents, uncomment the next line:
% \tableofcontents
%%%-------------------------------------------------------------------
%%%-------------------------------------------------------------------
%%% Start the body of the paper here!  E.G., maybe use:
%%% \section{Introduction}
%%% \label{sec:intro}

%%%-------------------------------------------------------------------
%%%-------------------------------------------------------------------
%%% The number "10" that appears in the next command is a TOTALLY
%%% RANDOM NUMBER which is chosen so that if it was printed, it would
%%% be at least as wide as any number of an item in the bibliography:
\begin{thebibliography}{10}

%%% The format of bibliography items is as in the following examples:
%%%
%%% \bibitem{yellowmonster}
%%% A. K. Bousfield and D. M. Kan, {\em Homotopy Limits, Completions
%%% and Localizations,} Lecture Notes in Mathematics number 304,
%%% Springer-Verlag, New York, 1972.
%%%
%%% \bibitem{HA}
%%% D. G. Quillen, {\em Homotopical Algebra,} Lecture Notes in
%%% Mathematics number 43, Springer-Verlag, Berlin, 1967.

\end{thebibliography}
\end{document}

References

1. AMS-L^{A}TEX Version 1.1 User’s Guide, American Mathematical Society, August, 1991.

2. AMS-L^{A}TEX Sample paper for the ‘AMSTEX’ option and the ‘AMSART’ documentstyle, filename: testart.tex, Distributed with the AMS-L^{A}TEX User’s Guide, American Mathematical Society, 1991.

3. Leslie Lamport, L^{A}TEX User’s Guide and Reference Manual, Addison-Wesley, 1986.

4. Jon Warbrick, Essential L^{A}TEX, 1989. Available by ftp from many TEX archives. To receive a copy by email, send an email message to fileserv@shsu.edu containing the single line sendme essential, and a computer will respond.

5. A. K. Bousfield and D. M. Kan, Homotopy Limits, Completions and Localizations, Lecture Notes in Mathematics number 304, Springer-Verlag, New York, 1972.

6. D. G. Quillen, Homotopical Algebra, Lecture Notes in Mathematics number 43, Springer-Verlag, Berlin, 1967.

Department of Mathematics, Wellesley College, Wellesley, MA 02181 E-mail address: phirschhorn@lucy.wellesley.edu