diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /info/amslatex/primer |
Initial commit
Diffstat (limited to 'info/amslatex/primer')
-rw-r--r-- | info/amslatex/primer/README | 17 | ||||
-rw-r--r-- | info/amslatex/primer/amshelp.md5 | 4 | ||||
-rw-r--r-- | info/amslatex/primer/amshelp.pdf | bin | 0 -> 537592 bytes | |||
-rw-r--r-- | info/amslatex/primer/amshelp.tex | 4919 | ||||
-rw-r--r-- | info/amslatex/primer/template.tex | 296 |
5 files changed, 5236 insertions, 0 deletions
diff --git a/info/amslatex/primer/README b/info/amslatex/primer/README new file mode 100644 index 0000000000..0bb2eecf16 --- /dev/null +++ b/info/amslatex/primer/README @@ -0,0 +1,17 @@ +"Getting up and running with AMS-LaTeX" (contained in the file +amshelp.tex) is a primer on using AMS-LaTeX. It's intended for people +with at least some experience using TeX, AMS-TeX, or LaTeX. + +This is an attempt to get you up and running with AmS-LaTeX as quickly +as possible. These instructions (along with the template file +template.tex) won't be a substitute for the full documentation, but +they may get you started quickly enough so that you'll only need to +refer to the main documentation occasionally. + +In addition to descriptions of the basics of AMS-LaTeX, there are +sections with careful descriptions of the various environments for +displayed mathematics, how to use Xy-pic to draw commutative diagrams, +and how to use amsrefs to create a bibliography. + +This material is subject to the LaTeX Project Public License. See +http://www.latex-project.org/lppl.txt for the details of that license. diff --git a/info/amslatex/primer/amshelp.md5 b/info/amslatex/primer/amshelp.md5 new file mode 100644 index 0000000000..d738ecc54e --- /dev/null +++ b/info/amslatex/primer/amshelp.md5 @@ -0,0 +1,4 @@ +1edb1e82c4eccea6d8a19e54c84ab258 amshelp.tex +62157a1ebf6be9282f5dc33a24db946d amshelp.dvi +7691e854272e965ecd7aeec5c9c888e4 amshelp.pdf +bf05831b44f8156360b816e08b94d521 template.tex diff --git a/info/amslatex/primer/amshelp.pdf b/info/amslatex/primer/amshelp.pdf Binary files differnew file mode 100644 index 0000000000..57830947ee --- /dev/null +++ b/info/amslatex/primer/amshelp.pdf diff --git a/info/amslatex/primer/amshelp.tex b/info/amslatex/primer/amshelp.tex new file mode 100644 index 0000000000..af2901fed6 --- /dev/null +++ b/info/amslatex/primer/amshelp.tex @@ -0,0 +1,4919 @@ +%%% amshelp.tex +%%% This is an AMS-LaTeX file + +%%% Copyright (c) 1992, 2000, 2008, 2009, 2011, 2013 Philip S. Hirschhorn +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2003/12/01 or later. + + +%%% Philip Hirschhorn +%%% Department of Mathematics +%%% Wellesley College +%%% Wellesley, MA 02481 +%%% psh@math.mit.edu +%%% psh@poincare.wellesley.edu + + +%%% This is an attempt to explain how to get up and running with +%%% AmS-LaTeX for someone having some familiarity with TeX, +%%% AMS-TeX, or LaTeX. + + + + +\newcommand{\filedate}{January 28, 2013} +%\newcommand{\filedate}{\today} +\newcommand{\fileversion}{Version 2.3} + +%--------------------------------------------------------------------- +%\documentclass[12pt]{amsart} +\documentclass{amsart} + +\usepackage{url} + +%\usepackage[pdfborderstyle={/S/U/W 1},hyperfootnotes=false]{hyperref} +%\usepackage[colorlinks=false,pdfborder={0 0 0}]{hyperref} +%\usepackage[colorlinks,pdfborder={0 0 0}]{hyperref} +\usepackage[colorlinks]{hyperref} +%\usepackage{hyperref} + +% In case we're not using hyperref.sty: +\providecommand{\texorpdfstring}[2]{#1} +% The following can safely be used in \section commands +% without causing pdf warnings: +\newcommand{\bs}{\texorpdfstring{\char`\\}{}} + +% We have to load amsrefs *after* hyperref. (Most packages must +% be loaded before hyperref; amsrefs is an exception to that.) + +% We have to load amsrefs *before* loading Xy-pic, or else the +% \newcommand{\cir}{\textasciicircum} in textcmds.sty will complain. +% We can also use the optional argument ``lite'', as in +% \usepackage[lite]{amsrefs}, to avoid the problem by suppressing +% the reading of textcmds.sty +\usepackage[lite]{amsrefs} + +\usepackage[all,cmtip]{xy} +\let\objectstyle=\displaystyle + + + +%--------------------------------------------------------------------- +%--------------------------------------------------------------------- + +\numberwithin{equation}{section} + + +% Theorem environments + +\theoremstyle{plain} %% This is the default, anyway +\newtheorem{thm}[equation]{Theorem} +\newtheorem{cor}[equation]{Corollary} +\newtheorem{lem}[equation]{Lemma} +\newtheorem{prop}[equation]{Proposition} + + +\theoremstyle{definition} +\newtheorem{defn}[equation]{Definition} + +\theoremstyle{remark} +\newtheorem{rem}[equation]{Remark} +\newtheorem{ex}[equation]{Example} +\newtheorem{notation}[equation]{Notation} +\newtheorem{terminology}[equation]{Terminology} + + +%--------------------------------------------------------------------- +%--------------------------------------------------------------------- +%--------------------------------------------------------------------- +%--------------------------------------------------------------------- + +\begin{document} + + +\title[Running \AmS-\LaTeX]{Getting up and running\\ + with \AmS-\LaTeX} + +\author{Philip S. Hirschhorn} + +\address{Department of Mathematics\\ + Wellesley College\\ + Wellesley, Massachusetts 02481} + +\email{psh@math.mit.edu} + +\date{\filedate, \fileversion} + +\begin{abstract} + Together with the template file \texttt{template.tex}, these notes + are an attempt to tell you enough about \LaTeX{} and \AmS-\LaTeX{} + so that you can get started without having to read the book. +\end{abstract} + +\maketitle + +\tableofcontents +%--------------------------------------------------------------------- +%--------------------------------------------------------------------- +\section{Introduction} + +This is an attempt to get you up and running with \AmS-\LaTeX{} as +quickly as possible. These instructions (along with the template file +\texttt{template.tex}) won't be a substitute for the full +documentation, but they'll give you enough to get started quickly and +only occasionally have to refer to the main documentation. + +The current version of \AmS-\LaTeX{} (version 2.2) is a collection of +document classes and optional packages for the current version of +standard \LaTeX. \AmS-\LaTeX{} provides the document classes +\texttt{amsart}, \texttt{amsproc}, and \texttt{amsbook} (see +section~\ref{sec:DocClsCom}) to replace the standard document classes +\texttt{article}, \texttt{proc}, and \texttt{book}, and several +optional packages (mainly \texttt{amsmath}) that can be used with the +standard \LaTeX{} document classes. Thus, using \AmS-\LaTeX{} is +really using a variety of \LaTeX. If you're new to \LaTeX{}, 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 standard \LaTeX{} document +classes are in order to use the \AmS-\LaTeX{} replacements for them. + +I'll be assuming that you have at least some experience with either +plain \TeX, \AmS-\TeX{} or \LaTeX, and I'll try to tell you what you +need to know so that you can get started with \AmS-\LaTeX{} +\emph{without} actually reading the \LaTeX{} user's +guide~\cite{latex}, or even taking much of a look at the \AmS-\LaTeX{} +user's guide~\cite{amslatexusersguide} or the short math guide for +\LaTeX~\cite{mathguide}. + +If you've never used \emph{any} version of \TeX{} or \LaTeX, then I +recommend ``The not so short introduction to \LaTeXe{}'' by Tobias +Oetiker, Hubert Partl, Irene Hyna, and Elisabeth Schlegl +\cite{NotShort}. This is intended for those with no knowledge of +\TeX{} or \LaTeX, and concisely gives a description of what a \LaTeX{} +document looks like and how you type text and simple mathematics in a +\LaTeX{} document. + +These instructions come with a template file \verb"template.tex", +which is an attempt to give you enough to fake your way through an +\AmS-\LaTeX{} file \emph{almost} without even reading these +instructions. I've included the text of that file in these +instructions as section~\ref{sec:template}, so you might want to take +a look at that now, and then just use the table of contents of these +instructions to find more information on whatever in that file +confuses you. + +In case you haven't guessed, these instructions were printed using the +\texttt{amsart} document class of \AmS-\LaTeX, so you can get some +idea what it all looks like. + + + +%--------------------------------------------------------------------- +%--------------------------------------------------------------------- +\section{Basic \LaTeX{} stuff} +\label{sec:basicstuff} + +In this section, we'll describe the three commands that must appear in +every \LaTeX{} document: \verb"\documentclass", +\verb"\begin{document}", and \verb"\end{document}". The complete +explanation of these can be found in the \LaTeX{} User's +Guide~\cite{latex} or in \emph{The not so short introduction to + \LaTeXe}~\cite{NotShort}. We'll also explain how to begin a new +section or subsection of the paper, and how \LaTeX{} manages to get +the cross-references right (which is also the explanation of why you +need to run a file through \LaTeX{} \emph{twice} to be sure that all +the cross-references are correct). + +%-------------------------------------------------------------------- +\subsection{The \texttt{\bs documentclass} command} +\label{sec:DocClsCom} + +Before you type anything that actually appears in the paper, you must +include a \verb"\documentclass" command. It's easiest to just put the +\verb"\documentclass" command at the very beginning of the file, +possibly with a few lines of comments before it. + +It's the choice of document class that determines whether you're using +\AmS-\LaTeX{} or just plain old \LaTeX. \AmS-\LaTeX{} provides the +document classes \texttt{amsart}, \texttt{amsproc}, and +\texttt{amsbook} as replacements for the standard \LaTeX{} document +classes \texttt{article}, \texttt{proc}, and \texttt{book}. If for +some reason you prefer to use the standard \LaTeX{} classes +\texttt{article}, \texttt{proc}, or \texttt{book}, you can still get +many of the features of \AmS-\LaTeX{} by including the command +\verb"\usepackage{amsmath}" after your \verb"\documentclass" command. +I'll only be discussing the \texttt{amsart} document class here. For +the others, see the \AmS-\LaTeX{} User's +Guide~\cite{amslatexusersguide}. + +The simplest version of the \texttt{\bs documentclass} command is +\begin{center} + \verb"\documentclass{amsart}" +\end{center} +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 \verb"[12pt]"; this makes the command +\begin{center} + \verb"\documentclass[12pt]{amsart}" +\end{center} + +%-------------------------------------------------------------------- +\subsection{Loading optional packages} +\label{sec:optpack} + +There are at least three optional packages that are of interest. The +first is the \texttt{amsrefs} package, which makes it much easier to +create a bibliography (see section~\ref{sec:amsrefs}). To load the +\texttt{amsrefs} package, you put the line +\begin{center} + \verb"\usepackage[lite]{amsrefs}" +\end{center} +after the \verb"\documentclass" command. (For an explanation of why +we recommend using the optional argument \texttt{lite}, see +section~\ref{sec:refoptions}.) + +Another important package is for when you want to use some of the +special symbols contained in the \AmS-Fonts package. These are +listed, along with all of the standard \LaTeX{} symbols, in +\texttt{symbols.pdf}, available at +\begin{center} + \url{http://www.ctan.org/tex-archive/info/symbols/math/symbols.pdf} +\end{center} +If you want the standard names for these symbols to be defined for +your use, then you need to use the optional package \texttt{amssymb}. +Thus, to use the default 10~point type, use \texttt{amsrefs} to create +a bibliography, and have the special symbols defined, use the commands +\begin{center} + \begin{tabular}{l} + \verb"\documentclass{amsart}"\\ + \verb"\usepackage[lite]{amsrefs}"\\ + \verb"\usepackage{amssymb}" + \end{tabular} +\end{center} + +Another widely used optional package is \Xy-pic, which enables you to +draw commutative diagrams as part of your \LaTeX{} file rather than +creating them with a graphics package and importing the graphics. +(For commutative diagrams, see section~\ref{sec:xypic}). To use +\Xy-pic, you should include the commands +\begin{center} + \begin{tabular}{l} + \verb"\usepackage[all,cmtip]{xy}"\\ + \verb"\let\objectstyle=\displaystyle" + \end{tabular} +\end{center} +That loads the \Xy-pic package and sets it so that the arrowheads used +are the same ones used in the rest of the document and the nodes in +the diagram are, by default, in \verb"\displaystyle". If you'd like +the default style for the nodes to be \verb"\textstyle", you should +omit the second of those two lines. + +This document uses all of those packages, and so we used the commands +\begin{center} + \begin{tabular}{l} + \verb"\documentclass{amsart}"\\ + \verb"\usepackage[lite]{amsrefs}"\\ + \verb"\usepackage{amssymb}"\\ + \verb"\usepackage[all,cmtip]{xy}"\\ + \verb"\let\objectstyle=\displaystyle" + \end{tabular} +\end{center} + +%--------------------------------------------------------------------- + +\subsection{\texttt{\bs begin\{document\}} and \texttt{\bs end\{document\}}} + +Everything that is to appear in the document must appear in between +the \verb"\begin{document}" and \verb"\end{document}" commands. There +are no optional arguments for these commands, so they always look the +same. Anything following the \verb"\end{document}" command is +ignored. In addition to \verb"\usepackage" commands (see +section~\ref{sec:optpack}), you are allowed to have macro definitions +(i.e., newcommands; see section~\ref{sec:definitions}) before the +\verb"\begin{document}", and that's actually a good place for them, + but that's about all. + +%--------------------------------------------------------------------- +\subsection{Sections and subsections} +\label{sec:sections} + +To begin a new section, you give the command +\begin{center} + \verb"\section{Section name}" +\end{center} +To begin the present section, I gave the command +\begin{center} + \verb"\section{Basic \LaTeX{} stuff}" +\end{center} +A section number is supplied automatically. If you want to be able to +make reference to that section, then you need to \emph{label} it. +Since I wanted to be able to demonstrate the cross-reference commands, +I actually began this section with the lines +\begin{center} + \begin{tabular}{l} + \verb"\section{Basic \LaTeX{} stuff}"\\ + \verb"\label{sec:basicstuff}" + \end{tabular} +\end{center} +This allows me to type ``\verb"section~\ref{sec:basicstuff}"'' and +have it printed as ``section~\ref{sec:basicstuff}''. + +To begin a new subsection, you give the command +\begin{center} + \verb"\subsection{Subsection name}" +\end{center} +To begin the present subsection, I gave the command +\begin{center} + \verb"\subsection{Sections and subsections}" +\end{center} +A subsection number is supplied automatically. If you want to be able +to make reference to that subsection, then you need to \emph{label} +it. This subsection was begun with the lines +\begin{center} + \begin{tabular}{l} + \verb"\subsection{Sections and subsections}"\\ + \verb"\label{sec:sections}" + \end{tabular} +\end{center} +so if we type ``\verb"section~\ref{sec:sections}",'' it is printed as +``section~\ref{sec:sections}''. + +Labels always take the number of the smallest enclosing structure. +Thus, a \verb"\label" command that's inside a section but \emph{not} +inside a subsection or Theorem or anything else will take the value of +the section counter, while a \verb"\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~\ref{sec:xreferences}. + +%-------------------------------------------------------------------- +\subsubsection{Yes, there are subsubsections too} + +I began this subsubsection with the command +\begin{center} + \verb"\subsubsection{Yes, there are subsubsections too}" +\end{center} + +%-------------------------------------------------------------------- +\subsubsection*{Sections without numbers} + +I began this subsubsection with the command +\begin{center} + \verb"\subsubsection*{Sections without numbers}" +\end{center} +and got a subsubsection that wasn't numbered. If you give the command +\begin{center} + \verb"\section*{A Section Title}" +\end{center} +then you'll begin a new section that will not have a number. + + +%--------------------------------------------------------------------- +\subsection{Italics \emph{for emphasis}} + +If you want to use italics to emphasize a word or two, the \LaTeX{} +convention is not to explicitly switch to italics, but rather to use +the command \verb"\emph" (which means \emph{emphasize}). This command +works just like a font change command, except that it switches you +\emph{into} italics if the current font is upright and switches you +\emph{out of} italics if the current font is italics. + +For example, if you type +\begin{center} + \verb"The whole is \emph{more} than the sum of its parts." +\end{center} +you'll get +\begin{center} + The whole is \emph{more} than the sum of its parts. +\end{center} +but if you type +\begin{verbatim} +\begin{thm} + The whole is \emph{more} than the sum of its parts. +\end{thm} +\end{verbatim} +you'll get +\begin{thm} + The whole is \emph{more} than the sum of its parts. +\end{thm} + +\subsubsection*{Note} + +The \verb"\emph" command is a recent addition to \LaTeX, and it has +the feature that it automatically inserts an italic correction where +needed. If you don't know what an italic correction is, you can +safely ignore this paragraph, but I will at least mention that all +those ``\verb"\/"'' commands frequently seen in \TeX{} (and older +\LaTeX) documents are all inserting italic corrections; the point of +this paragraph is that, with the current version of \LaTeX, you don't +have to do that anymore. + +%--------------------------------------------------------------------- +\subsection{Cross references and the table of contents} + +This is an explanation of how \LaTeX{} manages to fill in +cross-references (see section~\ref{sec:xreferences}) to parts of the +file it hasn't processed yet, and what those \verb".aux" and +\verb".toc" files are. + +%-------------------------------------------------------------------- +\subsubsection*{Cross-References} + +Every time \LaTeX{} processes your file, it writes an \emph{auxiliary} +file. Since the file containing these instructions is called +\verb"amshelp.tex", the auxiliary file is called \verb"amshelp.aux". +The auxiliary file contains the definitions of all the keys used for +cross-references. When \LaTeX{} begins to process your file, it first +looks for an \verb".aux" file, and reads it in if it exists. Of +course, this is the \verb".aux" file that was produced the \emph{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 \LaTeX{} processes your file, there is no +\verb".aux" file, and so \LaTeX{} gives \emph{lots} of warning +messages about undefined labels, or whatever. Ignore all of this. +The \emph{next} time that you run \LaTeX, there \emph{will} be an +\verb".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 \LaTeX{} on your file, even without any changes in the +source file, but this isn't very likely.) + +\subsubsection*{The Table of Contents} + +If you give the command \verb"\tableofcontents", then \LaTeX{} will +try to write a table of contents at that point, including the page +numbers of the sections. Obviously, \LaTeX{} can't know those page +numbers or section titles yet, so as \LaTeX{} processes your file, it +writes a \verb".toc" file containing the information it needs. (The +\verb".toc" file for these instructions is \verb"amshelp.toc".) Once +again, \LaTeX{} is always using the information from the \emph{last} +time that it processed your file. + +If you \emph{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 \LaTeX{} \emph{three} times in order to get all +of the cross-references right. The reason for this is that the first +time you run \LaTeX{} there isn't any \verb".toc" file listing the +section titles, and so the table of contents has nothing in it. The +second time you run \LaTeX{} you'll get a table of contents that lists +the page numbers for the sections from the last time you ran \LaTeX, +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 +\emph{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. + +\subsubsection*{How do I know when everything is correct?} + +After processing your file, \LaTeX{} checks whether all the +cross-reference numbers that it read from the \verb".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 \LaTeX{} again to get the +cross-references right. Unfortunately, \LaTeX{} 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 \LaTeX{} again. + + +%--------------------------------------------------------------------- +%--------------------------------------------------------------------- +\section{Title, Author, and the \texttt{\bs maketitle} command} + +This stuff should go right after the \verb"\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 \emph{Instructions for + preparation of papers and monographs: \AmS-\LaTeX} \cite{instr-l}. +If you are already familiar with \LaTeX, then you should be warned +that this part is slightly different from what you do when using the +standard \LaTeX{} \verb"article" document class. + +%--------------------------------------------------------------------- +\subsection{The title} +You specify the title with the command +\begin{center} + \verb"\title[Optional running title]{Actual title}" +\end{center} +These instructions used the title command +\begin{verbatim} +\title[Running \AmS-\LaTeX]{Getting up and running\\ + with \AmS-\LaTeX} +\end{verbatim} +Notice that you indicate line breaks in the title with a double +backslash. If I had decided to omit the line break and also to have +the full title printed in the head of the odd numbered pages, I would +have used the command +\begin{center} + \verb"\title{Getting up and running with \AmS-\LaTeX}" +\end{center} + +%--------------------------------------------------------------------- +\subsection{The author, and the author's address} + +The author is specified with an \verb"author" command: +\begin{center} +\verb"\author{Author's name}" +\end{center} +These directions used the command +\verb"\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 +\begin{center} + \begin{tabular}{l} + \verb"\address{Department of Mathematics\\"\\ + \verb"Wellesley College\\"\\ + \verb"Wellesley, Massachusetts 02481}" + \end{tabular} +\end{center} +If the author's current address is different from the address at which +the research was carried out, then you can specify the current address +with the command \verb"\curraddr". For example, you might type +\begin{center} + \begin{tabular}{l} + \verb"\curraddr{Department of Mechanics\\"\\ + \verb"Brake and Wheel Bearing Division\\"\\ + \verb"Serene Service Center\\"\\ + \verb"Salem, Massachusetts 02139}" + \end{tabular} +\end{center} +You can also include an email address, with the \verb"\email" +command. These instructions used the command +\begin{center} + \verb"\email{psh@math.mit.edu}" +\end{center} +To acknowledge support, use the command \verb"\thanks", e.g., +\begin{center} + \verb"\thanks{Supported in part by NSF grant 3.14159}" +\end{center} +This will be printed as a footnote on the first page. + +%-------------------------------------------------------------------- +\subsubsection*{Multiple authors} + +If there are several authors, then each one should have a separate +\verb"\author" command, with each individual's address, current +address, email address, and thanks following that individual's +\verb"\author" command, in its own \verb"\address" command (and +\verb"\curraddr" command, and \verb"\thanks" command, and +\verb"\email" command). If there \emph{are} several authors, and +their combined names are too long for the running head on the even +numbered pages, you can give an optional argument to each +\verb"\author" command to supply a shortened form to use in the +running head, as in +\begin{center} + \verb"\author[P.S. Hirschhorn]{Philip S. Hirschhorn}". +\end{center} +(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.) + + +%--------------------------------------------------------------------- +\subsection{The date} + +This is pretty straightforward: +\begin{center} +\verb"\date{Whatever date you please}" +\end{center} +To have the date of processing used, use the command +\verb"\date{\today}". + +%--------------------------------------------------------------------- +\subsection{\texttt{\bs maketitle}} + +After you've given all of the commands mentioned in this section, you +can give the command \verb"\maketitle". If you \emph{don't} give the +command \verb"\maketitle", a title won't be made. The exact +arrangement of all this information is determined by the document +class. In particular, the \verb"amsart" document class puts the +author's address at the \emph{end} of the paper. + +%--------------------------------------------------------------------- +%--------------------------------------------------------------------- +\section{Theorems, Propositions, Lemmas, etc.} + +The instructions in this section assume that you're using the +\verb"\newtheorem" commands that I put in the file \verb"template.tex" +(see section~\ref{sec:template}). + +%-------------------------------------------------------------------- +\subsection{Stating theorems, propositions, etc.} +\label{sec:theorems} + +To state a theorem, you do the following: +\begin{verbatim} +\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} +\end{verbatim} +If you do that, you'll get 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 thought that it was only a proposition, you'd use +\begin{verbatim} +\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} +\end{verbatim} +and you'd get +\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} + +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 \emph{key} +with which you'll refer to it, and then \emph{label} the theorem. If +you want to use the key \emph{pythagthm}, then it would look like the +following: +\begin{verbatim} +\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} +\end{verbatim} +If you later give the command \verb"\ref{pythagthm}", then that +command will expand to the \emph{number} that was assigned to that +theorem (in this case, \ref{pythagthm}). For more explanation of +cross-references, see section~\ref{sec:xreferences}. + +If you'd like to state a theorem and give a \emph{name} to it, then +you can add an optional argument to the \verb"\begin{thm}" command. +If you type +\begin{verbatim} +\begin{thm}[Pythagoras] + The square of the hypotenuse of a right triangle is equal to the + sum of the squares of the two adjacent sides. +\end{thm} +\end{verbatim} +you'll get +\begin{thm}[Pythagoras] + The square of the hypotenuse of a right triangle is equal to the sum + of the squares of the two adjacent sides. +\end{thm} + +%-------------------------------------------------------------------- +\subsubsection*{Summary of environments provided in the template} + +All of the following structures are numbered in the same sequence, +in the form SectionNumber.Number. Equations (i.e., displayed +formulas, whether they are equations or not) will be numbered in the +same sequence. +\begin{displaymath} + \begin{tabular}{c@{\hspace{4em}}l@{\hspace{4em}}c} + \multicolumn{3}{c}{Theorem Environments}\\*[8pt] + \hspace{1em}Name& Printed Form& Body font\\*[6pt] + \texttt{thm}& \textbf{Theorem}& Italic\\ + \texttt{cor}& \textbf{Corollary}& Italic\\ + \texttt{lem}& \textbf{Lemma}& Italic\\ + \texttt{prop}& \textbf{Proposition}& Italic\\ + \texttt{defn}& \textbf{Definition}& Normal\\ + \texttt{rem}& \textit{Remark}& Normal\\ + \texttt{ex}& \textit{Example}& Normal\\ + \texttt{notation}& \textit{Notation}& Normal\\ + \texttt{terminology}& \textit{Terminology}& Normal\\*[3pt] + \end{tabular} +\end{displaymath} +For full details, see the beginning of the template file (reproduced +here in section~\ref{sec:template}), after the comment ``The Theorem +Environments.'' + +%--------------------------------------------------------------------- +\subsection{Proofs} + +To give a proof, you do the following: +\begin{verbatim} +\begin{proof} + As any fool can plainly see, it's true! +\end{proof} +\end{verbatim} +and you'll get the following: +\begin{proof} + As any fool can plainly see, it's true! +\end{proof} +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{verbatim} +\begin{proof}[Proof (sufficiency)] + Well, it's \emph{obviously} sufficient! +\end{proof} +\end{verbatim} +and you'll get +\begin{proof}[Proof (sufficiency)] + Well, it's \emph{obviously} sufficient! +\end{proof} +That is, the \verb"proof" environment allows you to use an optional +second argument that will appear in place of the word \verb"Proof". + +If the proof of Theorem~\ref{pythagthm} does not appear immediately +after its statement, you might use the following: +\begin{verbatim} +\begin{proof}[Proof of Theorem~\ref{pythagthm}] + As any fool can plainly see, it's true! +\end{proof} +\end{verbatim} +and you'd get +\begin{proof}[Proof of Theorem~\ref{pythagthm}] + As any fool can plainly see, it's true! +\end{proof} + +%--------------------------------------------------------------------- +%--------------------------------------------------------------------- +\section{Cross-References} +\label{sec:xreferences} + +This section explains how to make reference to numbered sections, +theorems, equations, and bibliography items, with the correct +reference numbers filled in automatically by \LaTeX. + +%--------------------------------------------------------------------- +\subsection{References to sections, theorems and equations} +\label{sec:thmrefs} + +For each structure in the manuscript to which you'll be making +reference, you must assign a \emph{key} that you'll use to refer to +that structure. For sections, theorems, numbered equations, and items +in an enumerated list (see section~\ref{sec:enumref}), you assign the +key using the \verb"\label" command and refer to it using either the +\verb"\ref" command or the \verb"\eqref" command. Each of these +commands takes one argument, which is the \emph{key} you're assigning +to the object. The command \verb"\ref{key}" produces the number that +was assigned to that structure and the command \verb"\eqref{key}" +produces that number enclosed in parentheses. (The \verb"\eqref" +command also ensures that the number and parentheses are always in an +upright font; see section~\ref{sec:EqRef}.) The convention is to use +\verb"\eqref" to refer to equation numbers, \verb"\cite" to refer to +bibliography entries (see section~\ref{sec:bibreferences}), and +\verb"\ref" to refer to everything else. + +Consider the following example. +\begin{thm} + \label{homotopy} + If the maps $f\colon X \to Y$ and $g\colon X \to Y$ are homotopic, + then the induced homomorphisms $f_{*} \colon \mathrm{H}_{*}X \to + \mathrm{H}_{*}Y$ and $g_{*} \colon \mathrm{H}_{*}X \to + \mathrm{H}_{*}Y$ are equal. +\end{thm} + +We typed that theorem as follows. +\begin{verbatim} +\begin{thm} + \label{homotopy} + If the maps $f\colon X \to Y$ and $g\colon X \to Y$ are homotopic, + then the induced homomorphisms $f_{*} \colon \mathrm{H}_{*}X \to + \mathrm{H}_{*}Y$ and $g_{*} \colon \mathrm{H}_{*}X \to + \mathrm{H}_{*}Y$ are equal. +\end{thm} +\end{verbatim} +If we now type ``\verb"see Theorem~\ref{homotopy}",'' then it will be +printed as ``see Theorem~\ref{homotopy}.'' + +%-------------------------------------------------------------------- +\subsubsection*{So, what exactly is the label labeling?} + +The command \verb"\label{key}" assigns to \verb"key" the value of the +\emph{smallest enclosing structure}. For example, we began this +section by typing +\begin{center} + \begin{tabular}{l} + \verb"\section{Cross-References}"\\ + \verb"\label{sec:xreferences}" + \end{tabular} +\end{center} +and we began this subsection by typing +\begin{center} + \begin{tabular}{l} + \verb"\subsection{References to sections, theorems and equations}"\\ + \verb"\label{sec:thmrefs}" + \end{tabular} +\end{center} +The phrase ``\verb"See section~\ref{sec:xreferences}"'' is printed as +``See section~\ref{sec:xreferences}'' while the phrase +% +``\verb"See section~\ref{sec:thmrefs}"'' is printed as ``See +section~\ref{sec:thmrefs}'' because the key \verb"sec:xreferences" was +defined inside of section~\ref{sec:xreferences} but outside of +section~\ref{sec:thmrefs}, while the key \verb"sec:thmrefs" was +defined inside of section~\ref{sec:thmrefs}. + +%-------------------------------------------------------------------- +\subsubsection{References to equations} +\label{sec:EqRef} + +To make reference to a numbered equation, you assign the \emph{key} as +before, but you replace \verb"\ref" with \verb"\eqref", so that +parentheses will be printed around the equation number. For example, +if you type +\begin{verbatim} +\begin{equation} + \label{additivity} + \mathrm{H}_{*} \bigvee_{\alpha\in A} X_{\alpha} \approx + \bigoplus_{\alpha\in A}\mathrm{H}_{*} X_{\alpha} +\end{equation} +\end{verbatim} +then you'll get +\begin{equation} + \label{additivity} + \mathrm{H}_{*} \bigvee_{\alpha\in A} X_{\alpha} \approx + \bigoplus_{\alpha\in A}\mathrm{H}_{*} X_{\alpha} +\end{equation} +If we now type +\begin{verbatim} +\begin{thm} + Equation~\eqref{additivity} is true for all sorts of functors + $\mathrm{H}$. +\end{thm} +\end{verbatim} +then we'll get +\begin{thm} + Equation~\eqref{additivity} is true for all sorts of functors + $\mathrm{H}$. +\end{thm} +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 difference between \verb"\eqref" +and \verb"\ref"; the command \verb"\eqref" provides parentheses, +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. + +%--------------------------------------------------------------------- +\subsection{References to page numbers} + +If you want to make reference to the \emph{page} that contains a +label, rather than to the structure that is labeled, use the command +\verb"\pageref{key}". For example, if you type +\begin{verbatim} +See page~\pageref{homotopy} to find Theorem~\ref{homotopy}. +\end{verbatim} +you'll get ``See page~\pageref{homotopy} to find +Theorem~\ref{homotopy}.'' + +%--------------------------------------------------------------------- +\subsection{Bibliographic references} +\label{sec:bibreferences} + +Each bibliography item receives a \emph{key} as part of its basic +structure, and you refer to that item using the command +\verb"\cite{key}". + +When using the \texttt{amsrefs} package, each item in the bibliography +is begun with +\begin{verbatim} +\bib{key}{TypeOfItem}{ +\end{verbatim} +For example, the bibliography of these instructions contains the entry +\begin{verbatim} +\bib{HA}{book}{ + author={Quillen, Daniel G.}, + title={Homotopical Algebra}, + series={Lecture Notes in Mathematics}, + volume={43}, + publisher={Springer-Verlag}, + address={Berlin-New York}, + date={1967} +} +\end{verbatim} +If we type ``\verb"This is the work of Quillen~\cite{HA}",'' then it +will be printed as ``This is the work of Quillen~\cite{HA}.'' Notice +that square brackets have been inserted around the bibliography item +number. + +The \verb"\cite" command takes an optional argument, which allows you +to annotate the reference. If we type +``\verb"see~\cite[Chapter I]{HA}"'', then it will be printed as +``see~\cite[Chapter I]{HA}''. If you're using \texttt{amsrefs} (which +we strongly recommend), then there's an alternate form available: If +we type ``\verb"\cite{HA}*{Chapter I}"'', then we also get +``\cite{HA}*{Chapter I}'', and this second form is less likely to +cause errors when used, e.g., in the optional argument to a +\verb"\begin{theorem}" command (see section~\ref{sec:theorems}). + +%-------------------------------------------------------------------- +\subsubsection{Multiple references} +\label{sec:mulref} + +If you're using \texttt{amsrefs} and when you refer to multiple +bibliography items you want to have the item numbers automatically +sorted and compressed (e.g., replacing ``7, 6, 5, 8'' with ``5--8''), +you can use the \verb"\cites" command. For example, if we type +\verb"\cites{HA,yellowmonster}" then we get \cites{HA,yellowmonster}. + +If you want some of the references in the list to have annotations, +you put your \verb"\cite" commands into the argument of a +\verb"\citelist" command. For example, if we type +\verb"\citelist{\cite{HA}*{Chapter I} \cite{yellowmonster}}" then we +get \citelist{\cite{HA}*{Chapter I} \cite{yellowmonster}}. + +%-------------------------------------------------------------------- +\subsubsection{Author-year citations} +\label{sec:authyrcit} + +If you're using \texttt{amsrefs} and you use the \texttt{author-year} +option to convert your references to the author-year format (see +section~\ref{sec:refoptions}), then there are two variations on the +\verb"\cite" command (\verb"\ycite" and \verb"\ocite") that are +useful. If we were using the \texttt{author-year} option in this +document, then +\begin{center} + \begin{tabular}{l@{ would be typeset as }l} + ``\verb"\cite{yellowmonster}"''& ``(Bousfield and Kan, 1972)''\\ + ``\verb"\ycite{yellowmonster}"''& ``(1972)''\\ + ``\verb"\ocite{yellowmonster}"''& ``Bousfield and Kan (1972)'' + \end{tabular} +\end{center} +Thus, you could type ``For further details, see +\verb"\cite{yellowmonster}"'', or ``Bousfield and Kan +\verb"\ycite{yellowmonster}" showed\ldots'', or ``This can be found in +\verb"\ocite{yellowmonster}"''. + + +%--------------------------------------------------------------------- +%--------------------------------------------------------------------- +\section{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 +\begin{center} + \verb"Let $f\colon X \to Y$ be a continuous function." +\end{center} +you'll get +\begin{center} + Let $f\colon X \to Y$ be a continuous function. +\end{center} +(Note that if we had typed that as ``\verb"f: X \to Y"'' then the +spacing around the colon would be wrong, since the colon symbol is +typeset as a binary relation, with spaces on the two sides equal.) +The only novelty that \LaTeX{} introduces is that, instead of using a +dollar sign to toggle math mode on and off, you can use `\verb"\("' to +\emph{begin} math mode, and `\verb"\)"' to \emph{end} math mode. +Thus, the example above could also be typed as +\begin{center} +\verb"Let \(f\colon X \to Y\) be a continuous function." +\end{center} +This provides a tiny bit more error checking, but can +otherwise be safely ignored. + +The reference \cite{mathguide} is an excellent concise summary of the +features of \AmS-\LaTeX{} for typesetting mathematics, both displayed +and in running text. It also includes lists of symbols available for +mathematics. + +%-------------------------------------------------------------------- +%--------------------------------------------------------------------- +\section{Displayed mathematics} + +For a complete discussion of the environments for displayed +mathematics, including options for customizing equation numbers, +see~\cite[section~3]{amslatexusersguide}. + +%-------------------------------------------------------------------- +\subsection{Single line displays} +\label{sec:SngLne} + +To display mathematics and number the display (so that you can refer +to it from elsewhere in the paper) you use the \verb"equation" +environment. (\LaTeX{} calls all such numbers \emph{equation + numbers}, whether or not the display has anything to do with +equations.) If you type +\begin{verbatim} +\begin{equation} + \pi_{1}(X \vee Y) \approx \pi_{1}X * \pi_{1}Y +\end{equation} +\end{verbatim} +you'll get +\begin{equation} + \label{pi1eqn} + \pi_{1}(X \vee Y) \approx \pi_{1}X * \pi_{1}Y +\end{equation} + +If you'd like to be able to make reference to the equation number, +you need to \emph{label} the equation, using a \emph{key} that you +can use for referencing it: +\begin{verbatim} +\begin{equation} + \label{pi1eqn} + \pi_{1}(X \vee Y) \approx \pi_{1}X * \pi_{1}Y +\end{equation} +\end{verbatim} +If you later type ``\verb"see formula~\eqref{pi1eqn}"'' you'll get +``see formula~\eqref{pi1eqn}.'' (For more on cross-references to +formulas, see section~\ref{sec:thmrefs}.) + +To display a single line of mathematics without an equation number, +you use the \verb"equation*" environment. (This is a common \LaTeX +ism: Adding an asterisk to the name of a numbered \LaTeX{} environment +often gives the unnumbered equivalent.) If you type +\begin{verbatim} +\begin{equation*} + \pi_{1}(X \vee Y) \approx \pi_{1}X * \pi_{1}Y +\end{equation*} +\end{verbatim} +then you'll get +\begin{equation*} + \pi_{1}(X \vee Y) \approx \pi_{1}X * \pi_{1}Y +\end{equation*} +The \texttt{displaymath} environment is equivalent to this; you can +produce the same unnumbered display by typing +\begin{verbatim} +\begin{displaymath} + \pi_{1}(X \vee Y) \approx \pi_{1}X * \pi_{1}Y +\end{displaymath} +\end{verbatim} +You can also produce that same unnumbered display by typing +\begin{verbatim} +\[ + \pi_{1}(X \vee Y) \approx \pi_{1}X * \pi_{1}Y +\] +\end{verbatim} +but some people think that that makes your \LaTeX{} source file less +readable. Although you can also produce the same thing by typing +\begin{verbatim} +$$ + \pi_{1}(X \vee Y) \approx \pi_{1}X * \pi_{1}Y +$$ +\end{verbatim} +using double dollar signs is definitely deprecated. + +%-------------------------------------------------------------------- +\subsection{Text in displayed mathematics} +\label{sec:text} + +To include text in a displayed mathematics environment you use the +\verb"\text" command, as in \verb"\text{here's some text}". The +\verb"\text" command is preferable to the standard \LaTeX{} +\verb"\mbox" command because \verb"\text" correctly adjusts its size +for use in subscripts and superscripts. For example, if you type +\begin{verbatim} +\begin{equation*} + \pi_{1}(X) \approx G * H + \quad\text{where $G$ is torsion and $H$ is torsion free} +\end{equation*} +\end{verbatim} +then you'll get +\begin{equation*} + \pi_{1}(X) \approx G * H + \quad\text{where $G$ is torsion and $H$ is torsion free} +\end{equation*} +and if you type +\begin{verbatim} +\begin{equation*} + X_{n} = \coprod_{\text{monomorphisms $[k] \to [n]$}} S_{k} +\end{equation*} +\end{verbatim} +then you'll get +\begin{equation*} + X_{n} = \coprod_{\text{monomorphisms $[k] \to [n]$}} S_{k} +\end{equation*} + + +%-------------------------------------------------------------------- +\subsection{Displaying multiple lines without alignment} +\label{sec:gather} + +You can put several displayed lines together, each one centered, with +no alignment between the different lines, using the \verb"gather" +environment. When typing this, the lines are separated by a double +backslash \verb"\\". For example, if you type +\begin{verbatim} +\begin{gather} + (X\otimes L) \amalg_{(X\otimes K)} (Y\otimes K) + \longrightarrow Y\otimes L\\ + X^{L} \longrightarrow X^{K} \times_{Y^{K}} Y^{L} +\end{gather} +\end{verbatim} +then you'll get +\begin{gather} + \label{eq:push} + (X\otimes L) \amalg_{(X\otimes K)} (Y\otimes K) + \longrightarrow Y\otimes L\\ + \label{eq:pull} + X^{L} \longrightarrow X^{K} \times_{Y^{K}} Y^{L} +\end{gather} +The \verb"gather*" environment would produce the same thing without +the equation numbers. You can also label each line so that you can +refer to them: If you had typed that as +\begin{verbatim} +\begin{gather} + \label{eq:push} + (X\otimes L) \amalg_{(X\otimes K)} (Y\otimes K) + \longrightarrow Y\otimes L\\ + \label{eq:pull} + X^{L} \longrightarrow X^{K} \times_{Y^{K}} Y^{L} +\end{gather} +\end{verbatim} +and then typed ``\verb"see \eqref{eq:push} or \eqref{eq:pull}"'', +you'd get ``see \eqref{eq:push} or \eqref{eq:pull}''. + +There is also a \texttt{gathered} environment, which does not produce +a display of its own but rather produces a block of centered lines of +mathematics that can be used inside of another displayed mathematics +environment (see section~\ref{sec:gathered}). +%-------------------------------------------------------------------- +\subsection{Displays with linebreaks} +\label{sec:multline} + +For a long display that must be broken across several lines, you can +use the \texttt{multline} environment. (There is also a +\texttt{multline*} environment, which is similar except that it omits +the equation number.) When typing this, the lines are separated by a +double backslash \verb"\\". The first line will be shifted left of +center, the last will be shifted right of center, and the lines in +between those will be centered. For example, if you type +\begin{verbatim} +\begin{multline} + \label{eq:BigComp} + \mathrm{F} X\otimes\Delta[n] \xrightarrow{1 \otimes D} + \mathrm{F} X\otimes(\Delta[n]\times\Delta[n])\\ + \xrightarrow{\sigma} + \mathrm{F}\bigl(X\otimes(\Delta[n]\times\Delta[n])\bigr) + \approx + \mathrm{F}\bigl((X\otimes\Delta[n])\otimes\Delta[n]\bigr)\\ + \xrightarrow{\mathrm{F}(\alpha\otimes 1)} + \mathrm{F}(Y\otimes\Delta[n]) \xrightarrow{\mathrm{F}(\beta)} + \mathrm{F}(Z) +\end{multline} +\end{verbatim} +then you'll get +\begin{multline} + \label{eq:BigComp} + \mathrm{F} X\otimes\Delta[n] \xrightarrow{1 \otimes D} + \mathrm{F} X\otimes(\Delta[n]\times\Delta[n])\\ + \xrightarrow{\sigma} + \mathrm{F}\bigl(X\otimes(\Delta[n]\times\Delta[n])\bigr) + \approx + \mathrm{F}\bigl((X\otimes\Delta[n])\otimes\Delta[n]\bigr)\\ + \xrightarrow{\mathrm{F}(\alpha\otimes 1)} + \mathrm{F}(Y\otimes\Delta[n]) \xrightarrow{\mathrm{F}(\beta)} + \mathrm{F}(Z) +\end{multline} +You can then type ``\verb"the composition \eqref{eq:BigComp}"" and it +will appear as ``the composition \eqref{eq:BigComp}''. + +%-------------------------------------------------------------------- +\subsection{Displays with alignment} +\label{sec:align} + +There are a number of ways to produce displays with multiple lines and +horizontal alignment between the lines. +\begin{itemize} +\item The \texttt{align} and \texttt{align*} environments allow + horizontal alignment of characters chosen from each line (see + section~\ref{sec:SingAlign}). +\item The \texttt{aligned} and \texttt{split} environments produce + alignments that can be be part of a larger display (see + section~\ref{sec:aligned}). +\item The \texttt{gathered} environment produces a block of several + lines, each centered as in the \texttt{gather} environment (see + section~\ref{sec:gather}), that can be part of a larger display (see + section~\ref{sec:gathered}). (Of course, this doesn't involve + horizontal alignment, but the \texttt{gathered} environment is often + used in conjunction with other display environments.) +\item The \texttt{align} and \texttt{align*} environments also allow + for multiple columns with alignment in each column (see + section~\ref{sec:MulAlign}). +\item The \texttt{flalign} and \texttt{flalign*} environments allow + multiple alignment points and place the outermost aligned blocks + flush against the margins (see section~\ref{sec:flalign}). +\item The \texttt{alignat} and \texttt{alignat*} environments allow + multiple alignment points and allow you to choose the spacing + between the columns (see section~\ref{sec:alignat}). +\item The \texttt{alignedat} environment is similar to the + \texttt{alignat*} environment, except that it produces an alignment + intended to be part of a larger display (see + section~\ref{sec:alignedat}). +\end{itemize} +%-------------------------------------------------------------------- +\subsubsection{Displays with a single alignment point} +\label{sec:SingAlign} + +To display several lines of mathematics with horizontal alignment, you +use the \texttt{align} environment. (There is also an \texttt{align*} +environment, which is similar except that it omits the equation +numbers.) When typing this, the lines are separated by a double +backslash \verb"\\" and each line has an ampersand \verb"&" +immediately preceding the symbol to be aligned with the corresponding +symbols on the other lines. For example, if you type +\begin{verbatim} +\begin{align} + \label{eq:pi1} + \pi_{1}(X\vee Y) &\approx \pi_{1}X * \pi_{1}Y\\ + \label{eq:additivity} + \widetilde{\mathrm{H}}_{*}(X\vee Y) &\approx + \widetilde{\mathrm{H}}_{*}X \oplus \widetilde{\mathrm{H}}_{*}Y +\end{align} +\end{verbatim} +then you'll get +\begin{align} + \label{eq:pi1} + \pi_{1}(X\vee Y) &\approx \pi_{1}X * \pi_{1}Y\\ + \label{eq:additivity} + \widetilde{\mathrm{H}}_{*}(X\vee Y) &\approx + \widetilde{\mathrm{H}}_{*}X \oplus \widetilde{\mathrm{H}}_{*}Y +\end{align} +and if you type ``\verb"see \eqref{eq:pi1} or \eqref{eq:additivity}"'' +then you'll get ``see \eqref{eq:pi1} or \eqref{eq:additivity}''. For +another example, if you type +\begin{verbatim} +\begin{align*} + \mathcal{M}\bigl((\operatorname{colim} \boldsymbol{X}) + \otimes K,Y\bigr) &\approx + \mathcal{M}(\operatorname{colim} \boldsymbol{X},Y^K)\\ + &\approx \lim \mathcal{M}(\boldsymbol{X},Y^K)\\ + &\approx \lim \mathcal{M}(\boldsymbol{X} \otimes K,Y)\\ + &\approx \mathcal{M}\bigl(\operatorname{colim} + (\boldsymbol{X} \otimes K),Y\bigr) +\end{align*} +\end{verbatim} +then you'll get +\begin{align*} + \mathcal{M}\bigl((\operatorname{colim} \boldsymbol{X}) + \otimes K,Y\bigr) &\approx + \mathcal{M}(\operatorname{colim} \boldsymbol{X},Y^K)\\ + &\approx \lim \mathcal{M}(\boldsymbol{X},Y^K)\\ + &\approx \lim \mathcal{M}(\boldsymbol{X} \otimes K,Y)\\ + &\approx \mathcal{M}\bigl(\operatorname{colim} + (\boldsymbol{X} \otimes K),Y\bigr) +\end{align*} +Both the \texttt{align} and \texttt{align*} environments allow you to +have multiple columns in the display; for this, see +section~\ref{sec:MulAlign}. + +%-------------------------------------------------------------------- +\subsubsection{Alignments that are part of a larger display} +\label{sec:aligned} + +The \texttt{aligned} environment does not create a display of its own. +Instead, it allows you to have several lines of mathematics, with +alignment as in the \texttt{align*} environment (see +section~\ref{sec:SingAlign}), which can then be used inside of a +displayed mathematics environment. + +The \textbf{aligned} environment doesn't produce any equation numbers +of its own. If the enclosing display environment produces a number, +and if the \texttt{aligned} environment doesn't use the optional +argument of \texttt{[t]} or \texttt{[b]} (see \eqref{eq:dbltop} and +\eqref{eq:dblbot}), then that number is centered vertically in the +contents of the \texttt{aligned} environment. For an example of this, +see \eqref{eq:longeq}. + +There is also a \texttt{split} environment, which is similar to the +\texttt{aligned} environment except that the \texttt{aligned} +environment has options (changing the vertical alignment (see the +examples in this section) or having multiple alignment points (see +section~\ref{sec:MulAlign})) that are not possible with the +\texttt{split} environment. Thus, a \texttt{split} environment can +always be replaced by an \texttt{aligned} environment. + +For example, if you type +\begin{verbatim} +\begin{equation} + \label{eq:dblaligned} + \begin{aligned} + a &= b + c\\ + d &= e + f + \end{aligned} + \qquad\text{which, of course, leads to}\qquad + \begin{aligned} + g &= h + i\\ + j &= k + l + \end{aligned} +\end{equation} +\end{verbatim} +then you'll get +\begin{equation} + \label{eq:dblaligned} + \begin{aligned} + a &= b + c\\ + d &= e + f + \end{aligned} + \qquad\text{which, of course, leads to}\qquad + \begin{aligned} + g &= h + i\\ + j &= k + l + \end{aligned} +\end{equation} + +The above example illustrates that, by default, when an +\texttt{aligned} (or \texttt{aligned*}) environment is used as part of +a display involving other elements, it is vertically aligned at its +center. The \texttt{aligned} environment can take an optional +argument of \texttt{[t]} or \texttt{[b]} to cause the alignment to be +vertically aligned at either the top or the bottom row. For example, +if you type +\begin{verbatim} +\begin{equation} + \label{eq:dbltop} + \begin{aligned}[t] + a &= b + c\\ + d &= e + f + \end{aligned} + \qquad\text{which, of course, leads to}\qquad + \begin{aligned}[t] + g &= h + i\\ + j &= k + l + \end{aligned} +\end{equation} +\end{verbatim} +then you'll get +\begin{equation} + \label{eq:dbltop} + \begin{aligned}[t] + a &= b + c\\ + d &= e + f + \end{aligned} + \qquad\text{which, of course, leads to}\qquad + \begin{aligned}[t] + g &= h + i\\ + j &= k + l + \end{aligned} +\end{equation} +and if you type +\begin{verbatim} +\begin{equation} + \label{eq:dblbot} + \begin{aligned}[b] + a &= b + c\\ + d &= e + f + \end{aligned} + \qquad\text{which, of course, leads to}\qquad + \begin{aligned}[b] + g &= h + i\\ + j &= k + l + \end{aligned} +\end{equation} +\end{verbatim} +then you'll get +\begin{equation} + \label{eq:dblbot} + \begin{aligned}[b] + a &= b + c\\ + d &= e + f + \end{aligned} + \qquad\text{which, of course, leads to}\qquad + \begin{aligned}[b] + g &= h + i\\ + j &= k + l + \end{aligned} +\end{equation} + +The display created by an \texttt{aligned} environment can be used as +an element of a display. For example, if you type +\begin{verbatim} +\begin{equation*} + \left . + \begin{aligned} + f(x) &= \sin^{2} x\\ + g(x) &= \cos^{2} x\\ + h(x) &= \sin x + \cos x + \end{aligned} + \right \} + \qquad \text{A nice collection of functions} +\end{equation*} +\end{verbatim} +then you'll get +\begin{equation*} + \left . + \begin{aligned} + f(x) &= \sin^{2} x\\ + g(x) &= \cos^{2} x\\ + h(x) &= \sin x + \cos x + \end{aligned} + \right \} + \qquad \text{A nice collection of functions} +\end{equation*} + + +%-------------------------------------------------------------------- +\subsubsection{Several centered lines as part of a larger display} +\label{sec:gathered} + +The \texttt{gathered} environment does not create a display of its +own. Instead, it allows you to have several lines of mathematics, +each one centered as in the \texttt{gather} environment (see +section~\ref{sec:gather}), which can then be used inside of a +displayed mathematics environment. For example, if you type +\begin{verbatim} +\begin{equation} + \begin{gathered} + x^{2} + y^{2} = z^{2}\\ + a = b + c + \end{gathered} + \qquad \text{and, in addition,}\qquad + \begin{aligned} + A &= B+C\\ + &= D+E + \end{aligned} +\end{equation} +\end{verbatim} +then you'll get +\begin{equation} + \begin{gathered} + x^{2} + y^{2} = z^{2}\\ + a = b + c + \end{gathered} + \qquad \text{and, in addition,}\qquad + \begin{aligned} + A &= B+C\\ + &= D+E + \end{aligned} +\end{equation} + +The \texttt{gathered} environment can take the same optional argument +of \texttt{[t]} or \texttt{[b]} that the \texttt{aligned} argument can +take (see section~\ref{sec:aligned}) to cause the vertical alignment +to be on either the top or the bottom line. For example, if you type +\begin{verbatim} +\begin{equation} + \begin{gathered}[t] + x^{2} + y^{2} = z^{2}\\ + a = b + c + \end{gathered} + \qquad \text{and, in addition,}\qquad + \begin{aligned}[t] + A &= B+C\\ + &= D+E + \end{aligned} +\end{equation} +\end{verbatim} +then you'll get +\begin{equation} + \begin{gathered}[t] + x^{2} + y^{2} = z^{2}\\ + a = b + c + \end{gathered} + \qquad \text{and, in addition,}\qquad + \begin{aligned}[t] + A &= B+C\\ + &= D+E + \end{aligned} +\end{equation} + +%-------------------------------------------------------------------- +\subsubsection{Multiple alignment points} +\label{sec:MulAlign} + +The \texttt{align} and \texttt{align*} environments (see +section~\ref{sec:SingAlign}) as well as the \texttt{aligned} +environment (see section~\ref{sec:aligned}) can be used to create +displays in which each line is broken into several pieces, with each +piece horizontally aligned at a chosen character. That is: they can +be used to create a display with several columns, with alignment +within each column. + +When typing this, the lines are separated by a double backslash +\verb"\\", the different displays on each line are separated by an +ampersand \verb"&", and the symbols to be aligned are preceded by an +ampersand \verb"&". For example, if you type +\begin{verbatim} +\begin{align*} + K &\approx G * H& i&= j+k& B &\subset C\\ + H &\approx A_{0}*B_{0}& i'&= j'+k'& C &= D\cap E\\ + G &\approx \coprod_{\alpha\in A} L_{\alpha}& i''&=j''+k''& + A &= D \cup E +\end{align*} +\end{verbatim} +then you'll get +\begin{align*} + K &\approx G * H& i&= j+k& B &\subset C\\ + H &\approx A_{0}*B_{0}& i'&= j'+k'& C &= D\cap E\\ + G &\approx \coprod_{\alpha\in A} L_{\alpha}& i''&=j''+k''& + A &= D \cup E +\end{align*} +When typing such an alignment with $n$ columns, each line will have at +most $2n-1$ ampersands. + +For another example, if you type +\begin{verbatim} +\begin{align*} + \pi_{1}(X\vee Y) &\approx \pi_{1}(X) * \pi_{1}(Y) + &&\text{(by the van Kampen theorem)}\\ + &\approx G*H &&\text{(by the computation in the previous section)} +\end{align*} +\end{verbatim} +then you'll get +\begin{align*} + \pi_{1}(X\vee Y) &\approx \pi_{1}(X) * \pi_{1}(Y) + &&\text{(by the van Kampen theorem)}\\ + &\approx G*H &&\text{(by the computation in the previous section)} +\end{align*} +If you want to specify the separation between the columns in the +alignment, you should use the \texttt{alignat} environment (see +section~\ref{sec:alignat}). + + +%-------------------------------------------------------------------- +\subsubsection{Alignments flush left and flush right} +\label{sec:flalign} + +To produce alignments similar to those in section~\ref{sec:MulAlign} +except with the leftmost column flush left and the rightmost column +flush right, you use the \texttt{flalign} environment (or, to omit the +equation numbers, the \texttt{flalign*} environment). For example, if +you type +\begin{verbatim} +\begin{flalign*} + K &\approx G * H& i&= j+k& B &\subset C\\ + H &\approx A_{0}*B_{0}& i'&= j'+k'& C &= D\cap E\\ + G &\approx \coprod_{\alpha\in A} L_{\alpha}& i''&=j''+k''& + A &= D \cup E +\end{flalign*} +\end{verbatim} +then you'll get +\begin{flalign*} + K &\approx G * H& i&= j+k& B &\subset C\\ + H &\approx A_{0}*B_{0}& i'&= j'+k'& C &= D\cap E\\ + G &\approx \coprod_{\alpha\in A} L_{\alpha}& i''&=j''+k''& + A &= D \cup E +\end{flalign*} + +%-------------------------------------------------------------------- +\subsubsection{Multiple alignment points with chosen spacing} +\label{sec:alignat} + +To produce alignments as in section~\ref{sec:MulAlign} except with the +ability to choose the amount of horizontal space between the columns, +you use the \texttt{alignat} environment (or, to omit the equation +numbers, the \texttt{alignat*} environment). These environments don't +insert any horizontal space between the columns, and so you can insert +the exact amount of space you want by including it at the beginning of +one of the columns. + +The format of \texttt{alignat} is slightly different from that of the +\texttt{align} environment in that you must include an argument +specifying the number of columns. For example, if you type +\begin{verbatim} +\begin{alignat}{2} + K &\approx G*H& \qquad&\text{(by an earlier theorem)}\\ + A &\approx \lim_{i\in I} A_{i}& &\text{(by the definition of $A$)} +\end{alignat} +\end{verbatim} +then you'll get +\begin{alignat}{2} + K &\approx G*H& \qquad&\text{(by an earlier theorem)}\\ + A &\approx \lim_{i\in I} A_{i}& &\text{(by the definition of $A$)} +\end{alignat} +Note that it's only necessary to insert the \verb"\qquad" space in one +row; the alignment forces the space to appear in all rows. + +%-------------------------------------------------------------------- +\subsubsection{Multiple alignment points with chosen spacing as part of a larger display} +\label{sec:alignedat} + +The \texttt{alignedat} environment is similar to the \texttt{aligned} +environment (see section~\ref{sec:aligned}), in that neither of them +create a display of their own but are instead used as a part of a +larger display, but the \texttt{alignedat} environment allows you to +choose the spacing between the columns. That is, the +\texttt{alignedat} environment doesn't insert any space between the +columns, so you can insert the exact amount of space you want by +including it at the beginning of one of the columns. The +\texttt{alignedat} environment also has a required argument stating +the number of columns. For example, if you type +\begin{verbatim} +\begin{equation*} + \left \{ + \begin{alignedat}{2} + a &= b + c& d &= e + f\\ + A &= B + C \qquad& D &= E + F + \end{alignedat} + \right \} + \qquad \text{Twin pairs of equations} +\end{equation*} +\end{verbatim} +then you'll get +\begin{equation*} + \left \{ + \begin{alignedat}{2} + a &= b + c& d &= e + f\\ + A &= B + C \qquad& D &= E + F + \end{alignedat} + \right \} + \qquad \text{Twin pairs of equations} +\end{equation*} +Note that it's only necessary to insert the \verb"\qquad" space in one +row; the alignment forces the space to appear in all rows. + + +%-------------------------------------------------------------------- +\subsection{The \texttt{cases} environment} +\label{sec:cases} + +There is a \texttt{cases} environment, which constructs the usual +display of several cases, and which is used as a part of one of the +displayed mathematics environments. For example, if you type +\begin{verbatim} +\begin{equation} + \label{eq:abs} + |x| = + \begin{cases} + x& \text{if $x \ge 0$}\\ + -x& \text{if $x < 0$} + \end{cases} +\end{equation} +\end{verbatim} +then you'll get +\begin{equation} + \label{eq:abs} + |x| = + \begin{cases} + x& \text{if $x \ge 0$}\\ + -x& \text{if $x < 0$} + \end{cases} +\end{equation} + +For another example, if you type +\begin{verbatim} +\begin{align*} + d_{i} \sigma &= + \begin{cases} + \alpha_{1} \xrightarrow{\sigma_{1}} \alpha_{2} + \xrightarrow{\sigma_{2}} \cdots + \xrightarrow{\sigma_{n-1}} \alpha_{n} + &\text{if $i=0$}\\ + \alpha_0 \xrightarrow{\sigma_{0}} \cdots + \xrightarrow{\sigma_{i-2}} \alpha_{i-1} + \xrightarrow{\sigma_{i}\sigma_{i-1}} \alpha_{i+1} + \xrightarrow{\sigma_{i+1}} \cdots + \xrightarrow{\sigma_{n-1}} \alpha_{n} + &\text{if $0<i<n$}\\ + \alpha_{0} \xrightarrow{\sigma_{0}} \alpha_{1} + \xrightarrow{\sigma_1} \cdots + \xrightarrow{\sigma_{n-2}} \alpha_{n-1} + &\text{if $i=n$} + \end{cases}\\ + s_{i} \sigma &= \alpha_{0} \xrightarrow{\sigma_{0}} \cdots + \xrightarrow{\sigma_{i-1}} \alpha_{i} + \xrightarrow{1_{\alpha_{i}}} \alpha_{i} + \xrightarrow{\sigma_{i}} \alpha_{i+1} + \xrightarrow{\sigma_{i+1}} \cdots + \xrightarrow{\sigma_{n-1}} \alpha_{n} +\end{align*} +\end{verbatim} +then you'll get +\begin{align*} + d_{i} \sigma &= + \begin{cases} + \alpha_{1} \xrightarrow{\sigma_{1}} \alpha_{2} + \xrightarrow{\sigma_{2}} \cdots + \xrightarrow{\sigma_{n-1}} \alpha_{n} + &\text{if $i=0$}\\ + \alpha_0 \xrightarrow{\sigma_{0}} \cdots + \xrightarrow{\sigma_{i-2}} \alpha_{i-1} + \xrightarrow{\sigma_{i}\sigma_{i-1}} \alpha_{i+1} + \xrightarrow{\sigma_{i+1}} \cdots + \xrightarrow{\sigma_{n-1}} \alpha_{n} + &\text{if $0<i<n$}\\ + \alpha_{0} \xrightarrow{\sigma_{0}} \alpha_{1} + \xrightarrow{\sigma_1} \cdots + \xrightarrow{\sigma_{n-2}} \alpha_{n-1} + &\text{if $i=n$} + \end{cases}\\ + s_{i} \sigma &= \alpha_{0} \xrightarrow{\sigma_{0}} \cdots + \xrightarrow{\sigma_{i-1}} \alpha_{i} + \xrightarrow{1_{\alpha_{i}}} \alpha_{i} + \xrightarrow{\sigma_{i}} \alpha_{i+1} + \xrightarrow{\sigma_{i+1}} \cdots + \xrightarrow{\sigma_{n-1}} \alpha_{n} +\end{align*} + +%-------------------------------------------------------------------- +\subsection{Multiple lines with equation numbers on some of them} +\label{sec:MuEqOneNo} + +By default, most of the environments for displayed mathematics either +have an equation number on every line or no equation numbers at all. +In this section we discuss how to have multiple lines with either one +equation number for the entire display (see +sections~\ref{sec:MulLinOneNo} and \ref{sec:GatherCenter}) or equation +numbers on some of the lines but not all of them (see +section~\ref{sec:notag}). + +%-------------------------------------------------------------------- +\subsubsection{Multiple lines with horizontal alignment and one equation number} +\label{sec:MulLinOneNo} + +To display multiple lines with horizontal alignment but with only one +equation number for the entire display, you use the \texttt{equation} +environment (see section~\ref{sec:SngLne}) to produce the equation +number and you put an \texttt{aligned} environment (see +section~\ref{sec:aligned}) inside of that to produce the alignment. +For example, if you type +\begin{verbatim} +\begin{equation} + \label{eq:BothCoprod} + \begin{aligned} + \pi_{1}(X\vee Y) &\approx \pi_{1}X * \pi_{1}Y\\ + \widetilde{\mathrm{H}}_{*}(X\vee Y) &\approx + \widetilde{\mathrm{H}}_{*}X \oplus \widetilde{\mathrm{H}}_{*}Y + \end{aligned} +\end{equation} +\end{verbatim} +then you'll get +\begin{equation} + \label{eq:BothCoprod} + \begin{aligned} + \pi_{1}(X\vee Y) &\approx \pi_{1}X * \pi_{1}Y\\ + \widetilde{\mathrm{H}}_{*}(X\vee Y) &\approx + \widetilde{\mathrm{H}}_{*}X \oplus \widetilde{\mathrm{H}}_{*}Y + \end{aligned} +\end{equation} +and if you type ``\verb"the isomorphisms~\eqref{eq:BothCoprod}"'' then +you'll get ``the isomorphisms~\eqref{eq:BothCoprod}''. + +For another example, if you type +\begin{verbatim} +\begin{equation} + \label{eq:longeq} + \begin{aligned} + F(a,b,c,d) &= \int_{a}^{b} \sin^{3}x \cos^{2}x \, dx + + \int_{c}^{d} \sin^{3}x \cos x \, dx\\ + &\quad + \int_{a}^{b} \sin^{2} x \cos^{2} x \, dx + \int_{c}^{d} + \sin x \cos x \, dx + \end{aligned} +\end{equation} +\end{verbatim} +then you'll get +\begin{equation} + \label{eq:longeq} + \begin{aligned} + F(a,b,c,d) &= \int_{a}^{b} \sin^{3}x \cos^{2}x \, dx + + \int_{c}^{d} \sin^{3}x \cos x \, dx\\ + &\quad + \int_{a}^{b} \sin^{2} x \cos^{2} x \, dx + \int_{c}^{d} + \sin x \cos x \, dx + \end{aligned} +\end{equation} + +If you'd like to specify the exact amount of horizontal space between +the columns, you'd use the \texttt{alignedat} environment (see +section~\ref{sec:alignedat}) in place of the \texttt{aligned} +environment. + +%-------------------------------------------------------------------- +\subsubsection{Multiple lines without horizontal alignment and with one equation number} +\label{sec:GatherCenter} + +To create a display of multiple lines without horizontal alignment but +with each line centered, and to have a single equation number for the +entire display, you use the \texttt{equation} environment (see +section~\ref{sec:SngLne}) to produce the equation number and you put a +\texttt{gathered} environment (see section~\ref{sec:gathered}) inside +of that. For example, if you type +\begin{verbatim} +\begin{equation} + \label{eq:Corner} + \begin{gathered} + (X\otimes L) \amalg_{(X\otimes K)} (Y\otimes K) + \longrightarrow Y\otimes L\\ + X^{L} \longrightarrow X^{K} \times_{Y^{K}} Y^{L} + \end{gathered} +\end{equation} +\end{verbatim} +then you'll get +\begin{equation} + \label{eq:Corner} + \begin{gathered} + (X\otimes L) \amalg_{(X\otimes K)} (Y\otimes K) + \longrightarrow Y\otimes L\\ + X^{L} \longrightarrow X^{K} \times_{Y^{K}} Y^{L} + \end{gathered} +\end{equation} +and if you type ``\verb"see~\eqref{eq:Corner}"'' then you'll get +``see~\eqref{eq:Corner}''. + +%-------------------------------------------------------------------- +\subsubsection{Suppressing some equation numbers: {\normalfont \texttt{\bs notag}}} +\label{sec:notag} + +If you want to have equation numbers on some but not all of the lines +of a display, you can use an environment that numbers every line and +then suppress the equation number on particular lines by typing +\begin{center} + \verb"\notag" +\end{center} +at the end of each of those lines, either just before the double +backslash that ends the line or at the end of the last line. For +example, if you type +\begin{verbatim} +\begin{align} + a^{2} + b^{2} &= c^{2} \notag\\ + \label{eq:ABC} + A^{2} + B^{2} &= C^{2}\\ + p^{2} + q^{2} &- r^{2} \notag\\ + \label{eq:PQR} + P^{2} + Q^{2} &= R^{2} +\end{align} +\end{verbatim} +then you'll get +\begin{align} + a^{2} + b^{2} &= c^{2} \notag\\ + \label{eq:ABC} + A^{2} + B^{2} &= C^{2}\\ + p^{2} + q^{2} &- r^{2} \notag\\ + \label{eq:PQR} + P^{2} + Q^{2} &= R^{2} +\end{align} +and if you type ``\verb"equations~\eqref{eq:ABD} and \eqref{eq:PQR}"'' +then you'll get``equations~\eqref{eq:ABC} and \eqref{eq:PQR}''. + +%-------------------------------------------------------------------- +\subsection{Overriding equation numbers} +\label{sec:EqNoOver} + +There are commands \verb"\tag" and \verb"\tag*" that allow you to +override the normal equation numbering for any line of any of the +displayed mathematics environments. You can also suppress the equation +number entirely using the \verb"\notag" command (see +section~\ref{sec:notag}). + +If you put the command ``\verb"\tag{stuff}"'' at the end of a line of +a display (either just before the double backslash that ends the line +or at the end of the last line), where ``\texttt{stuff}'' is arbitrary +text, then that arbitrary text will be placed on the page, enclosed in +parentheses, in place of an equation number. The command +``\verb"\tag*{stuff}"'' is similar, but it does not add the +parentheses. If these commands are used in a display that normally +has unnumbered lines, then ``\texttt{stuff}'' will be inserted anyway. + +For example, if you type +\begin{verbatim} +\begin{equation} + \label{eq:add} + \widetilde{\mathrm{H}}_{*}(X\vee Y) \approx + \widetilde{\mathrm{H}}_{*}X \oplus \widetilde{\mathrm{H}}_{*}Y + \tag*{$(*)$} +\end{equation} +\end{verbatim} +then you'll get +\begin{equation} + \label{eq:add} + \widetilde{\mathrm{H}}_{*}(X\vee Y) \approx + \widetilde{\mathrm{H}}_{*}X \oplus \widetilde{\mathrm{H}}_{*}Y + \tag*{$(*)$} +\end{equation} +and if you type +% +``\verb"equation~\ref{eq:add} is additivity"'' then you'll get +``equation~\ref{eq:add} is additivity''. Note that we used the +command \verb"\tag*" and inserted the parentheses as part of the tag, +rather than using the command \verb"\tag", because we wanted cross +references to show the parentheses surrounding the asterisk. + + + +%-------------------------------------------------------------------- +%-------------------------------------------------------------------- +\section{Commutative diagrams using \texorpdfstring{\Xy-pic}{Xy-pic}} +\label{sec:xypic} + +\Xy-pic is a powerful package that enables you to draw very complex +commutative diagrams within your \LaTeX{} file, avoiding the need to +create the graphics separately and then import them. \Xy-pic isn't a +part of \AmS-LaTeX, but \Xy-pic and \AmS-LaTeX{} work quite well +together. We'll describe the most important features of \Xy-pic's +commutative diagram macros here. The full documentation for +commutative diagrams can be found in the \emph{\Xy-pic User's Guide} +\cite{xyguide}, and the full documentation for all of \Xy-pic, which +can do quite a bit more than draw commutative diagrams, can be found +in the \emph{\Xy-pic Reference Manual} \cite{xyrefer}. + +%-------------------------------------------------------------------- +\subsection{Basic diagrams} +\label{sec:basicdiag} + +To use \Xy-pic to draw commutative diagrams, you include the lines +\begin{center} + \begin{tabular}{l} + \verb"\usepackage[all,cmtip]{xy}"\\ + \verb"\let\objectstyle=\displaystyle" + \end{tabular} +\end{center} +in the preamble of your document, i.e., after the +\verb"\documentclass" command and before the \verb"\begin{document}" +command. You can omit the second of those two lines if you want the +nodes of your diagram to be in \verb"\textstyle" by default. + +You create a diagram using the \verb"\xymatrix" command, immediately +followed by a pair of braces that enclose the diagram specification. +The diagram is described in a manner similar to the way matrices are +described: +\begin{enumerate} +\item There is a rectangular array of nodes of the diagram. A node + should not begin with a macro or with an asterisk, and so it's + safest (although not always required) to enclose each node in braces + \verb"{}". +\item The nodes in a row are separated by an ampersand \verb"&", + and the rows are separated by a double backslash \verb"\\". +\item An arrow is specified immediately following the node that is its + source (although this is not actually required; see + section~\ref{sec:SrcTrgt}). A straight line arrow is specified by + \verb"\ar[target]", where \verb"target" is + \begin{itemize} + \item \verb"r" for the node one place to the right, + \item \verb"l" for the node one place to the left, + \item \verb"d" for the node one place down, + \item \verb"u" for the node one place up, + \item \verb"rr" for the node two places to the right, + \item \verb"dr" for the node one place down and one place to the + right, + \item etc. + \end{itemize} +\end{enumerate} +It's also possible to have labels on the arrows (see +section~\ref{sec:labelarrow}), arrows that are built of things other +than a single solid line with a single arrowhead at the end (see +section~\ref{sec:arstyle}), curved arrows (see +section~\ref{sec:arcurve}), and arrows that pass over or under other +arrows (see sections~\ref{sec:ArUnder} and~\ref{sec:CrossArrow}). + +For example, +if you type +\begin{verbatim} +\begin{equation} + \xymatrix{ + {A}\ar[r] \ar[d] + &{B} \ar[d]\\ + {C} \ar[r] + &{D} + } +\end{equation} +\end{verbatim} +then you'll get +\begin{equation} + \xymatrix{ + {A}\ar[r] \ar[d] + &{B} \ar[d]\\ + {C} \ar[r] + &{D} + } +\end{equation} +If you'd like the equation number to be centered vertically with +respect to the diagram, you should enclose the \verb"\xymatrix" +command in a \verb"\vcenter", as in +\begin{verbatim} +\begin{equation} + \vcenter{ + \xymatrix{ + {A}\ar[r] \ar[d] + &{B} \ar[d]\\ + {C} \ar[r] + &{D} + } + } +\end{equation} +\end{verbatim} +in which case you'll get +\begin{equation} + \vcenter{ + \xymatrix{ + {A}\ar[r] \ar[d] + &{B} \ar[d]\\ + {C} \ar[r] + &{D} + } + } +\end{equation} + +Not all nodes need appear. To omit a node in the middle of a line, +just type the \verb"&" that moves you on to the next node. To omit a +node at the end of the line, just type the line-ending \verb"\\" and +go on to the next line. For example, if you type +\begin{verbatim} +\begin{equation*} + \xymatrix{ + {A} \ar[rr] \ar[dr] \ar[d] + && {B} \ar[dd]\\ + {C} \ar[d] \ar[drr] + & {D} \ar[l] \ar[ur]\\ + {E} \ar[rr] + &&{F} + } +\end{equation*} +\end{verbatim} +you'll get +\begin{equation*} + \xymatrix{ + {A} \ar[rr] \ar[dr] \ar[d] + && {B} \ar[dd]\\ + {C} \ar[d] \ar[drr] + & {D} \ar[l] \ar[ur]\\ + {E} \ar[rr] + &&{F} + } +\end{equation*} +Note that that diagram has three rows and three columns, but two of +the nodes in the second column and one of the nodes in the third +column are missing. + +%-------------------------------------------------------------------- +\subsection{Changing the spacing} +\label{sec:ChgSpc} + +You can change the space between the rows of a diagram and the space +between the columns of a diagram. The following commands can be +inserted following the command \verb"\xymatrix" and before the left +brace that begins the diagram specification: +\begin{center} + \begin{tabular}{ll} + \texttt{@=dimen}& set row and column spacing to \texttt{dimen}\\ + \texttt{@R=dimen}& set row spacing to \texttt{dimen}\\ + \texttt{@C=dimen}& set column spacing to \texttt{dimen} + \end{tabular} +\end{center} +The \texttt{dimen} in all of these commands can be positive, zero, or +negative. (Negative \texttt{dimen}'s can be useful in diagrams with +very wide entries; see \eqref{diag:wide}.) Although you can use +whatever units you like for \texttt{dimen} (e.g., inches +(\texttt{in}), centimeters (\texttt{cm}), points (\texttt{pt}), etc.), +it's a good idea to measure vertical distances in \texttt{ex} (roughly +the height of an upper case ``X'') and horizontal distances in +\texttt{em} (roughly the width of an upper case ``M''), so that the +distance will be roughly correct even if you change font sizes. + +For example, if you type +\begin{verbatim} +\begin{displaymath} + \vcenter{ + \xymatrix@=2ex{ + {A} \ar[r] \ar[d] + & {B} \ar[d]\\ + {C} \ar[r] + & {D} + }% \xymatrix + }% \vcenter + \qquad\text{or}\qquad + \vcenter{ + \xymatrix{ + {A} \ar[r] \ar[d] + & {B} \ar[d]\\ + {C} \ar[r] + & {D} + }% \xymatrix + }% \vcenter + \qquad\text{or}\qquad + \vcenter{ + \xymatrix@C=10ex{ + {A} \ar[r] \ar[d] + & {B} \ar[d]\\ + {C} \ar[r] + & {D} + }% \xymatrix + }% \vcenter +\end{displaymath} +\end{verbatim} +then you'll get +\begin{displaymath} + \vcenter{ + \xymatrix@=2ex{ + {A} \ar[r] \ar[d] + & {B} \ar[d]\\ + {C} \ar[r] + & {D} + }% \xymatrix + }% \vcenter + \qquad\text{or}\qquad + \vcenter{ + \xymatrix{ + {A} \ar[r] \ar[d] + & {B} \ar[d]\\ + {C} \ar[r] + & {D} + }% \xymatrix + }% \vcenter + \qquad\text{or}\qquad + \vcenter{ + \xymatrix@C=10ex{ + {A} \ar[r] \ar[d] + & {B} \ar[d]\\ + {C} \ar[r] + & {D} + }% \xymatrix + }% \vcenter +\end{displaymath} +For an example of the usefulness of negative column spacing: If you +type +\begin{verbatim} +\newcommand{\pushout}[3]{#1\mathbin{\mathord{\amalg}_{#2}}#3} +\begin{equation} + \label{diag:wide} + \vcenter{ + \xymatrix@C=-12em{ + {\pushout{(A\otimes L)} + {A\otimes K} + {(B\otimes K)} + } \ar[r] \ar[dr] + & {B\otimes L} + & {\pushout{(P\otimes L)} + {P\otimes M} + {(Q\otimes M)} + } \ar[l] \ar[dl]\\ + & {\pushout{\bigl(\pushout{(A\otimes L)} + {A\otimes K} + {(B\otimes K)}\bigr)} + {\pushout{(X\otimes L)} + {X\otimes K} + {(Y\otimes K)}} + {\bigl(\pushout{(P\otimes L)} + {P\otimes M} + {(Q\otimes M)}\bigr)} + } \ar[u] + } + } +\end{equation} +\end{verbatim} +then you'll get +\newcommand{\pushout}[3]{#1\mathbin{\mathord{\amalg}_{#2}}#3} +\begin{equation} + \label{diag:wide} + \vcenter{ + \xymatrix@C=-12em{ + {\pushout{(A\otimes L)} + {A\otimes K} + {(B\otimes K)} + } \ar[r] \ar[dr] + & {B\otimes L} + & {\pushout{(P\otimes L)} + {P\otimes M} + {(Q\otimes M)} + } \ar[l] \ar[dl]\\ + & {\pushout{\bigl(\pushout{(A\otimes L)} + {A\otimes K} + {(B\otimes K)}\bigr)} + {\pushout{(X\otimes L)} + {X\otimes K} + {(Y\otimes K)}} + {\bigl(\pushout{(P\otimes L)} + {P\otimes M} + {(Q\otimes M)}\bigr)} + } \ar[u] + } + } +\end{equation} +which would never fit on the page without negative column spacing. + +%-------------------------------------------------------------------- +\subsection{Shifting nodes sideways} +\label{sec:ShiftSide} + +You can shift a node to the right by enclosing it in braces and +preceding the opening brace with \verb"*+[r]" and shift it to the left +by enclosing it in braces and preceding the opening brace with +\verb"*+[l]". This can be useful, for example, if you want a node to +consist of both the name of something and its definition, but you want +the arrows to the node to point to the name, rather than to the center +of the node. For example, if you type +\begin{verbatim} +\begin{displaymath} + \xymatrix{ + {A} \ar[r] \ar[d] + & *+[r]{B = \{x \in W \mid f(x) > 0\}} \ar[d]\\ + {C} \ar[r] + & {D} + } +\end{displaymath} +\end{verbatim} +then you'll get +\begin{displaymath} + \xymatrix{ + {A} \ar[r] \ar[d] + & *+[r]{B = \{x \in W \mid f(x) > 0\}} \ar[d]\\ + {C} \ar[r] + & {D} + } +\end{displaymath} +Note that the large node at the upper right caused the columns to be +far apart, even though that node was shifted to the right before being +placed onto the page. To counteract that, you can decrease the column +spacing: If you type +\begin{verbatim} +\begin{displaymath} + \xymatrix@C=-2em{ + {A} \ar[r] \ar[d] + & *+[r]{B = \{x \in W \mid f(x) > 0\}} \ar[d]\\ + {C} \ar[r] + & {D} + } +\end{displaymath} +\end{verbatim} +then you'll get +\begin{displaymath} + \xymatrix@C=-2em{ + {A} \ar[r] \ar[d] + & *+[r]{B = \{x \in W \mid f(x) > 0\}} \ar[d]\\ + {C} \ar[r] + & {D} + } +\end{displaymath} + + + +%-------------------------------------------------------------------- +\subsection{Arrows passing under nodes; crossing arrows} +\label{sec:ArUnder} + +Arrows can be created that go to a sequence of nodes, passing under +(i.e., leaving a small gap at) all the intermediate nodes. If an +arrow is created that passes under an empty node while a second arrow +crosses that node in the normal way, the effect is that the first +arrow passes under the second arrow. (For another way to have one +arrow pass under another, see section~\ref{sec:CrossArrow}.) + +To draw an arrow that passes under a sequence of nodes and then goes +on to a final node, the \verb"\ar" is followed by \verb"'[node]" for +each node that you pass under, followed by \verb"[finalnode]". For +example, if you type +\begin{verbatim} +\begin{displaymath} + \xymatrix{ + {A} \ar '[r] '[rr] [rrr] + & {B} + & {} + & {D} + } +\end{displaymath} +\end{verbatim} +then you'll get +\begin{displaymath} + \xymatrix{ + {A} \ar '[r] '[rr] [rrr] + & {B} + & {} + & {D} + } +\end{displaymath} +For an example of crossing arrows, if you type +\begin{verbatim} +\begin{displaymath} + \xymatrix@=3ex{ + {A} \ar[rr] \ar[dd] \ar'[dr][ddrr] + && {B} \ar[dd] \ar[ddll]\\ + & {}\\ + {C} \ar[rr] + && {D} + } +\end{displaymath} +\end{verbatim} +then you'll get +\begin{displaymath} + \xymatrix@=3ex{ + {A} \ar[rr] \ar[dd] \ar'[dr][ddrr] + && {B} \ar[dd] \ar[ddll]\\ + & {}\\ + {C} \ar[rr] + && {D} + } +\end{displaymath} +Note that that diagram has three rows and three columns, but nothing +appears in either the second row or the second column. (For an +explanation of the command \verb"@=3ex", which changes the size of the +diagram, see section~\ref{sec:ChgSpc}.) For a more elaborate example, +if you type +\begin{verbatim} +\begin{displaymath} + \xymatrix@=2ex{ + {A} \ar[rr] \ar[dr] \ar[dd] + && {B} \ar[dr] \ar'[d][dd]\\ + & {A'} \ar[rr] \ar[dd] + && {B'} \ar[dd]\\ + {C} \ar'[r][rr] \ar[dr] + && {D} \ar[dr]\\ + & {C'} \ar[rr] + && {D'} + } +\end{displaymath} +\end{verbatim} +then you'll get +\begin{displaymath} + \xymatrix@=2ex{ + {A} \ar[rr] \ar[dr] \ar[dd] + && {B} \ar[dr] \ar'[d][dd]\\ + & {A'} \ar[rr] \ar[dd] + && {B'} \ar[dd]\\ + {C} \ar'[r][rr] \ar[dr] + && {D} \ar[dr]\\ + & {C'} \ar[rr] + && {D'} + } +\end{displaymath} + + + +%-------------------------------------------------------------------- +\subsection{Labeling the arrows} +\label{sec:labelarrow} + +It's possible to label an arrow, on one or both sides of the arrow. +(It's also possible to have the label ``break'' the arrow; for this, +see section~\ref{sec:arbreak}.) By default, the label is located +halfway from the center of the source to the center of the target. +This will often be halfway along the arrow, but not if the source and +the target are of different sizes. There are also options to place +the label along the midpoint of the arrow (see +section~\ref{sec:arcent}) or at an arbitrary point between the center +of the source and the center of the target (see +section~\ref{sec:LblArb}). + +To put a label above an arrow (where ``above'' means when the paper is +oriented so that the arrow goes left to right), you type +\verb"^{thelabel}" either before or after the target. To put a label +below an arrow (where ``below'' means when the paper is oriented so +that the arrow goes left to right), you type \verb"_{thelabel}" either +before or after the target. Thus, if you type +\begin{verbatim} +\begin{displaymath} + \xymatrix{ + {A}\ar[r]^{f} \ar[d]_{g} + &{B} \ar[d]^{h}\\ + {C} \ar[r]_{k}^{\text{above}} + &{D} + } +\end{displaymath} +\end{verbatim} +then you'll get +\begin{displaymath} + \xymatrix{ + {A}\ar[r]^{f} \ar[d]_{g} + &{B} \ar[d]^{h}\\ + {C} \ar[r]_{k}^{\text{above}} + &{D} + } +\end{displaymath} + +%-------------------------------------------------------------------- +\subsubsection{Centering the labels on the arrows} +\label{sec:arcent} + +If you type +\begin{verbatim} +\begin{displaymath} + \xymatrix{ + {X\cup_{Y}Z} \ar[r]^{f} \ar[d]_{g} + &{B} \ar[d]^{h}\\ + {C} \ar[r]_{k} + &{D} + } +\end{displaymath} +\end{verbatim} +then you'll get +\begin{displaymath} + \xymatrix{ + {X\cup_{Y}Z} \ar[r]^{f} \ar[d]_{g} + &{B} \ar[d]^{h}\\ + {C} \ar[r]_{k} + &{D} + } +\end{displaymath} +Note that the label $f$ is halfway from the center of the arrow's +source to the center of the arrow's target, but it is not centered +along the arrow. To have that label centered along the arrow, we +insert a \verb"-" immediately following the \verb"^", so that we type +it as +\begin{center} + \verb"\ar[r]^-{f}" +\end{center} +and we then get +\begin{displaymath} + \xymatrix{ + {X\cup_{Y}Z} \ar[r]^-{f} \ar_{g}[d] + &{B} \ar^{h}[d]\\ + {C} \ar_{k}[r] + &{D} + } +\end{displaymath} +For another example, if you type +\begin{verbatim} +\begin{displaymath} + \xymatrix{ + {A \amalg_{B} C} \ar[r]^{\text{Add}}_{\sigma} \ar[d] + & {X} \ar[d]^{\psi}\\ + {Y} \ar[r]^{\alpha}_{\text{Lifted}} \ar[r] + & {P\times_{Q}R} + } +\end{displaymath} +\end{verbatim} +you'll get +\begin{displaymath} + \xymatrix{ + {A \amalg_{B} C} \ar[r]^{\text{Add}}_{\sigma} \ar[d] + & {X} \ar[d]^{\psi}\\ + {Y} \ar[r]^{\alpha}_{\text{Lifted}} \ar[r] + & {P\times_{Q}R} + } +\end{displaymath} +but if you type +\begin{verbatim} +\begin{displaymath} + \xymatrix{ + {A \amalg_{B} C} \ar[r]^-{\text{Add}}_-{\sigma} \ar[d] + & {X} \ar[d]\\ + {Y} \ar[r]^-{\alpha}_-{\text{Lifted}} + & {P\times_{Q}R} + } +\end{displaymath} +\end{verbatim} +then you'll get +\begin{displaymath} + \xymatrix{ + {A \amalg_{B} C} \ar[r]^-{\text{Add}}_-{\sigma} \ar[d] + & {X} \ar[d]\\ + {Y} \ar[r]^-{\alpha}_-{\text{Lifted}} + & {P\times_{Q}R} + } +\end{displaymath} + +%-------------------------------------------------------------------- +\subsubsection{Arbitrary placement of labels} +\label{sec:LblArb} + +In addition to the possibility of centering a label along an arrow +(see section~\ref{sec:arcent}), it is possible to place a label at an +arbitrary point between the center of the source and the center of the +target. If \texttt{a} is a number between $0$ and $1$, then you can +place a label \texttt{a} of the way from the center of the source to +the center of the target by typing \verb"(a)" immediately following +the \verb"^" or \verb"_". For example, if you type +\begin{verbatim} +\begin{displaymath} + \xymatrix@C=8em{ + {A} \ar[r]^(.3){f} \ar[d] + & {B} \ar[d]\\ + {C} \ar[r]^{g} \ar[d] + & {D} \ar[d]\\ + {E} \ar[r]_(.7){h} + & {F} + } +\end{displaymath} +\end{verbatim} +then you'll get +\begin{displaymath} + \xymatrix@C=8em{ + {A} \ar[r]^(.3){f} \ar[d] + & {B} \ar[d]\\ + {C} \ar[r]^{g} \ar[d] + & {D} \ar[d]\\ + {E} \ar[r]_(.7){h} + & {F} + } +\end{displaymath} +For a more elaborate example, with labels along segments of segmented +arrows, see diagram~\ref{diag:LblCube}. + + +%-------------------------------------------------------------------- +\subsubsection{Labeling each segment of a segmented arrow} +\label{sec:LblSeg} + +An arrow that uses the ``arrows passing under'' feature (see +section~\ref{sec:ArUnder}) will be in several segments, and a label +can be attached to each of the segments. For example, if you type +\begin{verbatim} +\begin{displaymath} + \xymatrix{ + {A} \ar '[r]^{f} '[rr]^{g} [rrr]^{h} + & {B} + & {} + & {D} + } +\end{displaymath} +\end{verbatim} +then you'll get +\begin{displaymath} + \xymatrix{ + {A} \ar '[r]^{f} '[rr]^{g} [rrr]^{h} + & {B} + & {} + & {D} + } +\end{displaymath} +For a more elaborate example, if you type +\begin{verbatim} +\begin{equation} + \label{diag:LblCube} + \vcenter{ + \xymatrix@=2ex{ + {A} \ar[rr]^{f} \ar[dr] \ar[dd]_{i} + && {B} \ar[dr] \ar'[d][dd]^(.3){j}\\ + & {A'} \ar[rr]^(.3){f'} \ar[dd]^(.25){i'} + && {B'} \ar[dd]^{j'}\\ + {C} \ar'[r]^{g}[rr] \ar[dr] + && {D} \ar[dr]\\ + & {C'} \ar[rr]_{g'} + && {D'} + } + } +\end{equation} +\end{verbatim} +then you'll get +\begin{equation} + \label{diag:LblCube} + \vcenter{ + \xymatrix@=2ex{ + {A} \ar[rr]^{f} \ar[dr] \ar[dd]_{i} + && {B} \ar[dr] \ar'[d][dd]^(.3){j}\\ + & {A'} \ar[rr]^(.3){f'} \ar[dd]^(.25){i'} + && {B'} \ar[dd]^{j'}\\ + {C} \ar'[r]^{g}[rr] \ar[dr] + && {D} \ar[dr]\\ + & {C'} \ar[rr]_{g'} + && {D'} + } + } +\end{equation} + + +%-------------------------------------------------------------------- +\subsubsection{Breaking an arrow with a label} +\label{sec:arbreak} + +Instead of placing a label to the side of an arrow, you can have the +label ``break'' the arrow. For this, you use the vertical bar +character \verb"|" in place of either \verb"^" or \verb"_". + +For example, if you type +\begin{verbatim} +\begin{displaymath} + \xymatrix{ + {A} \ar[r]|{f} + & {B} \ar[r]|{g} + & {C} + } +\end{displaymath} +\end{verbatim} +then you'll get +\begin{displaymath} + \xymatrix{ + {A} \ar[r]|{f} + & {B} \ar[r]|{g} + & {C} + } +\end{displaymath} + +A label that breaks an arrow can be positioned anywhere along the +arrow, just as for labels placed alongside the arrow (see +sections~\ref{sec:arcent} and \ref{sec:LblArb}). For example, if you +type +\begin{verbatim} +\begin{equation*} + \xymatrix{ + {A \amalg_{B} C} \ar[r]|-{f} \ar[d]_{i} + & {X} \ar[r]|(.7){m} \ar[d]^{p} + & {Y} \ar[dl]|(.3)n\\ + {D} \ar[r]|-{g} + & {W \times_{Z} Y} + } +\end{equation*} +\end{verbatim} +then you'll get +\begin{equation*} + \xymatrix{ + {A \amalg_{B} C} \ar[r]|-{f} \ar[d]_{i} + & {X} \ar[r]|(.7){m} \ar[d]^{p} + & {Y} \ar[dl]|(.3)n\\ + {D} \ar[r]|-{g} + & {W \times_{Z} Y} + } +\end{equation*} +%-------------------------------------------------------------------- +\subsection{More crossing arrows} +\label{sec:CrossArrow} + +In section~\ref{sec:ArUnder} we presented a method of having an arrow +pass over another arrow by having them cross at an empty node. We +present here another method of having one arrow pass over another. + +To have one arrow appear to cross over another, we create a small gap +in the second arrow at the spot at which the first arrow will cross. +We do this by breaking that second arrow with a label, as in +section~\ref{sec:arbreak}, using the special label \verb"\hole", which +just leaves an empty hole in the arrow. For example, if you type +\begin{verbatim} +\begin{equation*} + \xymatrix{ + {A} \ar[dr]|{\hole} + & {B} \ar[dl]\\ + {C} + & {D} + } +\end{equation*} +\end{verbatim} +then you'll get +\begin{equation*} + \xymatrix{ + {A} \ar[dr]|{\hole} + & {B} \ar[dl]\\ + {C} + & {D} + } +\end{equation*} + +For another example, if you type +\begin{verbatim} +\begin{equation*} + \xymatrix{ + {A} \ar[dr] \ar[r] \ar[d] + & {B} \ar[r] + & {C}\\ + {D} \ar[urr]|(.33){\hole} \ar[r] + & {E} + } +\end{equation*} +\end{verbatim} +then you'll get +\begin{equation*} + \xymatrix{ + {A} \ar[dr] \ar[r] \ar[d] + & {B} \ar[r] + & {C}\\ + {D} \ar[urr]|(.33){\hole} \ar[r] + & {E} + } +\end{equation*} +(see section~\ref{sec:LblArb}). It took some trial and error to +figure out that \texttt{.33} was the number to use in the arrow with +the hole, but there's a much better way specify the location of the +hole: Instead of inserting that number between 0 and 1 that specifies +how far from the center of the source to the center of the target the +break should appear, you can specify the place to put the break using +the notation \verb"!{[node1];[node2]}" to denote the point on the +arrow at which a straight line from \verb"[node1]" to \verb"[node2]" +would cross the arrow. (\emph{Note:} This method only works for +straight line arrows.) That is, if you type +\begin{verbatim} +\begin{equation*} + \xymatrix{ + {A} \ar[dr] \ar[r] \ar[d] + & {B} \ar[r] + & {C}\\ + {D} \ar[urr]|!{[u];[r]}{\hole} \ar[r] + & {E} + } +\end{equation*} +\end{verbatim} +then you'll get +\begin{equation*} + \xymatrix{ + {A} \ar[dr] \ar[r] \ar[d] + & {B} \ar[r] + & {C}\\ + {D} \ar[urr]|!{[u];[r]}{\hole} \ar[r] + & {E} + } +\end{equation*} +The position of the hole is specified as \verb"!{[u];[r]}" because the +arrow with the hole begins at $D$ and, relative to that node, the +arrow that crosses over goes from the node \verb"[u]" to the node +\verb"[r]". + +For another example, if you type +\begin{verbatim} +\begin{equation*} + \xymatrix{ + {A} \ar[d] \ar[dr] + & {B} \ar[d] \ar[dr] + & {C} \ar[d]\\ + {D} + \ar[urr]|!{[u];[r]}{\hole} + |!{[ur];[r]}{\hole} + |!{[ur];[rr]}{\hole} + & {E} + & {F} + } +\end{equation*} +\end{verbatim} +then you'll get +\begin{equation*} + \xymatrix{ + {A} \ar[d] \ar[dr] + & {B} \ar[d] \ar[dr] + & {C} \ar[d]\\ + {D} + \ar[urr]|!{[u];[r]}{\hole} + |!{[ur];[r]}{\hole} + |!{[ur];[rr]}{\hole} + & {E} + & {F} + } +\end{equation*} + + +%-------------------------------------------------------------------- +\subsection{Making room for large labels} +\label{sec:labelroom} + +Although \Xy-pic automatically leaves enough room for large nodes, it +ignores the size of the labels on the arrows when constructing the +diagram. Thus, if you have a particularly large label, it may +overwrite the nodes if you don't do something to make the diagram +larger. You can do that either by enlarging the entire diagram (see +section~\ref{sec:LblEnlrgeDiag}) or by creating a row (or column) all +of whose nodes are empty and have the arrows span the empty row (or +column) (see section~\ref{sec:emptynodes}). + +%-------------------------------------------------------------------- +\subsubsection{Enlarging the entire diagram} +\label{sec:LblEnlrgeDiag} + +To enlarge the entire diagram, we use the spacing commands described +in section~\ref{sec:ChgSpc}. For example, if you type +\begin{verbatim} +\begin{displaymath} + \xymatrix{ + {A\amalg B} \ar[d] + \ar[r]^-{\operatorname{amalgamate}} + & {X} \ar[r] \ar[d] + & {P} \ar[d]\\ + {C \amalg D} + \ar[r]_-{\operatorname{amalgamate}} + & {Y} \ar[r] + & {Q} + } +\end{displaymath} +\end{verbatim} +then you'll get +\begin{displaymath} + \xymatrix{ + {A\amalg B} \ar[d] + \ar[r]^-{\operatorname{amalgamate}} + & {X} \ar[r] \ar[d] + & {P} \ar[d]\\ + {C \amalg D} + \ar[r]_-{\operatorname{amalgamate}} + & {Y} \ar[r] + & {Q} + } +\end{displaymath} +but if you type +\begin{verbatim} +\begin{displaymath} + \xymatrix@C=6em{ + {A\amalg B} \ar[d] \ar[r]^-{\operatorname{amalgamate}} + & {X} \ar[r] \ar[d] + & {P} \ar[d]\\ + {C \amalg D} \ar[r]_-{\operatorname{amalgamate}} + & {Y} \ar[r] + & {Q} + } +\end{displaymath} +\end{verbatim} +(see section~\ref{sec:ChgSpc}) then you'll get +\begin{displaymath} + \xymatrix@C=6em{ + {A\amalg B} \ar[d] \ar[r]^-{\operatorname{amalgamate}} + & {X} \ar[r] \ar[d] + & {P} \ar[d]\\ + {C \amalg D} \ar[r]_-{\operatorname{amalgamate}} + & {Y} \ar[r] + & {Q} + } +\end{displaymath} +If you don't want to have to make the entire diagram larger, you can +just create a column of empty nodes (see +section~\ref{sec:emptynodes}). +%-------------------------------------------------------------------- +\subsubsection{Creating a column of empty nodes} +\label{sec:emptynodes} + +We continue the discussion of section~\ref{sec:LblEnlrgeDiag}: Instead +of enlarging the entire diagram, you can create an additional column +in between the first two columns and have all the nodes in the new +column be empty. For example, if you type +\begin{verbatim} +\begin{displaymath} + \xymatrix{ + {A\amalg B} \ar[d] \ar[rr]^-{\operatorname{amalgamate}} + && {X} \ar[r] \ar[d] + & {P} \ar[d]\\ + {C \amalg D} \ar[rr]_-{\operatorname{amalgamate}} + && {Y} \ar[r] + & {Q} + } +\end{displaymath} +\end{verbatim} +then you'll get +\begin{displaymath} + \xymatrix{ + {A\amalg B} \ar[d] \ar[rr]^-{\operatorname{amalgamate}} + && {X} \ar[r] \ar[d] + & {P} \ar[d]\\ + {C \amalg D} \ar[rr]_-{\operatorname{amalgamate}} + && {Y} \ar[r] + & {Q} + } +\end{displaymath} +Note that that diagram has four columns, but both of the nodes in the +second column are empty, and the labelled arrows are created as +\verb"\ar[rr]". If you'd like to create even more space for that +large label, you can put an \verb"\hspace" command into one of the +nodes in the second column. For example, if you type +\begin{verbatim} +\begin{displaymath} + \xymatrix{ + {A\amalg B} \ar[d] \ar[rr]^-{\operatorname{amalgamate}} + & {\hspace{3em}} + & {X} \ar[r] \ar[d] + & {P} \ar[d]\\ + {C \amalg D} \ar[rr]_-{\operatorname{amalgamate}} + && {Y} \ar[r] + & {Q} + } +\end{displaymath} +\end{verbatim} +then you'll get +\begin{displaymath} + \xymatrix{ + {A\amalg B} \ar[d] \ar[rr]^-{\operatorname{amalgamate}} + & {\hspace{3em}} + & {X} \ar[r] \ar[d] + & {P} \ar[d]\\ + {C \amalg D} \ar[rr]_-{\operatorname{amalgamate}} + && {Y} \ar[r] + & {Q} + } +\end{displaymath} +Note that we only put the \verb"\hspace" command into the first row; +there's no need to put it into every row. + +%-------------------------------------------------------------------- +\subsection{Different arrow styles} +\label{sec:arstyle} + +It's possible to have arrows with tails, multiple heads, dotted, +dashed, or multiple shafts, and any combination of these (see +Table~\ref{tab:ArSty}). You can even omit both the head and the tail, +or omit the arrow entirely, which is useful for placing things into +the diagram in places outside of the grid of nodes (see +Diagram~\ref{diag:CentEq}). +\begin{table} + \centering + \begin{tabular}{c@{\qquad\qquad}l} + To produce:& \multicolumn{1}{c}{Type:}\\[1ex] + $\xymatrix{\ar@{.>}[r]&}$& \verb"\ar@{.>}[r]"\\ + $\xymatrix{\ar@{-->}[r]&}$& \verb"\ar@{-->}[r]"\\ + $\xymatrix{\ar@{=>}[r]&}$& \verb"\ar@{=>}[r]"\\ + $\xymatrix{\ar@{:>}[r]&}$& \verb"\ar@{:>}[r]"\\ + $\xymatrix{\ar@{->>}[r]&}$& \verb"\ar@{->>}[r]"\\ + $\xymatrix{\ar@{>->}[r]&}$& \verb"\ar@{>->}[r]"\\ + $\xymatrix{\ar@{<->}[r]&}$& \verb"\ar@{<->}[r]"\\ + $\xymatrix{\ar@{-->>}[r]&}$& \verb"\ar@{-->>}[r]"\\ + $\xymatrix{\ar@{>-->}[r]&}$& \verb"\ar@{>-->}[r]"\\ + $\xymatrix{\ar@{<-->}[r]&}$& \verb"\ar@{<-->}[r]"\\ + $\xymatrix{\ar@{|->}[r]&}$& \verb"\ar@{|->}[r]"\\ + $\xymatrix{\ar@{^{(}->}[r]&}$& \verb"\ar@{^{(}->}[r]"\\ + $\xymatrix{\ar@{_{(}->}[r]&}$& \verb"\ar@{_{(}->}[r]"\\ + $\xymatrix{\ar@{=>>}[r]&}$& \verb"\ar@{=>>}[r]"\\ + $\xymatrix{\ar@{<=>}[r]&}$& \verb"\ar@{<=>}[r]"\\ + $\xymatrix{\ar@{:>>}[r]&}$& \verb"\ar@{:>>}[r]"\\ + $\xymatrix{\ar@{<:>}[r]&}$& \verb"\ar@{<:>}[r]"\\ + $\xymatrix{\ar@{-}[r]&}$& \verb"\ar@{-}[r]"\\ + $\xymatrix{\ar@{.}[r]&}$& \verb"\ar@{.}[r]"\\ + $\xymatrix{\ar@{=}[r]&}$& \verb"\ar@{=}[r]"\\ + $\xymatrix{\ar@{}[r]&}$& \verb"\ar@{}[r]"\\[1ex] + \end{tabular} + \caption{Arrow Styles} + \label{tab:ArSty} +\end{table} + +All of these arrows can point in whatever direction you choose; we +used \verb"[r]" in the table just for readability. For an example of +the use of invisible arrows: If you type +\begin{verbatim} +\begin{equation} + \label{diag:CentEq} + \vcenter{ + \xymatrix{ + {A} \ar@{.>}[r] \ar@{.>}[d] \ar@{}[dr]|{=} + & {B} \ar[d]\\ + {C} \ar[r] + & {D} + } + } +\end{equation} +\end{verbatim} +then you'll get +\begin{equation} + \label{diag:CentEq} + \vcenter{ + \xymatrix{ + {A} \ar@{.>}[r] \ar@{.>}[d] \ar@{}[dr]|{=} + & {B} \ar[d]\\ + {C} \ar[r] + & {D} + } + } +\end{equation} +Note that the equals sign is inserted by having it break the middle of +the invisible arrow from the upper left node to the lower right node. + +%-------------------------------------------------------------------- +\subsection{Curved arrows} +\label{sec:arcurve} + +It's possible to have arrows curve, either by specifying the amount +that they curve or by specifying the direction in which they leave +their source and the direction from which they arrive at their +target. + +%-------------------------------------------------------------------- +\subsubsection{Specifying the amount of the curve} + +To have an arrow curve in the up direction (where ``up'' means when +the paper is oriented so that the arrow goes left to right) by a +default amount you follow the \verb"\ar" with \verb"@/^/"; that is, +you type \verb"\ar@/^/[target]". To have it curve in the down +direction by a default amount you follow the \verb"\ar" with +\verb"@/_/"; that is, you type \verb"\ar@/_/[target]" (or, if you want +to label the arrow, \verb"\ar@/_/[target]^{label}"). Thus, if you +type +\begin{verbatim} +\begin{displaymath} + \xymatrix{ + {A} \ar@/^/[drr]^{p} \ar@{.>}[dr]|{\exists!} \ar@/_/[ddr]_{q}\\ + & {B} \ar[r] \ar[d] + & {C} \ar[d]\\ + & {D} \ar[r] + & {E} + } +\end{displaymath} +\end{verbatim} +then you'll get +\begin{displaymath} + \xymatrix{ + {A} \ar@/^/[drr]^{p} \ar@{.>}[dr]|{\exists!} \ar@/_/[ddr]_{q}\\ + & {B} \ar[r] \ar[d] + & {C} \ar[d]\\ + & {D} \ar[r] + & {E} + } +\end{displaymath} +If you'd like to specify the amount of curve, you can specify a +dimension following the \verb"^" or the \verb"_", as in +\verb"\ar@/^1ex/[target]". (Although you can use whatever units you +like for \texttt{dimen} (e.g., inches (\texttt{in}), centimeters +(\texttt{cm}), points (\texttt{pt}), etc.), it's a good idea to +measure vertical distances in \texttt{ex} (roughly the height of an +upper case ``X'') and horizontal distances in \texttt{em} (roughly the +width of an upper case ``M''), so that the distance will be roughly +correct even if you change font sizes.) For example, if you type +\begin{verbatim} +\begin{displaymath} + \xymatrix{ + {A} \ar@/^3ex/[drr]^{p} \ar@{.>}[dr]|{\exists!} + \ar@/_3ex/[ddr]_{q}\\ + & {B} \ar[r] \ar[d] + & {C} \ar[d]\\ + & {D} \ar[r] + & {E} + } +\end{displaymath} +\end{verbatim} +then you'll get +\begin{displaymath} + \xymatrix{ + {A} \ar@/^3ex/[drr]^{p} \ar@{.>}[dr]|{\exists!} + \ar@/_3ex/[ddr]_{q}\\ + & {B} \ar[r] \ar[d] + & {C} \ar[d]\\ + & {D} \ar[r] + & {E} + } +\end{displaymath} +and if you type +\begin{verbatim} +\begin{displaymath} + \xymatrix{ + {A} \ar@{>->}[r]^{i} + & {B} \ar@{->>}[r]^{p} + & {C} \ar@{.>}@/_4ex/[l]_{s} + } +\end{displaymath} +\end{verbatim} +then you'll get +\begin{displaymath} + \xymatrix{ + {A} \ar@{>->}[r]^{i} + & {B} \ar@{->>}[r]^{p} + & {C} \ar@{.>}@/_4ex/[l]_{s} + } +\end{displaymath} + + +%-------------------------------------------------------------------- +\subsubsection{Specifying the start and end directions} +\label{sec:CrvStEd} + +To specify the start and end directions of a curved arrow you type +\verb"\ar@(start,end)[target]" where ``\verb"start"'' is the direction +towards which the arrow begins and ``\verb"end"'' is the direction +from which the arrow ends. For example, if you type +\begin{verbatim} +\begin{displaymath} + \xymatrix{ + {A} \ar[dr]|{p} \ar@(r,u)[dr]^{f} \ar@(d,l)[dr]_{g}\\ + & {B} + } +\end{displaymath} +\end{verbatim} +then you'll get +\begin{displaymath} + \xymatrix{ + {A} \ar[dr]|{p} \ar@(r,u)[dr]^{f} \ar@(d,l)[dr]_{g}\\ + & {B} + } +\end{displaymath} +and if you type +\begin{verbatim} +\begin{displaymath} + \xymatrix{ + {A} \ar@(ur,ul)[rr]^{1_{A}} \ar[r]_{f} + & {B} \ar[r]_{g} \ar@(dr,dl)[rr]_{1_{B}} + & {A} \ar[r]_{f} + & {B} + } +\end{displaymath} +\end{verbatim} +then you'll get +\begin{displaymath} + \xymatrix{ + {A} \ar@(ur,ul)[rr]^{1_{A}} \ar[r]_{f} + & {B} \ar[r]_{g} \ar@(dr,dl)[rr]_{1_{B}} + & {A} \ar[r]_{f} + & {B} + } +\end{displaymath} +Since the current node is denoted \verb"[]" (i.e., a pair of square +brackets with nothing inside), if you type +\begin{verbatim} +\begin{displaymath} + \xymatrix{ + {A} \ar@(ur,dr)[]^{f} + } +\end{displaymath} +\end{verbatim} +then you'll get +\begin{displaymath} + \xymatrix{ + {A} \ar@(ur,dr)[]^{f} + } +\end{displaymath} + +%-------------------------------------------------------------------- +\subsection{Sliding arrows sideways; multiple arrows} +\label{sec:arslide} + +It's possible to slide arrows sideways, so that you can have more than +one straight line arrow between a single pair of nodes. To do this, +you type \verb"\ar@<dimen>" to move the arrow ``upwards'' by +\verb"dimen" (where ``upwards'' means when the paper is held so that +the arrow goes from left to right). (A negative \verb"dimen" will +move the arrow ``downwards''.) Although you can use whatever units +you like for \texttt{dimen} (e.g., inches (\texttt{in}), centimeters +(\texttt{cm}), points (\texttt{pt}), etc.), it's a good idea to +measure vertical distances in \texttt{ex} (roughly the height of an +upper case ``X'') and horizontal distances in \texttt{em} (roughly the +width of an upper case ``M''), so that the distance will be roughly +correct even if you change font sizes. For example, if you type +\begin{verbatim} +\begin{displaymath} + \xymatrix{ + {A} \ar@<1ex>[r] + & {B} \ar[r] + & {C} \ar@<-1ex>[r] + & {D} + } +\end{displaymath} +\end{verbatim} +then you'll get +\begin{displaymath} + \xymatrix{ + {A} \ar@<1ex>[r] + & {B} \ar[r] + & {C} \ar@<-1ex>[r] + & {D} + } +\end{displaymath} +For another example, if you type +\begin{verbatim} +\begin{displaymath} + \xymatrix{ + {\coprod_{i \in I} A_{i}\quad} + \ar@<+.7ex>[r]^-{\phi} \ar@<-.7ex>[r]_-{\psi} + & {\quad\coprod_{i \in I} B_{i}} + } +\end{displaymath} +\end{verbatim} +then you'll get +\begin{displaymath} + \xymatrix{ + {\coprod_{i \in I} A_{i}\quad} + \ar@<+.7ex>[r]^-{\phi} \ar@<-.7ex>[r]_-{\psi} + & {\quad\coprod_{i \in I} B_{i}} + } +\end{displaymath} +It's also possible to slide curved arrows sideways. For example, if +you type +\begin{verbatim} +\begin{displaymath} + \xymatrix{ + {A} \ar@/^ 1ex/[r] \ar@/^ 1ex/@<1ex>[r] + & {B} + } +\end{displaymath} +\end{verbatim} +then you'll get +\begin{displaymath} + \xymatrix{ + {A} \ar@/^ 1ex/[r] \ar@/^ 1ex/@<1ex>[r] + & {B} + } +\end{displaymath} + + +%-------------------------------------------------------------------- +\subsection{Specifying both the source and the target of an arrow} +\label{sec:SrcTrgt} + +Up until now, all of our examples of arrows have gone from the current +node to a node specified in the code for the arrow. It's possible, +however, to specify both the source and the target of an arrow, rather +than letting the source be the current node. This allows you to save +the description of all of the arrows of a diagram until the end. + +To draw an arrow who's source may not be at the current node, you type +\begin{center} + \verb"\ar[source];[target]" +\end{center} +instead of just \verb"\ar[target]". Since the current node is denoted +\verb"[]", typing \verb"\ar[target]" is the same as typing +\verb"\ar[];[target]". + +For example, if you +type +\begin{verbatim} +\begin{displaymath} + \xymatrix{ + {A} + & {B}\\ + {C} + & {D} + \ar^{f}[ul];[u] + \ar_{g}[l];[] + \ar_{h}[ul];[l] + \ar^{k}[u];[] + } +\end{displaymath} +\end{verbatim} +then you'll get +\begin{displaymath} + \xymatrix{ + {A} + & {B}\\ + {C} + & {D} + \ar^{f}[ul];[u] + \ar_{g}[l];[] + \ar_{h}[ul];[l] + \ar^{k}[u];[] + } +\end{displaymath} +Note that when we drew the arrows the current node was $D$, and so, +e.g., the target of the arrow labelled $g$ was specified as \verb"[]" +(which denotes the current node). + +%-------------------------------------------------------------------- +\subsection{Absolute specification of the source and target of an arrow} +\label{sec:AbsDesc} + +Up until now, the target and source (see section~\ref{sec:SrcTrgt}) of +an arrow were always specified relative to the current node (see +section~\ref{sec:basicdiag}). It is possible to give instead an +absolute specification of the target and source of an arrow. + +Each node of a diagram can be specified as +\begin{center} + \verb!"p,q"! +\end{center} +(including the double quote symbols) where \verb"p" is the row number +(counting from the top, where the first row is row number $1$) and +\verb"q" is the column number (counting from the left, where the first +column is column number $1$). For example, if you type +\begin{verbatim} +\begin{displaymath} + \xymatrix{ + {A} \ar^{f}"1,2" \ar_{h}"2,1" + & {B} \ar^{k}"2,2"\\ + {C} \ar_{g}"2,2" + & {D} + } +\end{displaymath} +\end{verbatim} +then you'll get +\begin{displaymath} + \xymatrix{ + {A} \ar^{f}"1,2" \ar_{h}"2,1" + & {B} \ar^{k}"2,2"\\ + {C} \ar_{g}"2,2" + & {D} + } +\end{displaymath} +In that example, each arrow began at the current node. For example, +the arrow labelled $f$ began at the current node $A$ (and so it's +source was not specified) and its target $B$ was specified as +\verb!"1,2"! because it is in the first row, second column. + +As described in section~\ref{sec:SrcTrgt}, you can also specify both +the source and target of an arrow, and this allows you to save the +specification of all the arrows until the end of the diagram. For +example, if you type +\begin{verbatim} +\begin{displaymath} + \xymatrix{ + {A} + & {B} + & {C}\\ + {D} + & {E} + & {F} + \ar_{f} "1,1";"1,2" + \ar_{g} "1,2";"1,3" + \ar@(ur,ul)^{h} "1,1";"1,3" + \ar"1,1";"2,1" + \ar"1,2";"2,2" + \ar"1,3";"2,3" + \ar^{p} "2,1";"2,2" + \ar^{q} "2,2";"2,3" + \ar@(dr,dl)_{r} "2,1";"2,3" + } +\end{displaymath} +\end{verbatim} +then you'll get +\begin{displaymath} + \xymatrix{ + {A} + & {B} + & {C}\\ + {D} + & {E} + & {F} + \ar_{f} "1,1";"1,2" + \ar_{g} "1,2";"1,3" + \ar@(ur,ul)^{h} "1,1";"1,3" + \ar"1,1";"2,1" + \ar"1,2";"2,2" + \ar"1,3";"2,3" + \ar^{p} "2,1";"2,2" + \ar^{q} "2,2";"2,3" + \ar@(dr,dl)_{r} "2,1";"2,3" + } +\end{displaymath} +(For a description of the curved arrows, see +section~\ref{sec:CrvStEd}.) Note that, e.g., the arrow labelled $f$ +is specified as +\begin{center} + \verb!\ar_{f} "1,1";"1,2"! +\end{center} +because it starts at $A$, which is in row $1$ column $1$, and goes to +$B$, which is in row $1$ column $2$. + +%-------------------------------------------------------------------- +\subsection{Nodes off of the grid} +\label{sec:NdOffGrd} + +It's possible to place a node at an arbitrary point in the diagram +without affecting the positioning of the other nodes. You can also +assign a \emph{name} to the node that you can use later to draw arrows +to or from that node. + +You place a node off the grid using the \emph{excursion} commands +\begin{center} + \verb"\save"\qquad and\qquad\verb"\restore" +\end{center} +In between those commands you can put commands to +\begin{itemize} +\item move from the current node using a displacement vector + ``\verb"[]+<Dx,Dy>"'' (where \verb"Dx" is the horizontal + displacement and \verb"Dy" is the vertical displacement), +\item typeset a node there using ``\verb"*+{stuff}"'', +\item optionally name that node using ``\verb!*+{stuff}="name"!'', and +\item optionally draw arrows from whatever you've typeset there to + other nodes in the diagram. If you've named the new node, you can + specify the arrows later on, and the arrows can either start from + this node or go to this node (or both, as in the second example in + this section). +\end{itemize} +Although you can use whatever units you like for the displacements +(e.g., inches (\texttt{in}), centimeters (\texttt{cm}), points +(\texttt{pt}), etc.), it's a good idea to measure vertical distances +in \texttt{ex} (roughly the height of an upper case ``X'') and +horizontal distances in \texttt{em} (roughly the width of an upper +case ``M''), so that the displacement will be roughly correct even if +you change font sizes. + +For example, if you type +\begin{verbatim} +\begin{displaymath} + \xymatrix{ + {A} \ar[r] \ar[d] + & {B} \ar[d] + \save []+<3em, 3em>*+{H} + \ar@(l,ur)_{p}[l] \ar@(d,ur)^{r}[d] \ar_{q}[] + \restore + \\ + {C} \ar[r] + & {D} + } +\end{displaymath} +\end{verbatim} +then you'll get +\begin{displaymath} + \xymatrix{ + {A} \ar[r] \ar[d] + & {B} \ar[d] + \save []+<3em, 3em>*+{H} + \ar@(l,ur)_{p}[l] \ar@(d,ur)^{r}[d] \ar_{q}[] + \restore + \\ + {C} \ar[r] + & {D} + } +\end{displaymath} +We created the node $H$ off of the grid by starting at the node $B$ +(in the first row, second column) and moving \verb"3em" to the right +and \verb"3em" up. We then drew three arrows starting at that node: +\begin{itemize} +\item The arrow $p$ goes to the node $A$, and so its target is + specified as \verb"[l]" since that is one node to the left of the + node $B$ (which is the current node from which we were on an + excursion), +\item the arrow $q$ goes to the node $B$, and so its target is + specified as \verb"[]" (a pair of square brackets with nothing + inside) since that is the current node, and +\item the arrow $r$ goes to the node $D$, and so its target is + specified as \verb"[d]" since it is one node below the current + node. +\end{itemize} + +For another example, if you type +\begin{verbatim} +\begin{displaymath} + \xymatrix{ + {A} \ar[r] \ar[d] + & {B} \ar[d]\\ + {C} \ar[r] + & {D} + \save []+<4em,1em>*+{H}="firstthing" \restore + \save []+<-1em,-3em>*+{K}="secondthing" \restore + \ar"firstthing";"1,2"_{p} + \ar"firstthing";"2,2"_{q} + \ar@(d,r)"firstthing";"secondthing"^{r} + \ar"secondthing";"2,2"_{s} + \ar"secondthing";"2,1"^{t} + } +\end{displaymath} +\end{verbatim} +then you'll get +\begin{displaymath} + \xymatrix{ + {A} \ar[r] \ar[d] + & {B} \ar[d]\\ + {C} \ar[r] + & {D} + \save []+<4em,1em>*+{H}="firstthing" \restore + \save []+<-1em,-3em>*+{K}="secondthing" \restore + \ar"firstthing";"1,2"_{p} + \ar"firstthing";"2,2"_{q} + \ar@(d,r)"firstthing";"secondthing"^{r} + \ar"secondthing";"2,2"_{s} + \ar"secondthing";"2,1"^{t} + } +\end{displaymath} +In this diagram, the only nodes on the grid are $A$, $B$, $C$, and +$D$. After creating the nodes and arrows on the grid, we created the +nodes $H$ and $K$ and the arrows that go to and from these nodes. +\begin{itemize} +\item We created each of the nodes $H$ and $K$ with an excursion from + the node $D$, giving the name \texttt{firstthing} to the node $H$ + and the name \texttt{secondthing} to the node \verb"K". +\item Each of the arrows to or from the nodes $H$ and $K$ specify both + their source and their target (a semicolon separates the source from + the target; see section~\ref{sec:SrcTrgt}). +\item Each of the arrows from either $H$ or $K$ to one of the nodes on + the grid describes that node on the grid absolutely (see + section~\ref{sec:AbsDesc}). +\end{itemize} +The arrow from $H$ to $K$ begins \verb"\ar@(d,r)" because it is a +curved arrow (see section~\ref{sec:CrvStEd}). Since that arrow goes +from the node $H$ (named \texttt{firsthing}) to the node $K$ (named +\texttt{secondthing}), the arrow is specified as +\begin{center} + \verb!\ar@(d,r)"firstthing";"secondthing"! +\end{center} +Finally, that arrow is labelled $r$, and so the complete specification +is +\begin{center} + \verb!\ar@(d,r)"firstthing";"secondthing"^{r}! +\end{center} + +For another example, we show how to annotate ``diagram chase'' proofs +in homological algebra. If you type +\begin{verbatim} +\begin{displaymath} + \xymatrix{ + {A} \ar[r]^{\alpha} \ar[d]_{f} + & {B} \ar[r]^{\beta} \ar[d]_{g} + % Add the element b of B: + \save []+<2ex,3ex>*+{b}="b"\restore + & {C} \ar[r]^{\gamma} \ar[d]_{h} + % Add the element c of C: + \save []+<0ex,3ex>*+{c}="c"\restore + & {D} \ar[r]^{\delta} \ar[d]_{j} + % Add the element d of D: + \save []+<2ex,3ex>*+{d}="d"\restore + & {E} \ar[d]_{k}\\ + {A'} \ar[r]^{\alpha'} + & {B'} \ar[r]^{\beta'} + % Add the element b' of B': + \save []+<2ex,-5ex>*+{b'}="bprime"\restore + & {C'} \ar[r]^{\gamma'} + % Add the element c' of C': + \save []+<0ex,-3ex>*+{c'}="cprime"\restore + % Add the element c'-gamma(c) of C': + \save []+<1.5ex,-5ex>*+{(c'-\gamma(c))}="cprimeminus"\restore + & {D'} \ar[r]^{\delta'} + % Add the element \gamma'(c') of D': + \save []+<2ex,-3ex>*+{\gamma'(c')}="gammacprime"\restore + & {E'} + % Add the arrows connecting the elements: + \ar@{|->}"b";"bprime" + \ar@{|->}"c";"d" + \ar@{|->}"d";"gammacprime" + \ar@{|->}"cprime";"gammacprime" + \ar@{|->}"bprime";"cprimeminus" + } +\end{displaymath} +\end{verbatim} +then you'll get the following diagram, which that might be used in +part of the proof of the ``five lemma''. +\begin{displaymath} + \xymatrix{ + {A} \ar[r]^{\alpha} \ar[d]_{f} + & {B} \ar[r]^{\beta} \ar[d]_{g} + % Add the element b of B: + \save []+<2ex,3ex>*+{b}="b"\restore + & {C} \ar[r]^{\gamma} \ar[d]_{h} + % Add the element c of C: + \save []+<0ex,3ex>*+{c}="c"\restore + & {D} \ar[r]^{\delta} \ar[d]_{j} + % Add the element d of D: + \save []+<2ex,3ex>*+{d}="d"\restore + & {E} \ar[d]_{k}\\ + {A'} \ar[r]^{\alpha'} + & {B'} \ar[r]^{\beta'} + % Add the element b' of B': + \save []+<2ex,-5ex>*+{b'}="bprime"\restore + & {C'} \ar[r]^{\gamma'} + % Add the element c' of C': + \save []+<0ex,-3ex>*+{c'}="cprime"\restore + % Add the element c'-gamma(c) of C': + \save []+<1.5ex,-5ex>*+{(c'-\gamma(c))}="cprimeminus"\restore + & {D'} \ar[r]^{\delta'} + % Add the element \gamma'(c') of D': + \save []+<2ex,-3ex>*+{\gamma'(c')}="gammacprime"\restore + & {E'} + % Add the arrows connecting the elements: + \ar@{|->}"b";"bprime" + \ar@{|->}"c";"d" + \ar@{|->}"d";"gammacprime" + \ar@{|->}"cprime";"gammacprime" + \ar@{|->}"bprime";"cprimeminus" + } +\end{displaymath} + +%-------------------------------------------------------------------- +\subsection{Text objects} +\label{sec:TextObj} + +You can insert a text object into a diagram by typing +\begin{center} + \verb"*\txt{Some text}"\quad or\quad \verb"*\txt<width>{Some text}" +\end{center} +In the first form you create linebreaks with a double backslash +``\verb"\\"'' and in the second form the lines are broken +automatically. Text objects by default don't have any blank space +around them, but you can add a bit of space by typing them as +\verb"*+\txt{Some text}", or even more space by typing them as +\verb"*++\txt{Some text}". + +For example, if you type +\begin{verbatim} +\begin{displaymath} + \xymatrix{ + *+\txt{Roses are red,\\ Violets are blue.\\ + This is a contrived example,\\ And the rhyme is bad too.} + \ar@{=>}[r] + & *\txt<2in>{Four score and seven years ago our fathers brought + forth on this continent a new nation, conceived in liberty, + and dedicated to the proposition that all men are created + equal.} + } +\end{displaymath} +\end{verbatim} +then you'll get +\begin{displaymath} + \xymatrix{ + *+\txt{Roses are red,\\ Violets are blue.\\ + This is a contrived example,\\ And the rhyme is bad too.} + \ar@{=>}[r] + & *\txt<2in>{Four score and seven years ago our fathers brought + forth on this continent a new nation, conceived in liberty, + and dedicated to the proposition that all men are created + equal.} + } +\end{displaymath} +We typed that first one as \verb"*+\txt" so that the arrow wouldn't +start too close to the text. + +You can also shift a text object to the left (so that arrows to or +from the object will go to its right end instead of its center) by +typing it as +% +\verb"*+[l]\txt{Some text}" or to the right (so that arrows to or from +the object will go to its left end instead of its center) by typing it +as +% +\verb"*+[r]\txt{Some text}" (see section~\ref{sec:ShiftSide}). For +example, if you type +\begin{verbatim} +\begin{displaymath} + \xymatrix{ + *+[l]\txt{Interior} \ar[r] \ar[d] + & *+[r]\txt{Exterior} \ar[d]\\ + {A} \ar[r] + & {B} + } +\end{displaymath} +\end{verbatim} +then you'll get +\begin{displaymath} + \xymatrix{ + *+[l]\txt{Interior} \ar[r] \ar[d] + & *+[r]\txt{Exterior} \ar[d]\\ + {A} \ar[r] + & {B} + } +\end{displaymath} + +Text objects are mostly used for adding annotations to a diagram (see +section~\ref{sec:Drop}). + +%-------------------------------------------------------------------- +\subsection{Arrows off of the grid} +\label{sec:OffGrid} + +It's possible to draw arrows that begin or end at points other than +nodes. To do this, you specify the point by choosing a node and then +adding a displacement vector ``\verb"+<Dx,Dy>"'' from that node (where +\verb"Dx" is the horizontal displacement and \verb"Dy" is the vertical +displacement). (Although you can use whatever units you like for the +displacements (e.g., inches (\texttt{in}), centimeters (\texttt{cm}), +points (\texttt{pt}), etc.), it's a good idea to measure vertical +distances in \texttt{ex} (roughly the height of an upper case ``X'') +and horizontal distances in \texttt{em} (roughly the width of an upper +case ``M''), so that the displacement will be roughly correct even if +you change font sizes.) For example, if you type +\begin{verbatim} +\begin{displaymath} + \xymatrix{ + {A} \ar[d]+<4em,0ex>\\ + {B} + } +\end{displaymath} +\end{verbatim} +then you'll get +\begin{displaymath} + \xymatrix{ + {A} \ar[d]+<4em,0ex>\\ + {B} + } +\end{displaymath} +since the arrow is pointing to the spot 4em to the right of the $B$. + +For another example, if you type +\begin{verbatim} +\begin{displaymath} + \xymatrix{ + {A} + & {B}\\ + {C} + & {D} + \ar[ul]+<-2em,0ex>;[]+<2em,0ex> + } +\end{displaymath} +\end{verbatim} +then you'll get +\begin{displaymath} + \xymatrix{ + {A} + & {B}\\ + {C} + & {D} + \ar[ul]+<-2em,0ex>;[]+<2em,0ex> + } +\end{displaymath} +(see section~\ref{sec:SrcTrgt}) because we specified the source as +being \verb"[ul]+<-2em,0ex>", i.e., 2em to the left of the node that's +one up and one to the left of the current node ($D$) and the target as +being \verb"[]+<2em,0ex>", i.e., 2em to the right of the current node +($D$). + +For an example that combines displacements of source and target along +with curving arrows and labelled arrows: if you type +\begin{verbatim} +\begin{displaymath} + \xymatrix{ + {A} \ar[r]+<0em,-3ex>^{f} + & {B} \ar@(ur,ur)[d]+<2em,0ex>^{g}\\ + {C} + & {D} \ar@/^ 2ex/[l];[]^{h} + } +\end{displaymath} +\end{verbatim} +then you'll get +\begin{displaymath} + \xymatrix{ + {A} \ar[r]+<0em,-3ex>^{f} + & {B} \ar@(ur,ur)[d]+<2em,0ex>^{g}\\ + {C} + & {D} \ar@/^ 2ex/[l];[]^{h} + } +\end{displaymath} + +Realistic examples of arrows off of the grid can be found in +section~\ref{sec:Drop}, where we show how to drop objects into a +diagram at either the source or the target of an arrow. + +%-------------------------------------------------------------------- +\subsection{Dropping objects into a diagram; annotations} +\label{sec:Drop} + +You can drop an object at an arbitrary point of a diagram (i.e., not +necessarily at a node) by drawing an arrow to or from that point (see +section~\ref{sec:OffGrid}) and dropping the object at one of the ends +of the arrow. The object can be either mathematics or a text object +(see section~\ref{sec:TextObj}). + +For example, if you type +\begin{verbatim} +\begin{displaymath} + \xymatrix{ + {A} \ar[r] \ar[d] + & {B} \ar[d] + \ar[]+<5em,-5ex>*+\txt{This space\\is compact.};[]\\ + {C} \ar[r] + & {D} + } +\end{displaymath} +\end{verbatim} +then you'll get +\begin{displaymath} + \xymatrix{ + {A} \ar[r] \ar[d] + & {B} \ar[d] + \ar[]+<5em,-5ex>*+\txt{This space\\is compact.};[]\\ + {C} \ar[r] + & {D} + } +\end{displaymath} +Note that the text and the arrow from it was typed by first creating +the arrow +\begin{center} + \verb"\ar[]+<5em,-5ex>;[]" +\end{center} +whose source is displaced from the current node (see +sections~\ref{sec:SrcTrgt} and \ref{sec:OffGrid}) and whose target is +the current node, and then dropping the text object (see +section~\ref{sec:TextObj}) at the source by inserting +\begin{center} + \verb"*+\txt{This space\\is compact.}" +\end{center} +immediately after the specification of the source. + +Note that the arrows to or from a text object by default go to its +center, and if a text object is dropped at a specified point by +default it's the center of the text object that lands at that point. +Thus, if you're typing a wide text object, you should be sure either +to leave enough room so that it doesn't overlap other parts of the +diagram or to shift the text object sideways (as in +section~\ref{sec:ShiftSide}). For example, if you type +\begin{verbatim} +\begin{displaymath} + \xymatrix{ + {A} \ar[r] \ar[d] + & {B} \ar[d] + \ar[]+<5em,-5ex>*+\txt{This topological space is compact.};[]\\ + {C} \ar[r] + & {D} + } +\end{displaymath} +\end{verbatim} +then you'll get +\begin{displaymath} + \xymatrix{ + {A} \ar[r] \ar[d] + & {B} \ar[d] + \ar[]+<5em,-5ex>*+\txt{This topological space is compact.};[]\\ + {C} \ar[r] + & {D} + } +\end{displaymath} +but if you type +\begin{verbatim} +\begin{displaymath} + \xymatrix{ + {A} \ar[r] \ar[d] + & {B} \ar[d] + \ar[]+<10em,-5ex>*+\txt{This topological space is compact.};[]\\ + {C} \ar[r] + & {D} + } +\end{displaymath} +\end{verbatim} +(in which we increased the horizontal displacement to 10em) then +you'll get +\begin{displaymath} + \xymatrix{ + {A} \ar[r] \ar[d] + & {B} \ar[d] + \ar[]+<10em,-5ex>*+\txt{This topological space is compact.};[]\\ + {C} \ar[r] + & {D} + } +\end{displaymath} +and if you type +\begin{verbatim} +\begin{displaymath} + \xymatrix{ + {A} \ar[r] \ar[d] + & {B} \ar[d] + \ar[]+<5em,-5ex>*+[r]\txt{This topological space is compact.};[]\\ + {C} \ar[r] + & {D} + } +\end{displaymath} +\end{verbatim} +(in which we typed +\begin{center} + \verb"*+[r]\txt{This topological space is compact.}" +\end{center} +to create the text object, i.e., we added ``\verb"[r]"'' to shift the +text object to the right; see section~\ref{sec:ShiftSide}) then you'll +get +\begin{displaymath} + \xymatrix{ + {A} \ar[r] \ar[d] + & {B} \ar[d] + \ar[]+<5em,-5ex>*+[r]\txt{This topological space is compact.};[]\\ + {C} \ar[r] + & {D} + } +\end{displaymath} + +If you want to drop an object onto a spot other than at a node without +printing an arrow to or from that spot, you can draw an invisible +arrow going to that spot and drop the object at the end of the +invisible arrow. For example, if you type +\begin{verbatim} +\begin{displaymath} + \xymatrix{ + {A} \ar[r] \ar[d]_{f} + & {B} \ar[d]^{g} + \ar@{}[]+<8em,-4ex>*+\txt{Both $f$ and $g$\\are fibrations.}\\ + {C} \ar[r] + & {D} + } +\end{displaymath} +\end{verbatim} +then you'll get +\begin{displaymath} + \xymatrix{ + {A} \ar[r] \ar[d]_{f} + & {B} \ar[d]^{g} + \ar@{}[]+<8em,-4ex>*+\txt{Both $f$ and $g$\\are fibrations.}\\ + {C} \ar[r] + & {D} + } +\end{displaymath} +The arrow to the text object is invisible because we typed it starting +with \verb"\ar@{}" (see section~\ref{sec:arstyle} and +Diagram~\ref{diag:CentEq}). After that, we typed +\begin{center} + \verb"[]+<8em,-4ex>*+\txt{Both $f$ and $g$\\are fibrations.}" +\end{center} +so that the arrow would go to the point 8em to the right and 4ex below +the current node, and we dropped the text object at that point. + + +%-------------------------------------------------------------------- +%-------------------------------------------------------------------- +\section{Including graphics} +\label{sec:graphics} + +If you have graphics files that you want to include in your document, +then you should load the \verb"graphicx" package by putting the +command +\begin{center} +\verb"\usepackage{graphicx}" +\end{center} +after your \verb"\documentclass" command. (Note: The spelling +\verb"graphicx" is correct; the package graphicx.sty is the updated +version of the older package graphics.sty.) You can then include +graphics using the \verb"\includegraphics" command. + +The standard practice is to include graphics inside of a \verb"figure" +environment, so that it can float to the next page if there isn't +enough room for it on the current page. This also allows you to give +a caption (printed below the graphics) and a label (for use in a +\verb"\ref" command). Thus, if you want to include the contents of +\verb"mygraphic.eps", you might type +\begin{verbatim} +\begin{figure}[h] + \centering + \includegraphics{mygraphics.eps} + \caption{A pretty picture} + \label{fig:pretty} +\end{figure} +\end{verbatim} +and you can then refer to it as \verb"figure~\ref{fig:pretty}". (The +\verb"\centering" command centers the graphics in the figure; this is +preferable to using a \verb"center" environment, which would add +additional vertical space.) It's important to note that the +\verb"\label" command must come \emph{after} the \verb"\caption" +command, since it's the \verb"\caption" command that creates the +number that the \verb"\label" command labels. You can also put the +\verb"\label" command \emph{inside} the caption, as in +\begin{center} +\verb"\caption{A pretty picture\label{fig:pretty}}" +\end{center} +and some people find that this helps prevent errors. + + +%-------------------------------------------------------------------- +\subsection{Graphic formats: Postscript or pdf} + +One problem to watch out for is that different versions of \LaTeX{} +require different types of graphics files: +\begin{itemize} +\item Standard \verb"latex" (which produces dvi files) requires + encapsulationed postscript graphics files, while +\item \verb"pdflatex" (which directly produces pdf files) requires pdf + graphics files. +\end{itemize} +This can be confusing, because some installations of \LaTeX{} give you +a \verb"latex" command that is actually running \verb"pdflatex". In +particular, the standard installation of \TeX Shop for Mac OS X gives +you a \verb"latex" command that actually runs \verb"pdflatex" and +produces a pdf file. \TeX Shop can be configured to run standard +\verb"latex" to produce dvi files and then convert them to pdf; for +this, see the list of frequently asked questions at +\begin{center} + \url{http://www.ams.org/authors/author-faq.html} +\end{center} +and search that page for ``texshop''. + +On most systems, if you need to include encapsulated postscript +graphics and produce a pdf file, you can use plain old \verb"latex" to +produce a dvi file and then use \verb"dvipdf" to create the pdf file. +Another option is to use the \verb"epstopdf" program to create a +postscript file from your eps file. + + +%--------------------------------------------------------------------- +%--------------------------------------------------------------------- +\section{Macro definitions, a.k.a.\ \texttt{\bs newcommand}} +\label{sec:definitions} + +\LaTeX{} allows you to use the same \verb"\def" command that you use +in plain \TeX, but it's considered bad style. Instead, \LaTeX{} has +the \verb"\newcommand" and \verb"\renewcommand" commands, which do a +little error checking for you. In plain \TeX, you might use the +command +\begin{center} + \verb"\def\tensor{\otimes}" +\end{center} +but in \LaTeX{} the preferred form is +\begin{center} + \verb"\newcommand{\tensor}{\otimes}" +\end{center} +The advantage of this is that \LaTeX{} will check to see if there +already is a command with the name \verb"\tensor" and give you an +error message if there is. If you know that there is a previous +definition of \verb"\tensor" but you \emph{want} to override it, +then you use the command +\begin{center} + \verb"\renewcommand{\tensor}{\otimes}" +\end{center} + +If you want to use macros with replaceable parameters, both +\verb"\newcommand" and \verb"\renewcommand" allow this. For the +equivalent of the plain \TeX{} command +\begin{center} + \verb"\def\pushout#1#2#3{#1\cup_{#2}#3}" +\end{center} +you use the \LaTeX{} command +\begin{center} + \verb"\newcommand{\pushout}[3]{#1\cup_{#2}#3}" +\end{center} +i.e., the command name is enclosed in braces, and the number of +parameters is enclosed in square brackets. + + +%--------------------------------------------------------------------- +%--------------------------------------------------------------------- +\section{Lists: \texttt{itemize, enumerate, and description}} + +There are three list making environments: +\begin{itemize} +\item \texttt{itemize}, +\item \texttt{enumerate}, and +\item \texttt{description}. +\end{itemize} +The \texttt{itemize} environment just lists the items with a marker in +front of each one. If you type +\begin{verbatim} +\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} +\end{verbatim} +then you'll get +\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} + +The \texttt{enumerate} environment looks the same, except that the +items in the list are numbered. If you type +\begin{verbatim} +\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} +\end{verbatim} +then you'll get +\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} + +The \texttt{description} environment requires an argument for each +\verb"\item" command, which will be printed at the beginning of the +item. If you type +\begin{verbatim} +\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} +\end{verbatim} +you'll get +\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} + +These environments can be inserted within each other, and the +\verb"enumerate" environment keeps track of what level it's at, and +numbers its items accordingly. If you type +\begin{verbatim} +\begin{enumerate} +\item I went to the dry cleaners. +\item I went to the supermarket. I bought + \begin{enumerate} + \item bread, + \item cheese, and + \item Tabasco sauce. + \end{enumerate} +\item I went to the bank. +\end{enumerate} +\end{verbatim} +you'll get +\begin{enumerate} +\item I went to the dry cleaners. +\item I went to the supermarket. I bought + \begin{enumerate} + \item bread, + \item cheese, and + \item Tabasco sauce. + \end{enumerate} +\item I went to the bank. +\end{enumerate} + +%-------------------------------------------------------------------- + +\subsection{Referring to enumerated items by number} +\label{sec:enumref} + +If you want to refer to an item in an enumerated list by item number, +then you need to label the item using the \verb"\label" command and +then refer to it using the \verb"\ref" command, just as you do for +sections, subsections, theorems, etc.\ (see +section~\ref{sec:xreferences}). For example, if you type +\begin{verbatim} +\begin{enumerate} +\item \label{step:trans} Put the transmission into drive. +\item \label{step:brake} Release the parking brake. +\item \label{step:move} Start moving. +\end{enumerate} +You must complete steps \ref{step:trans} and \ref{step:brake} +before beginning step~\ref{step:move}. +\end{verbatim} +then you'll get +\begin{enumerate} +\item \label{step:trans} Put the transmission into drive. +\item \label{step:brake} Release the parking brake. +\item \label{step:move} Start moving. +\end{enumerate} +You must complete steps \ref{step:trans} and \ref{step:brake} before +beginning step~\ref{step:move}. + +%--------------------------------------------------------------------- +%--------------------------------------------------------------------- +\section{The bibliography} +\label{sec:bibliography} + +The recommended way to create a bibliography is to use the +\texttt{amsrefs} package (see section~\ref{sec:amsrefs}). This makes +it simple to type the bibliography items and have them correctly +formatted and automatically numbered, and makes it possible to change +the style of the bibliography without retyping the items. At the same +time, it allows you to preserve the structure of the information +contained in the items, and (optionally) to create a database of +possible references that can be reused in other documents. + +The \texttt{amsrefs} package is fairly new. The classical method of +creating a bibliography from a database of possible references uses +Bib\TeX{}, which is a separate program that must be run in between the +runs of \LaTeX. If you already have one or more BiB\TeX{} databases, +\texttt{amsrefs} can make use of them through a special Bib\TeX{} +style file (see section~\ref{sec:bibtex}). + +If for some reason you want to avoid the use of \texttt{amsrefs} and +of Bib\TeX, you can type and format the bibliography items any way you +choose by creating a \texttt{thebibliography} environment (see +section~\ref{sec:thebibliography}). + + + +%-------------------------------------------------------------------- +\subsection{Using \texttt{amsrefs}} +\label{sec:amsrefs} + +To use \texttt{amsrefs}, you load it by putting the command +\begin{center} + \verb"\usepackage[lite]{amsrefs}" +\end{center} +into the preamble of your document, i.e., after the +\verb"\documentclass" command and before the \verb"\begin{document}" +command. You can then +\begin{enumerate} +\item begin the bibliography with the commands +\begin{verbatim} +\begin{bibdiv} + \begin{biblist} +\end{verbatim} +\item define the bibliography items using a \verb"\bib" command for + each item (see section~\ref{sec:bib}), and then +\item end the bibliography with the commands +\begin{verbatim} + \end{biblist} +\end{bibdiv} +\end{verbatim} +\end{enumerate} +The reason there are two different environments (the outer environment +\texttt{bibdiv} containing the inner environment \texttt{biblist}) is +that the \texttt{bibdiv} environment produces the chapter or section +heading for the bibliography (depending on what's appropriate for the +type of your document) and the \texttt{biblist} environment produces +the actual list of references. You can also type material in between +the \verb"\begin{bibdiv}" and \verb"begin{biblist}" commands and it +will be printed in between the heading for the list and the actual +list. + +%-------------------------------------------------------------------- +\subsection{The \texttt{\bs bib} command} +\label{sec:bib} + +The information for each bibliography item inside the \texttt{bibdiv} +environment (see section~\ref{sec:amsrefs}) is entered using a +\verb"\bib" command. The format of a \verb"\bib" command is +\begin{verbatim} +\bib{ReferenceKey}{ReferenceType}{ + comma separated list of keyword={value} statements +} +\end{verbatim} +where \texttt{ReferenceKey} is the key that will be used to refer to +the item with a \verb"\cite" command (see +section~\ref{sec:bibreferences}) and \texttt{ReferenceType} is either +\begin{quote} + \texttt{article}, \texttt{book}, \texttt{misc}, \texttt{report}, or + \texttt{thesis}. +\end{quote} +For example, the bibliography of these notes contains the following +\verb"\bib" commands: +\begin{verbatim} +\bib{yellowmonster}{book}{ + author={Bousfield, A.K.}, + author={Kan, D.M.}, + title={Homotopy Limits, Completions and Localizations}, + date={1972}, + series={Lecture Notes in Mathematics}, + volume={304}, + publisher={Springer-Verlag}, + address={Berlin-New York} +} + +\bib{quil:rht}{article}{ + author={Quillen, Daniel G.}, + title={Rational Homotopy Theory}, + journal={Ann. of Math. (2)}, + volume={90}, + date={1969}, + pages={205--295} +} +\end{verbatim} +If those \verb"\bib" commands are in your \texttt{biblist} +environment, you can type +\begin{center} + \verb"see \cite{yellowmonster} and \cite{quil:rht}" +\end{center} +and it will be typeset as ``see \cite{yellowmonster} and +\cite{quil:rht}''. + +Some of the rules governing the \verb"\bib" command are: +\begin{itemize} +\item The keywords must all be typed in lower case. (This is + different from in Bib\TeX{} databases, in which the case of field + names is ignored.) +\item The value in each ``\verb"keyword={value}"'' statement must + always be enclosed in braces. (This is different from in Bib\TeX{} + databases, in which the braces can sometimes be omitted.) +\item Author names must be typed in the form ``von Last, First, Jr.'', + as in ``\verb"author={Jones, John Paul}"'', or + ``\verb"author={van Beethoven, Ludwig}"'', or + ``\verb"author={Ford, Henry, Jr.}"''. This ensures there won't be + errors in reversing the first and last names, or when + \texttt{amsrefs} replaces the first and middle names with initials + (when the \texttt{initials} option is used; see + section~\ref{sec:refoptions}), or when \texttt{amsrefs} creates a + label based on the last name (when the \texttt{alphabetic} option is + used; see section~\ref{sec:refoptions}). +\item Multiple authors must each be listed in a separate \verb"author" + field. +\item The capitalization in the title should be exactly as you want it + to appear in the bibliography. (This is different from in Bib\TeX{} + databases, in which capitalization is often changed to fit a chosen + style.) +\item The date must be written in the form \verb"date={1776}", or + \verb"date={1776-07}", or \verb"date={1776-07-04}". +\end{itemize} +The full list of simple fields (i.e., fields that can appear at most +once) is +\begin{quote} + \texttt{address}, \texttt{booktitle}, \texttt{date}, + \texttt{edition}, \texttt{eprint}, \texttt{hyphenation}, + \texttt{journal}, \texttt{label}, \texttt{language}, \texttt{note}, + \texttt{number}, \texttt{organization}, \texttt{pages}, + \texttt{part}, \texttt{publisher}, \texttt{series}, \texttt{status}, + \texttt{subtitle}, \texttt{title}, \texttt{type}, \texttt{volume}, + and \texttt{xref} +\end{quote} +The full list of repeatable fields is +\begin{quote} + \texttt{author}, \texttt{editor}, \texttt{translator}, + \texttt{isbn}, \texttt{issn}, and \texttt{review}. +\end{quote} +The full list of compound fields (for which the value of each is a +comma separated list of \verb"keyword={value}" statements) is +\begin{quote} + \texttt{book}, \texttt{conference}, \texttt{contribution}, + \texttt{partial}, \texttt{reprint}, and \texttt{translation}. +\end{quote} +A description of the less obvious ones can be found in +\cite[section~5.2]{amsrefsguide}. + +%-------------------------------------------------------------------- +\subsection{Obtaining bibliographic information from MathSciNet} +\label{sec:mathscinet} + +If you have access to MathSciNet (at +\url{http://www.ams.org/mathscinet}), then you can obtain a completely +filled out \verb"\bib" command (see section~\ref{sec:bib}) for any of +the publications listed there. To do this: +\begin{itemize} +\item Use MathSciNet to find the Mathematical Reviews review of the + publication. +\item Look near the upper left corner of the page for a pulldown menu + titled ``Select Alternative Format''. +\item Select ``AMSRefs'' from that menu; you'll get a new page showing + the \verb"\bib" command for the publication. +\item Copy that \verb"\bib" command and paste it into your \LaTeX{} + file. +\end{itemize} + + +%-------------------------------------------------------------------- +\subsection{Using a database of possible references} +\label{sec:refbase} + +If your list of \verb"\bib" commands (see section~\ref{sec:bib}) grows +so long that you don't want to include it in your \LaTeX{} file, or if +you want to reuse a collection of \verb"\bib" commands from other +papers, you can put all of your \verb"\bib" commands into a file and +have \texttt{amsrefs} extract only the ones used in your current +paper. To do this, you create a file whose name ends in \verb".ltb", +for example: \verb"myrefs.ltb", and put all of your \verb"\bib" +commands into that file. In such a file, it's important that each +\verb"\bib" command begins on a new line, and that that line contains +the first two arguments and the following open brace, as in +\begin{center} + \verb"\bib{ReferenceKey}{ReferenceType}{" +\end{center} +You then delete all of the \verb"\bib" commands from your \LaTeX{} +file and replace them with the single line +\begin{center} + \verb"\bibselect{myrefs}" +\end{center} +and \texttt{amsrefs} will automatically read \verb"myrefs.ltb" and +extract only those items that are cited in the current paper. Thus, +if you have the \verb"\bib" commands for all of your possible +references in the file \verb"myrefs.ltb", and you've loaded +\texttt{amsrefs} with the command \verb"\usepackage[lite]{amsrefs}" in +your preamble (see section~\ref{sec:amsrefs}), then you would create +the bibliography with the lines +\begin{verbatim} +\begin{bibdiv} + \begin{biblist} + \bibselect{myrefs} + \end{biblist} +\end{bibdiv} +\end{verbatim} +If your \LaTeX{} file contains the above lines and your file is named +\verb"mypaper.tex", then \LaTeX{} will create the file +\verb"mypaper.bbl" which will contain the \verb"\bib" commands for +only those references cited in your paper, and \verb"mypaper.bbl" will +automatically be read and used in your \LaTeX{} file. + +If your \verb"\bib" commands are spread over several \verb".ltb" +files, you can either list them all, separated by commas, in the +argument of the \verb"\bibselect" command, as in +\begin{center} + \verb"\bibselect{myfirstrefs,mysecondrefs}" +\end{center} +or just use multiple \verb"\bibselect" commands, as in +\begin{center} + \begin{tabular}{l} + \verb"\bibselect{myfirstrefs}"\\ + \verb"\bibselect{mysecondrefs}" + \end{tabular} +\end{center} + +As described above, a \verb"\bibselect" command uses only the +references actually cited in your document. To list \emph{all} the +references in an \verb".ltb" file, whether or not they're cited in +your document, use the command +\begin{center} + \verb"\bibselect*{myrefs}" +\end{center} + +%-------------------------------------------------------------------- +\subsection{Using \texttt{amsrefs} with Bib\TeX} +\label{sec:bibtex} + +If you already have a Bib\TeX{} database of possible references, you +can use that by combining Bib\TeX{} with \texttt{amsrefs}. If your +references are in the Bib\TeX{} file \verb"myrefs.bib", then you would +load the \texttt{amsrefs} package by putting the command +\verb"\usepackage[lite]{amsrefs}" in your preamble (in the same way +that you would load it if you were using \texttt{amsrefs} without +Bib\TeX; see section~\ref{sec:amsrefs}) and put the single line +\begin{center} + \verb"\bibliography{myrefs}" +\end{center} +where you want the bibliography to appear. (That is, you don't create +the \texttt{bibdiv} or \texttt{biblist} environments.) You then run +Bib\TeX{} on your file in the normal way, and Bib\TeX{} will create +the \verb".bbl" file. That \verb".bbl" file will contain the +\texttt{bibdiv} and \texttt{biblist} environments, and \LaTeX{} will +read it the next time that you run \LaTeX{} and create the +bibliography. + +If you use this method, you don't use the \verb"\bibliographystyle" +command (and any such command in your \LaTeX{} file will be ignored). + +%-------------------------------------------------------------------- +\subsection{Options for the \texttt{amsrefs} package} +\label{sec:refoptions} + +There are a number of optional arguments that you can use when loading +the \texttt{amsrefs} package (see section~\ref{sec:amsrefs}), most of +which affect the formatting of the bibliography. You use them by +listing them as optional arguments to the \verb"\usepackage" command +(see section~\ref{sec:amsrefs}). For example, we suggested that you +always use the optional argument \texttt{lite}, as in +\begin{center} + \verb"\usepackage[lite]{amsrefs}" +\end{center} +We'll describe the most important options here; the full list can be +found in \cite[section~6]{amsrefsguide}. +\begin{description} +\item[lite] We suggest that you always use this option in order to + avoid a conflict between \texttt{amsrefs} and the \Xy-pic package + (see section~\ref{sec:xypic}). If you don't use the \texttt{lite} + option, then \texttt{amsrefs} automatically loads the packages + \texttt{mathscinet} (which defines a number of special characters + and accents that are sometimes encountered when downloading data + from MathSciNet) and \texttt{txtcmds} (which provides shorthand + commands for a number of characters that are usually specified via + ligatures). The problem is that both \Xy-pic and the + \texttt{txtcmds} package define the command \verb"\cir" (they define + it to be entirely different things). If you load \texttt{txtcmds} + \emph{before} loading \Xy-pic then \Xy-pic will redefine \verb"\cir" + as it pleases while putting a warning into your \verb".log" file, + but if you load \texttt{txtcmds} \emph{after} loading \Xy-pic then + \LaTeX{} will stop with an error, since the \texttt{txtcmds} package + uses \verb"\newcommand" to define \verb"\cir". Unfortunately, if + you need to use the \texttt{mathscinet} package and you try to load + it by putting the command \verb"\usepackage{mathscinet}" after your + \verb"\documentclass" command, it will also load the + \texttt{txtcmds} package, so this doesn't avoid the conflict. + + If you need to use both \Xy-pic and the definitions in the + \texttt{mathscinet} and \texttt{txtcmds} packages, you should load + \texttt{amsrefs} \emph{before} \Xy-pic, as in + \begin{center} + \begin{tabular}{l} + \verb"\usepackage{amsrefs}"\\ + \verb"\usepackage[all,cmtip]{xy}" + \end{tabular} + \end{center} + to keep \LaTeX{} from generating an error when loading + \texttt{txtcmds}. (Of course, the command \verb"\cir" as defined in + \texttt{textcmds} will not be available.) +\item[initials] If you use this option, then all authors, editors, and + translators will have their first and middle names replaced by their + initials. +\item[alphabetic] If you use this option, as in + \begin{center} + \verb"\usepackage[alphabetic,lite]{amsrefs}" + \end{center} + then instead of numbers being used to label the bibliography + entries, you will get alphabetic labels similar to the + \texttt{alpha} style used by Bib\TeX, consisting of the first + letter(s) of each author name plus the year of publication. +\item[shortalphabetic] This is similar to the \texttt{alphabetic} + option, except that you'll get a shorter alphabetic label using only + the first letter of each author name. +\item[y2k] If you use the \texttt{alphabetic} option, only the last + two digits of the year are normally used in the label. If you also + use the \texttt{y2k} option, as in + \begin{center} + \verb"\usepackage[y2k,alphabetic,lite]{amsrefs}" + \end{center} + then the full year will be used. +\item[author-year] If you use this option, then bibliography items + will not be labelled at all, and references to them will be in the + author-year format similar to that described in + \verb"The Chicago Manual of Style". If you do use this option, you + may sometimes want to use the \verb"\ycite" and \verb"\ocite" + commands when referring to bibliography items (see + section~\ref{sec:authyrcit}). +\end{description} + + + +%-------------------------------------------------------------------- +\subsection{Avoiding both \texttt{amsrefs} and Bib\TeX} +\label{sec:thebibliography} + +If for some reason you don't want to use \texttt{amsrefs} or Bib\TeX, +you can type each bibliography item exactly as you want it to appear +and have the items numbered automatically. To do this, you +\begin{enumerate} +\item begin the bibliography with the command + \begin{center} + \verb"\begin{thebibliography}{number}" + \end{center} + where \emph{number} is any number that, when printed, is as wide as + the widest number of any item in the bibliography, +\item define the bibliography items using a \verb"\bibitem" command + for each item (see section~\ref{sec:bibitem}), and then +\item end the bibliography with the command + \begin{center} + \verb"\end{thebibliography}" + \end{center} +\end{enumerate} +The only use made of the \verb"number" in +\verb"\begin{thebibliography}{number}" is that \LaTeX{} assumes that +its width when printed is at least as large as the width of any number +of an item in the bibliography. For example, if the bibliography will +contain between 10 and~99 items, you can use +\verb"\begin{thebibliography}{99}". + + +%-------------------------------------------------------------------- +\subsubsection{Bibliography items} +\label{sec:bibitem} + +When using the commands \verb"\begin{thebibliography}" and +\verb"\end{thebibliography}" to create the bibliography (see +section~\ref{sec:thebibliography}), each item is begun with a +\verb"\bibitem" command. The format is +\begin{center} + \verb"\bibitem{ReferenceKey}Item entry" +\end{center} +For example, had we not been using \texttt{amsrefs}, the bibliography +in these instructions might have contained the entry +\begin{verbatim} +\bibitem{yellowmonster} +A. K. Bousfield and D. M. Kan, \emph{Homotopy Limits, Completions +and Localizations,} Lecture Notes in Mathematics number 304, +Springer-Verlag, New York, 1972. +\end{verbatim} + +The above entry would allow us to type +\begin{verbatim} +Homotopy inverse limits are discussed +in~\cite[Chapter 11]{yellowmonster}. +\end{verbatim} +and have it print as ``Homotopy inverse limits are discussed +in~\cite[Chapter 11]{yellowmonster}.'' For more on the \verb"\cite" +command, see section~\ref{sec:bibreferences}. + + + + + + + + + + + +%--------------------------------------------------------------------- +%--------------------------------------------------------------------- +\section{The template file} +\label{sec:template} + +The following is the text of the file \verb"template.tex". + +\begin{verbatim} +%%% template.tex +%%% This is a template for making up an AMS-LaTeX file +%%% Version of February 12, 2011 +%%%--------------------------------------------------------- +%%% The following command chooses the default 10 point type. +%%% To choose 12 point, change it to +%%% \documentclass[12pt]{amsart} +\documentclass{amsart} + +%%% The following command loads the amsrefs package, which will be +%%% used to create the bibliography: +\usepackage[lite]{amsrefs} + +%%% The following command defines the standard names for all of the +%%% special symbols in the AMSfonts package, listed in +%%% http://www.ctan.org/tex-archive/info/symbols/math/symbols.pdf +\usepackage{amssymb} + +%%% The following commands allow you to use \Xy-pic to draw +%%% commutative diagrams. (You can omit the second line if you want +%%% the default style of the nodes to be \textstyle.) +\usepackage[all,cmtip]{xy} +\let\objectstyle=\displaystyle + +%%% If you'll be importing any graphics, uncomment the following +%%% line. (Note: The spelling is correct; the package graphicx.sty is +%%% the updated version of the older graphics.sty.) +% \usepackage{graphicx} + + + +%%% This part of the file (after the \documentclass command, +%%% but before the \begin{document}) is called the ``preamble''. +%%% This is where we put our macro definitions. + +%%% Comment out (or delete) any of these that you don't want to use. +\newcommand{\tensor}{\otimes} +\newcommand{\homotopic}{\simeq} +\newcommand{\homeq}{\cong} +\newcommand{\iso}{\approx} + +\DeclareMathOperator{\ho}{Ho} +\DeclareMathOperator*{\colim}{colim} + +\newcommand{\R}{\mathbb{R}} +\newcommand{\C}{\mathbb{C}} +\newcommand{\Z}{\mathbb{Z}} + +\newcommand{\M}{\mathcal{M}} +\newcommand{\W}{\mathcal{W}} + +\newcommand{\itilde}{\tilde{\imath}} +\newcommand{\jtilde}{\tilde{\jmath}} +\newcommand{\ihat}{\hat{\imath}} +\newcommand{\jhat}{\hat{\jmath}} + + + +%%%------------------------------------------------------------------- +%%%------------------------------------------------------------------- +%%% The Theorem environments: +%%% +%%% +%%% The following commands set it up so that: +%%% +%%% All Theorems, Corollaries, Lemmas, Propositions, Definitions, +%%% Remarks, Examples, Notations, and Terminologies will be numbered +%%% in a single sequence, and the numbering will be within each +%%% section. Displayed equations will be numbered in the same +%%% sequence. +%%% +%%% +%%% 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} +%%% +%%% 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 + +% The following causes equations to be numbered within sections +\numberwithin{equation}{section} + +% We'll use the equation counter for all our theorem environments, so +% that everything will be numbered in the same sequence. + +% Theorem environments + +\theoremstyle{plain} %% This is the default, anyway +\newtheorem{thm}[equation]{Theorem} +\newtheorem{cor}[equation]{Corollary} +\newtheorem{lem}[equation]{Lemma} +\newtheorem{prop}[equation]{Proposition} + +\theoremstyle{definition} +\newtheorem{defn}[equation]{Definition} + +\theoremstyle{remark} +\newtheorem{rem}[equation]{Remark} +\newtheorem{ex}[equation]{Example} +\newtheorem{notation}[equation]{Notation} +\newtheorem{terminology}[equation]{Terminology} + +%%%------------------------------------------------------------------- +%%%------------------------------------------------------------------- +%%%------------------------------------------------------------------- +%%%------------------------------------------------------------------- +%%%------------------------------------------------------------------- +%%%------------------------------------------------------------------- +%%%------------------------------------------------------------------- +\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{} + + +%%% If there are multiple authors, they're described one at a time: +%%% First author: \author{} \address{} \curraddr{} \email{} \thanks{} +%%% Second author: \author{} \address{} \curraddr{} \email{} \thanks{} +%%% Third author: \author{} \address{} \curraddr{} \email{} \thanks{} +\author{} + +%%% In the address, show linebreaks with double backslashes: +\address{} + +%%% Current address is optional. +% \curraddr{} + +%%% Email address is optional. +% \email{} + + +%%% If there's a second author: +% \author{} +% \address{} +% \curraddr{} +% \email{} + + +%%% To have the current date inserted, use \date{\today}: +\date{} + +%%% To include an abstract, uncomment the following two lines and type +%%% the abstract in between them: +% \begin{abstract} +% \end{abstract} + + +\maketitle + +%%% To include a table of contents, uncomment the following line: +% \tableofcontents + + +%%%------------------------------------------------------------------- +%%%------------------------------------------------------------------- +%%% Start the body of the paper here! E.G., maybe use: +%%% \section{Introduction} +%%% \label{sec:intro} + +%%% For a numbered display, use +%%% \begin{equation} +%%% \label{something} +%%% The display goes here +%%% \end{equation} +%%% and you can refer to it as \eqref{something}. + +%%% For an unnumbered display, use +%%% \begin{equation*} +%%% The display goes here +%%% \end{equation*} + +%%% To import a graphics file, you must have said +%%% \usepackage{graphicx} +%%% in the preamble (i.e., before the \begin{document}). +%%% Putting it into a figure environment enables it to float to the +%%% next page if there isn't enough room for it on the current page. +%%% The \label command must come after the \caption command. +% \begin{figure}[h] +% \includegraphics{filename} +% \caption{Some caption} +% \label{somelabel} +% \end{figure} + + + + + + + + + + + + + + + +%%% ------------------------------------------------------------------- +%%% ------------------------------------------------------------------- +%%% This is where we create the bibliography. + +\begin{bibdiv} + \begin{biblist} + +%%% The format of bibliography items is as in the following examples: +%%% +%%% \bib{yellowmonster}{book}{ +%%% author={Bousfield, A.K.}, +%%% author={Kan, D.M.}, +%%% title={Homotopy Limits, Completions and Localizations}, +%%% date={1972}, +%%% series={Lecture Notes in Mathematics}, +%%% volume={304}, +%%% publisher={Springer-Verlag}, +%%% address={Berlin-New York} +%%% } + +%%% \bib{HA}{book}{ +%%% author={Quillen, Daniel G.}, +%%% title={Homotopical Algebra}, +%%% series={Lecture Notes in Mathematics}, +%%% volume={43}, +%%% publisher={Springer-Verlag}, +%%% address={Berlin-New York}, +%%% date={1967} +%%% } + +%%% \bib{serre:shfs}{article}{ +%%% author={Serre, Jean-Pierre}, +%%% title={Homologie Singuli\`ere des Espaces Fibr\'es. Applications}, +%%% journal={Ann. of Math. (2)}, +%%% date={1951}, +%%% volume={54}, +%%% pages={425--505} +%%% } + + + + + + \end{biblist} +\end{bibdiv} + +\end{document} +\end{verbatim} + +%--------------------------------------------------------------------- +%--------------------------------------------------------------------- + + + + + +\begin{bibdiv} + \begin{biblist} + +\bib{amslatexusersguide}{report}{ + author={American Mathematical Society}, + title={User's Guide for the \texttt{amsmath} Package}, + edition={version 2.0}, + date={2002-02-25}, + eprint={ftp://ftp.ams.org/pub/tex/doc/amsmath/amsldoc.pdf}, + note={also available from CTAN + (the Comprehensive \TeX{} Archive Network) at + \url{http://www.ctan.org/tex-archive/macros/latex/required/amslatex/math/amsldoc.pdf}} +} + +\bib{instr-l}{report}{ + author={American Mathematical Society}, + title={Instructions for Preparation of Papers and Monographs: + \AmS-\LaTeX}, + date={2004-08}, + eprint={ftp://ftp.ams.org/pub/tex/doc/amscls/instr-l.pdf} +} + +\bib{testmath}{misc}{ + author={American Mathematical Society}, + title={Sample Paper for the \texttt{amsmath} Package}, + date={1996-11}, + note={available at \url{ftp://ftp.ams.org/pub/tex/amslatex/math/testmath.tex}} +} + +\bib{yellowmonster}{book}{ + author={Bousfield, A.K.}, + author={Kan, D.M.}, + title={Homotopy Limits, Completions and Localizations}, + date={1972}, + series={Lecture Notes in Mathematics}, + volume={304}, + publisher={Springer-Verlag}, + address={Berlin-New York} +} + +\bib{mathguide}{report}{ + author={Downes, Michael}, + title={Short Math Guide for \LaTeX}, + edition={version 1.09}, + publisher={American Mathematical Society}, + eprint={ftp://ftp.ams.org/pub/tex/doc/amsmath/short-math-guide.pdf} +} + +\bib{amsrefsguide}{report}{ + author={Jones, David M.}, + title={User's Guide to the \texttt{amsrefs} Package}, + publisher={American Mathematical Society}, + date={2007-10-16}, + eprint={ftp://ftp.ams.org/pub/tex/amsrefs/amsrdoc.pdf} +} + +\bib{latex}{book}{ + author={Lamport, Leslie}, + title={\LaTeX: A Document Preparation System}, + edition={2}, + publisher={Addison-Wesley}, + date={1994} +} + +\bib{NotShort}{report}{ + author={Oetiker, Tobias}, + author={Partl, Hubert}, + author={Hyna, Irene}, + author={Schlegl, Elisabeth}, + title={The Not So Short Introduction to \LaTeXe}, + edition={version 4.24}, + eprint={http://www.ctan.org/tex-archive/info/lshort/english/lshort.pdf} +} + +\bib{HA}{book}{ + author={Quillen, Daniel G.}, + title={Homotopical Algebra}, + series={Lecture Notes in Mathematics}, + volume={43}, + publisher={Springer-Verlag}, + address={Berlin-New York}, + date={1967} +} + +\bib{quil:rht}{article}{ + author={Quillen, Daniel G.}, + title={Rational Homotopy Theory}, + journal={Ann. of Math. (2)}, + volume={90}, + date={1969}, + pages={205--295} +} + +\bib{xyguide}{report}{ + author={Rose, Kristoffer H.}, + title={\Xy-pic User's Guide}, + edition={version 3.85}, + eprint={http://www.ctan.org/tex-archive/macros/generic/diagrams/xypic/xy-3.8.5/doc/xyguide.pdf} +} + +\bib{xyrefer}{report}{ + author={Rose, Kristoffer H.}, + author={Moore, Ross}, + title={\Xy-pic Reference Manual}, + edition={version 3.85}, + eprint={http://www.ctan.org/tex-archive/macros/generic/diagrams/xypic/xy-3.8.5/doc/xyrefer.pdf} +} + + \end{biblist} +\end{bibdiv} + + + +\end{document} diff --git a/info/amslatex/primer/template.tex b/info/amslatex/primer/template.tex new file mode 100644 index 0000000000..0e15df1f01 --- /dev/null +++ b/info/amslatex/primer/template.tex @@ -0,0 +1,296 @@ +%%% template.tex +%%% This is a template for making up an AMS-LaTeX file +%%% Version of February 12, 2011 +%%%--------------------------------------------------------- +%%% The following command chooses the default 10 point type. +%%% To choose 12 point, change it to +%%% \documentclass[12pt]{amsart} +\documentclass{amsart} + +%%% The following command loads the amsrefs package, which will be +%%% used to create the bibliography: +\usepackage[lite]{amsrefs} + +%%% The following command defines the standard names for all of the +%%% special symbols in the AMSfonts package, listed in +%%% http://www.ctan.org/tex-archive/info/symbols/math/symbols.pdf +\usepackage{amssymb} + +%%% The following commands allow you to use \Xy-pic to draw +%%% commutative diagrams. (You can omit the second line if you want +%%% the default style of the nodes to be \textstyle.) +\usepackage[all,cmtip]{xy} +\let\objectstyle=\displaystyle + +%%% If you'll be importing any graphics, uncomment the following +%%% line. (Note: The spelling is correct; the package graphicx.sty is +%%% the updated version of the older graphics.sty.) +% \usepackage{graphicx} + + + +%%% This part of the file (after the \documentclass command, +%%% but before the \begin{document}) is called the ``preamble''. +%%% This is where we put our macro definitions. + +%%% Comment out (or delete) any of these that you don't want to use. +\newcommand{\tensor}{\otimes} +\newcommand{\homotopic}{\simeq} +\newcommand{\homeq}{\cong} +\newcommand{\iso}{\approx} + +\DeclareMathOperator{\ho}{Ho} +\DeclareMathOperator*{\colim}{colim} + +\newcommand{\R}{\mathbb{R}} +\newcommand{\C}{\mathbb{C}} +\newcommand{\Z}{\mathbb{Z}} + +\newcommand{\M}{\mathcal{M}} +\newcommand{\W}{\mathcal{W}} + +\newcommand{\itilde}{\tilde{\imath}} +\newcommand{\jtilde}{\tilde{\jmath}} +\newcommand{\ihat}{\hat{\imath}} +\newcommand{\jhat}{\hat{\jmath}} + + + +%%%------------------------------------------------------------------- +%%%------------------------------------------------------------------- +%%% The Theorem environments: +%%% +%%% +%%% The following commands set it up so that: +%%% +%%% All Theorems, Corollaries, Lemmas, Propositions, Definitions, +%%% Remarks, Examples, Notations, and Terminologies will be numbered +%%% in a single sequence, and the numbering will be within each +%%% section. Displayed equations will be numbered in the same +%%% sequence. +%%% +%%% +%%% 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} +%%% +%%% 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 + +% The following causes equations to be numbered within sections +\numberwithin{equation}{section} + +% We'll use the equation counter for all our theorem environments, so +% that everything will be numbered in the same sequence. + +% Theorem environments + +\theoremstyle{plain} %% This is the default, anyway +\newtheorem{thm}[equation]{Theorem} +\newtheorem{cor}[equation]{Corollary} +\newtheorem{lem}[equation]{Lemma} +\newtheorem{prop}[equation]{Proposition} + +\theoremstyle{definition} +\newtheorem{defn}[equation]{Definition} + +\theoremstyle{remark} +\newtheorem{rem}[equation]{Remark} +\newtheorem{ex}[equation]{Example} +\newtheorem{notation}[equation]{Notation} +\newtheorem{terminology}[equation]{Terminology} + +%%%------------------------------------------------------------------- +%%%------------------------------------------------------------------- +%%%------------------------------------------------------------------- +%%%------------------------------------------------------------------- +%%%------------------------------------------------------------------- +%%%------------------------------------------------------------------- +%%%------------------------------------------------------------------- +\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{} + + +%%% If there are multiple authors, they're described one at a time: +%%% First author: \author{} \address{} \curraddr{} \email{} \thanks{} +%%% Second author: \author{} \address{} \curraddr{} \email{} \thanks{} +%%% Third author: \author{} \address{} \curraddr{} \email{} \thanks{} +\author{} + +%%% In the address, show linebreaks with double backslashes: +\address{} + +%%% Current address is optional. +% \curraddr{} + +%%% Email address is optional. +% \email{} + + +%%% If there's a second author: +% \author{} +% \address{} +% \curraddr{} +% \email{} + + +%%% To have the current date inserted, use \date{\today}: +\date{} + +%%% To include an abstract, uncomment the following two lines and type +%%% the abstract in between them: +% \begin{abstract} +% \end{abstract} + + +\maketitle + +%%% To include a table of contents, uncomment the following line: +% \tableofcontents + + +%%%------------------------------------------------------------------- +%%%------------------------------------------------------------------- +%%% Start the body of the paper here! E.G., maybe use: +%%% \section{Introduction} +%%% \label{sec:intro} + +%%% For a numbered display, use +%%% \begin{equation} +%%% \label{something} +%%% The display goes here +%%% \end{equation} +%%% and you can refer to it as \eqref{something}. + +%%% For an unnumbered display, use +%%% \begin{equation*} +%%% The display goes here +%%% \end{equation*} + +%%% To import a graphics file, you must have said +%%% \usepackage{graphicx} +%%% in the preamble (i.e., before the \begin{document}). +%%% Putting it into a figure environment enables it to float to the +%%% next page if there isn't enough room for it on the current page. +%%% The \label command must come after the \caption command. +% \begin{figure}[h] +% \includegraphics{filename} +% \caption{Some caption} +% \label{somelabel} +% \end{figure} + + + + + + + + + + + + + + + +%%% ------------------------------------------------------------------- +%%% ------------------------------------------------------------------- +%%% This is where we create the bibliography. + +\begin{bibdiv} + \begin{biblist} + +%%% The format of bibliography items is as in the following examples: +%%% +%%% \bib{yellowmonster}{book}{ +%%% author={Bousfield, A.K.}, +%%% author={Kan, D.M.}, +%%% title={Homotopy Limits, Completions and Localizations}, +%%% date={1972}, +%%% series={Lecture Notes in Mathematics}, +%%% volume={304}, +%%% publisher={Springer-Verlag}, +%%% address={Berlin-New York} +%%% } + +%%% \bib{HA}{book}{ +%%% author={Quillen, Daniel G.}, +%%% title={Homotopical Algebra}, +%%% series={Lecture Notes in Mathematics}, +%%% volume={43}, +%%% publisher={Springer-Verlag}, +%%% address={Berlin-New York}, +%%% date={1967} +%%% } + +%%% \bib{serre:shfs}{article}{ +%%% author={Serre, Jean-Pierre}, +%%% title={Homologie Singuli\`ere des Espaces Fibr\'es. Applications}, +%%% journal={Ann. of Math. (2)}, +%%% date={1951}, +%%% volume={54}, +%%% pages={425--505} +%%% } + + + + + + \end{biblist} +\end{bibdiv} + +\end{document} |