texlive[58521] branches/branch2020.0/Master/texmf-dist: mathtools

commits+karl at tug.org commits+karl at tug.org
Thu Mar 18 22:13:05 CET 2021


Revision: 58521
          http://tug.org/svn/texlive?view=revision&revision=58521
Author:   karl
Date:     2021-03-18 22:13:05 +0100 (Thu, 18 Mar 2021)
Log Message:
-----------
mathtools (18mar21) (branch)

Modified Paths:
--------------
    branches/branch2020.0/Master/texmf-dist/doc/latex/mathtools/empheq.pdf
    branches/branch2020.0/Master/texmf-dist/doc/latex/mathtools/mathtools.pdf
    branches/branch2020.0/Master/texmf-dist/doc/latex/mathtools/mhsetup.pdf
    branches/branch2020.0/Master/texmf-dist/source/latex/mathtools/empheq.ins
    branches/branch2020.0/Master/texmf-dist/source/latex/mathtools/mathtools.dtx
    branches/branch2020.0/Master/texmf-dist/source/latex/mathtools/mathtools.ins
    branches/branch2020.0/Master/texmf-dist/source/latex/mathtools/mhsetup.dtx
    branches/branch2020.0/Master/texmf-dist/tex/latex/mathtools/mathtools.sty
    branches/branch2020.0/Master/texmf-dist/tex/latex/mathtools/mhsetup.sty

Added Paths:
-----------
    branches/branch2020.0/Master/texmf-dist/source/latex/mathtools/mhsetup.ins

Modified: branches/branch2020.0/Master/texmf-dist/doc/latex/mathtools/empheq.pdf
===================================================================
(Binary files differ)

Modified: branches/branch2020.0/Master/texmf-dist/doc/latex/mathtools/mathtools.pdf
===================================================================
(Binary files differ)

Modified: branches/branch2020.0/Master/texmf-dist/doc/latex/mathtools/mhsetup.pdf
===================================================================
(Binary files differ)

Modified: branches/branch2020.0/Master/texmf-dist/source/latex/mathtools/empheq.ins
===================================================================
--- branches/branch2020.0/Master/texmf-dist/source/latex/mathtools/empheq.ins	2021-03-18 21:12:52 UTC (rev 58520)
+++ branches/branch2020.0/Master/texmf-dist/source/latex/mathtools/empheq.ins	2021-03-18 21:13:05 UTC (rev 58521)
@@ -33,7 +33,7 @@
 \input docstrip.tex
 \Msg{************************************************************************}
 \Msg{* Installation}
-\Msg{* Package: empheq 2017/03/31 v2.15 empheq}
+\Msg{* Package: empheq 2020/03/24 v2.16 empheq}
 \Msg{************************************************************************}
 
 \keepsilent

Modified: branches/branch2020.0/Master/texmf-dist/source/latex/mathtools/mathtools.dtx
===================================================================
--- branches/branch2020.0/Master/texmf-dist/source/latex/mathtools/mathtools.dtx	2021-03-18 21:12:52 UTC (rev 58520)
+++ branches/branch2020.0/Master/texmf-dist/source/latex/mathtools/mathtools.dtx	2021-03-18 21:13:05 UTC (rev 58521)
@@ -6,11 +6,11 @@
 %
 % This work may be distributed and/or modified under the
 % conditions of the LaTeX Project Public License, either
-% version 1.3 of this license or (at your option) any later
+% version 1.3c of this license or (at your option) any later
 % version. The latest version of this license is in
 %    http://www.latex-project.org/lppl.txt
-% and version 1.3 or later is part of all distributions of
-% LaTeX version 2005/12/01 or later.
+% and version 1.3c or later is part of all distributions of
+% LaTeX version 2008/05/05 or later.
 %
 % This work has the LPPL maintenance status "maintained".
 %
@@ -69,7 +69,7 @@
 \input docstrip.tex
 \Msg{************************************************************************}
 \Msg{* Installation}
-\Msg{* Package: mathtools 2020/03/24 v1.24}
+\Msg{* Package: mathtools 2021/03/18 v1.25}
 \Msg{************************************************************************}
 
 \keepsilent
@@ -81,16 +81,16 @@
 
 Copyright (C) 2002-2011 by Morten Hoegholm
 Copyright (C) 2012-2019 by Lars Madsen
-Copyright (C) 2020      by Lars Madsen, the LaTeX3 project
+Copyright (C) 2020-     by Lars Madsen, the LaTeX3 project
 
 
 This work may be distributed and/or modified under the
 conditions of the LaTeX Project Public License, either
-version 1.3 of this license or (at your option) any later
+version 1.3c of this license or (at your option) any later
 version. The latest version of this license is in
    http://www.latex-project.org/lppl.txt
-and version 1.3 or later is part of all distributions of
-LaTeX version 2005/12/01 or later.
+and version 1.3c or later is part of all distributions of
+LaTeX version 2008/05/04 or later.
 
 This work has the LPPL maintenance status "maintained".
 
@@ -133,7 +133,7 @@
 %<*driver>
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesFile{mathtools.drv}%
-  [2020/03/24 v1.24 mathematical typesetting tools]
+  [2021/03/18 v1.25 mathematical typesetting tools]
 \documentclass{ltxdoc}
 \IfFileExists{fourier.sty}{\usepackage{fourier}}{}
 \addtolength\marginparwidth{-25pt}
@@ -321,7 +321,7 @@
 %
 %  \GetFileInfo{mathtools.drv}
 %
-%  \CheckSum{3333}
+%  \CheckSum{3364}
 %
 %  \title{The \pkg{mathtools} package\thanks{This file has version number
 %  \fileversion, last revised \filedate.}}
@@ -696,15 +696,15 @@
 %    \SpecialUsageIndex{\smashoperator}
 %    \cs{smashoperator}\oarg{pos}\marg{operator with limits}
 %  \end{codesyntax}
