texlive[51435] Master: amscdx (23jun19)

commits+karl at tug.org commits+karl at tug.org
Sun Jun 23 23:01:05 CEST 2019


Revision: 51435
          http://tug.org/svn/texlive?view=revision&revision=51435
Author:   karl
Date:     2019-06-23 23:01:05 +0200 (Sun, 23 Jun 2019)
Log Message:
-----------
amscdx (23jun19)

Modified Paths:
--------------
    trunk/Master/tlpkg/bin/tlpkg-ctan-check
    trunk/Master/tlpkg/tlpsrc/collection-mathscience.tlpsrc

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/latex/amscdx/
    trunk/Master/texmf-dist/doc/latex/amscdx/README
    trunk/Master/texmf-dist/doc/latex/amscdx/amscdx.pdf
    trunk/Master/texmf-dist/source/latex/amscdx/
    trunk/Master/texmf-dist/source/latex/amscdx/amscdx.dtx
    trunk/Master/texmf-dist/source/latex/amscdx/amscdx.ins
    trunk/Master/texmf-dist/tex/latex/amscdx/
    trunk/Master/texmf-dist/tex/latex/amscdx/amscdx.sty
    trunk/Master/tlpkg/tlpsrc/amscdx.tlpsrc

Added: trunk/Master/texmf-dist/doc/latex/amscdx/README
===================================================================
--- trunk/Master/texmf-dist/doc/latex/amscdx/README	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/amscdx/README	2019-06-23 21:01:05 UTC (rev 51435)
@@ -0,0 +1,6 @@
+The original amscd package provides a CD environment that emulates the commutative diagram capabilities of AMS-TEX version 2.x. This means that only simple rectangular diagrams are supported, with no diagonal arrows or more exotic features.
+ 
+This enhancement package amscdx implements double (”fat”) and dashed arrows also in both directions  (left-right and up-down), and color attributes for arrows and their annotations. The restriction to rectangular geometry remains. This nevertheless allows the drawing of a much broader class of "commutative-diagram-like" diagrams.
+
+License: The LaTeX Project Public License 1.3c. (c) Martin Vermeer.
+


Property changes on: trunk/Master/texmf-dist/doc/latex/amscdx/README
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/amscdx/amscdx.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/amscdx/amscdx.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/amscdx/amscdx.pdf	2019-06-23 21:00:08 UTC (rev 51434)
+++ trunk/Master/texmf-dist/doc/latex/amscdx/amscdx.pdf	2019-06-23 21:01:05 UTC (rev 51435)

