home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 4 / FreshFish_May-June1994.bin / useful / dist / text / tex / pastex / macros / latex / nfss2 / amscd.sty (.txt) < prev    next >
LaTeX Document  |  1993-08-05  |  8KB  |  185 lines

  1. %% This is file `amscd.sty', generated 
  2. %% on <1993/8/5> with the docstrip utility (2.1e).
  3. %% The original source files were:
  4. %% amscd.doc 
  5. %% IMPORTANT NOTICE 
  6. %% ---------------- 
  7. %% This file is part of AMS-LaTeX, as modified by Frank Mittelbach to 
  8. %% work with NFSS2 (New Font Selection Scheme Version 2). This file is 
  9. %% distributed together with NFSS2 until the AMS will change their 
  10. %% distribution to support NFSS2. You are not allowed to distribute this 
  11. %% file separately. 
  12. %%@texfile{
  13. %% filename="amscd.sty",
  14. %% version="1.1",
  15. %% date="21-JUN-1991",
  16. %% filetype="AMS-LaTeX: option",
  17. %% copyright="Copyright (C) American Mathematical Society, all rights
  18. %%   reserved.  Copying of this file is authorized only if either:
  19. %%   (1) you make absolutely no changes to your copy, including name;
  20. %%   OR (2) if you do make changes, you first rename it to some other
  21. %%   name.",
  22. %% author="American Mathematical Society",
  23. %% address="American Mathematical Society,
  24. %%   Technical Support Group,
  25. %%   P. O. Box 6248,
  26. %%   Providence, RI 02940,
  27. %%   USA",
  28. %% telephone="401-455-4080 or (in the USA) 800-321-4AMS",
  29. %% email="Internet: Tech-Support@Math.AMS.com",
  30. %% checksumtype="line count",
  31. %% checksum="329",
  32. %% codetable="ISO/ASCII",
  33. %% keywords="latex, amslatex, ams-latex, commutative diagram",
  34. %% abstract="This file is part of the AMS-\LaTeX{} package, ver. 1.1.
  35. %%   It is a \LaTeX{} option that adapts the commutative diagram macros
  36. %%   of AMS-\TeX{} for use in \LaTeX{}."
  37. \expandafter\ifx\csname amscd.sty\endcsname\relax
  38. \expandafter\def\csname amscd.sty\endcsname{}
  39. \else\message{---already loaded}\endinput\fi
  40. \def\filename{amscd.sty}
  41. \def\fileversion{1.1} \def\filedate{21-JUN-1991}
  42. \immediate\write16{%
  43. AMS-Latex option `\filename' (\fileversion, \filedate)}
  44. %%% end of file header
  45. \def\Invalid@@{Invalid use of \string}
  46. \def\Let@{\let\\\math@cr}
  47. \def\RIfM@{\relax\protect\ifmmode}
  48. \@ifundefined{math@cr}
  49.   {\def\math@cr{{\ifnum0=`}\fi
  50.    \new@ifstar{\global\@eqpen\@M\math@cr@}%
  51.           {\global\@eqpen\interdisplaylinepenalty \math@cr@}}}
  52. \def\math@cr@{\new@ifnextchar[\math@cr@@{\math@cr@@[\z@]}}
  53. \def\math@cr@@[#1]{\ifnum0=`{\fi}\math@cr@@@
  54.   \noalign{\vskip#1\relax}}
  55. \def\restore@math@cr{\def\math@cr@@@{\cr}}
  56. \restore@math@cr
  57. \def\new@ifnextchar#1#2#3{%
  58.   \let\@tempe #1\def\@tempa{#2}\def\@tempb{#3}\futurelet
  59.     \@tempc\new@ifnch}
  60. \def\new@ifnch{\ifx\@tempc \@tempe \let\@tempd\@tempa
  61.              \else\let\@tempd\@tempb\fi\@tempd}
  62. \def\new@ifstar#1#2{\new@ifnextchar *{\def\@tempa*{#1}\@tempa}{#2}}
  63. \def\DN@{\def\next@}
  64. \def\FN@{\futurelet\next}
  65. \def\setboxz@h{\setbox\z@\hbox}
  66. \def\wdz@{\wd\z@}
  67. \def\setbox@ne{\setbox\@ne}
  68. \def\wd@ne{\wd\@ne}
  69. \def\rightarrowfill@#1{\m@th\setboxz@h{$#1-$}\ht\z@\z@
  70.   $#1\copy\z@\mkern-6mu\cleaders
  71.   \hbox{$#1\mkern-2mu\box\z@\mkern-2mu$}\hfill
  72.   \mkern-6mu\mathord\rightarrow$}
  73. \def\leftarrowfill@#1{\m@th\setboxz@h{$#1-$}\ht\z@\z@
  74.   $#1\mathord\leftarrow\mkern-6mu\cleaders
  75.   \hbox{$#1\mkern-2mu\copy\z@\mkern-2mu$}\hfill
  76.   \mkern-6mu\box\z@$}
  77. \def\leftrightarrowfill@#1{\m@th\setboxz@h{$#1-$}\ht\z@\z@
  78.   $#1\mathord\leftarrow\mkern-6mu\cleaders
  79.   \hbox{$#1\mkern-2mu\box\z@\mkern-2mu$}\hfill
  80.   \mkern-6mu\mathord\rightarrow$}
  81. \long\def\@leftmark#1#2{#1}
  82. \long\def\@rightmark#1#2{#2}
  83. \long\def\@ifempty#1{%
  84.  \expandafter\ifx\@car#1@\@nil @\@empty
  85.   \expandafter\@leftmark\else\expandafter\@rightmark\fi}
  86. \long\def\@ifnotempty#1{\@ifempty{#1}{}}
  87. \def\atdef@#1{\expandafter\def\csname\space @\string#1\endcsname}
  88. \begingroup \catcode`\@=\active
  89. \xdef @{\expandafter\noexpand\csname FN\string @\endcsname
  90.   \expandafter\noexpand\csname at\string @\endcsname}
  91. \endgroup
  92. \def\at@{\let\next@\at@@
  93.  \ifcat\noexpand\next a\else
  94.  \ifcat\noexpand\next0\else
  95.  \ifcat\noexpand\next\relax\else
  96.  \let\next@\at@@@\fi\fi\fi\next@}
  97. \def\at@@#1{\expandafter
  98.   \ifx\csname\space @\string#1\endcsname\relax
  99.     \DN@{\at@@@#1}%
  100.   \else
  101.     \DN@{\csname\space @\string#1\endcsname}%
  102.   \fi\next@}%
  103. \def\at@@@{\err@{\Invalid@@ @}{\the\athelp@}\char64\relax}
  104. \@ifundefined{athelp@}{\csname newhelp\endcsname\athelp@
  105. {Only certain combinations beginning with @ make sense to me.^^J%
  106. I'll assume you wanted @@ for a printed @.}}{}
  107. \@ifundefined{err@}{\def\err@{\@latexerr}}{}
  108. \@ifundefined{default@tag}%
  109.   {\def\default@tag{%
  110.     \def\tag{\err@{\string\tag\space not allowed here}\@eha}}}
  111. \@ifundefined{ex@}{\newdimen\ex@}{}
  112. \@ifundefined{minaw@}{\newdimen\minaw@}{}
  113. \@ifundefined{bigaw@}{\newdimen\bigaw@}{}
  114. \minaw@11.11128\ex@
  115. \newdimen\minCDarrowwidth
  116. \minCDarrowwidth2.5pc
  117. \newif\ifCD@
  118. \let\ampersand@\relax
  119. \def\CD{\catcode`\@\active
  120.  \bgroup\relax\iffalse{\fi\let\ampersand@&\iffalse}\fi
  121.  \CD@true\vcenter\bgroup\Let@\restore@math@cr\default@tag
  122.  \tabskip\z@skip\baselineskip20\ex@
  123.  \lineskip3\ex@\lineskiplimit3\ex@\halign\bgroup
  124.  &\hfill$\m@th##$\hfill\crcr}
  125. \def\endCD{\crcr\egroup\egroup\egroup}
  126. \def\CD@check#1#2{\ifCD@\DN@{#2}\else
  127.   \DN@{\err@{@\string#1 not
  128.     allowed outside of the CD environment}\@eha}%
  129.   \fi\next@}
  130. \atdef@>#1>#2>{\ampersand@
  131.   \ifCD@ \global\bigaw@\minCDarrowwidth \else \global\bigaw@\minaw@ \fi
  132.   \setboxz@h{$\m@th\scriptstyle\;{#1}\;\;$}%
  133.   \ifdim\wdz@>\bigaw@\global\bigaw@\wdz@\fi
  134.   \@ifnotempty{#2}{\setbox@ne\hbox{$\m@th\scriptstyle\;{#2}\;\;$}%
  135.     \ifdim\wd@ne>\bigaw@\global\bigaw@\wd@ne\fi}%
  136.  \ifCD@\enskip\fi
  137.    \mathrel{\mathop{\hbox to\bigaw@{\rightarrowfill@\displaystyle}}%
  138.      \limits^{#1}\@ifnotempty{#2}{_{#2}}}%
  139.  \ifCD@\enskip\fi \ampersand@}
  140. \atdef@<#1<#2<{\ampersand@
  141.   \ifCD@ \global\bigaw@\minCDarrowwidth \else \global\bigaw@\minaw@ \fi
  142.   \setboxz@h{$\m@th\scriptstyle\;\;{#1}\;$}%
  143.   \ifdim\wdz@>\bigaw@ \global\bigaw@\wdz@ \fi
  144.   \@ifnotempty{#2}{\setbox@ne\hbox{$\m@th\scriptstyle\;\;{#2}\;$}%
  145.     \ifdim\wd@ne>\bigaw@ \global\bigaw@\wd@ne \fi}%
  146.   \ifCD@\enskip\fi
  147.     \mathrel{\mathop{\hbox to\bigaw@{\leftarrowfill@\displaystyle}}%
  148.       \limits^{#1}\@ifnotempty{#2}{_{#2}}}%
  149.   \ifCD@\enskip\fi \ampersand@}
  150. \begingroup \catcode`\~=\active \lccode`\~=`\@
  151. \lowercase{%
  152.   \global\atdef@)#1)#2){~>#1>#2>}
  153.   \global\atdef@(#1(#2({~<#1<#2<}
  154. }% end lowercase
  155. \endgroup
  156. \atdef@ A#1A#2A{\CD@check{A..A..A}{\llap{$\m@th\vcenter{\hbox
  157.   {$\scriptstyle#1$}}$}\Big\uparrow
  158.   \rlap{$\m@th\vcenter{\hbox{$\scriptstyle#2$}}$}&&}}
  159. \atdef@ V#1V#2V{\CD@check{V..V..V}{\llap{$\m@th\vcenter{\hbox
  160.   {$\scriptstyle#1$}}$}\Big\downarrow
  161.   \rlap{$\m@th\vcenter{\hbox{$\scriptstyle#2$}}$}&&}}
  162. \atdef@={\CD@check={&\enskip\mathrel
  163.   {\vbox{\hrule\@width\minCDarrowwidth\vskip2\ex@\hrule\@width
  164.   \minCDarrowwidth}}\enskip&}}
  165. \atdef@|{\CD@check|{\Big\Vert&&}}
  166. \atdef@\vert{\CD@check\vert{\Big\Vert&&}}
  167. \atdef@.{\CD@check.{&&}}
  168. %% \CharacterTable
  169. %%  {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
  170. %%   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
  171. %%   Digits        \0\1\2\3\4\5\6\7\8\9
  172. %%   Exclamation   \!     Double quote  \"     Hash (number) \#
  173. %%   Dollar        \$     Percent       \%     Ampersand     \&
  174. %%   Acute accent  \'     Left paren    \(     Right paren   \)
  175. %%   Asterisk      \*     Plus          \+     Comma         \,
  176. %%   Minus         \-     Point         \.     Solidus       \/
  177. %%   Colon         \:     Semicolon     \;     Less than     \<
  178. %%   Equals        \=     Greater than  \>     Question mark \?
  179. %%   Commercial at \@     Left bracket  \[     Backslash     \\
  180. %%   Right bracket \]     Circumflex    \^     Underscore    \_
  181. %%   Grave accent  \`     Left brace    \{     Vertical bar  \|
  182. %%   Right brace   \}     Tilde         \~}
  183. \endinput
  184. %% End of file `amscd.sty'.
  185.