-%  \FeatureRequest{Lars Madsen}{2004/05/04}
-%  Above we shoved how to get \LaTeX{} to ignore the width of the
-%  subscript of an operator. However this approach takes a lot of
-%  extra typing, especially if you have a wide superscript, meaning
-%  you have to put in \cs{crampedclap} in both sub- and superscript.
-%  To make things easier, \pkg{mathtools} provides a
-%  \cs{smashoperator} command, which simply ignores the width of the
-%  sub- and superscript. It also takes an optional argument,
-%  \texttt{l}, \texttt{r}, or \texttt{lr} (default), denoting which
+%  \FeatureRequest{Lars Madsen}{2004/05/04} Above we showed how to get
+%  \LaTeX{} to ignore the width of the subscript of an
+%  operator. However this approach takes a lot of extra typing,
+%  especially if you have a wide superscript, meaning you have to put
+%  in \cs{crampedclap} in both sub- and superscript.  To make things
+%  easier, \pkg{mathtools} provides a \cs{smashoperator} command,
+%  which simply ignores the width of the sub- and superscript. It also
+%  takes an optional argument, \texttt{l}, \texttt{r}, or \texttt{lr}
+%  (default, \texttt{rl} is an alias for \texttt{lr}), denoting which
 %  side of the operator should be ignored (smashed).
 %  \begin{verbatim}
 %    \[
@@ -1967,11 +1967,11 @@
 %
 %  Thus
 %  \begin{quote}
-%    \cs{DeclarePairedDelimiter}\marg{cmd}\marg{left_delim}\marg{right_delim}
+%   \cs{DeclarePairedDelimiter}\marg{cmd}\marg{left_delim}\marg{right_delim}
 %  \end{quote}
 %  is the same thing as
 %  \begin{quote}
-%    \cs{DeclarePairedDelimiterX}\marg{cmd}\verb|[1]|\marg{left_delim}\marg{right_delim}\verb|{#1}|
+%   \cs{DeclarePairedDelimiterX}\marg{cmd}\texttt{[1]}\marg{left_delim}\marg{right_delim}\rlap{\texttt{\{\#1\}}}
 %  \end{quote}
 %  %
 %  Let us do some examples. First we want to prepare a macro for inner
@@ -2157,7 +2157,9 @@
 %  '$\sin$' and '('.  In some special cases it may be useful to be
 %  able to tinker with the behavior.
 %  \begin{codesyntax}
-%    \SpecialUsageIndex{\reDeclarePairedDelimiterInnerWrapper}\cs{reDeclarePairedDelimiterInnerWrapper}\marg{macro name}\marg{\textnormal{\texttt{star}} or \textnormal{\texttt{nostarnonscaled}} or \textnormal{\texttt{nostarscaled}}}\marg{code}
+%    \SpecialUsageIndex{\reDeclarePairedDelimiterInnerWrapper}
+%    \cs{reDeclarePairedDelimiterInnerWrapper}\marg{macro name}\%\\
+%    \qquad \marg{\textnormal{\texttt{star}} or \textnormal{\texttt{nostarnonscaled}} or \textnormal{\texttt{nostarscaled}}}\marg{code}
 %  \end{codesyntax}
 %  Internally several macros are created, including three call backs
 %  that take care of the formatting. There is one internal macro for
@@ -2298,6 +2300,7 @@
 %  \cs{vcentcolon} is a shorthand for such a vertically centered
 %  colon, and can be used as in |$a \vcentcolon= b$| and results in
 %  the desired output:  $a \vcentcolon= b$. % for now
+%  See also the \pkg{colonequals} package.
 %
 %  Typing \cs{vcentcolon} every time is quite tedious, so one can use
 %  the key \key{centercolon} to make the colon active instead.
@@ -2537,8 +2540,8 @@
 %  been fixed in \LaTeX, this fix will be removed from
 %  \pkg{mathtools}.
 %
-% The \CommentAdded{2015/11/12} fix was added to the \LaTeX{} kernel i 2015. We will continue to
-% provide it on older kernels.
+%  The \CommentAdded{2015/11/12} fix was added to the \LaTeX{} kernel
+%  in 2015. We will continue to provide it on older kernels.
 %
 %  \subsection{Spreading equations}\label{sec:spread}
 %
@@ -2755,7 +2758,7 @@
 %      \verb|\xmathstrut{0.1}| 
 %  \end{center}
 %  will give you a new strut where 10\% of the \emph{total height of
-%  the normal math stut} (\verb|\mathstrut=\mathstrut{0}|) will be
+%  the normal math stut} (\verb|\mathstrut=\xmathstrut{0}|) will be
 %  added to both \emph{the height} and \emph{the depth} of the
 %  original strut (thus 20\% gets added in total). On the other hand
 %  \begin{center}
@@ -2785,14 +2788,14 @@
 %  \]
 % \begin{verbatim}
 %  \[ \begin{cases*}
-%      \frac{\frac{ x-1 }{ x-\sin x} }{ \sqrt{ 1 -x }} & $x >0$ \\
+%      \frac{ \frac{ x-1 }{ x-\sin x } }{ \sqrt{ 1-x } } & $x>0$ \\
 %      0 & otherwise
 %    \end{cases*}
 %  \qquad\text{vs.}\qquad
 %    \begin{cases*}
 %      \frac{ \frac{ \xmathstrut{0.1} x-1 }
-%                  { \xmathstrut{0.25} x-\sin x} }
-%           {\xmathstrut{0.4} \sqrt{ 1 -x } } & $x >0$ \\
+%                  { \xmathstrut{0.25} x-\sin x } }
+%           {\xmathstrut{0.4} \sqrt{ 1-x } }             & $x>0$ \\
 %      0 & otherwise
 %    \end{cases*} \]
 % \end{verbatim}
@@ -2808,15 +2811,17 @@
 % \begin{verbatim}
 % \newcommand\vfb[1]{\begingroup\fboxsep=0pt\boxed{\,#1\,}\endgroup}
 % \[
-%  a \vfb{\mathstrut}         \   % normal strut
-%  \vfb{\xmathstrut{0}}       \   % just 0 => normal strut
-%  \vfb{\xmathstrut{0.5} }    \   % twice as large 50% + 50%
-%  \vfb{\xmathstrut{-0.1} }   \   % negative gives something smaller
-%  \vfb{\xmathstrut[0.5]{0}} a    % change only the depth
+% a
+%    \vfb{ \mathstrut }          \   % normal strut
+%    \vfb{ \xmathstrut{0} }      \   % just 0 => normal strut
+%    \vfb{ \xmathstrut{0.5} }    \   % twice as large 50% + 50%
+%    \vfb{ \xmathstrut{-0.1} }   \   % negative gives something smaller
+%    \vfb{ \xmathstrut[0.5]{0} }     % change only the depth
+% a
 % \]
 % \end{verbatim}
 % -- the last box showcases a strut where we have only changed the
-% depth of the strut. One can see \verb|\xmathstrut[B]{0}| kind of the
+% depth of the strut. One can see \verb|\xmathstrut[0.5]{0}| kind of the
 % opposite of \verb|\smash[b]{...}|, the former makes the depth larger
 % and the latter ignores the depth.
 %
@@ -2925,20 +2930,19 @@
 %
 %
 % \begin{thebibliography}{9}
-%  \bibitem{Perlis01}
-%    Alexander R. Perlis,
-%    \emph{A complement to \cs{smash}, \cs{llap}, and \cs{rlap}},
-%    TUGboat 22(4) (2001).
-%  \bibitem{Ams99}
-%    American Mathematical Society and Michael Downes,
-%    \emph{Technical notes on the \pkg{amsmath} package} Version 2.0,
-%    1999/10/29.
-%    (Available from CTAN as file \texttt{technote.tex}.)
-%  \bibitem{Ams00}
-%    Frank Mittelbach, Rainer Sch\"opf, Michael Downes, and David M.~Jones,
-%    \emph{The \pkg{amsmath} package} Version 2.13,
-%    2000/07/18.
-%    (Available from CTAN as file \texttt{amsmath.dtx}.)
+% \bibitem{Perlis01} Alexander R. Perlis, \emph{A complement to
+%   \cs{smash}, \cs{llap}, and \cs{rlap}}, TUGboat 22(4)
+%   (2001). Available at
+%   \url{https://www.tug.org/TUGboat/tb22-4/tb72perlS.pdf}.
+% \bibitem{Ams99} American Mathematical Society and Michael Downes,
+%   \emph{Technical notes on the \pkg{amsmath} package}. Version 2.0,
+%   1999/10/29. Available via
+%   \url{http://mirrors.ctan.org/macros/latex/required/amsmath/technote.pdf}.
+% \bibitem{Ams00} Frank Mittelbach, Rainer Sch\"opf, Michael Downes,
+%   David M.~Jones and David Carlisle, \emph{The \pkg{amsmath}
+%   package}. Version 2.17e, 2020/01/20. Maintained by the \LaTeX3
+%   project.  Available as file
+%   \url{http://mirrors.ctan.org/macros/latex/required/amsmath/amsmath.dtx}.
 %  \bibitem{A-W:MG04}
 %    Frank Mittelbach and Michel Goossens.
 %     \emph{The {\LaTeX} Companion}.
@@ -2946,17 +2950,14 @@
 %    Boston, Massachusetts, 2 edition, 2004.
 %    With Johannes Braams, David Carlisle, and Chris Rowley.
 %
-% \bibitem{Carl99}
-%   David Carlisle,
-%   \emph{The \pkg{keyval} Package},
-%   Version 1.13, 1999/03/16.
-%   (Available from CTAN as file \texttt{keyval.dtx}.)
+%  \bibitem{Carl99} David Carlisle, \emph{The \pkg{keyval} Package}.
+%    Version 1.15, 2014/10/28.  Available via
+%    \url{https://ctan.org/pkg/keyval}.
 %
-%  \bibitem{Voss:2004}
-%    Herbert Vo\ss,
-%    \emph{Math mode}, Version 1.71,
-%    2004/07/06.
-%    (Available from CTAN as file \texttt{Voss-Mathmode.pdf}.)
+%  \bibitem{Voss:2004} Herbert Vo\ss, \emph{Math mode}. Version 2.47,
+%    2014/01/30.  Available as
+%    \url{http://mirrors.ctan.org/obsolete/info/math/voss/mathmode/Mathmode.pdf}. Please
+%    note that the author has marked the document as \emph{obsolete}.
 %  
 %   \bibitem{Swanson} 
 %     Ellen Swanson,
@@ -2963,11 +2964,11 @@
 %     \emph{Mathematics into type}.
 %     American Mathematical Society, updated edition, 1999.
 %     Updated by Arlene O'Sean and Antoinette Schleyer. Available from
-%     the AMS at \url{http://www.ams.org/arc/styleguide/mit-2.pdf}
+%     the AMS at \url{https://www.ams.org/arc/styleguide/mit-2.pdf}.
 %
-%   \bibitem{TBT}
-%   Victor Eijkhout, \emph{\TeX\ by Topic, A Texnician's Reference}, 2007. 
-%   Freely available at \url{https://ctan.org/pkg/texbytopic}.
+%   \bibitem{TBT} Victor Eijkhout, \emph{\TeX\ by Topic, A Texnician's
+%     Reference}, 2007.  The book is available at
+%     \url{https://ctan.org/pkg/texbytopic}.
 %  \end{thebibliography}
 %
 %
@@ -2981,13 +2982,13 @@
 %    \begin{macrocode}
 %<*package>
 \ProvidesPackage{mathtools}%
-  [2020/03/24 v1.24 mathematical typesetting tools]
+  [2021/03/18 v1.25 mathematical typesetting tools]
 %    \end{macrocode}
 % \changes{v1.10}{2011/02/12}{Might as well make sure that we need the
 % latest version of \texttt{mhsetup}}
 %    \begin{macrocode}
 \RequirePackage{keyval,calc}
-\RequirePackage{mhsetup}[2017/03/31]
+\RequirePackage{mhsetup}[2021/03/18]
 \MHInternalSyntaxOn
 %    \end{macrocode}
 % \changes{v1.13}{2013/02/11}{Robustifying \cs{(}\cs{)}\cs{[}\cs{]}}
@@ -4158,7 +4159,13 @@
     \lineskip\thr@@\fontdimen8 \scriptfont\thr@@
     \lineskiplimit\lineskip
     \ialign\bgroup\ifx c##1\hfil\fi
-    $\m at th\scriptstyle\kern-\nulldelimiterspace\radical\z@{####}$
+%    \end{macrocode}
+% \changes{v1.25}{2021/03/18}{use \cs{MT_cramped_internal:Nn} instead,
+% see issue \#17}
+% Here we should use the proper cramped internal macro
+%    \begin{macrocode}
+    %% $\m at th\scriptstyle\kern-\nulldelimiterspace\radical\z@{####}$
+    \span\MT_cramped_internal:Nn \scriptstyle {####}%
     \hfil\crcr
   }{%
     \crcr\egroup\egroup
@@ -4728,21 +4735,24 @@
 %  both columns, while \env{dcases*} has text in the second column.
 %  \changes{v1.08}{2010/06/10}{changed to match the change in
 %  \cs{newcases} plus added rcases and drcases}
+% \changes{v1.25}{2021/01/14}{Replaced \texttt{\{\#\#\}} by
+% \texttt{\#\#}, otherwise one cannot counteract the \cs{hfil} in the
+% definition with a \cs{hfil(l)} in a cell. Related to issue \#20 and https://tex.stackexchange.com/a/252412/3929}
 %    \begin{macrocode}
 \newcases{dcases}{\quad}{%
-  $\m at th\displaystyle{##}$\hfil}{$\m at th\displaystyle{##}$\hfil}{\lbrace}{.}
+  $\m at th\displaystyle##$\hfil}{$\m at th\displaystyle##$\hfil}{\lbrace}{.}
 \newcases{dcases*}{\quad}{%
-  $\m at th\displaystyle{##}$\hfil}{{##}\hfil}{\lbrace}{.}
+  $\m at th\displaystyle##$\hfil}{##\hfil}{\lbrace}{.}
 \newcases{rcases}{\quad}{%
-  $\m at th{##}$\hfil}{$\m at th{##}$\hfil}{.}{\rbrace}
+  $\m at th##$\hfil}{$\m at th##$\hfil}{.}{\rbrace}
 \newcases{rcases*}{\quad}{%
-  $\m at th{##}$\hfil}{{##}\hfil}{.}{\rbrace}
+  $\m at th##$\hfil}{##\hfil}{.}{\rbrace}
 \newcases{drcases}{\quad}{%
-  $\m at th\displaystyle{##}$\hfil}{$\m at th\displaystyle{##}$\hfil}{.}{\rbrace}
+  $\m at th\displaystyle##$\hfil}{$\m at th\displaystyle##$\hfil}{.}{\rbrace}
 \newcases{drcases*}{\quad}{%
-  $\m at th\displaystyle{##}$\hfil}{{##}\hfil}{.}{\rbrace}
+  $\m at th\displaystyle##$\hfil}{##\hfil}{.}{\rbrace}
 \newcases{cases*}{\quad}{%
-  $\m at th{##}$\hfil}{{##}\hfil}{\lbrace}{.}
+  $\m at th##$\hfil}{##\hfil}{\lbrace}{.}
 %    \end{macrocode}
 %  \end{environment}
 %  \end{environment}
@@ -4913,12 +4923,19 @@
 %  specialized commands \cs{MT_smop_smash_l:NNNNN},
 %  \cs{MT_smop_smash_r:NNNNN}, or the default
 %  \cs{MT_smop_smash_lr:NNNNN}.
+%  \changes{v1.25}{2021/03/04}{Verify that opt arg corresponds to
+%  something predefined}
 %    \begin{macrocode}
 \newcommand*\smashoperator[2][lr]{
-  \def\MT_smop_use:NNNNN {\@nameuse{MT_smop_smash_#1:NNNNN}}
-  \toks@{#2}
-  \expandafter\MT_smop_get_args:wwwNnNn
+  \@ifundefined{MT_smop_smash_#1:NNNNN}{
+    \PackageError{mathtools}{Opt~ arg~ '#1'~ for~ \@backslashchar smashoperator~
+      is~ not~ supported.\MessageBreak Use~ l,~r~or~lr~ (default)}{}
+  }{
+    \def\MT_smop_use:NNNNN {\@nameuse{MT_smop_smash_#1:NNNNN}}
+    \toks@{#2}
+    \expandafter\MT_smop_get_args:wwwNnNn
     \the\toks@\@nil\@nil\@nil\@nil\@nil\@nil\@@nil
+  }
 }
 %    \end{macrocode}
 %  \end{macro}
@@ -5119,13 +5136,18 @@
 }
 %    \end{macrocode}
 %  The `lr' variant
+% \changes{v1.25}{2021/03/04}{add `rl' as an alias for `lr'}
 %    \begin{macrocode}
 \def\MT_smop_smash_lr:NNNNN #1#2#3#4#5{
   \MT_smop_needed_args:NNNNN #1#2#3#4#5
 }
 %    \end{macrocode}
+% Add `rl' as an alias for `lr'
+%    \begin{macrocode}
+\MH_let:NwN \MT_smop_smash_rl:NNNNN \MT_smop_smash_lr:NNNNN
+%    \end{macrocode}
+% 
 %
-%
 %  \subsection{Adjusting limits}
 %
 %
@@ -5777,10 +5799,12 @@
 %  \begin{macro}{\MT_mathclap:Nn}
 %  First we'll \cs{provide} those macros (they are so simple that I
 %  think other packages might define them as well).
+% \changes{v1.15}{2021/03/04}{Add \cs{relax} before the \cs{ifx}'s to
+% prevent corner case premature expansions}
 %    \begin{macrocode}
 \providecommand*\clap[1]{\hb at xt@\z@{\hss#1\hss}}
 \providecommand*\mathllap[1][\@empty]{
-  \ifx\@empty#1\@empty
+  \relax\ifx\@empty#1\@empty
     \expandafter \mathpalette \expandafter \MT_mathllap:Nn
   \else
     \expandafter \MT_mathllap:Nn \expandafter #1
@@ -5787,7 +5811,7 @@
   \fi
 }
 \providecommand*\mathrlap[1][\@empty]{
-  \ifx\@empty#1\@empty
+  \relax\ifx\@empty#1\@empty
     \expandafter \mathpalette \expandafter \MT_mathrlap:Nn
   \else
     \expandafter \MT_mathrlap:Nn \expandafter #1
@@ -5794,7 +5818,7 @@
   \fi
 }
 \providecommand*\mathclap[1][\@empty]{
-  \ifx\@empty#1\@empty
+  \relax\ifx\@empty#1\@empty
     \expandafter \mathpalette \expandafter \MT_mathclap:Nn
   \else
     \expandafter \MT_mathclap:Nn \expandafter #1
@@ -5881,9 +5905,11 @@
 %
 %  \begin{macro}{\cramped}
 %  Make sure the expansion is timed correctly.
+% \changes{v1.15}{2021/03/04}{Add \cs{relax} before the \cs{ifx}'s to
+% prevent corner case premature expansions}
 %    \begin{macrocode}
 \providecommand*\cramped[1][\@empty]{
-  \ifx\@empty#1\@empty
+  \relax\ifx\@empty#1\@empty
     \expandafter \mathpalette \expandafter \MT_cramped_internal:Nn
   \else
     \expandafter \MT_cramped_internal:Nn \expandafter #1
@@ -5898,8 +5924,14 @@
 %    \end{macrocode}
 %  Create a box containing the math and force a cramped style by
 %  issuing a non-existing radical.
+% \changes{v1.25}{2020/12/16}{Don't set \cs{nulldelimiterspace} to
+% zero, back kern intead, solves issue \#18}
+% \changes{v1.25}{2021/03/18}{placed \cs{sbox}\cs{z@} by
+% \cs{setbox}\cs{z@}\cs{hbox} to better handle expansion in
+% \env{crampedsubarray}, see issue \#17}
 %    \begin{macrocode}
-  \sbox\z@{$\m at th#1\nulldelimiterspace=\z@\radical\z@{#2}$}
+  %% \sbox\z@{$\m at th#1\kern-\nulldelimiterspace\radical\z@{#2}$}
+  \setbox\z@\hbox{$\m at th#1\kern-\nulldelimiterspace\radical\z@{#2}$}
 %    \end{macrocode}
 %  Then make sure the height is correct.
 %    \begin{macrocode}
@@ -5919,7 +5951,14 @@
       3
     \fi
     \advance\dimen at -\ht\z@ \ht\z@=-\dimen@
-    \box\z@
+%    \end{macrocode}
+% Leave vertical mode before typesetting the box and add a
+% \texttt{\{\}} in front to gard against unnecessary reboxing  
+% \changes{v1.25}{2021/03/04}{Added vmode protection and reboxing
+% gard, see issue \#19}
+%    \begin{macrocode}
+    \ifvmode\leavevmode\fi
+    {}\box\z@
 }
 %    \end{macrocode}
 %  \end{macro}
@@ -5934,9 +5973,11 @@
 %  \begin{macro}{\crampedrlap}
 %  \begin{macro}{\MT_cramped_rlap_internal:Nn}
 %  Cramped versions of \cs{mathXlap} (for speed). Made by the author.
+% \changes{v1.15}{2021/03/04}{Add \cs{relax} before the \cs{ifx}'s to
+% prevent corner case premature expansions}
 %    \begin{macrocode}
 \providecommand*\crampedllap[1][\@empty]{
-  \ifx\@empty#1\@empty
+  \relax\ifx\@empty#1\@empty
     \expandafter \mathpalette \expandafter \MT_cramped_llap_internal:Nn
   \else
     \expandafter \MT_cramped_llap_internal:Nn \expandafter #1
@@ -5946,7 +5987,7 @@
   {}\llap{\MT_cramped_internal:Nn #1{#2}}
 }
 \providecommand*\crampedclap[1][\@empty]{
-  \ifx\@empty#1\@empty
+  \relax\ifx\@empty#1\@empty
     \expandafter \mathpalette \expandafter \MT_cramped_clap_internal:Nn
   \else
     \expandafter \MT_cramped_clap_internal:Nn \expandafter #1
@@ -5956,7 +5997,7 @@
   {}\clap{\MT_cramped_internal:Nn #1{#2}}
 }
 \providecommand*\crampedrlap[1][\@empty]{
-  \ifx\@empty#1\@empty
+  \relax\ifx\@empty#1\@empty
     \expandafter \mathpalette \expandafter \MT_cramped_rlap_internal:Nn
   \else
     \expandafter \MT_cramped_rlap_internal:Nn \expandafter #1
@@ -5992,7 +6033,14 @@
   \lineskip\thr@@\fontdimen8 \scriptfont\thr@@
   \lineskiplimit\lineskip
   \ialign\bgroup\ifx c#1\hfil\fi
-  $\m at th\scriptstyle\kern-\nulldelimiterspace\radical\z@{##}$% <-- changed line
+%    \end{macrocode}
+% Though here we ought to use the proper cramped internal macro, as
+% otherwise there will be a slight difference in vertical spacing
+% \changes{v1.25}{2021/03/18}{Added \cs{MT_cramped_internal:Nn}, see
+% issue \#17}
+%    \begin{macrocode}
+  %%$\m at th\scriptstyle\kern-\nulldelimiterspace\radical\z@{##}$% <-- changed line
+  \span\MT_cramped_internal:Nn \scriptstyle {##}%
   \hfil\crcr%
 }{%
 \crcr\egroup\egroup

Modified: branches/branch2020.0/Master/texmf-dist/source/latex/mathtools/mathtools.ins
===================================================================
--- branches/branch2020.0/Master/texmf-dist/source/latex/mathtools/mathtools.ins	2021-03-18 21:12:52 UTC (rev 58520)
+++ branches/branch2020.0/Master/texmf-dist/source/latex/mathtools/mathtools.ins	2021-03-18 21:13:05 UTC (rev 58521)
@@ -12,7 +12,6 @@
 %% Copyright (C) 2012-2019 by Lars Madsen
 %% Copyright (C) 2012-2020 by Lars Madsen, the LaTeX3 project
 %% 
-%% 
 %% This work may be distributed and/or modified under the
 %% conditions of the LaTeX Project Public License, either
 %% version 1.3 of this license or (at your option) any later
@@ -33,7 +32,7 @@
 \input docstrip.tex
 \Msg{************************************************************************}
 \Msg{* Installation}
-\Msg{* Package: mathtools 2020/01/17 v1.23}
+\Msg{* Package: mathtools 2020/03/24 v1.24}
 \Msg{************************************************************************}
 
 \keepsilent
@@ -45,7 +44,7 @@
 
 Copyright (C) 2002-2011 by Morten Hoegholm
 Copyright (C) 2012-2019 by Lars Madsen
-Copyright (C) 2012-2020 by Lars Madsen, the LaTeX3 project
+Copyright (C) 2020      by Lars Madsen, the LaTeX3 project
 
 This work may be distributed and/or modified under the
 conditions of the LaTeX Project Public License, either

Modified: branches/branch2020.0/Master/texmf-dist/source/latex/mathtools/mhsetup.dtx
===================================================================
--- branches/branch2020.0/Master/texmf-dist/source/latex/mathtools/mhsetup.dtx	2021-03-18 21:12:52 UTC (rev 58520)
+++ branches/branch2020.0/Master/texmf-dist/source/latex/mathtools/mhsetup.dtx	2021-03-18 21:13:05 UTC (rev 58521)
@@ -6,11 +6,11 @@
 %
 % This work may be distributed and/or modified under the
 % conditions of the LaTeX Project Public License, either
-% version 1.3 of this license or (at your option) any later
+% version 1.3c of this license or (at your option) any later
 % version. The latest version of this license is in
 %    http://www.latex-project.org/lppl.txt
-% and version 1.3 or later is part of all distributions of
-% LaTeX version 2005/12/01 or later.
+% and version 1.3c or later is part of all distributions of
+% LaTeX version 2008/05/04 or later.
 %
 % This work has the LPPL maintenance status "maintained".
 %
@@ -70,7 +70,7 @@
 \input docstrip.tex
 \Msg{************************************************************************}
 \Msg{* Installation}
-\Msg{* Package: mhsetup 2017/03/31 v1.3 mhsetup}
+\Msg{* Package: mhsetup 2021/03/18 v1.4 mhsetup}
 \Msg{************************************************************************}
 
 \keepsilent
@@ -86,11 +86,11 @@
 
 This work may be distributed and/or modified under the
 conditions of the LaTeX Project Public License, either
-version 1.3 of this license or (at your option) any later
+version 1.3c of this license or (at your option) any later
 version. The latest version of this license is in
    http://www.latex-project.org/lppl.txt
-and version 1.3 or later is part of all distributions of
-LaTeX version 2005/12/01 or later.
+and version 1.3c or later is part of all distributions of
+LaTeX version 2008/05/04 or later.
 
 This work has the LPPL maintenance status "maintained".
 
@@ -133,7 +133,7 @@
 %<*driver>
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesFile{mhsetup.drv}%
-  [2017/03/31 v1.3 programming setup (MH)]
+  [2021/03/18 v1.4 programming setup (MH)]
 \documentclass{ltxdoc}
 \usepackage{mhsetup}
 
@@ -162,7 +162,7 @@
 %</driver>
 %  \fi
 %
-%  \CheckSum{298}
+%  \CheckSum{301}
 %
 %  \GetFileInfo{mhsetup.drv}
 %
@@ -302,7 +302,7 @@
 %    \begin{macrocode}
 %<*package>
 \ProvidesPackage{mhsetup}%
-  [2017/03/31 v1.3 programming setup (MH)]
+  [2021/03/18 v1.4 programming setup (MH)]
 %    \end{macrocode}
 %  \subsection{The new internal syntax}
 %  \begin{macro}{\MHInternalSyntaxOn}
@@ -576,11 +576,16 @@
 %  \begin{macro}{\MH_nospace_protected_testopt:n}
 %  Scanning for the next character but disallow spaces.
 % \changes{v1.3}{2017/03/31}{Added MH\_ prefix to several \cs{if...} macros}
+% \changes{v1.4}{2021/01/14}{Added
+% \cs{MH\_group\_align\_safe\_begin/end:} as suggested by
+% Phelype Oleinik  in issue \#15. This enables
+% \cs{MH\_nospace\_ifnextchar:Nnn} to work correctly inside nested alignments}
 %    \begin{macrocode}
 \long\def\MH_nospace_ifnextchar:Nnn #1#2#3{
+  \MH_group_align_safe_begin: % added 2021/01/14
   \MH_let:NwN\reserved at d=~#1
-  \def\reserved at a{#2}
-  \def\reserved at b{#3}
+  \def\reserved at a{\MH_group_align_safe_end: #2} % changed 2021/01/14
+  \def\reserved at b{\MH_group_align_safe_end: #3} % changed 2021/01/14
   \futurelet\@let at token\MH_nospace_nextchar:
 }
 \def\MH_nospace_nextchar:{

Added: branches/branch2020.0/Master/texmf-dist/source/latex/mathtools/mhsetup.ins
===================================================================
--- branches/branch2020.0/Master/texmf-dist/source/latex/mathtools/mhsetup.ins	                        (rev 0)
+++ branches/branch2020.0/Master/texmf-dist/source/latex/mathtools/mhsetup.ins	2021-03-18 21:13:05 UTC (rev 58521)
@@ -0,0 +1,93 @@
+%%
+%% This is file `mhsetup.ins',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% mhsetup.dtx  (with options: `install')
+%% 
+%% This is a generated file.
+%% 
+%% Copyright (C) 2002-2007,2010 by Morten Hoegholm
+%% Copyright (C) 2017-2019      by Lars Madsen
+%% Copyright (C) 2020-          by Lars Madsen, The LaTeX3 team
+%% 
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either
+%% version 1.3 of this license or (at your option) any later
+%% version. The latest version of this license is in
+%%    http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of
+%% LaTeX version 2005/12/01 or later.
+%% 
+%% This work has the LPPL maintenance status "maintained".
+%% 
+%% This Current Maintainer of this work is Lars Madsen
+%% <daleif at math.au.dk>, The LaTeX3 team https://github.com/latex3/mathtools
+%% 
+%% This work consists of the main source file mhsetup.dtx
+%% and the derived files
+%%    mhsetup.sty, mhsetup.pdf, mhsetup.ins, mhsetup.drv.
+%% 
+\input docstrip.tex
+\Msg{************************************************************************}
+\Msg{* Installation}
+\Msg{* Package: mhsetup 2017/03/31 v1.3 mhsetup}
+\Msg{************************************************************************}
+
+\keepsilent
+\askforoverwritefalse
+
+\preamble
+
+This is a generated file.
+
+Copyright (C) 2002-2007,2010 by Morten Hoegholm
+Copyright (C) 2017-2019      by Lars Madsen
+Copyright (C) 2020-          by Lars Madsen, The LaTeX3 team
+
+This work may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either
+version 1.3 of this license or (at your option) any later
+version. The latest version of this license is in
+   http://www.latex-project.org/lppl.txt
+and version 1.3 or later is part of all distributions of
+LaTeX version 2005/12/01 or later.
+
+This work has the LPPL maintenance status "maintained".
+
+This Current Maintainer of this work is Lars Madsen
+<daleif at math.au.dk>, The LaTeX3 team https://github.com/latex3/mathtools
+
+This work consists of the main source file mhsetup.dtx
+and the derived files
+   mhsetup.sty, mhsetup.pdf, mhsetup.ins, mhsetup.drv.
+
+\endpreamble
+
+\generate{%
+  \file{mhsetup.ins}{\from{mhsetup.dtx}{install}}%
+  \file{mhsetup.drv}{\from{mhsetup.dtx}{driver}}%
+  \usedir{tex/latex/mh}%
+  \file{mhsetup.sty}{\from{mhsetup.dtx}{package}}%
+}
+
+\obeyspaces
+\Msg{************************************************************************}
+\Msg{*}
+\Msg{* To finish the installation you have to move the following}
+\Msg{* file into a directory searched by TeX:}
+\Msg{*}
+\Msg{*     mhsetup.sty}
+\Msg{*}
+\Msg{* To produce the documentation run the file `mhsetup.drv'}
+\Msg{* through LaTeX.}
+\Msg{*}
+\Msg{* Happy TeXing!}
+\Msg{*}
+\Msg{************************************************************************}
+
+\endbatchfile
+\endinput
+%%
+%% End of file `mhsetup.ins'.

Modified: branches/branch2020.0/Master/texmf-dist/tex/latex/mathtools/mathtools.sty
===================================================================
--- branches/branch2020.0/Master/texmf-dist/tex/latex/mathtools/mathtools.sty	2021-03-18 21:12:52 UTC (rev 58520)
+++ branches/branch2020.0/Master/texmf-dist/tex/latex/mathtools/mathtools.sty	2021-03-18 21:13:05 UTC (rev 58521)
@@ -10,16 +10,16 @@
 %% 
 %% Copyright (C) 2002-2011 by Morten Hoegholm
 %% Copyright (C) 2012-2019 by Lars Madsen
-%% Copyright (C) 2020      by Lars Madsen, the LaTeX3 project
+%% Copyright (C) 2020-     by Lars Madsen, the LaTeX3 project
 %% 
 %% 
 %% This work may be distributed and/or modified under the
 %% conditions of the LaTeX Project Public License, either
-%% version 1.3 of this license or (at your option) any later
+%% version 1.3c of this license or (at your option) any later
 %% version. The latest version of this license is in
 %%    http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of
-%% LaTeX version 2005/12/01 or later.
+%% and version 1.3c or later is part of all distributions of
+%% LaTeX version 2008/05/04 or later.
 %% 
 %% This work has the LPPL maintenance status "maintained".
 %% 
@@ -31,9 +31,9 @@
 %%    mathtools.sty, mathtools.pdf, mathtools.ins, mathtools.drv.
 %% 
 \ProvidesPackage{mathtools}%
-  [2020/03/24 v1.24 mathematical typesetting tools]
+  [2021/03/18 v1.25 mathematical typesetting tools]
 \RequirePackage{keyval,calc}
-\RequirePackage{mhsetup}[2017/03/31]
+\RequirePackage{mhsetup}[2021/03/18]
 \MHInternalSyntaxOn
  % borrowed from fixltx2e
 \def\EQ_MakeRobust#1{%
@@ -634,7 +634,8 @@
     \lineskip\thr@@\fontdimen8 \scriptfont\thr@@
     \lineskiplimit\lineskip
     \ialign\bgroup\ifx c##1\hfil\fi
-    $\m at th\scriptstyle\kern-\nulldelimiterspace\radical\z@{####}$
+    %% $\m at th\scriptstyle\kern-\nulldelimiterspace\radical\z@{####}$
+    \span\MT_cramped_internal:Nn \scriptstyle {####}%
     \hfil\crcr
   }{%
     \crcr\egroup\egroup
@@ -889,19 +890,19 @@
    {\MH_end_cases:\right#6}
 }
 \newcases{dcases}{\quad}{%
-  $\m at th\displaystyle{##}$\hfil}{$\m at th\displaystyle{##}$\hfil}{\lbrace}{.}
+  $\m at th\displaystyle##$\hfil}{$\m at th\displaystyle##$\hfil}{\lbrace}{.}
 \newcases{dcases*}{\quad}{%
-  $\m at th\displaystyle{##}$\hfil}{{##}\hfil}{\lbrace}{.}
+  $\m at th\displaystyle##$\hfil}{##\hfil}{\lbrace}{.}
 \newcases{rcases}{\quad}{%
-  $\m at th{##}$\hfil}{$\m at th{##}$\hfil}{.}{\rbrace}
+  $\m at th##$\hfil}{$\m at th##$\hfil}{.}{\rbrace}
 \newcases{rcases*}{\quad}{%
-  $\m at th{##}$\hfil}{{##}\hfil}{.}{\rbrace}
+  $\m at th##$\hfil}{##\hfil}{.}{\rbrace}
 \newcases{drcases}{\quad}{%
-  $\m at th\displaystyle{##}$\hfil}{$\m at th\displaystyle{##}$\hfil}{.}{\rbrace}
+  $\m at th\displaystyle##$\hfil}{$\m at th\displaystyle##$\hfil}{.}{\rbrace}
 \newcases{drcases*}{\quad}{%
-  $\m at th\displaystyle{##}$\hfil}{{##}\hfil}{.}{\rbrace}
+  $\m at th\displaystyle##$\hfil}{##\hfil}{.}{\rbrace}
 \newcases{cases*}{\quad}{%
-  $\m at th{##}$\hfil}{{##}\hfil}{\lbrace}{.}
+  $\m at th##$\hfil}{##\hfil}{\lbrace}{.}
 \def\MT_matrix_begin:N #1{%
   \hskip -\arraycolsep
   \MH_let:NwN \@ifnextchar \MH_nospace_ifnextchar:Nnn
@@ -975,10 +976,15 @@
 
 \MHPrecedingSpacesOn
 \newcommand*\smashoperator[2][lr]{
-  \def\MT_smop_use:NNNNN {\@nameuse{MT_smop_smash_#1:NNNNN}}
-  \toks@{#2}
-  \expandafter\MT_smop_get_args:wwwNnNn
+  \@ifundefined{MT_smop_smash_#1:NNNNN}{
+    \PackageError{mathtools}{Opt~ arg~ '#1'~ for~ \@backslashchar smashoperator~
+      is~ not~ supported.\MessageBreak Use~ l,~r~or~lr~ (default)}{}
+  }{
+    \def\MT_smop_use:NNNNN {\@nameuse{MT_smop_smash_#1:NNNNN}}
+    \toks@{#2}
+    \expandafter\MT_smop_get_args:wwwNnNn
     \the\toks@\@nil\@nil\@nil\@nil\@nil\@nil\@@nil
+  }
 }
 \def\MT_smop_remove_nil_vi:N #1\@nil\@nil\@nil\@nil\@nil\@nil{#1}
 \def\MT_smop_mathop:n {\mathop}
@@ -1090,6 +1096,7 @@
 \def\MT_smop_smash_lr:NNNNN #1#2#3#4#5{
   \MT_smop_needed_args:NNNNN #1#2#3#4#5
 }
+\MH_let:NwN \MT_smop_smash_rl:NNNNN \MT_smop_smash_lr:NNNNN
 \def\MT_vphantom:Nn {\v at true\h at false\MT_internal_phantom:N}
 \def\MT_hphantom:Nn {\v at false\h at true\MT_internal_phantom:N}
 \def\MT_phantom:Nn {\v at true\h at true\MT_internal_phantom:N}
@@ -1382,7 +1389,7 @@
 }
 \providecommand*\clap[1]{\hb at xt@\z@{\hss#1\hss}}
 \providecommand*\mathllap[1][\@empty]{
-  \ifx\@empty#1\@empty
+  \relax\ifx\@empty#1\@empty
     \expandafter \mathpalette \expandafter \MT_mathllap:Nn
   \else
     \expandafter \MT_mathllap:Nn \expandafter #1
@@ -1389,7 +1396,7 @@
   \fi
 }
 \providecommand*\mathrlap[1][\@empty]{
-  \ifx\@empty#1\@empty
+  \relax\ifx\@empty#1\@empty
     \expandafter \mathpalette \expandafter \MT_mathrlap:Nn
   \else
     \expandafter \MT_mathrlap:Nn \expandafter #1
@@ -1396,7 +1403,7 @@
   \fi
 }
 \providecommand*\mathclap[1][\@empty]{
-  \ifx\@empty#1\@empty
+  \relax\ifx\@empty#1\@empty
     \expandafter \mathpalette \expandafter \MT_mathclap:Nn
   \else
     \expandafter \MT_mathclap:Nn \expandafter #1
@@ -1423,7 +1430,7 @@
 \def\mathsm at sh#1#2{%
   \setbox\z@\hbox{$\m at th#1{#2}$}{}\finsm at sh}
 \providecommand*\cramped[1][\@empty]{
-  \ifx\@empty#1\@empty
+  \relax\ifx\@empty#1\@empty
     \expandafter \mathpalette \expandafter \MT_cramped_internal:Nn
   \else
     \expandafter \MT_cramped_internal:Nn \expandafter #1
@@ -1430,7 +1437,8 @@
   \fi
 }
 \def\MT_cramped_internal:Nn #1#2{
-  \sbox\z@{$\m at th#1\nulldelimiterspace=\z@\radical\z@{#2}$}
+  %% \sbox\z@{$\m at th#1\kern-\nulldelimiterspace\radical\z@{#2}$}
+  \setbox\z@\hbox{$\m at th#1\kern-\nulldelimiterspace\radical\z@{#2}$}
     \ifx#1\displaystyle
       \dimen@=\fontdimen8\textfont3
       \advance\dimen@ .25\fontdimen5\textfont2
@@ -1447,10 +1455,11 @@
       3
     \fi
     \advance\dimen at -\ht\z@ \ht\z@=-\dimen@
-    \box\z@
+    \ifvmode\leavevmode\fi
+    {}\box\z@
 }
 \providecommand*\crampedllap[1][\@empty]{
-  \ifx\@empty#1\@empty
+  \relax\ifx\@empty#1\@empty
     \expandafter \mathpalette \expandafter \MT_cramped_llap_internal:Nn
   \else
     \expandafter \MT_cramped_llap_internal:Nn \expandafter #1
@@ -1460,7 +1469,7 @@
   {}\llap{\MT_cramped_internal:Nn #1{#2}}
 }
 \providecommand*\crampedclap[1][\@empty]{
-  \ifx\@empty#1\@empty
+  \relax\ifx\@empty#1\@empty
     \expandafter \mathpalette \expandafter \MT_cramped_clap_internal:Nn
   \else
     \expandafter \MT_cramped_clap_internal:Nn \expandafter #1
@@ -1470,7 +1479,7 @@
   {}\clap{\MT_cramped_internal:Nn #1{#2}}
 }
 \providecommand*\crampedrlap[1][\@empty]{
-  \ifx\@empty#1\@empty
+  \relax\ifx\@empty#1\@empty
     \expandafter \mathpalette \expandafter \MT_cramped_rlap_internal:Nn
   \else
     \expandafter \MT_cramped_rlap_internal:Nn \expandafter #1
@@ -1487,7 +1496,8 @@
   \lineskip\thr@@\fontdimen8 \scriptfont\thr@@
   \lineskiplimit\lineskip
   \ialign\bgroup\ifx c#1\hfil\fi
-  $\m at th\scriptstyle\kern-\nulldelimiterspace\radical\z@{##}$% <-- changed line
+  %%$\m at th\scriptstyle\kern-\nulldelimiterspace\radical\z@{##}$% <-- changed line
+  \span\MT_cramped_internal:Nn \scriptstyle {##}%
   \hfil\crcr%
 }{%
 \crcr\egroup\egroup

Modified: branches/branch2020.0/Master/texmf-dist/tex/latex/mathtools/mhsetup.sty
===================================================================
--- branches/branch2020.0/Master/texmf-dist/tex/latex/mathtools/mhsetup.sty	2021-03-18 21:12:52 UTC (rev 58520)
+++ branches/branch2020.0/Master/texmf-dist/tex/latex/mathtools/mhsetup.sty	2021-03-18 21:13:05 UTC (rev 58521)
@@ -14,11 +14,11 @@
 %% 
 %% This work may be distributed and/or modified under the
 %% conditions of the LaTeX Project Public License, either
-%% version 1.3 of this license or (at your option) any later
+%% version 1.3c of this license or (at your option) any later
 %% version. The latest version of this license is in
 %%    http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of
-%% LaTeX version 2005/12/01 or later.
+%% and version 1.3c or later is part of all distributions of
+%% LaTeX version 2008/05/04 or later.
 %% 
 %% This work has the LPPL maintenance status "maintained".
 %% 
@@ -30,7 +30,7 @@
 %%    mhsetup.sty, mhsetup.pdf, mhsetup.ins, mhsetup.drv.
 %% 
 \ProvidesPackage{mhsetup}%
-  [2017/03/31 v1.3 programming setup (MH)]
+  [2021/03/18 v1.4 programming setup (MH)]
 \def\MHInternalSyntaxOn{
   \edef\MHInternalSyntaxOff{%
   \catcode`\noexpand\~=\the\catcode`\~\relax
@@ -123,9 +123,10 @@
 \def\MH_use_choice_iii:nnnn #1#2#3#4{#3}
 \def\MH_use_choice_iv:nnnn #1#2#3#4{#4}
 \long\def\MH_nospace_ifnextchar:Nnn #1#2#3{
+  \MH_group_align_safe_begin: % added 2021/01/14
   \MH_let:NwN\reserved at d=~#1
-  \def\reserved at a{#2}
-  \def\reserved at b{#3}
+  \def\reserved at a{\MH_group_align_safe_end: #2} % changed 2021/01/14
+  \def\reserved at b{\MH_group_align_safe_end: #3} % changed 2021/01/14
   \futurelet\@let at token\MH_nospace_nextchar:
 }
 \def\MH_nospace_nextchar:{



More information about the tex-live-commits mailing list.