Property changes on: trunk/Master/texmf-dist/doc/latex/amscdx/amscdx.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/source/latex/amscdx/amscdx.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/amscdx/amscdx.dtx	                        (rev 0)
+++ trunk/Master/texmf-dist/source/latex/amscdx/amscdx.dtx	2019-06-23 21:01:05 UTC (rev 51435)
@@ -0,0 +1,476 @@
+%
+% \iffalse meta-comment
+%
+% Copyright 1995, 1999 American Mathematical Society.
+% Copyright 2016-2017 LaTeX3 Project and American Mathematical Society.
+% Copyright 2019 Martin Vermeer.
+%
+% 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 Martin Vermeer.
+%
+% \fi
+%
+%\iffalse
+%<*driver>
+\documentclass{amsdtx}
+\usepackage{amscdx,amsmath,xcolor,calc,graphicx}
+\GetFileInfo{amscdx.sty}
+%    Dummy citation to avoid error in an example.
+\bibcite{fre:cichon}{C}
+\begin{document}
+\title{The \pkg{amscd\textcolor[RGB]{255,0,0}{x}} package}
+\author{\textcolor{red}{Martin Vermeer}\thanks{firstname.lastname$@$aalto.fi},\\
+based on \pkg{amscd} by\\
+Frank Mittelbach, Rainer Sch\"opf and Michael Downes} 
+\date{Version \fileversion, \filedate}
+\DocInput{amscdx.dtx}
+\end{document}
+%</driver>
+%\fi
+%
+% \maketitle
+% This file is maintained by Martin Vermeer.\\%
+%
+% \MakeShortVerb\|
+% \renewcommand{\operatorname}[1]{\mathop{\mathrm{#1}}}
+% \newcommand{\per}{\operatorname{per}}
+% \newcommand{\cov}{\operatorname{cov}}
+% \newcommand{\non}{\operatorname{non}}
+% \newcommand{\cf}{\operatorname{cf}}
+% \newcommand{\add}{\operatorname{add}}
+% \newcommand{\End}{\operatorname{End}}
+%
+% \renewcommand{\labelitemi}{$\circ$}
+%
+% \section{Introduction}
+%
+%    The \pkg{amscd} package provides a \env{CD} environment that
+%    emulates the commutative diagram capabilities of \amstex/ version
+%    2.x. This means that only simple rectangular diagrams are
+%    supported, with no diagonal arrows or more exotic features. Many
+%    users will be better served by one of the more powerful diagram
+%    packages such as \pkg{diagram}, \pkg{xypic}, \pkg{xymatrix}, 
+%    \pkg{kuvio}, or \pkg{tikz-cd}.
+%
+%    Example:
+%    \begin{equation}\begin{CD}
+%    S^{{\mathcal{W}}_\Lambda}\otimes T   @>j>>   T\\
+%    @VVV                                    @VV{\End P}V\\
+%    (S\otimes T)/I                  @=      (Z\otimes T)/J
+%    \end{CD}\end{equation}
+% \begin{verbatim}
+% \begin{equation}\begin{CD}
+% S^{{\mathcal{W}}_\Lambda}\otimes T   @>j>>   T\\
+% @VVV                                    @VV{\End P}V\\
+% (S\otimes T)/I                  @=      (Z\otimes T)/J
+% \end{CD}\end{equation}
+% \end{verbatim}
+%    (assuming \cn{End} is defined as an `operator name'.
+%
+%    Another example:
+%
+%    We will make liberal use of Cichon's Diagram \cite{fre:cichon}:
+%    \begin{equation}
+%    \begin{CD}
+%    \cov(\mathcal{L}) @>>> \non(\mathcal{K}) @>>> \cf(\mathcal{K}) @>>>
+%    \cf(\mathcal{L})\\
+%    @VVV @AAA @AAA @VVV\\
+%    \add(\mathcal{L}) @>>> \add(\mathcal{K}) @>>> \cov(\mathcal{K}) @>>>
+%    \non(\mathcal{L})
+%    \end{CD}\end{equation}
+% \begin{verbatim}
+% \begin{equation}\begin{CD}
+% \cov(\mathcal{L}) @>>> \non(\mathcal{K}) @>>> \cf(\mathcal{K}) @>>>
+% \cf(\mathcal{L})\\
+% @VVV @AAA @AAA @VVV\\
+% \add(\mathcal{L}) @>>> \add(\mathcal{K}) @>>> \cov(\mathcal{K}) @>>>
+% \non(\mathcal{L})
+% \end{CD}\end{equation}
+% \end{verbatim}
+%
+% \section{\color[RGB]{255,0,0}Enhancements in amscdx}
+%  We implemented double ("fat") and dashed arrows in both directions,
+%  and color attributes for arrows and their annotations.
+%  Naming scheme: 
+%  \begin{itemize}
+%    \item The left-right double arrow \verb+ at ZZZ+  
+%    \item The up-down double arrow \verb+ at XXX+.
+%  \end{itemize}
+%
+%  The color, a defined \verb+xcolor+ color name, can be added to an arrow by
+%  inserting \verb+\CDlor{<+\textit{color}\verb+>}+ into the diagram before, i.e.,
+%  to the immediate left of, the arrow that you wish to color. The command
+%  affects all arrows following it, so cancel it by the command
+%  \verb+\CDlor{black}+.  If you want to change the color of all the arrows, you
+%  can place the color command outside and before the \verb+CD+ environment.
+%
+%  Double arrows are obtained by inserting \verb+\CDfattrue+ into the diagram
+%  before, i.e., to the immediate left of, the arrow that you wish to be
+%  doubled. The command only affects the arrow immediately following it. To
+%  change the whole diagram to double arrows, place the \verb+\CDfattrue+ command
+%  outside and before the \verb+CD+ environment. If you do that, you can exempt
+%  individual arrows, i.e., make them single again, by the command
+%  \verb+\CDfatfalse+.
+%
+%  A similar technique applies for obtaining dashed arrows, but with the 
+%  boolean (flag) \verb+\CDash+, i.e., the command \verb+\CDashtrue+ will give
+%  a dashed arrow, while \verb+\CDashfalse+ will turn it off. \verb+\CDash+
+%  will only work if the state of the \verb+\CDfat+ flag be false. If both
+%  \verb+\CDfat+ and \verb+\CDash+ are true, the \verb+CDfat+ flag takes
+%  precedence.
+% 
+%  A demonstration of some of the new capabilities (yes, this looks tacky):
+%   \begin{equation}
+%   \CDfattrue
+%   \CDlor{green}
+%   \begin{CD}
+%   \text{Left header}  @.  \text{Right header}  \\
+%   TL  @>\text{Atop}>{\hspace{4cm}}>  TR  \\
+%   \CDfatfalse @X\text{Left}X{N_x}X 
+%   \CDfatfalse \CDashtrue  
+%      \CDlor{brown} @A{\scriptsize\begin{array}{r}\text{Right}\\
+%                   \text{column}\end{array}}A{N^x}A \\
+%   ML  \CDfatfalse \CDashtrue \CDlor{lime} @<{xyz}<{pqr}<  MR  \\
+%   \CDlor{red} @A{M^2}A\scriptsize\begin{array}{l}\text{Left}\\
+%                    \text{column}\end{array}A  @V+V{N_y}V  \\
+%   BL  \CDlor{purple}  @Z\text{above}Z\text{below}Z  BR  \\
+%   \end{CD}
+%   \end{equation}
+% \begin{verbatim}
+% \begin{equation}
+% \CDfattrue
+% \CDlor{green}
+% \begin{CD}
+% \text{Left header}  @.  \text{Right header}  \\
+% TL  @>\text{Atop}>{\hspace{4cm}}>  TR  \\
+% \CDfatfalse @X\text{Left}X{N_x}X 
+% \CDfatfalse \CDashtrue  
+%    \CDlor{brown} @A{\scriptsize\begin{array}{r}\text{Right}\\
+%                \text{column}\end{array}}A{N^x}A \\
+% ML  \CDfatfalse \CDashtrue \CDlor{lime} @<{xyz}<{pqr}<  MR  \\
+% \CDlor{red} @A{M^2}A\scriptsize\begin{array}{l}\text{Left}\\
+%                \text{column}\end{array}A  @V+V{N_y}V  \\
+%  BL  \CDlor{purple}  @Z\text{above}Z\text{below}Z  BR  \\
+%  \end{CD}
+%  \end{equation}
+%  \end{verbatim}
+% \hrule
+% \bigskip
+%
+% \StopEventually{}
+%
+%    Standard package info.
+%    \begin{macrocode}
+\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]
+%    \end{macrocode}
+%    \begin{macrocode}
+\RequirePackage{amsgen}
+%    \end{macrocode}
+%      Better not to redefine \verb|\math at cr| if it is already defined,
+%      because for CD use only we want to omit the part of the code
+%      related to \verb|\dspbrk at lvl| (see \fn{amsmath.sty}).
+%
+%    [mjd,1999/11/04] These definitions have gone somewhat obsolete; but
+%    we had probably better leave them as they are for backward
+%    compatibility.
+%    \begin{macrocode}
+\@ifundefined{math at cr}{%
+  \def\math at cr{{\ifnum0=`}\fi
+    \@ifstar{\global\@eqpen\@M\math at cr@}%
+          {\global\@eqpen\interdisplaylinepenalty \math at cr@}}
+%    \end{macrocode}
+%    The following section merely duplicates some code from the
+%    \pkg{amsmath} package, in case the \pkg{amscdx} package is used by
+%    itself. For documentation of the code refer to \fn{amsmath.dtx}.
+%    \begin{macrocode}
+  \def\math at cr@{\new at ifnextchar[\math at cr@@{\math at cr@@[\z@]}}
+  \def\math at cr@@[#1]{\ifnum0=`{\fi}\math at cr@@@
+    \noalign{\vskip#1\relax}}
+  \def\restore at math@cr{\def\math at cr@@@{\cr}}
+}{}
+\restore at math@cr
+%    \end{macrocode}
+%    [mjd,1999/11/04] These definitions too are somewhat obsolete;
+%    but we had probably better leave them as they are for backward
+%    compatibility.
+%    \begin{macrocode}
+%
+\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 at th\setboxz at 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 at th\setboxz at 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 at th\setboxz at 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$}
+}{}
+%    \end{macrocode}
+%
+%   Added double arrows
+%
+%    \begin{macrocode}
+  \def\Rightarrowfill@#1{%
+    \m at th\setboxz at 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 at th\setboxz at 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 at th\setboxz at 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 at th\setboxz at 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 at th\setboxz at 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 at th\setboxz at 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$}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\def\atdef@#1{\expandafter\def\csname\space @\string#1\endcsname}
+\@ifundefined{Iat}{%
+  \DeclareRobustCommand{\Iat}{\FN@\at@}
+}{}
+\begingroup \catcode`\@=\active
+%    \end{macrocode}
+%    Define math \qc{\@} to replicate its mathcode-dictated behavior.
+%    This is in case \qc{\@} occurs outside of \env{CD}.
+%    \begin{macrocode}
+\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@}%
+%    \end{macrocode}
+%    The following items should be defined only if they are not
+%    already defined, either to leave the package name untouched (in
+%    the case of \cs{PackageError}) or to avoid redundant allocation
+%    of token or dimen registers.
+%    \begin{macrocode}
+\@ifundefined{default at tag}{%
+  \def\default at 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@}{}
+%    \end{macrocode}
+%
+%      Assignment of a couple of dimensions, and initialization of
+%      \verb=\ampersand@=. We check to see if we need to define
+%      \verb=\minaw@= and \verb=\bigaw@=.
+%    \begin{macrocode}
+\minaw at 11.111pt
+\newdimen\minCDarrowwidth
+\minCDarrowwidth2.5pc
+\newif\ifCD@
+\let\ampersand@\relax
+%    \end{macrocode}
+%
+%      Added \verb|\restore at math@cr\default at tag| to fix line numbering
+%      problems, 7-JUN-1991. Suggested by I.~Zakharevich.
+%    \begin{macrocode}
+\newenvironment{CD}{%
+  \CDat
+  \bgroup\relax\iffalse{\fi\let\ampersand@&\iffalse}\fi
+  \CD at true\vcenter\bgroup\let\\\math at cr\restore at math@cr\default at tag
+  \tabskip\z at skip\baselineskip20\ex@
+  \lineskip3\ex@\lineskiplimit3\ex@\halign\bgroup
+  &\hfill$\m at th##$\hfill\crcr
+}{%
+  \crcr\egroup\egroup\egroup
+}
+%    \end{macrocode}
+%
+% \begin{macro}{\CD at check}
+%    This check is used by all macros that must not appear outside the
+%    \env{CD} environment. The first argument is the symbol to be used
+%    after \verb+ at +, the second one the action to be performed.
+%
+%    Once again we use the trick of defining a temporary control
+%    sequence \verb+\next at + and calling it after the final \verb+\fi+.
+%    This is not absolutely necessary, but it ensures that the
+%    conditional text is processed in one and the same column
+%    of the enclosing alignment.
+%    \begin{macrocode}
+\def\CD at check#1#2{\ifCD@\DN@{#2}\else
+  \DN@{\PackageError{amscdx}{@\protect#1 not
+    allowed outside of the CD environment}\@eha}%
+  \fi\next@}
+%    \end{macrocode}
+% \end{macro}
+%
+% The boolean \verb+\ifCDfat+ has scope only within a table cell:
+%  
+%    \begin{macrocode}
+\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 at h{$\m at th\scriptstyle\;{#1}\;\;$}%
+  \ifdim\wdz@>\bigaw@\global\bigaw@\wdz@\fi
+%    \end{macrocode}
+%      If \verb|#2| is empty we can save some work.
+%    \begin{macrocode}
+  \@ifnotempty{#2}{\setbox\@ne\hbox{$\m at 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 at h{$\m at th\scriptstyle\;\;{#1}\;$}%
+  \ifdim\wdz@>\bigaw@ \global\bigaw@\wdz@ \fi
+  \@ifnotempty{#2}{\setbox\@ne\hbox{$\m at 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@}
+%    \end{macrocode}
+% 
+%    \begin{macrocode}
+\atdef@ Z#1Z#2Z{\CD at 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 at h{$\m at th\scriptstyle\;\;{#1}\;$}%
+  \ifdim\wdz@>\bigaw@ \global\bigaw@\wdz@ \fi
+  \@ifnotempty{#2}{\setbox\@ne\hbox{$\m at 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@}}
+%    \end{macrocode}
+%
+%      Variants of the above two arrows, using \verb|(| and \verb|)|
+%      characters instead of \verb|<| and \verb|>| characters, are
+%      provided for those whose keyboards don't have the latter.
+%    \begin{macrocode}
+\begingroup \catcode`\~=\active \lccode`\~=`\@
+\lowercase{%
+  \global\atdef@)#1)#2){~>#1>#2>}
+  \global\atdef@(#1(#2({~<#1<#2<}
+}% end lowercase
+\endgroup
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\atdef@ A#1A#2A{\CD at check{A..A..A}{\color{\dye@}\llap{$\m at 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 at th\vcenter{\hbox{$\scriptstyle#2$}}$}&&}}
+%
+\atdef@ V#1V#2V{\CD at check{V..V..V}{\color{\dye@}\llap{$\m at 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 at th\vcenter{\hbox{$\scriptstyle#2$}}$}&&}}
+%
+\atdef@ X#1X#2X{\CD at check{X..X..X}{\color{\dye@}\llap{$\m at 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 at th\vcenter{\hbox{$\scriptstyle#2$}}$}&&}}
+%
+\atdef@={\CD at check={\gdef\before@{\dye@}&\color{\before@}\enskip\mathrel
+  {\vbox{\hrule\@width\minCDarrowwidth\vskip2\ex@\hrule\@width
+  \minCDarrowwidth}}\enskip&}}
+%
+\atdef@|{\CD at check|{\color{\dye@}\Big\Vert&&}}
+%
+\atdef@\vert{\CD at check\vert{\color{\dye@}\Big\Vert&&}}
+%
+\atdef at .{\CD at check.{&&}}
+%    \end{macrocode}
+%
+%    The \cn{pretend} command has weird syntax that doesn't fit well
+%    with standard \latex/ syntax so we leave it undone, at least for
+%    now. [mjd,1994/10/27]
+%    \begin{macrocode}
+%\def\pretend#1\haswidth#2{\setboxz at h{$\m at th\scriptstyle{#2}$}\hbox
+% to\wdz@{\hfill$\m at th\scriptstyle{#1}$\hfill}}
+%    \end{macrocode}
+%
+%    The usual \cs{endinput} to ensure that random garbage at the end of
+%    the file doesn't get copied by \fn{docstrip}.
+%    \begin{macrocode}
+\endinput
+%    \end{macrocode}
+%
+% \CheckSum{814}
+% \Finale


Property changes on: trunk/Master/texmf-dist/source/latex/amscdx/amscdx.dtx
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/source/latex/amscdx/amscdx.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/amscdx/amscdx.ins	                        (rev 0)
+++ trunk/Master/texmf-dist/source/latex/amscdx/amscdx.ins	2019-06-23 21:01:05 UTC (rev 51435)
@@ -0,0 +1,50 @@
+%% 
+%% Copyright 2010 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.
+%%
+%% ====================================================================
+
+\input docstrip
+
+\askforoverwritefalse
+
+\keepsilent
+
+\preamble
+
+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.
+
+\endpreamble
+
+\usedir{tex/latex/amsmath}
+
+\generate{
+    \file{amscdx.sty}{\from{amscdx.dtx}{}}
+}
+
+\endbatchfile

Added: trunk/Master/texmf-dist/tex/latex/amscdx/amscdx.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/amscdx/amscdx.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/amscdx/amscdx.sty	2019-06-23 21:01:05 UTC (rev 51435)
@@ -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 at cr}{%
+  \def\math at cr{{\ifnum0=`}\fi
+    \@ifstar{\global\@eqpen\@M\math at cr@}%
+          {\global\@eqpen\interdisplaylinepenalty \math at cr@}}
+  \def\math at cr@{\new at ifnextchar[\math at cr@@{\math at cr@@[\z@]}}
+  \def\math at cr@@[#1]{\ifnum0=`{\fi}\math at cr@@@
+    \noalign{\vskip#1\relax}}
+  \def\restore at math@cr{\def\math at cr@@@{\cr}}
+}{}
+\restore at 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 at th\setboxz at 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 at th\setboxz at 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 at th\setboxz at 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 at th\setboxz at 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 at th\setboxz at 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 at th\setboxz at 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 at th\setboxz at 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 at th\setboxz at 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 at th\setboxz at 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 at tag}{%
+  \def\default at 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 at 11.111pt
+\newdimen\minCDarrowwidth
+\minCDarrowwidth2.5pc
+\newif\ifCD@
+\let\ampersand@\relax
+\newenvironment{CD}{%
+  \CDat
+  \bgroup\relax\iffalse{\fi\let\ampersand@&\iffalse}\fi
+  \CD at true\vcenter\bgroup\let\\\math at cr\restore at math@cr\default at tag
+  \tabskip\z at skip\baselineskip20\ex@
+  \lineskip3\ex@\lineskiplimit3\ex@\halign\bgroup
+  &\hfill$\m at th##$\hfill\crcr
+}{%
+  \crcr\egroup\egroup\egroup
+}
+\def\CD at 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 at h{$\m at th\scriptstyle\;{#1}\;\;$}%
+  \ifdim\wdz@>\bigaw@\global\bigaw@\wdz@\fi
+  \@ifnotempty{#2}{\setbox\@ne\hbox{$\m at 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 at h{$\m at th\scriptstyle\;\;{#1}\;$}%
+  \ifdim\wdz@>\bigaw@ \global\bigaw@\wdz@ \fi
+  \@ifnotempty{#2}{\setbox\@ne\hbox{$\m at 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 at 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 at h{$\m at th\scriptstyle\;\;{#1}\;$}%
+  \ifdim\wdz@>\bigaw@ \global\bigaw@\wdz@ \fi
+  \@ifnotempty{#2}{\setbox\@ne\hbox{$\m at 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 at check{A..A..A}{\color{\dye@}\llap{$\m at 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 at th\vcenter{\hbox{$\scriptstyle#2$}}$}&&}}
+\atdef@ V#1V#2V{\CD at check{V..V..V}{\color{\dye@}\llap{$\m at 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 at th\vcenter{\hbox{$\scriptstyle#2$}}$}&&}}
+\atdef@ X#1X#2X{\CD at check{X..X..X}{\color{\dye@}\llap{$\m at 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 at th\vcenter{\hbox{$\scriptstyle#2$}}$}&&}}
+\atdef@={\CD at check={\gdef\before@{\dye@}&\color{\before@}\enskip\mathrel
+  {\vbox{\hrule\@width\minCDarrowwidth\vskip2\ex@\hrule\@width
+  \minCDarrowwidth}}\enskip&}}
+\atdef@|{\CD at check|{\color{\dye@}\Big\Vert&&}}
+\atdef@\vert{\CD at check\vert{\color{\dye@}\Big\Vert&&}}
+\atdef at .{\CD at check.{&&}}
+\endinput
+%%
+%% End of file `amscdx.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/amscdx/amscdx.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/tlpkg/bin/tlpkg-ctan-check
===================================================================
--- trunk/Master/tlpkg/bin/tlpkg-ctan-check	2019-06-23 21:00:08 UTC (rev 51434)
+++ trunk/Master/tlpkg/bin/tlpkg-ctan-check	2019-06-23 21:01:05 UTC (rev 51435)
@@ -35,7 +35,8 @@
     alg algobox algolrevived algorithm2e algorithmicx algorithms
     aligned-overset
     alkalami allrunes almendra almfixed alnumsec alpha-persian alterqcm
-    altfont ametsoc amiri amsaddr amscls amscls-doc amsfonts amslatex-primer
+    altfont ametsoc amiri
+    amsaddr amscdx amscls amscls-doc amsfonts amslatex-primer
     amsldoc-it amsldoc-vn
     amsmath amsmath-it amsrefs amstex amsthdoc-it 
     animate anonchap anonymouspro answers antiqua antomega antt anufinalexam

Added: trunk/Master/tlpkg/tlpsrc/amscdx.tlpsrc
===================================================================
Modified: trunk/Master/tlpkg/tlpsrc/collection-mathscience.tlpsrc
===================================================================
--- trunk/Master/tlpkg/tlpsrc/collection-mathscience.tlpsrc	2019-06-23 21:00:08 UTC (rev 51434)
+++ trunk/Master/tlpkg/tlpsrc/collection-mathscience.tlpsrc	2019-06-23 21:01:05 UTC (rev 51435)
@@ -13,6 +13,7 @@
 depend algorithmicx
 depend algorithms
 depend aligned-overset
+depend amscdx
 depend amstex
 depend apxproof
 depend autobreak



More information about the tex-live-commits mailing list