summaryrefslogtreecommitdiff
path: root/macros/latex/required/amsmath/amsmath.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/required/amsmath/amsmath.dtx')
-rw-r--r--macros/latex/required/amsmath/amsmath.dtx51
1 files changed, 30 insertions, 21 deletions
diff --git a/macros/latex/required/amsmath/amsmath.dtx b/macros/latex/required/amsmath/amsmath.dtx
index 11b7545c26..42f3088867 100644
--- a/macros/latex/required/amsmath/amsmath.dtx
+++ b/macros/latex/required/amsmath/amsmath.dtx
@@ -2,7 +2,7 @@
% \iffalse meta-comment
%
% Copyright (C) 1995, 2000, 2013 American Mathematical Society.
-% Copyright (C) 2016-2019 LaTeX3 Project and American Mathematical Society.
+% Copyright (C) 2016-2020 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
@@ -11,9 +11,9 @@
% 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.
%
% \fi
@@ -86,7 +86,7 @@ Bug reports can be opened (category \texttt{#1}) at\\%
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesPackage{amsmath}[2019/11/16 v2.17d AMS math features]
+\ProvidesPackage{amsmath}[2020/01/20 v2.17e AMS math features]
% \end{macrocode}
%
% \section{Catcode defenses}
@@ -302,10 +302,13 @@ For additional information on amsmath, use the \lq ?\rq\space option.%
% \end{macrocode}
%
% Processing to handle the \opt{cmex10} option is a little tricky
-% because of different possible loading orders for \pkg{amsmath} and
-% \pkg{amsfonts}. The package \pkg{amsmath} sets the \cs{cmex@opt}
-% flag to 7 or 10, and the package \pkg{amsfonts} sets the flag to 1
-% or 0.
+% because of different possible loading orders for \pkg{amsmath}
+% and \pkg{amsfonts}. The package \pkg{amsmath} sets the
+% \cs{cmex@opt} flag to 0, 7 or 10, and in the past the package
+% \pkg{amsfonts} did set the flag to 1 or 0. These days it always
+% sets it to 10. The situation is a bit unsettled but we don't own
+% \pkg{amsfonts}.
+% \changes{v2.17d}{2019/12/01}{docu update, no code change (gh/200)}
% \begin{macrocode}
\ifnum\cmex@opt=7 \relax
\DeclareFontShape{OMX}{cmex}{m}{n}{%
@@ -517,9 +520,13 @@ For additional information on amsmath, use the \lq ?\rq\space option.%
\@xp\@tempa\vert\@empty\@nil
\ifnum\@tempcnta>\z@
\advance\@tempcnta "4000000
- \xdef\lvert{\delimiter\number\@tempcnta\space }
+% \end{macrocode}
+% Use \cs{protected} on the new delimiters.
+% \changes{v2.17e}{2020/01/20}{Make delimiters robust (gh/251))}
+% \begin{macrocode}
+ \protected\xdef\lvert{\delimiter\number\@tempcnta\space }
\advance\@tempcnta "1000000
- \xdef\rvert{\delimiter\number\@tempcnta\space }
+ \protected\xdef\rvert{\delimiter\number\@tempcnta\space }
\else
\ifx\@@undefined\lvert
% Fall back to cmex encoding since we don't know what else to do.
@@ -532,9 +539,9 @@ For additional information on amsmath, use the \lq ?\rq\space option.%
\@xp\@tempa\Vert\@empty\@nil
\ifnum\@tempcnta>\z@
\advance\@tempcnta "4000000
- \xdef\lVert{\delimiter\number\@tempcnta\space }
+ \protected\xdef\lVert{\delimiter\number\@tempcnta\space }
\advance\@tempcnta "1000000
- \xdef\rVert{\delimiter\number\@tempcnta\space }
+ \protected\xdef\rVert{\delimiter\number\@tempcnta\space }
\else
\ifx\@@undefined\lVert
\DeclareMathDelimiter{\lVert}
@@ -645,13 +652,13 @@ Foreign command \@backslashchar#1;\MessageBreak
% \end{macrocode}
%
% \begin{macrocode}
-\else
+\else
% \end{macrocode}
% XeTeX version
% \begin{macrocode}
\def\genfrac@rule#1#2#3#4{%
\hbox{$\left#1\vcenter{\hrule \@width\z@
- \@height
+ \@height
\ifdim\fontdimen#2#3\tw@=\z@
#4\fontdimen6#3\tw@
\else
@@ -697,7 +704,7 @@ Foreign command \@backslashchar#1;\MessageBreak
% \begin{macrocode}
\def\genfrac@rule#1#2#3{%
\hbox{$\left#1\vcenter{\hrule \@width\z@
- \@height
+ \@height
\ifdim\Umathfractiondelsize#2=\z@
#3\fontdimen6#3\tw@
\else
@@ -1093,7 +1100,7 @@ Foreign command \@backslashchar#1;\MessageBreak
% \changes{v2.15}{2016/02/20}{Indent \cs{mdots@@} for readability and add additional tests}
% \begin{macrocode}
\def\mdots@@{\gdef\thedots@{\dotso@}%
- \ifx\@let@token\boldsymbol
+ \ifx\@let@token\boldsymbol
\gdef\thedots@\boldsymbol{\boldsymboldots@}%
\else
\ifx,\@let@token \gdef\thedots@{\dotsc}%
@@ -1167,7 +1174,7 @@ Foreign command \@backslashchar#1;\MessageBreak
% \begin{macrocode}
\fi % end macro \ifgtest@ test (no else)
\fi % end if \Umathchar test
- \fi % end \math@ \ifgtest@
+ \fi % end \math@ \ifgtest@
\fi % end \keybin@ \ifgtest@ test (no else)
\fi % end if \not (no else)
\fi % end if comma (no else)
@@ -3190,9 +3197,10 @@ ill-advised in LaTeX.%
% \end{macro}
%
% \begin{macro}{\ifst@rred}
-% The switch |st@rred| is set to true by all starred
-% environments
-% and set to false by the unstarred versions.
+% The switch |st@rred| is set to true by all starred environments
+% and set to false by the unstarred versions.
+% One exception is the \env{xxalignat} environment where this is set
+% to true.
% \begin{macrocode}
\newif\ifst@rred
% \end{macrocode}
@@ -3443,7 +3451,8 @@ and fix things up.}
\nointerlineskip
\vskip-\ht\strutbox@
\vskip-\dp\strutbox@
- \vbox{\noindent\hbox to\displaywidth{\hbox to#1{\strut@\hfill}}}%
+ \vbox{\noindent\hbox to\displaywidth{%
+ \hbox to#1{\strut@\hfill}}}%
\prevdepth\dimen@
\fi
}%