diff options
Diffstat (limited to 'macros/latex-dev/base/ltmath.dtx')
-rw-r--r-- | macros/latex-dev/base/ltmath.dtx | 131 |
1 files changed, 118 insertions, 13 deletions
diff --git a/macros/latex-dev/base/ltmath.dtx b/macros/latex-dev/base/ltmath.dtx index 86e62e7bf5..c4963cf0c6 100644 --- a/macros/latex-dev/base/ltmath.dtx +++ b/macros/latex-dev/base/ltmath.dtx @@ -38,7 +38,7 @@ %<*driver> % \fi \ProvidesFile{ltmath.dtx} - [2020/02/18 v1.2d LaTeX Kernel (Math Setup)] + [2020/04/21 v1.2f LaTeX Kernel (Math Setup)] % \iffalse %</driver> % @@ -509,18 +509,103 @@ % \end{macro} % \end{macro} % -% \begin{macro}{\>} -% \begin{macro}{\;} -% \begin{macro}{\!} + + +% +% \begin{macro}{\tmspace} +% \begin{macro}{\,} +% \begin{macro}{\thinspace} +% \begin{macro}{\!} +% \begin{macro}{\negthinspace} +% \begin{macro}{\:} +% \begin{macro}{\medspace} +% \begin{macro}{\negmedspace} +% \begin{macro}{\;} +% \begin{macro}{\thickspace} +% \begin{macro}{\negthickspace} +% +% Originally \LaTeX{} only provided a small set of spacing commands +% for use in text and math, some of the commands like \cs{;} were +% only supported in manth mode. \texttt{amsmath} normalized and +% provided all of them in text and math. This code has now been +% moved to the kernel so that it is generally available. +% +% % \begin{macrocode} -%\def\,{\mskip\thinmuskip} % already defined in ltspace -\def\>{\mskip\medmuskip} -\def\;{\mskip\thickmuskip} -\def\!{\mskip-\thinmuskip} +%</2ekernel> +%<*2ekernel|latexrelease> +%<latexrelease>\IncludeInRelease{2020/10/01}% +%<latexrelease> {\tmspace}{amsmath spacing commands}% +% \end{macrocode} +% \cs{tmspace} is really meant to be an internal command so it +% doesn't necessarily has to be robust but it was robust in +% \texttt{amsmath} so we leave it like that. +% \changes{v1.2e}{2020/03/07}{Add \texttt{amsmath} math/text spacing +% commands to the kernel (gh/303)} +% \begin{macrocode} +\DeclareRobustCommand\tmspace[3]{% + \ifmmode\mskip#1#2\else\leavevmode@ifvmode\kern#1#3\fi\relax} +% \end{macrocode} +% In \texttt{amsmath} the text kern is \texttt{.1667em}. For +% compatibility reasons we keep the longer one. +% \begin{macrocode} +\DeclareRobustCommand\,{\tmspace+\thinmuskip{.16667em}} +\let\thinspace\, % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} +% +% \begin{macrocode} +\DeclareRobustCommand\!{\tmspace-\thinmuskip{.16667em}} +\let\negthinspace\! +% \end{macrocode} +% +% \begin{macrocode} +\DeclareRobustCommand\:{\tmspace+\medmuskip{.2222em}} +\let\medspace\: +% \end{macrocode} +% \LaTeX{} has a second name for this in its manual: +% \begin{macrocode} +\let\>=\: +\DeclareRobustCommand\negmedspace{\tmspace-\medmuskip{.2222em}} +% \end{macrocode} +% +% \begin{macrocode} +\DeclareRobustCommand\;{\tmspace+\thickmuskip{.2777em}} +\let\thickspace\; +\DeclareRobustCommand\negthickspace{\tmspace-\thickmuskip{.2777em}} +%</2ekernel|latexrelease> +%<latexrelease>\EndIncludeInRelease +% \end{macrocode} +% +% \begin{macrocode} +%<latexrelease>\IncludeInRelease{0000/00/00}% +%<latexrelease> {\tmspace}{amsmath spacing commands}% +%<latexrelease> +%<latexrelease>\let\tmspace\@undefined +%<latexrelease>\DeclareRobustCommand{\,}{% +%<latexrelease> \relax\ifmmode\mskip\thinmuskip\else\thinspace\fi} +%<latexrelease>\DeclareRobustCommand\thinspace{\leavevmode@ifvmode\kern .16667em } +%<latexrelease>\DeclareRobustCommand\negthinspace{\leavevmode@ifvmode\kern-.16667em } +%<latexrelease>\def\>{\mskip\medmuskip} +%<latexrelease>\let\:=\> +%<latexrelease>\def\;{\mskip\thickmuskip} +%<latexrelease>\def\!{\mskip-\thinmuskip} +%<latexrelease> +%<latexrelease>\EndIncludeInRelease +%<*2ekernel> +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% % % \begin{macro}{\*} % \begin{macrocode} @@ -532,7 +617,7 @@ % Nickname for the medium space since |\>| is not available inside % \texttt{tabbing}. % \begin{macrocode} -\let\:=\> +%\let\:=\> % \end{macrocode} % \end{macro} % @@ -884,12 +969,32 @@ \def\@yeqncr{\@testopt\@xeqncr\z@skip} % \end{macrocode} % +% \changes{v1.2f}{2020/04/21}{Support calc syntax (gh/152)} % \begin{macrocode} +%</2ekernel> +%<*2ekernel|latexrelease> +%<latexrelease>\IncludeInRelease{2020/10/01}% +%<latexrelease> {\@xeqncr}{eqnarray support calc syntax}% \def\@xeqncr[#1]{% \ifnum0=`{\fi}% \@@eqncr - \noalign{\penalty\@eqpen\vskip\jot\vskip #1\relax}% + \noalign{\penalty\@eqpen\vskip\jot\@vspace@calcify{#1}}% } +%</2ekernel|latexrelease> +%<latexrelease>\EndIncludeInRelease +% \end{macrocode} +% +% \begin{macrocode} +%<latexrelease>\IncludeInRelease{0000/00/00}% +%<latexrelease> {\@xeqncr}{eqnarray support calc syntax}% +%<latexrelease> +%<latexrelease>\def\@xeqncr[#1]{% +%<latexrelease> \ifnum0=`{\fi}% +%<latexrelease> \@@eqncr +%<latexrelease> \noalign{\penalty\@eqpen\vskip\jot\vskip #1\relax}% +%<latexrelease>} +%<latexrelease>\EndIncludeInRelease +%<*2ekernel> % \end{macrocode} % % \end{macro} |