home *** CD-ROM | disk | FTP | other *** search
/ Multicollection 3 / MULTI_3.iso / office.w95 / sci_word.2_5 / amssym.all / amscd.sty (.txt) < prev    next >
LaTeX Document  |  1996-02-21  |  7KB  |  154 lines

  1. %% This is file `amscd.sty', generated 
  2. %% on <1995/1/27> with the docstrip utility (2.2i).
  3. %% The original source files were:
  4. %% amscd.dtx 
  5. %%% ====================================================================
  6. %%%  @LaTeX-file{
  7. %%%     filename        = "amscd.dtx",
  8. %%%     version         = "1.2",
  9. %%%     date            = "1995/01/24",
  10. %%%     time            = "16:35:15 EST",
  11. %%%     author          = "American Mathematical Society",
  12. %%%     copyright       = "Copyright (C) 1995 American Mathematical Society,
  13. %%%                        all rights reserved.  Copying of this file is
  14. %%%                        authorized only if either:
  15. %%%                        (1) you make absolutely no changes to your copy,
  16. %%%                        including name; OR
  17. %%%                        (2) if you do make changes, you first rename it
  18. %%%                        to some other name.",
  19. %%%     address         = "American Mathematical Society,
  20. %%%                        Technical Support,
  21. %%%                        Electronic Products and Services,
  22. %%%                        P. O. Box 6248,
  23. %%%                        Providence, RI 02940,
  24. %%%                        USA",
  25. %%%     telephone       = "401-455-4080 or (in the USA and Canada)
  26. %%%                        800-321-4AMS (321-4267)",
  27. %%%     FAX             = "401-331-3842",
  28. %%%     checksum        = "45742 309 1039 11549",
  29. %%%     email           = "tech-support@math.ams.org (Internet)",
  30. %%%     codetable       = "ISO/ASCII",
  31. %%%     keywords        = "latex, amslatex, ams-latex, commutative diagram",
  32. %%%     supported       = "yes",
  33. %%%     abstract        = "This is part of the AMS-\LaTeX{} distribution.
  34. %%%                        It is a \LaTeX{} package that adapts the
  35. %%%                        commutative diagram macros of AMS-\TeX{} for
  36. %%%                        use in \LaTeX{}",
  37. %%%     docstring       = "The checksum field above contains a CRC-16
  38. %%%                        checksum as the first value, followed by the
  39. %%%                        equivalent of the standard UNIX wc (word
  40. %%%                        count) utility output of lines, words, and
  41. %%%                        characters.  This is produced by Robert
  42. %%%                        Solovay's checksum utility.",
  43. %%%  }
  44. %%% ====================================================================
  45. \ProvidesPackage{amscd}[1995/01/24 v1.2]
  46. \RequirePackage{amsgen}
  47. \@ifundefined{math@cr}{%
  48.   \def\math@cr{{\ifnum0=`}\fi
  49.     \@ifstar{\global\@eqpen\@M\math@cr@}%
  50.           {\global\@eqpen\interdisplaylinepenalty \math@cr@}}
  51. \def\math@cr@{\new@ifnextchar[\math@cr@@{\math@cr@@[\z@]}}
  52. \def\math@cr@@[#1]{\ifnum0=`{\fi}\math@cr@@@
  53.   \noalign{\vskip#1\relax}}
  54. \def\restore@math@cr{\def\math@cr@@@{\cr}}
  55. \restore@math@cr
  56. \def\rightarrowfill@#1{\m@th\setboxz@h{$#1-$}\ht\z@\z@
  57.   $#1\copy\z@\mkern-6mu\cleaders
  58.   \hbox{$#1\mkern-2mu\box\z@\mkern-2mu$}\hfill
  59.   \mkern-6mu\mathord\rightarrow$}
  60. \def\leftarrowfill@#1{\m@th\setboxz@h{$#1-$}\ht\z@\z@
  61.   $#1\mathord\leftarrow\mkern-6mu\cleaders
  62.   \hbox{$#1\mkern-2mu\copy\z@\mkern-2mu$}\hfill
  63.   \mkern-6mu\box\z@$}
  64. \def\leftrightarrowfill@#1{\m@th\setboxz@h{$#1-$}\ht\z@\z@
  65.   $#1\mathord\leftarrow\mkern-6mu\cleaders
  66.   \hbox{$#1\mkern-2mu\box\z@\mkern-2mu$}\hfill
  67.   \mkern-6mu\mathord\rightarrow$}
  68. \def\atdef@#1{\expandafter\def\csname\space @\string#1\endcsname}
  69. \@ifundefined{Iat}{%
  70.   \DeclareRobustCommand{\Iat}{\FN@\at@}
  71. \begingroup \catcode`\@=\active
  72. \gdef\CDat{\let @=\Iat}
  73. \endgroup
  74. \mathcode`\@="8000 % make @ pseudo-active in math
  75. \def\at@{\let\next@\at@@
  76.  \ifcat\noexpand\next a\else
  77.  \ifcat\noexpand\next0\else
  78.  \ifcat\noexpand\next\relax\else
  79.  \let\next@\at@@@\fi\fi\fi\next@}
  80. \def\at@@#1{\expandafter
  81.   \ifx\csname\space @\string#1\endcsname\relax
  82.     \DN@{\at@@@#1}%
  83.   \else
  84.     \DN@{\csname\space @\string#1\endcsname}%
  85.   \fi\next@}%
  86. \@ifundefined{default@tag}{%
  87.   \def\default@tag{%
  88.     \def\tag{\PackageError{amscd}{\protect\tag\space not allowed
  89.       here}\@eha}}%
  90. \@ifundefined{at@@@}{%
  91.   \def\at@@@{\PackageError{amscd}{\Invalid@@ @}{\the\athelp@}\char64\relax}
  92. \@ifundefined{athelp@}{\csname newhelp\endcsname\athelp@
  93. {Only certain combinations beginning with @ make sense to me.^^J%
  94. I'll assume you wanted @@ for a printed @.}}{}
  95. \@ifundefined{minaw@}{\newdimen\minaw@}{}
  96. \@ifundefined{bigaw@}{\newdimen\bigaw@}{}
  97. \minaw@11.111pt
  98. \newdimen\minCDarrowwidth
  99. \minCDarrowwidth2.5pc
  100. \newif\ifCD@
  101. \let\ampersand@\relax
  102. \newenvironment{CD}{%
  103.   \CDat
  104.   \bgroup\relax\iffalse{\fi\let\ampersand@&\iffalse}\fi
  105.   \CD@true\vcenter\bgroup\let\\\math@cr\restore@math@cr\default@tag
  106.   \tabskip\z@skip\baselineskip20\ex@
  107.   \lineskip3\ex@\lineskiplimit3\ex@\halign\bgroup
  108.   &\hfill$\m@th##$\hfill\crcr
  109.   \crcr\egroup\egroup\egroup
  110. \def\CD@check#1#2{\ifCD@\DN@{#2}\else
  111.   \DN@{\PackageError{amscd}{@\protect#1 not
  112.     allowed outside of the CD environment}\@eha}%
  113.   \fi\next@}
  114. \atdef@>#1>#2>{\ampersand@
  115.   \ifCD@ \global\bigaw@\minCDarrowwidth \else \global\bigaw@\minaw@ \fi
  116.   \setboxz@h{$\m@th\scriptstyle\;{#1}\;\;$}%
  117.   \ifdim\wdz@>\bigaw@\global\bigaw@\wdz@\fi
  118.   \@ifnotempty{#2}{\setbox\@ne\hbox{$\m@th\scriptstyle\;{#2}\;\;$}%
  119.     \ifdim\wd\@ne>\bigaw@\global\bigaw@\wd\@ne\fi}%
  120.  \ifCD@\enskip\fi
  121.    \mathrel{\mathop{\hbox to\bigaw@{\rightarrowfill@\displaystyle}}%
  122.      \limits^{#1}\@ifnotempty{#2}{_{#2}}}%
  123.  \ifCD@\enskip\fi \ampersand@}
  124. \atdef@<#1<#2<{\ampersand@
  125.   \ifCD@ \global\bigaw@\minCDarrowwidth \else \global\bigaw@\minaw@ \fi
  126.   \setboxz@h{$\m@th\scriptstyle\;\;{#1}\;$}%
  127.   \ifdim\wdz@>\bigaw@ \global\bigaw@\wdz@ \fi
  128.   \@ifnotempty{#2}{\setbox\@ne\hbox{$\m@th\scriptstyle\;\;{#2}\;$}%
  129.     \ifdim\wd\@ne>\bigaw@ \global\bigaw@\wd\@ne \fi}%
  130.   \ifCD@\enskip\fi
  131.     \mathrel{\mathop{\hbox to\bigaw@{\leftarrowfill@\displaystyle}}%
  132.       \limits^{#1}\@ifnotempty{#2}{_{#2}}}%
  133.   \ifCD@\enskip\fi \ampersand@}
  134. \begingroup \catcode`\~=\active \lccode`\~=`\@
  135. \lowercase{%
  136.   \global\atdef@)#1)#2){~>#1>#2>}
  137.   \global\atdef@(#1(#2({~<#1<#2<}
  138. }% end lowercase
  139. \endgroup
  140. \atdef@ A#1A#2A{\CD@check{A..A..A}{\llap{$\m@th\vcenter{\hbox
  141.   {$\scriptstyle#1$}}$}\Big\uparrow
  142.   \rlap{$\m@th\vcenter{\hbox{$\scriptstyle#2$}}$}&&}}
  143. \atdef@ V#1V#2V{\CD@check{V..V..V}{\llap{$\m@th\vcenter{\hbox
  144.   {$\scriptstyle#1$}}$}\Big\downarrow
  145.   \rlap{$\m@th\vcenter{\hbox{$\scriptstyle#2$}}$}&&}}
  146. \atdef@={\CD@check={&\enskip\mathrel
  147.   {\vbox{\hrule\@width\minCDarrowwidth\vskip2\ex@\hrule\@width
  148.   \minCDarrowwidth}}\enskip&}}
  149. \atdef@|{\CD@check|{\Big\Vert&&}}
  150. \atdef@\vert{\CD@check\vert{\Big\Vert&&}}
  151. \atdef@.{\CD@check.{&&}}
  152. \endinput
  153. %% End of file `amscd.sty'.
  154.