diff options
author | Karl Berry <karl@freefriends.org> | 2013-01-29 23:20:53 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2013-01-29 23:20:53 +0000 |
commit | 86f4995eee505ffb07f244911a667873bba1468c (patch) | |
tree | e6116da8d47395581604507f7f769b24318148f5 | |
parent | d03702f81186c2d16c3baeaac49654dc54151ab8 (diff) |
amslatex-primer (29jan13)
git-svn-id: svn://tug.org/texlive/trunk@28980 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r-- | Master/texmf-dist/doc/latex/amslatex-primer/amshelp.md5 | 6 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/amslatex-primer/amshelp.pdf | bin | 511163 -> 537592 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/amslatex-primer/amshelp.tex | 635 |
3 files changed, 563 insertions, 78 deletions
diff --git a/Master/texmf-dist/doc/latex/amslatex-primer/amshelp.md5 b/Master/texmf-dist/doc/latex/amslatex-primer/amshelp.md5 index 41da8040973..d738ecc54e7 100644 --- a/Master/texmf-dist/doc/latex/amslatex-primer/amshelp.md5 +++ b/Master/texmf-dist/doc/latex/amslatex-primer/amshelp.md5 @@ -1,4 +1,4 @@ -571b3704015f14b49f5eedea3d15cf9a amshelp.tex -cc15ffba0d0f0c295efb93132703b7d1 amshelp.dvi -3e27bad4a1354eb276cf20b284172ce2 amshelp.pdf +1edb1e82c4eccea6d8a19e54c84ab258 amshelp.tex +62157a1ebf6be9282f5dc33a24db946d amshelp.dvi +7691e854272e965ecd7aeec5c9c888e4 amshelp.pdf bf05831b44f8156360b816e08b94d521 template.tex diff --git a/Master/texmf-dist/doc/latex/amslatex-primer/amshelp.pdf b/Master/texmf-dist/doc/latex/amslatex-primer/amshelp.pdf Binary files differindex 4fa62020dcb..57830947eea 100644 --- a/Master/texmf-dist/doc/latex/amslatex-primer/amshelp.pdf +++ b/Master/texmf-dist/doc/latex/amslatex-primer/amshelp.pdf diff --git a/Master/texmf-dist/doc/latex/amslatex-primer/amshelp.tex b/Master/texmf-dist/doc/latex/amslatex-primer/amshelp.tex index fbbcc0fa84f..af2901fed64 100644 --- a/Master/texmf-dist/doc/latex/amslatex-primer/amshelp.tex +++ b/Master/texmf-dist/doc/latex/amslatex-primer/amshelp.tex @@ -1,7 +1,7 @@ %%% amshelp.tex %%% This is an AMS-LaTeX file -%%% Copyright (c) 1992, 2000, 2008, 2009, 2011 Philip S. Hirschhorn +%%% 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 @@ -27,9 +27,9 @@ -\newcommand{\filedate}{May 24, 2011} +\newcommand{\filedate}{January 28, 2013} %\newcommand{\filedate}{\today} -\newcommand{\fileversion}{Version 2.2} +\newcommand{\fileversion}{Version 2.3} %--------------------------------------------------------------------- %\documentclass[12pt]{amsart} @@ -167,8 +167,9 @@ 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 -\AmS-\LaTeX, so you can get some idea what it all looks like. +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. @@ -1055,7 +1056,7 @@ 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 +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 @@ -1084,7 +1085,7 @@ then you'll get %-------------------------------------------------------------------- -\subsection{Displaying several equations without alignment} +\subsection{Displaying multiple lines without alignment} \label{sec:gather} You can put several displayed lines together, each one centered, with @@ -1186,7 +1187,8 @@ horizontal alignment between the lines. 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 alignment points (see section~\ref{sec:MulAlign}). + 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}). @@ -1202,11 +1204,11 @@ horizontal alignment between the lines. \subsubsection{Displays with a single alignment point} \label{sec:SingAlign} -To display several lines of mathematics with alignment between the -lines, 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"&" +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} @@ -1264,6 +1266,14 @@ 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 @@ -1306,7 +1316,8 @@ The above example illustrates that, by default, when an 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 -at either the top or the bottom row. For example, if you type +vertically aligned at either the top or the bottom row. For example, +if you type \begin{verbatim} \begin{equation} \label{eq:dbltop} @@ -1363,36 +1374,6 @@ then you'll get \end{aligned} \end{equation} -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]}, then that number is centered -vertically in the contents of the \texttt{aligned}. This can also be -useful if you need to display one very long equation that you need to -split over several lines and you want the equation number to be -centered vertically. For 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} - The display created by an \texttt{aligned} environment can be used as an element of a display. For example, if you type \begin{verbatim} @@ -1517,7 +1498,7 @@ then you'll get A &= D \cup E \end{align*} When typing such an alignment with $n$ columns, each line will have at -most $2n+1$ columns. +most $2n-1$ ampersands. For another example, if you type \begin{verbatim} @@ -1568,12 +1549,12 @@ then you'll get \label{sec:alignat} To produce alignments as in section~\ref{sec:MulAlign} except with the -ability to choose the 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. +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 @@ -1597,14 +1578,15 @@ row; the alignment forces the space to appear in all rows. \label{sec:alignedat} The \texttt{alignedat} environment is similar to the \texttt{aligned} -environment (see section~\ref{sec:aligned}), except that 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 +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 \{ @@ -1713,6 +1695,190 @@ then you'll get \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} @@ -1728,6 +1894,10 @@ commutative diagrams can be found in the \emph{\Xy-pic User's Guide} 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} @@ -2561,7 +2731,7 @@ column) (see section~\ref{sec:emptynodes}). \label{sec:LblEnlrgeDiag} To enlarge the entire diagram, we use the spacing commands described -in Section~\ref{sec:ChgSpc}. For example, if you type +in section~\ref{sec:ChgSpc}. For example, if you type \begin{verbatim} \begin{displaymath} \xymatrix{ @@ -2602,7 +2772,7 @@ but if you type } \end{displaymath} \end{verbatim} -(see Section~\ref{sec:ChgSpc}) then you'll get +(see section~\ref{sec:ChgSpc}) then you'll get \begin{displaymath} \xymatrix@C=6em{ {A\amalg B} \ar[d] \ar[r]^-{\operatorname{amalgamate}} @@ -2615,12 +2785,12 @@ but if you type \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}). +section~\ref{sec:emptynodes}). %-------------------------------------------------------------------- \subsubsection{Creating a column of empty nodes} \label{sec:emptynodes} -We continue the discussion of Section~\ref{sec:LblEnlrgeDiag}: Instead +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 @@ -2704,6 +2874,9 @@ Diagram~\ref{diag:CentEq}). $\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]"\\ @@ -2843,6 +3016,7 @@ then you'll get %-------------------------------------------------------------------- \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 @@ -2888,14 +3062,14 @@ brackets with nothing inside), if you type \begin{verbatim} \begin{displaymath} \xymatrix{ - {A} \ar@(ur,dr)[] + {A} \ar@(ur,dr)[]^{f} } \end{displaymath} \end{verbatim} then you'll get \begin{displaymath} \xymatrix{ - {A} \ar@(ur,dr)[] + {A} \ar@(ur,dr)[]^{f} } \end{displaymath} @@ -2978,15 +3152,16 @@ then you'll get 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. +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 is not at the current node, you type +To draw an arrow who's source may not be at the current node, you type \begin{center} - \verb"[source];[target]" + \verb"\ar[source];[target]" \end{center} -where you would have typed just \verb"[target]". Since the current -node is denoted \verb"[]", typing ``\verb"\ar[target]"'' is the same -as typing ``\verb"\ar[];[target]"''. +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 @@ -3017,11 +3192,320 @@ then you'll get \ar^{k}[u];[] } \end{displaymath} -Note that when we drew the arrows the current node was $D$, and so the -target of, e.g., the arrow labelled $g$ was specified as \verb"[]" +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} @@ -3073,7 +3557,8 @@ typing it as the object will go to its left end instead of its center) by typing it as % -\verb"*+[r]\txt{Some text}". For example, if you type +\verb"*+[r]\txt{Some text}" (see section~\ref{sec:ShiftSide}). For +example, if you type \begin{verbatim} \begin{displaymath} \xymatrix{ @@ -4344,7 +4829,7 @@ The following is the text of the file \verb"template.tex". author={American Mathematical Society}, title={Sample Paper for the \texttt{amsmath} Package}, date={1996-11}, - eprint={ftp://ftp.ams.org/pub/tex/amslatex/math/testmath.tex} + note={available at \url{ftp://ftp.ams.org/pub/tex/amslatex/math/testmath.tex}} } \bib{yellowmonster}{book}{ |