summaryrefslogtreecommitdiff
path: root/macros/latex-dev/base/ltspace.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex-dev/base/ltspace.dtx')
-rw-r--r--macros/latex-dev/base/ltspace.dtx200
1 files changed, 170 insertions, 30 deletions
diff --git a/macros/latex-dev/base/ltspace.dtx b/macros/latex-dev/base/ltspace.dtx
index 16d7dcb43a..1a672c6455 100644
--- a/macros/latex-dev/base/ltspace.dtx
+++ b/macros/latex-dev/base/ltspace.dtx
@@ -32,7 +32,7 @@
%<*driver>
% \fi
\ProvidesFile{ltspace.dtx}
- [2019/11/02 v1.3k LaTeX Kernel (spacing)]
+ [2020/05/06 v1.3n LaTeX Kernel (spacing)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltspace.dtx}
@@ -63,6 +63,8 @@
% \changes{v1.2r}{1996/07/27}{Correct documentation of problems}
% \changes{v1.2w}{1998/08/17}{Documentation fixes.}
% \changes{v1.3j}{2019/08/27}{Make various commands robust}
+% \changes{v1.3l}{2020/03/07}{Moved \cs{thinspace}, \cs{negthinspace}
+% and \cs{,} to ltmath.dtx (gh/303)}
%
%
% \section{Spacing}
@@ -428,6 +430,37 @@
% \end{macrocode}
% \end{macro}
% \end{macro}
+%
+%
+%
+% \begin{macro}{\@vspace@calcify}
+% Helper command to produce a \cs{vskip} that is first run through
+% \cs{setlength}. This way the \texttt{calc} package can operate on
+% the argument value.
+% \changes{v1.3m}{2020/04/21}{Support calc syntax (gh/152)}
+% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/10/01}%
+%<latexrelease> {\@vspace@calcify}{Add calc support}%
+\def\@vspace@calcify#1{\begingroup\setlength\skip@{#1}\vskip\skip@\endgroup}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\@vspace@calcify}{Add calc support}%
+%<latexrelease>
+%<latexrelease>\let\@vspace@calcify\@undefined
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+% \end{macrocode}
+% \end{macro}
+%
+%
+
+
% \begin{macro}{\newline}
% A simple form of the `normal' definition of |\\|.
% \changes{v1.2v}{1997/05/07}{Made completely robust.}
@@ -445,12 +478,31 @@
% \end{macro}
%
% \begin{macro}{\@newline}
+% \changes{v1.3m}{2020/04/21}{Support calc syntax (gh/152)}
% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/10/01}%
+%<latexrelease> {\@newline}{\newline calc support}%
\def\@newline[#1]{\let \reserved@e \vadjust
- \@gnewline {\vskip #1}}
+ \@gnewline {\@vspace@calcify{#1}}}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\@newline}{\newline calc support}%
+%<latexrelease>
+%<latexrelease>\def\@newline[#1]{\let \reserved@e \vadjust
+%<latexrelease> \@gnewline {\vskip #1}}
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
% \end{macrocode}
% \end{macro}
%
+%
+%
% \begin{macro}{\@gnewline}
% \changes{v1.2u}{1996/10/29}{Added macro}
% The |\nobreak| added to prevent null lines when |\\|
@@ -518,7 +570,7 @@
% |\begin{@float}| \ldots |\end{@float}|
% that want to be invisible --- i.e.,
% not leave any extra space when used in the middle of text. Such
-% a macro should begin with |\@bsphack| and end with |\@esphack|
+% a macro should begin with |\@bsphack| and end with |\@esphack|.
% The macro in question should not create any text, nor change the
% mode.
%
@@ -823,20 +875,48 @@
% \changes{v1.2c}{1994/11/13}{Recorrected error message}
% Add vertical space taking into account space already added, as
% described above.
+% \changes{v1.3m}{2020/04/21}{Support calc syntax (gh/152)}
% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/10/01}%
+%<latexrelease> {\addvspace}{\addvspace calc support}%
\def\addvspace#1{%
\ifvmode
\if@minipage\else
\ifdim \lastskip =\z@
- \vskip #1\relax
+ \@vspace@calcify{#1}%
\else
- \@tempskipb#1\relax
+ \setlength\@tempskipb{#1}%
\@xaddvskip
\fi
\fi
\else
\@noitemerr
\fi}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\addvspace}{\addvspace calc support}%
+%<latexrelease>
+%<latexrelease>\def\addvspace#1{%
+%<latexrelease> \ifvmode
+%<latexrelease> \if@minipage\else
+%<latexrelease> \ifdim \lastskip =\z@
+%<latexrelease> \vskip #1\relax
+%<latexrelease> \else
+%<latexrelease> \@tempskipb#1\relax
+%<latexrelease> \@xaddvskip
+%<latexrelease> \fi
+%<latexrelease> \fi
+%<latexrelease> \else
+%<latexrelease> \@noitemerr
+%<latexrelease> \fi}
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
% \end{macrocode}
% \end{macro}
%
@@ -938,6 +1018,8 @@
% \end{macrocode}
% \end{macro}
%
+%
+%
% \begin{macro}{\vspace}
% \changes{v1.2m}{1996/01/20}{Made robust}
% \begin{macro}{\@vspace}
@@ -957,14 +1039,25 @@
% \end{itemize}
% \begin{macrocode}
\DeclareRobustCommand\vspace{\@ifstar\@vspacer\@vspace}
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/10/01}%
+%<latexrelease> {\@vspace}{Support calc in \vspace}%
+% \end{macrocode}
+% We support calc syntax in the argument and therefore use \cs{setlength}.
+% \changes{v1.3m}{2020/04/21}{Support calc syntax (gh/152)}
+% \begin{macrocode}
\def\@vspace #1{%
\ifvmode
- \vskip #1
+ \@vspace@calcify{#1}%
\vskip\z@skip
\else
\@bsphack
\vadjust{\@restorepar
- \vskip #1
+ \@vspace@calcify{#1}%
\vskip\z@skip
}%
\@esphack
@@ -977,7 +1070,7 @@
\dimen@\prevdepth
\hrule \@height\z@
\nobreak
- \vskip #1
+ \@vspace@calcify{#1}%
\vskip\z@skip
\prevdepth\dimen@
\else
@@ -985,10 +1078,46 @@
\vadjust{\@restorepar
\hrule \@height\z@
\nobreak
- \vskip #1
+ \@vspace@calcify{#1}%
\vskip\z@skip}%
\@esphack
\fi}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\@vspace}{Support calc in \vspace}%
+%<latexrelease>
+%<latexrelease>\def\@vspace #1{%
+%<latexrelease> \ifvmode
+%<latexrelease> \vskip #1
+%<latexrelease> \vskip\z@skip
+%<latexrelease> \else
+%<latexrelease> \@bsphack
+%<latexrelease> \vadjust{\@restorepar
+%<latexrelease> \vskip #1
+%<latexrelease> \vskip\z@skip
+%<latexrelease> }%
+%<latexrelease> \@esphack
+%<latexrelease> \fi}
+%<latexrelease>\def\@vspacer#1{%
+%<latexrelease> \ifvmode
+%<latexrelease> \dimen@\prevdepth
+%<latexrelease> \hrule \@height\z@
+%<latexrelease> \nobreak
+%<latexrelease> \vskip #1
+%<latexrelease> \vskip\z@skip
+%<latexrelease> \prevdepth\dimen@
+%<latexrelease> \else
+%<latexrelease> \@bsphack
+%<latexrelease> \vadjust{\@restorepar
+%<latexrelease> \hrule \@height\z@
+%<latexrelease> \nobreak
+%<latexrelease> \vskip #1
+%<latexrelease> \vskip\z@skip}%
+%<latexrelease> \@esphack
+%<latexrelease> \fi}
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -1094,17 +1223,6 @@
% \end{macrocode}
%
%
-% \begin{macro}{\,}
-% Used in paragraph mode produces a |\thinspace|. It has the
-% ordinary definition in math mode. Useful for quotes inside quotes,
-% as in |``\,`Foo', he said.''|
-% \changes{v1.0o}{1994/05/11}{Use \cs{DeclareRobustCommand}. ASAJ.}
-% \begin{macrocode}
-\DeclareRobustCommand{\,}{%
- \relax\ifmmode\mskip\thinmuskip\else\thinspace\fi
-}
-% \end{macrocode}
-% \end{macro}
%
% \begin{macro}{\@}
% Placed before a '.', makes it a sentence-ending period. Does the
@@ -1142,20 +1260,37 @@
% \changes{LaTeX2e}{1993/08/05}
% {(RmS) Removed superfluous \cs{leavevmode} in \cs{@hspace} and
% \cs{@hspacer}, as suggested by CAR.}
+% \changes{v1.3m}{2020/04/21}{Support calc syntax (gh/152)}
+% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/10/01}%
+%<latexrelease> {\@hspace}{Support calc with \hspace}%
+\def\@hspace#1{\begingroup\setlength\skip@{#1}\hskip\skip@\endgroup}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+% \end{macrocode}
+%
% \begin{macrocode}
-\def\@hspace#1{\hskip #1\relax}
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\@hspace}{Support calc with \hspace}%
+
+%<latexrelease>
+%<latexrelease>\def\@hspace#1{\hskip #1\relax}
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
% \end{macrocode}
% \end{macro}
%
%
% \begin{macro}{\@hspacer}
-% extra |\hskip 0pt| added 1985/17/12 to guard
+% Extra |\hskip 0pt| added 1985/17/12 to guard
% against a following |\unskip|
% |\relax| added 13 Oct 88 for usual \TeX\ lossage
% replaced both changes by |\hskip\z@skip| 27 Nov 91
% \begin{macrocode}
\def\@hspacer#1{\vrule \@width\z@\nobreak
- \hskip #1\hskip \z@skip}
+ \@hspace{#1}\hskip \z@skip}
% \end{macrocode}
% \end{macro}
%
@@ -1184,19 +1319,12 @@
%<latexrelease> {\thinspace}{Start LR-mode}%
% \end{macrocode}
%
-%
-% \begin{macro}{\thinspace}
-% \begin{macro}{\negthinspace}
% \begin{macro}{\enspace}
% \changes{v1.3h}{2018/09/24}{Start LR-mode if necessary (git/49)}
% \begin{macrocode}
-\DeclareRobustCommand\thinspace{\leavevmode@ifvmode\kern .16667em }
-\DeclareRobustCommand\negthinspace{\leavevmode@ifvmode\kern-.16667em }
\DeclareRobustCommand\enspace{\leavevmode@ifvmode\kern.5em }
% \end{macrocode}
% \end{macro}
-% \end{macro}
-% \end{macro}
%
% \begin{macro}{\leavevmode@ifvmode}
% Leave vmode but only if we are really in vmode, otherwise the
@@ -1234,6 +1362,18 @@
% \end{macro}
% \end{macro}
%
+% \changes{v1.3n}{2020/05/06}{Made softhyphen active in TU engines}
+%
+% For Unicode engines, make the Unicode soft hyphen an active
+% character defined as \cs{-}.
+%
+% \begin{macrocode}
+\ifx\Umathcode\@undefined\else
+ \catcode "AD=13
+ \def^^ad{\-}
+\fi
+% \end{macrocode}
+%
% \begin{macro}{\obeycr}
% \begin{macro}{\restorecr}
% The following definitions will probably get deleted or moved to