diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/base/ltspace.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/base/ltspace.dtx | 200 |
1 files changed, 170 insertions, 30 deletions
diff --git a/Master/texmf-dist/source/latex/base/ltspace.dtx b/Master/texmf-dist/source/latex/base/ltspace.dtx index 16d7dcb43aa..1a672c6455d 100644 --- a/Master/texmf-dist/source/latex/base/ltspace.dtx +++ b/Master/texmf-dist/source/latex/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 |