summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/amscdx
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2019-06-23 21:01:05 +0000
committerKarl Berry <karl@freefriends.org>2019-06-23 21:01:05 +0000
commit62b80b39dd7041484514f60bba41725c46cdb015 (patch)
tree625b8d09b1c75c0133353e36b81e020e5b527851 /Master/texmf-dist/tex/latex/amscdx
parent983dd69049554cf96f81034d9b68e065052c40de (diff)
amscdx (23jun19)
git-svn-id: svn://tug.org/texlive/trunk@51435 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/amscdx')
-rw-r--r--Master/texmf-dist/tex/latex/amscdx/amscdx.sty216
1 files changed, 216 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/amscdx/amscdx.sty b/Master/texmf-dist/tex/latex/amscdx/amscdx.sty
new file mode 100644
index 00000000000..568ad5e8513
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/amscdx/amscdx.sty
@@ -0,0 +1,216 @@
+%%
+%% This is file `amscdx.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% amscdx.dtx
+%%
+%% Copyright 1995, 1999 American Mathematical Society.
+%% Copyright 2016 LaTeX3 Project and American Mathematical Society.
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% https://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainer of this work is the LaTeX3 project.
+%%
+\NeedsTeXFormat{LaTeX2e}% LaTeX 2.09 can't be used (nor non-LaTeX)
+[1994/12/01]% LaTeX date must December 1994 or later
+\ProvidesPackage{amscdx}[2019/06/04 v2.1x AMS Commutative Diagrams]
+\RequirePackage{amsgen}
+\@ifundefined{math@cr}{%
+ \def\math@cr{{\ifnum0=`}\fi
+ \@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\clap#1{\hbox to 0pt{\hss#1\hss}}
+\newif\ifCDfat
+\newif\ifCDash
+\def\dye@{black}
+\def\CDlor#1{\gdef\dye@{#1}} % must be gdef
+\@ifundefined{rightarrowfill@}{
+ \def\rightarrowfill@#1{%
+ \m@th\setboxz@h{$#1\relbar$}\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\relbar$}\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\relbar$}\ht\z@\z@
+ $#1\mathord\leftarrow\mkern-6mu\cleaders
+ \hbox{$#1\mkern-2mu\box\z@\mkern-2mu$}\hfill
+ \mkern-6mu\mathord\rightarrow$}
+}{}
+ \def\Rightarrowfill@#1{%
+ \m@th\setboxz@h{$#1\Relbar$}\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\Relbar$}\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\Relbar$}\ht\z@\z@
+ $#1\mathord\Leftarrow\mkern-6mu\cleaders
+ \hbox{$#1\mkern-2mu\box\z@\mkern-2mu$}\hfill
+ \mkern-6mu\mathord\Rightarrow$}
+\def\rightdasharrowfill@#1{%
+ \m@th\setboxz@h{$#1\,\relbar\,$}\ht\z@\z@
+ $#1\copy\z@\mkern-6mu\cleaders
+ \hbox{$#1\mkern-2mu\box\z@\mkern-2mu$}\hfill
+ \mkern-6mu\mathord\rightarrow$}
+\def\leftdasharrowfill@#1{%
+ \m@th\setboxz@h{$#1\,\relbar\,$}\ht\z@\z@
+ $#1\mathord\leftarrow\mkern-6mu\cleaders%
+ \hbox{$#1\mkern-2mu\copy\z@\mkern-2mu$}\hfill
+ \mkern-6mu\box\z@$}
+ \def\leftrightdasharrowfill@#1{%
+ \m@th\setboxz@h{$#1\,\relbar\,$}\ht\z@\z@
+ $#1\mathord\leftarrow\mkern-6mu\cleaders
+ \hbox{$#1\mkern-2mu\box\z@\mkern-2mu$}\hfill
+ \mkern-6mu\mathord\rightarrow$}
+\def\atdef@#1{\expandafter\def\csname\space @\string#1\endcsname}
+\@ifundefined{Iat}{%
+ \DeclareRobustCommand{\Iat}{\FN@\at@}
+}{}
+\begingroup \catcode`\@=\active
+\csname if\string @compatibility\endcsname
+\else \fam=\mathcode`\@
+ \xdef @{\mathchar\number\fam\space }
+\fi
+\gdef\CDat{\let @=\Iat}
+\endgroup
+\mathcode`\@="8000 % make @ pseudo-active in math
+\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@}%
+\@ifundefined{default@tag}{%
+ \def\default@tag{%
+ \def\tag{\PackageError{amscdx}{\protect\tag\space not allowed
+ here}\@eha}}%
+}{}%
+\@ifundefined{at@@@}{%
+ \def\at@@@{\PackageError{amscdx}{\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{minaw@}{\newdimen\minaw@}{}
+\@ifundefined{bigaw@}{\newdimen\bigaw@}{}
+\minaw@11.111pt
+\newdimen\minCDarrowwidth
+\minCDarrowwidth2.5pc
+\newif\ifCD@
+\let\ampersand@\relax
+\newenvironment{CD}{%
+ \CDat
+ \bgroup\relax\iffalse{\fi\let\ampersand@&\iffalse}\fi
+ \CD@true\vcenter\bgroup\let\\\math@cr\restore@math@cr\default@tag
+ \tabskip\z@skip\baselineskip20\ex@
+ \lineskip3\ex@\lineskiplimit3\ex@\halign\bgroup
+ &\hfill$\m@th##$\hfill\crcr
+}{%
+ \crcr\egroup\egroup\egroup
+}
+\def\CD@check#1#2{\ifCD@\DN@{#2}\else
+ \DN@{\PackageError{amscdx}{@\protect#1 not
+ allowed outside of the CD environment}\@eha}%
+ \fi\next@}
+\atdef@>#1>#2>{%
+ \ifCDfat\gdef\ar@{\Rightarrowfill@}\else\ifCDash\gdef\ar@{\rightdasharrowfill@}\else\gdef\ar@{\rightarrowfill@}\fi\fi
+ \gdef\before@{\dye@}
+ \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
+\color{\before@}\mathrel{\mathop{\hbox to\bigaw@{\ar@\displaystyle}}%
+ \limits^{#1}\@ifnotempty{#2}{_{#2}}}%
+ \ifCD@\enskip\fi \ampersand@}
+\atdef@<#1<#2<{%
+ \ifCDfat\gdef\ar@{\Leftarrowfill@}\else\ifCDash\gdef\ar@{\leftdasharrowfill@}\else\gdef\ar@{\leftarrowfill@}\fi\fi
+ \gdef\before@{\dye@}
+ \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
+ \color{\before@}\mathrel{\mathop{\hbox to\bigaw@{\ar@\displaystyle}}%
+ \limits^{#1}\@ifnotempty{#2}{_{#2}}}%
+ \ifCD@\enskip\fi \ampersand@}
+\atdef@ Z#1Z#2Z{\CD@check{x..x..x}{%
+ \ifCDfat\gdef\ar@{\Leftrightarrowfill@}\else\ifCDash\gdef\ar@{\leftrightdasharrowfill@}\else\gdef\ar@{\leftrightarrowfill@}\fi\fi
+ \gdef\before@{\dye@}
+ \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
+ \color{\before@}\mathrel{\mathop{\hbox to\bigaw@{\ar@\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}{\color{\dye@}\llap{$\m@th\vcenter{\hbox
+ {$\scriptstyle#1$}}$}
+ \ifCDfat \Big\Uparrow \else
+ \ifCDash \vphantom{\Bigg\Updownarrow}\text{\rotatebox{90}{\clap{$\mkern8mu\mathop-\mathop-\mkern-2mu\rightarrow$}}}
+ \else \Big\uparrow \fi \fi
+ \rlap{$\m@th\vcenter{\hbox{$\scriptstyle#2$}}$}&&}}
+\atdef@ V#1V#2V{\CD@check{V..V..V}{\color{\dye@}\llap{$\m@th\vcenter{\hbox
+ {$\scriptstyle#1$}}$}
+ \ifCDfat \Big\Downarrow \else
+ \ifCDash \vphantom{\Bigg\Updownarrow}\text{\rotatebox{270}{\clap{$\mkern-8mu\mathop-\mathop-\mkern-2mu\rightarrow$}}}
+ \else \Big\downarrow \fi \fi
+ \rlap{$\m@th\vcenter{\hbox{$\scriptstyle#2$}}$}&&}}
+\atdef@ X#1X#2X{\CD@check{X..X..X}{\color{\dye@}\llap{$\m@th\vcenter{\hbox
+ {$\scriptstyle#1$}}$}
+ \ifCDfat \Big\Updownarrow \else
+ \ifCDash \vphantom{\Bigg\Updownarrow}\text{\rotatebox{90}{\clap{$\mkern8mu\leftarrow\mkern-2mu\mathop-\mkern-2mu\rightarrow$}}}
+ \else \Big\updownarrow \fi \fi
+ \rlap{$\m@th\vcenter{\hbox{$\scriptstyle#2$}}$}&&}}
+\atdef@={\CD@check={\gdef\before@{\dye@}&\color{\before@}\enskip\mathrel
+ {\vbox{\hrule\@width\minCDarrowwidth\vskip2\ex@\hrule\@width
+ \minCDarrowwidth}}\enskip&}}
+\atdef@|{\CD@check|{\color{\dye@}\Big\Vert&&}}
+\atdef@\vert{\CD@check\vert{\color{\dye@}\Big\Vert&&}}
+\atdef@.{\CD@check.{&&}}
+\endinput
+%%
+%% End of file `amscdx.sty'.