%% This is file `amscd.sty' generated from `amscd.doc' %% on 21-JUN-1991 by the docstrip.ams utility (1.0). %% %%@texfile{ %% filename="amscd.sty", %% version="1.1", %% date="21-JUN-1991", %% filetype="AMS-LaTeX: option", %% copyright="Copyright (C) American Mathematical Society, all rights %% reserved. Copying of this file is authorized only if either: %% (1) you make absolutely no changes to your copy, including name; %% OR (2) if you do make changes, you first rename it to some other %% name.", %% author="American Mathematical Society", %% address="American Mathematical Society, %% Technical Support Department, %% P. O. Box 6248, %% Providence, RI 02940, %% USA", %% telephone="401-455-4080 or (in the USA) 800-321-4AMS", %% email="Internet: Tech-Support@Math.AMS.org", %% checksumtype="line count", %% checksum="180", %% codetable="ISO/ASCII", %% keywords="latex, amslatex, ams-latex, commutative diagram", %% abstract="This file is part of the AMS-\LaTeX{} package, ver. 1.1. %% It is a \LaTeX{} option that adapts the commutative diagram macros %% of AMS-\TeX{} for use in \LaTeX{}." %%} \expandafter\ifx\csname amscd.sty\endcsname\relax \expandafter\def\csname amscd.sty\endcsname{} \else\message{---already loaded}\endinput\fi \def\filename{amscd.sty} \def\fileversion{1.1} \def\filedate{21-JUN-1991} \immediate\write16{% AMS-Latex option `\filename' (\fileversion, \filedate)} %%% end of file header \def\Invalid@@{Invalid use of \string} \def\Let@{\let\\\math@cr} \def\RIfM@{\relax\protect\ifmmode} \@ifundefined{math@cr} {\def\math@cr{{\ifnum0=`}\fi \new@ifstar{\global\@eqpen\@M\math@cr@}% {\global\@eqpen\interdisplaylinepenalty \math@cr@}}} {} \def\math@cr@{\new@ifnextchar[\math@cr@@{\math@cr@@[\z@]}} \def\math@cr@@[#1]{\ifnum0=`{\fi}\math@cr@@@ \noalign{\vskip#1\relax}} \def\restore@math@cr{\def\math@cr@@@{\cr}} \restore@math@cr \def\new@ifnextchar#1#2#3{% \let\@tempe #1\def\@tempa{#2}\def\@tempb{#3}\futurelet \@tempc\new@ifnch} \def\new@ifnch{\ifx\@tempc \@tempe \let\@tempd\@tempa \else\let\@tempd\@tempb\fi\@tempd} \def\new@ifstar#1#2{\new@ifnextchar *{\def\@tempa*{#1}\@tempa}{#2}} \def\DN@{\def\next@} \def\FN@{\futurelet\next} \def\setboxz@h{\setbox\z@\hbox} \def\wdz@{\wd\z@} \def\setbox@ne{\setbox\@ne} \def\wd@ne{\wd\@ne} \def\rightarrowfill@#1{\m@th\setboxz@h{$#1-$}\ht\z@\z@ $#1\copy\z@\mkern-6mu\cleaders \hbox{$#1\mkern-2mu\box\z@\mkern-2mu$}\hfill \mkern-6mu\mathord\rightarrow$} \def\leftarrowfill@#1{\m@th\setboxz@h{$#1-$}\ht\z@\z@ $#1\mathord\leftarrow\mkern-6mu\cleaders \hbox{$#1\mkern-2mu\copy\z@\mkern-2mu$}\hfill \mkern-6mu\box\z@$} \def\leftrightarrowfill@#1{\m@th\setboxz@h{$#1-$}\ht\z@\z@ $#1\mathord\leftarrow\mkern-6mu\cleaders \hbox{$#1\mkern-2mu\box\z@\mkern-2mu$}\hfill \mkern-6mu\mathord\rightarrow$} \long\def\@leftmark#1#2{#1} \long\def\@rightmark#1#2{#2} \long\def\@ifempty#1{% \expandafter\ifx\@car#1@\@nil @\@empty \expandafter\@leftmark\else\expandafter\@rightmark\fi} \long\def\@ifnotempty#1{\@ifempty{#1}{}} \def\atdef@#1{\expandafter\def\csname\space @\string#1\endcsname} \begingroup \catcode`\@=\active \xdef @{\expandafter\noexpand\csname FN\string @\endcsname \expandafter\noexpand\csname at\string @\endcsname} \endgroup \def\at@{\let\next@\at@@ \ifcat\noexpand\next a\else \ifcat\noexpand\next0\else \ifcat\noexpand\next\relax\else \let\next@\at@@@\fi\fi\fi\next@} \def\at@@#1{\expandafter \ifx\csname\space @\string#1\endcsname\relax \DN@{\at@@@#1}% \else \DN@{\csname\space @\string#1\endcsname}% \fi\next@}% \def\at@@@{\err@{\Invalid@@ @}{\the\athelp@}\char64\relax} \@ifundefined{athelp@}{\csname newhelp\endcsname\athelp@ {Only certain combinations beginning with @ make sense to me.^^J% I'll assume you wanted @@ for a printed @.}}{} \@ifundefined{err@}{\def\err@{\@latexerr}}{} \@ifundefined{default@tag}% {\def\default@tag{% \def\tag{\err@{\string\tag\space not allowed here}\@eha}}} {} \@ifundefined{ex@}{\newdimen\ex@}{} \@ifundefined{minaw@}{\newdimen\minaw@}{} \@ifundefined{bigaw@}{\newdimen\bigaw@}{} \minaw@11.11128\ex@ \newdimen\minCDarrowwidth \minCDarrowwidth2.5pc \newif\ifCD@ \let\ampersand@\relax \def\CD{\catcode`\@\active \bgroup\relax\iffalse{\fi\let\ampersand@&\iffalse}\fi \CD@true\vcenter\bgroup\Let@\restore@math@cr\default@tag \tabskip\z@skip\baselineskip20\ex@ \lineskip3\ex@\lineskiplimit3\ex@\halign\bgroup &\hfill$\m@th##$\hfill\crcr} \def\endCD{\crcr\egroup\egroup\egroup} \def\CD@check#1#2{\ifCD@\DN@{#2}\else \DN@{\err@{@\string#1 not allowed outside of the CD environment}\@eha}% \fi\next@} \atdef@>#1>#2>{\ampersand@ \ifCD@ \global\bigaw@\minCDarrowwidth \else \global\bigaw@\minaw@ \fi \setboxz@h{$\m@th\scriptstyle\;{#1}\;\;$}% \ifdim\wdz@>\bigaw@\global\bigaw@\wdz@\fi \@ifnotempty{#2}{\setbox@ne\hbox{$\m@th\scriptstyle\;{#2}\;\;$}% \ifdim\wd@ne>\bigaw@\global\bigaw@\wd@ne\fi}% \ifCD@\enskip\fi \mathrel{\mathop{\hbox to\bigaw@{\rightarrowfill@\displaystyle}}% \limits^{#1}\@ifnotempty{#2}{_{#2}}}% \ifCD@\enskip\fi \ampersand@} \atdef@<#1<#2<{\ampersand@ \ifCD@ \global\bigaw@\minCDarrowwidth \else \global\bigaw@\minaw@ \fi \setboxz@h{$\m@th\scriptstyle\;\;{#1}\;$}% \ifdim\wdz@>\bigaw@ \global\bigaw@\wdz@ \fi \@ifnotempty{#2}{\setbox@ne\hbox{$\m@th\scriptstyle\;\;{#2}\;$}% \ifdim\wd@ne>\bigaw@ \global\bigaw@\wd@ne \fi}% \ifCD@\enskip\fi \mathrel{\mathop{\hbox to\bigaw@{\leftarrowfill@\displaystyle}}% \limits^{#1}\@ifnotempty{#2}{_{#2}}}% \ifCD@\enskip\fi \ampersand@} \begingroup \catcode`\~=\active \lccode`\~=`\@ \lowercase{% \global\atdef@)#1)#2){~>#1>#2>} \global\atdef@(#1(#2({~<#1<#2<} }% end lowercase \endgroup \atdef@ A#1A#2A{\CD@check{A..A..A}{\llap{$\m@th\vcenter{\hbox {$\scriptstyle#1$}}$}\Big\uparrow \rlap{$\m@th\vcenter{\hbox{$\scriptstyle#2$}}$}&&}} \atdef@ V#1V#2V{\CD@check{V..V..V}{\llap{$\m@th\vcenter{\hbox {$\scriptstyle#1$}}$}\Big\downarrow \rlap{$\m@th\vcenter{\hbox{$\scriptstyle#2$}}$}&&}} \atdef@={\CD@check={&\enskip\mathrel {\vbox{\hrule\@width\minCDarrowwidth\vskip2\ex@\hrule\@width \minCDarrowwidth}}\enskip&}} \atdef@|{\CD@check|{\Big\Vert&&}} \atdef@\vert{\CD@check\vert{\Big\Vert&&}} \atdef@.{\CD@check.{&&}} %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z %% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z %% Digits \0\1\2\3\4\5\6\7\8\9 %% Exclamation \! Double quote \" Hash (number) \# %% Dollar \$ Percent \% Ampersand \& %% Acute accent \' Left paren \( Right paren \) %% Asterisk \* Plus \+ Comma \, %% Minus \- Point \. Solidus \/ %% Colon \: Semicolon \; Less than \< %% Equals \= Greater than \> Question mark \? %% Commercial at \@ Left bracket \[ Backslash \\ %% Right bracket \] Circumflex \^ Underscore \_ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} \endinput %% %% End of file `amscd.sty'.