summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex-dev/base/latexrelease.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex-dev/base/latexrelease.sty')
-rw-r--r--Master/texmf-dist/tex/latex-dev/base/latexrelease.sty718
1 files changed, 684 insertions, 34 deletions
diff --git a/Master/texmf-dist/tex/latex-dev/base/latexrelease.sty b/Master/texmf-dist/tex/latex-dev/base/latexrelease.sty
index 9b43a0bf02a..4a5ce2a8c48 100644
--- a/Master/texmf-dist/tex/latex-dev/base/latexrelease.sty
+++ b/Master/texmf-dist/tex/latex-dev/base/latexrelease.sty
@@ -53,7 +53,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright 1993-2018
+%% Copyright (C) 1993-2019
%% The LaTeX3 Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -66,7 +66,7 @@
%% The latest version of this license is in
%% 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.
+%% version 2008 or later.
%%
%% This file has the LPPL maintenance status "maintained".
%%
@@ -272,7 +272,7 @@
\fi
}
-\long\def\IfTargetDateBefore#1{%
+\DeclareRobustCommand\IfTargetDateBefore[1]{%
\ifnum\pkgcls@innerdate <%
\expandafter\@parse@version\expandafter0#1//00\@nil
\typeout{Exclude code introduced on #1}%
@@ -289,7 +289,8 @@
\@includeinreleasefalse
\def\IncludeInRelease#1{%
\if@includeinrelease
- \PackageError{latexrelease}{mis-matched IncludeInRelease}{}%
+ \PackageError{latexrelease}{mis-matched IncludeInRelease}%
+ {There is an \string\EndIncludeRelease\space missing}%
\@includeinreleasefalse
\fi
\kernel@ifnextchar[%
@@ -326,7 +327,7 @@
\long\def\@check@IncludeInRelease#1\IncludeInRelease
#2#3\@end@check@IncludeInRelease{%
\ifx\@check@IncludeInRelease#2\else
- \PackageError{latexrelease}{skipped IncludeInRelease}{}%
+ \PackageError{latexrelease}{skipped IncludeInRelease for tag \string#2}{}%
\fi}
\ProvidesPackage{latexrelease}
[2018/05/08 v1.0k LaTeX release emulation and tests
@@ -419,6 +420,32 @@ of this package available from CTAN}
\EndIncludeInRelease
\fi
%%% From File: ltdefns.dtx
+\IncludeInRelease{2019/10/01}{\MakeRobust}{\MakeRobust}%
+\def\MakeRobust#1{%
+ \@ifundefined{\expandafter\@gobble\string#1}{%
+ \@latex@error{The control sequence `\string#1' is undefined!%
+ \MessageBreak There is nothing here to make robust}%
+ \@eha
+ }%
+ {%
+ \@ifundefined{\expandafter\@gobble\string#1\space}%
+ {%
+ \global\expandafter\let\csname
+ \expandafter\@gobble\string#1\space\endcsname=#1%
+ \edef\reserved@a{\string#1}%
+ \def\reserved@b{#1}%
+ \edef\reserved@b{\expandafter\strip@prefix\meaning\reserved@b}%
+ \xdef#1{%
+ \ifx\reserved@a\reserved@b
+ \noexpand\x@protect\noexpand#1%
+ \fi
+ \noexpand\protect\expandafter\noexpand
+ \csname\expandafter\@gobble\string#1\space\endcsname}%
+ }%
+ {\@latex@info{The control sequence `\string#1' is already robust}}%
+ }%
+}%
+\EndIncludeInRelease
\IncludeInRelease{2015/01/01}{\MakeRobust}{\MakeRobust}%
\def\MakeRobust#1{%
\@ifundefined{\expandafter\@gobble\string#1}{%
@@ -448,6 +475,19 @@ of this package available from CTAN}
\IncludeInRelease{0000/00/00}{\MakeRobust}{\MakeRobust}%
\let\MakeRobust\@undefined
\EndIncludeInRelease
+\IncludeInRelease{0000/00/00}%
+ {\kernel@make@fragile}{Undo robustness}%
+\def\kernel@make@fragile#1{%
+ \@ifundefined{\expandafter\@gobble\string#1\space}%
+ {}%
+ {%
+ \global\expandafter\let\expandafter #1\csname
+ \expandafter\@gobble\string#1\space\endcsname
+ \global\expandafter\let\csname
+ \expandafter\@gobble\string#1\space\endcsname\@undefined
+ }%
+}
+\EndIncludeInRelease
\IncludeInRelease{2018-04-01}{\@ifundefined}
{Leave commands undefined in \@ifundefined}%
\def\@ifundefined#1{%
@@ -501,6 +541,46 @@ of this package available from CTAN}
\def\-{\discretionary{-}{}{}}
\let\@dischyph=\-
\EndIncludeInRelease
+\IncludeInRelease{2019/10/01}%
+ {\allowbreak}{Make various commands robust}%
+\MakeRobust\allowbreak
+\MakeRobust\bigbreak
+\MakeRobust\break
+\MakeRobust\dotfill
+\MakeRobust\frenchspacing
+\MakeRobust\goodbreak
+\MakeRobust\hrulefill
+\MakeRobust\medbreak
+\MakeRobust\nobreak
+\MakeRobust\nonfrenchspacing
+\MakeRobust\obeylines
+\MakeRobust\obeyspaces
+\MakeRobust\slash
+\MakeRobust\smallbreak
+\MakeRobust\strut
+\MakeRobust\underbar
+\EndIncludeInRelease
+\IncludeInRelease{0000/00/00}%
+ {\allowbreak}{Make various commands robust}%
+
+\kernel@make@fragile\allowbreak
+\kernel@make@fragile\bigbreak
+\kernel@make@fragile\break
+\kernel@make@fragile\dotfill
+\kernel@make@fragile\frenchspacing
+\kernel@make@fragile\goodbreak
+\kernel@make@fragile\hrulefill
+\kernel@make@fragile\medbreak
+\kernel@make@fragile\nobreak
+\kernel@make@fragile\nonfrenchspacing
+\kernel@make@fragile\obeylines
+\kernel@make@fragile\obeyspaces
+\kernel@make@fragile\slash
+\kernel@make@fragile\smallbreak
+\kernel@make@fragile\strut
+\kernel@make@fragile\underbar
+
+\EndIncludeInRelease
%%% From File: ltalloc.dtx
%%% From File: ltcntrl.dtx
%%% From File: lterror.dtx
@@ -626,7 +706,50 @@ of this package available from CTAN}
\expandafter\let\csname raisebox \endcsname\@undefined
\EndIncludeInRelease
%%% From File: lttab.dtx
+\IncludeInRelease{2019/10/01}%
+ {\pushtabs}{Make commands robust}%
+\DeclareRobustCommand\pushtabs{%
+ \@stopfield\@addfield\global\advance\@tabpush \@ne \begingroup
+ \@contfield}
+\DeclareRobustCommand\poptabs{\@stopfield\@addfield
+ \ifnum \@tabpush >\z@
+ \endgroup
+ \global\advance\@tabpush \m@ne
+ \ifnum \@curtab >\@hightab
+ \global \@curtab \@hightab
+ \@badtab
+ \fi
+ \else
+ \@badpoptabs
+ \fi
+ \@contfield}
+\DeclareRobustCommand\kill{\@stopfield\@startline\ignorespaces}
+\EndIncludeInRelease
+\IncludeInRelease{0000/00/00}%
+ {\pushtabs}{Make commands robust}%
+
+\kernel@make@fragile\pushtabs
+\kernel@make@fragile\poptabs
+\kernel@make@fragile\kill
+
+\EndIncludeInRelease
%%% From File: ltmath.dtx
+\IncludeInRelease{2019/10/01}%
+ {\vphantom}{Make commands robust}%
+\DeclareRobustCommand\vphantom{\v@true\h@false\ph@nt}
+\DeclareRobustCommand\hphantom{\v@false\h@true\ph@nt}
+\DeclareRobustCommand\phantom{\v@true\h@true\ph@nt}
+\DeclareRobustCommand\mathstrut{\vphantom(}
+\EndIncludeInRelease
+\IncludeInRelease{0000/00/00}%
+ {\vphantom}{Make commands robust}%
+
+\kernel@make@fragile\vphantom
+\kernel@make@fragile\hphantom
+\kernel@make@fragile\phantom
+\kernel@make@fragile\mathstrut
+
+\EndIncludeInRelease
\IncludeInRelease{2018/12/01}%
{\finph@nt}{Start LR-mode}%
\def\finph@nt{%
@@ -650,6 +773,24 @@ of this package available from CTAN}
{\finsm@sh}{Start LR-mode}%
\def\finsm@sh{\ht\z@\z@ \dp\z@\z@ \box\z@}
\EndIncludeInRelease
+\IncludeInRelease{2019/10/01}%
+ {\cases}{Make commands robust}%
+\DeclareRobustCommand\cases[1]{\left\{\,\vcenter{\normalbaselines\m@th
+ \ialign{$##\hfil$&\quad{##}\hfil\crcr#1\crcr}}\right.}
+\DeclareRobustCommand\matrix[1]{\null\,\vcenter{\normalbaselines\m@th
+ \ialign{\hfil$##$\hfil&&\quad\hfil$##$\hfil\crcr
+ \mathstrut\crcr\noalign{\kern-\baselineskip}
+ #1\crcr\mathstrut\crcr\noalign{\kern-\baselineskip}}}\,}
+\DeclareRobustCommand\pmatrix[1]{\left(\matrix{#1}\right)}
+\EndIncludeInRelease
+\IncludeInRelease{0000/00/00}%
+ {\cases}{Make commands robust}%
+
+\kernel@make@fragile\cases
+\kernel@make@fragile\matrix
+\kernel@make@fragile\pmatrix
+
+\EndIncludeInRelease
\IncludeInRelease{2015/01/01}{\(}{Make \( robust}%
\DeclareRobustCommand\({%
\relax\ifmmode\@badmath\else$\fi}%
@@ -722,7 +863,7 @@ of this package available from CTAN}
{Avoid almost zero length leaders}%
\newif\if@ovvline \@ovvlinetrue
\newif\if@ovhline \@ovhlinetrue
-\gdef\@oval(#1,#2)[#3]{\begingroup\boxmaxdepth \maxdimen
+\def\@oval(#1,#2)[#3]{\begingroup\boxmaxdepth \maxdimen
\@ovttrue \@ovbtrue \@ovltrue \@ovrtrue
\@ovvlinefalse \@ovhlinefalse
\@tfor\reserved@a :=#3\do{\csname @ov\reserved@a false\endcsname}%
@@ -745,7 +886,7 @@ of this package available from CTAN}
\advance\@ovdy\@ovro \ht\@tempboxa\z@ \dp\@tempboxa\z@
\@put{-\@ovdx}{-\@ovdy}{\box\@tempboxa}%
\endgroup}
-\gdef\@ovvert#1#2{\vbox to\@ovyy{%
+\def\@ovvert#1#2{\vbox to\@ovyy{%
\if@ovb \@tempcntb \@tempcnta \advance \@tempcntb #1\relax
\kern -\@ovro \hbox{\char \@tempcntb}\nointerlineskip
\else \kern \@ovri \kern \@ovdy \fi
@@ -754,7 +895,7 @@ of this package available from CTAN}
\if@ovt \@tempcntb \@tempcnta \advance \@tempcntb #2\relax
\hbox{\char \@tempcntb}%
\else \kern \@ovdy \kern \@ovro \fi}}
-\gdef\@ovhorz{\hb@xt@\@ovxx{\kern \@ovro
+\def\@ovhorz{\hb@xt@\@ovxx{\kern \@ovro
\if@ovr \else \kern \@ovdx \fi
\if@ovhline \leaders \hrule \@height \@wholewidth \fi
\hfil
@@ -766,7 +907,7 @@ of this package available from CTAN}
{Avoid almost zero length leaders}%
\let\if@ovvline\@undefined
\let\if@ovhline\@undefined
-\gdef\@oval(#1,#2)[#3]{\begingroup\boxmaxdepth \maxdimen
+\def\@oval(#1,#2)[#3]{\begingroup\boxmaxdepth \maxdimen
\@ovttrue \@ovbtrue \@ovltrue \@ovrtrue
\@tfor\reserved@a :=#3\do
{\csname @ov\reserved@a false\endcsname}%
@@ -788,7 +929,7 @@ of this package available from CTAN}
\advance\@ovdy\@ovro \ht\@tempboxa\z@ \dp\@tempboxa\z@
\@put{-\@ovdx}{-\@ovdy}{\box\@tempboxa}%
\endgroup}
-\gdef\@ovvert#1#2{\vbox to\@ovyy{%
+\def\@ovvert#1#2{\vbox to\@ovyy{%
\if@ovb \@tempcntb \@tempcnta \advance \@tempcntb #1\relax
\kern -\@ovro \hbox{\char \@tempcntb}\nointerlineskip
\else \kern \@ovri \kern \@ovdy \fi
@@ -796,14 +937,70 @@ of this package available from CTAN}
\if@ovt \@tempcntb \@tempcnta \advance \@tempcntb #2\relax
\hbox{\char \@tempcntb}%
\else \kern \@ovdy \kern \@ovro \fi}}
-\gdef\@ovhorz{\hb@xt@\@ovxx{\kern \@ovro
+\def\@ovhorz{\hb@xt@\@ovxx{\kern \@ovro
\if@ovr \else \kern \@ovdx \fi
\leaders \hrule \@height \@wholewidth \hfil
\if@ovl \else \kern \@ovdx \fi
\kern \@ovri}}
\EndIncludeInRelease
+\IncludeInRelease{2019/10/01}%
+ {\bezier}{Make commands robust}%
+\MakeRobust\bezier
+\MakeRobust\circle
+\MakeRobust\dashbox
+\MakeRobust\line
+\MakeRobust\linethickness
+\MakeRobust\multiput
+\MakeRobust\oval
+\MakeRobust\put
+\MakeRobust\qbezier
+\MakeRobust\shortstack
+\MakeRobust\thinlines
+\MakeRobust\vector
+\EndIncludeInRelease
+\IncludeInRelease{0000/00/00}%
+ {\bezier}{Make commands robust}%
+
+\kernel@make@fragile\bezier
+\kernel@make@fragile\circle
+\kernel@make@fragile\dashbox
+\kernel@make@fragile\line
+\kernel@make@fragile\linethickness
+\kernel@make@fragile\multiput
+\kernel@make@fragile\oval
+\kernel@make@fragile\put
+\kernel@make@fragile\qbezier
+\kernel@make@fragile\shortstack
+\kernel@make@fragile\thinlines
+\kernel@make@fragile\vector
+
+\EndIncludeInRelease
%%% From File: ltthm.dtx
%%% From File: ltsect.dtx
+\IncludeInRelease{2019/10/01}%
+ {\title}{Make commands robust}%
+\DeclareRobustCommand\title[1]{\gdef\@title{#1}}
+\DeclareRobustCommand\author[1]{\gdef\@author{#1}}
+\DeclareRobustCommand\date[1]{\gdef\@date{#1}}
+\DeclareRobustCommand\thanks[1]{\footnotemark
+ \protected@xdef\@thanks{\@thanks
+ \protect\footnotetext[\the\c@footnote]{#1}}%
+}
+\DeclareRobustCommand\and{% % \begin{tabular}
+ \end{tabular}%
+ \hskip 1em \@plus.17fil%
+ \begin{tabular}[t]{c}}% % \end{tabular}
+\EndIncludeInRelease
+\IncludeInRelease{0000/00/00}%
+ {\title}{Make commands robust}%
+
+\kernel@make@fragile\title
+\kernel@make@fragile\author
+\kernel@make@fragile\date
+\kernel@make@fragile\thanks
+\kernel@make@fragile\and
+
+\EndIncludeInRelease
\IncludeInRelease{2018/12/01}%
{\addcontentsline}{Mask line endings}%
\def\addcontentsline#1#2#3{%
@@ -1010,7 +1207,7 @@ of this package available from CTAN}
\def\quote@name#1{"\quote@@name#1\@gobble""}
\def\quote@@name#1"{#1\quote@@name}
\def\unquote@name#1{\quote@@name#1\@gobble"}
-\def\IfFileExists#1{%
+\DeclareRobustCommand\IfFileExists[1]{%
\set@curr@file{#1}%
\edef\q@curr@file{\expandafter\quote@name\expandafter{\@curr@file}}%
\expandafter\IfFileExists@\expandafter{\q@curr@file}}
@@ -1057,7 +1254,7 @@ of this package available from CTAN}
\EndIncludeInRelease
\IncludeInRelease{2019/10/01}%
{\InputIfFileExists}{Don't lose the file name}%
-\long\def \InputIfFileExists#1#2{%
+\DeclareRobustCommand \InputIfFileExists[2]{%
\IfFileExists{#1}%
{%
\expandafter\@swaptwoargs\expandafter
@@ -1138,6 +1335,33 @@ of this package available from CTAN}
\expandafter\def\csname\expandafter\string\csname
#2\endcsname\string#1-\string#3\@empty\endcsname{#4}}
\EndIncludeInRelease
+\IncludeInRelease{2019/10/01}%
+ {\UseTextAccent}{Make commands robust}%
+\DeclareRobustCommand\UseTextAccent[3]{%
+ \hmode@start@before@group
+ {%
+ \let\hmode@start@before@group\@firstofone
+ \let\@curr@enc\cf@encoding
+ \@use@text@encoding{#1}%
+ #2{\@use@text@encoding\@curr@enc#3}%
+ }}
+\DeclareRobustCommand\UseTextSymbol[2]{%
+ \hmode@start@before@group
+ {%
+ \def\@wrong@font@char{\MessageBreak
+ for \noexpand\symbol`\string#2'}%
+ \@use@text@encoding{#1}%
+ #2%
+ }%
+ }
+\EndIncludeInRelease
+\IncludeInRelease{0000/00/00}%
+ {\UseTextAccent}{Make commands robust}%
+
+\kernel@make@fragile\UseTextAccent
+\kernel@make@fragile\UseTextSymbol
+
+\EndIncludeInRelease
\IncludeInRelease{2015/10/01}{\textcommabelow}{comma accent}%
\DeclareTextCommandDefault\textcommabelow[1]
{\hmode@bgroup\ooalign{\null#1\crcr\hidewidth\raise-.31ex
@@ -1517,6 +1741,32 @@ of this package available from CTAN}
%%% From File: ltidxglo.dtx
%%% From File: ltbibl.dtx
%%% From File: ltpage.dtx
+\IncludeInRelease{2019/10/01}%
+ {\markboth}{Make commands robust}%
+\DeclareRobustCommand\markboth[2]{%
+ \begingroup
+ \let\label\relax \let\index\relax \let\glossary\relax
+ \unrestored@protected@xdef\@themark {{#1}{#2}}%
+ \@temptokena \expandafter{\@themark}%
+ \mark{\the\@temptokena}%
+ \endgroup
+ \if@nobreak\ifvmode\nobreak\fi\fi}
+\DeclareRobustCommand\markright[1]{%
+ \begingroup
+ \let\label\relax \let\index\relax \let\glossary\relax
+ \expandafter\@markright\@themark {#1}%
+ \@temptokena \expandafter{\@themark}%
+ \mark{\the\@temptokena}%
+ \endgroup
+ \if@nobreak\ifvmode\nobreak\fi\fi}
+\EndIncludeInRelease
+\IncludeInRelease{0000/00/00}%
+ {\markboth}{Make commands robust}%
+
+\kernel@make@fragile\markboth
+\kernel@make@fragile\markright
+
+\EndIncludeInRelease
%%% From File: ltoutput.dtx
\IncludeInRelease{2015/10/01}%
{\bx@ZZ}{Extended float list}%
@@ -2439,7 +2689,32 @@ of this package available from CTAN}
\reserved@a}
\EndIncludeInRelease
\IncludeInRelease{2019/10/01}%
- {\filec@ntents}{Spaces in file names}%
+ {\filec@ntents}{Spaces in file names + optional arg}%
+
+\def\filecontents{\@tempswatrue\@fileswtrue
+ \@ifnextchar[\filec@ntents@opt\filec@ntents
+}
+\@namedef{filecontents*}{\@tempswafalse\@fileswtrue
+ \@ifnextchar[\filec@ntents@opt\filec@ntents
+}
+\def\filec@ntents@opt[#1]{%
+ \@for\@tempa:=#1\do{%
+ \ifcsname filec@ntents@\@tempa\endcsname
+ \csname filec@ntents@\@tempa\endcsname
+ \else
+ \@latex@error{Unknown filecontents option #1}%
+ {Valid options are force (or overwrite), nosearch, noheader}%
+ \fi}%
+ \filec@ntents
+}
+\let\filec@ntents@force\@fileswfalse
+\let\filec@ntents@overwrite\@fileswfalse % alternative name
+\let\filec@ntents@noheader\@tempswafalse
+\def\filec@ntents@nosearch{%
+ \let\filec@ntents@checkdir\@currdir
+ \def\filec@ntents@where{in current directory}}
+\let\filec@ntents@checkdir\@empty
+\def\filec@ntents@where{exists on the system}
\begingroup%
\@tempcnta=1
\loop
@@ -2451,12 +2726,10 @@ of this package available from CTAN}
\catcode`\^^M\active%
\catcode`\^^L\active\let^^L\relax%
\catcode`\^^I\active%
-\gdef\filecontents{\@tempswatrue\filec@ntents}%
-\gdef\filecontents*{\@tempswafalse\filec@ntents}%
\gdef\filec@ntents#1{%
- \set@curr@file{#1}%
- \edef\q@curr@file{\expandafter\quote@name\expandafter{\@curr@file}}%
- \openin\@inputcheck\q@curr@file \space %
+ \set@curr@file{\filec@ntents@checkdir#1}%
+ \edef\q@curr@file{\expandafter\quote@name\expandafter{\@curr@file}}%
+ \openin\@inputcheck\q@curr@file \space %
\ifeof\@inputcheck%
\@latex@warning@no@line%
{Writing file `\@currdir\@curr@file'}%
@@ -2464,13 +2737,38 @@ of this package available from CTAN}
\ch@ck7\reserved@c\write%
\immediate\openout\reserved@c\q@curr@file\relax%
\else%
- \closein\@inputcheck%
- \@latex@warning@no@line%
- {File `\@curr@file' already exists on the system.\MessageBreak%
+ \if@filesw%
+ \@latex@warning@no@line%
+ {File `\@curr@file' already \filec@ntents@where.\MessageBreak%
Not generating it from this source}%
- \let\write\@gobbletwo%
- \let\closeout\@gobble%
+ \let\write\@gobbletwo%
+ \let\closeout\@gobble%
+ \else%
+ \edef\reserved@a{#1}%
+ \edef\reserved@a{\detokenize\expandafter{\reserved@a}}%
+ \edef\reserved@b{\detokenize\expandafter{\jobname}}%
+ \ifx\reserved@a\reserved@b%
+ \@fileswtrue%
+ \else%
+ \edef\reserved@b{\reserved@b\detokenize{.tex}}%
+ \ifx\reserved@a\reserved@b
+ \@fileswtrue%
+ \fi%
+ \fi%
+ \chardef\reserved@c15 %
+ \ch@ck7\reserved@c\write%
+ \if@filesw% % Foul ... trying to overwrite \jobname!
+ \@latex@error{Trying to overwrite `\jobname.tex'}{You can't %
+ write to the file you a reading from!\MessageBreak%
+ Data is written to screen instead.}%
+ \else%
+ \@latex@warning@no@line%
+ {Writing or overwriting file `\@currdir\@curr@file'}%
+ \immediate\openout\reserved@c#1\relax%
+ \fi%
+ \fi%
\fi%
+ \closein\@inputcheck%
\if@tempswa%
\immediate\write\reserved@c{%
\@percentchar\@percentchar\space%
@@ -2522,7 +2820,16 @@ of this package available from CTAN}
\endgroup%
\EndIncludeInRelease
\IncludeInRelease{0000/00/00}%
- {\filec@ntents}{Spaces in file names}%
+ {\filec@ntents}{Spaces in file names + optional arg}%
+
+\let\filec@ntents@opt \@undefined
+\let\filec@ntents@force \@undefined
+\let\filec@ntents@overwrite \@undefined
+\let\filec@ntents@noheader \@undefined
+\let\filec@ntents@nosearch \@undefined
+\let\filec@ntents@checkdir \@undefined
+\let\filec@ntents@where \@undefined
+
\begingroup%
\@tempcnta=1
\loop
@@ -2603,6 +2910,31 @@ of this package available from CTAN}
\endgroup%
\EndIncludeInRelease
%%% From File: ltspace.dtx
+\IncludeInRelease{2019/10/01}%
+ {\pagebreak}{Make commands robust}%
+\DeclareRobustCommand\pagebreak{\@testopt{\@no@pgbk-}4}
+\DeclareRobustCommand\nopagebreak{\@testopt\@no@pgbk4}
+\DeclareRobustCommand\linebreak{\@testopt{\@no@lnbk-}4}
+\DeclareRobustCommand\nolinebreak{\@testopt\@no@lnbk4}
+\DeclareRobustCommand\samepage{\interlinepenalty\@M
+ \postdisplaypenalty\@M
+ \interdisplaylinepenalty\@M
+ \@beginparpenalty\@M
+ \@endparpenalty\@M
+ \@itempenalty\@M
+ \@secpenalty\@M
+ \interfootnotelinepenalty\@M}
+\EndIncludeInRelease
+\IncludeInRelease{0000/00/00}%
+ {\pagebreak}{Make commands robust}%
+
+\kernel@make@fragile\pagebreak
+\kernel@make@fragile\nopagebreak
+\kernel@make@fragile\linebreak
+\kernel@make@fragile\nolinebreak
+\kernel@make@fragile\samepage
+
+\EndIncludeInRelease
\IncludeInRelease{2018/10/10}%
{\@esphack}{hyphenation and nobreak after space hack}%
\def\@esphack{%
@@ -2749,9 +3081,9 @@ of this package available from CTAN}
\EndIncludeInRelease
\IncludeInRelease{2018/12/01}%
{\thinspace}{Start LR-mode}%
-\def\thinspace{\leavevmode@ifvmode\kern .16667em }
-\def\negthinspace{\leavevmode@ifvmode\kern-.16667em }
-\def\enspace{\leavevmode@ifvmode\kern.5em }
+\DeclareRobustCommand\thinspace{\leavevmode@ifvmode\kern .16667em }
+\DeclareRobustCommand\negthinspace{\leavevmode@ifvmode\kern-.16667em }
+\DeclareRobustCommand\enspace{\leavevmode@ifvmode\kern.5em }
\protected\def\leavevmode@ifvmode{\ifvmode\expandafter\indent\fi}
\EndIncludeInRelease
\IncludeInRelease{0000/00/00}%
@@ -3191,6 +3523,241 @@ of this package available from CTAN}
}%
}
\EndIncludeInRelease
+\IncludeInRelease{2019/10/01}%
+ {DeclareMathAccent}{Make math accents robust}%
+\def\DeclareMathAccent#1#2#3#4{%
+ \expandafter\in@\csname sym#3\expandafter\endcsname
+ \expandafter{\group@list}%
+ \ifin@
+ \begingroup
+ \count\z@=#4\relax
+ \count\tw@\count\z@
+ \divide\count\z@\sixt@@n
+ \count@\count\z@
+ \multiply\count@\sixt@@n
+ \advance\count\tw@-\count@
+ \if\relax\noexpand#1% is command?
+ \edef\reserved@a{\noexpand\in@
+ {\expandafter\@gobble\string\mathaccent}
+ {\expandafter\meaning
+ \csname\expandafter\@gobble\string#1\space\endcsname}}%
+ \reserved@a
+ \ifin@
+ \expandafter\let
+ \csname\expandafter\@gobble\string#1\space\endcsname
+ \@undefined
+ \expandafter\set@mathaccent
+ \csname sym#3\endcsname#1#2%
+ {\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}%
+ \@font@info{Redeclaring math accent \string#1}%
+ \else
+ \expandafter\ifx
+ \csname\expandafter\@gobble\string#1\endcsname
+ \relax
+ \expandafter\set@mathaccent
+ \csname sym#3\endcsname#1#2%
+ {\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}%
+ \else
+ \@latex@error{Command `\string#1' already defined}\@eha
+ \fi
+ \fi
+ \else
+ \@latex@error{Not a command name: `\noexpand#1'}\@eha
+ \fi
+ \endgroup
+ \else
+ \@latex@error{Symbol font `#3' is not defined}\@eha
+ \fi
+}
+\EndIncludeInRelease
+\IncludeInRelease{0000/00/00}%
+ {DeclareMathAccent}{Make math accents robust}%
+\def\DeclareMathAccent#1#2#3#4{%
+ \expandafter\in@\csname sym#3\expandafter\endcsname
+ \expandafter{\group@list}%
+ \ifin@
+ \begingroup
+ \count\z@=#4\relax
+ \count\tw@\count\z@
+ \divide\count\z@\sixt@@n
+ \count@\count\z@
+ \multiply\count@\sixt@@n
+ \advance\count\tw@-\count@
+ \if\relax\noexpand#1% is command?
+ \edef\reserved@a{\noexpand\in@
+ {\expandafter\@gobble\string\mathaccent}{\meaning#1}}%
+ \reserved@a
+ \ifin@
+ \expandafter\set@mathaccent
+ \csname sym#3\endcsname#1#2%
+ {\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}%
+ \@font@info{Redeclaring math accent \string#1}%
+ \else
+ \expandafter\ifx
+ \csname\expandafter\@gobble\string#1\endcsname
+ \relax
+ \expandafter\set@mathaccent
+ \csname sym#3\endcsname#1#2%
+ {\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}%
+ \else
+ \@latex@error{Command `\string#1' already defined}\@eha
+ \fi
+ \fi
+ \else
+ \@latex@error{Not a command name: `\noexpand#1'}\@eha
+ \fi
+ \endgroup
+ \else
+ \@latex@error{Symbol font `#3' is not defined}\@eha
+ \fi
+}
+\EndIncludeInRelease
+\IncludeInRelease{2019/10/01}%
+ {\set@mathaccent}{makemath accents robust}%
+\def\set@mathaccent#1#2#3#4{%
+ \xdef#2{\mathaccent"\mathchar@type#3\hexnumber@#1#4\relax}%
+ \MakeRobust#2%
+}
+\@onlypreamble\set@mathaccent
+\EndIncludeInRelease
+\IncludeInRelease{0000/00/00}%
+ {\set@mathaccent}{makemath accents robust}%
+
+\def\set@mathaccent#1#2#3#4{%
+ \xdef#2{\mathaccent"\mathchar@type#3\hexnumber@#1#4\relax}}
+
+\EndIncludeInRelease
+\IncludeInRelease{2019/10/01}%
+ {\@DeclareMathDelimiter}{Make math delimiters robust}%
+\def\@DeclareMathDelimiter#1#2#3#4#5#6{%
+ \expandafter\in@\csname sym#3\expandafter\endcsname
+ \expandafter{\group@list}%
+ \ifin@
+ \expandafter\in@\csname sym#5\expandafter\endcsname
+ \expandafter{\group@list}%
+ \ifin@
+ \begingroup
+ \count\z@=#4\relax
+ \count\tw@\count\z@
+ \divide\count\z@\sixt@@n
+ \count@\count\z@
+ \multiply\count@\sixt@@n
+ \advance\count\tw@-\count@
+ \edef\reserved@c{\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}%
+ %
+ \count\z@=#6\relax
+ \count\tw@\count\z@
+ \divide\count\z@\sixt@@n
+ \count@\count\z@
+ \multiply\count@\sixt@@n
+ \advance\count\tw@-\count@
+ \edef\reserved@d{\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}%
+ %
+ \edef\reserved@a{\noexpand\in@
+ {\expandafter\@gobble\string\delimiter}%
+ {\expandafter\meaning\csname\expandafter\@gobble\string#1\space\endcsname}}%
+ \reserved@a
+ \ifin@
+ \expandafter\let\csname\expandafter\@gobble\string#1\space\endcsname\@undefined
+ \expandafter\set@mathdelimiter
+ \csname sym#3\expandafter\endcsname
+ \csname sym#5\endcsname#1#2%
+ \reserved@c\reserved@d
+ \@font@info{Redeclaring math delimiter \string#1}%
+ \else
+ \expandafter\ifx
+ \csname\expandafter\@gobble\string#1\endcsname
+ \relax
+ \expandafter\set@mathdelimiter
+ \csname sym#3\expandafter\endcsname
+ \csname sym#5\endcsname#1#2%
+ \reserved@c\reserved@d
+ \else
+ \@latex@error{Command `\string#1' already defined}\@eha
+ \fi
+ \fi
+ \endgroup
+ \else
+ \@latex@error{Symbol font `#5' is not defined}\@eha
+ \fi
+ \else
+ \@latex@error{Symbol font `#3' is not defined}\@eha
+ \fi
+}
+\EndIncludeInRelease
+\IncludeInRelease{0000/00/00}%
+ {\@DeclareMathDelimiter}{Make math delimiters robust}%
+\def\@DeclareMathDelimiter#1#2#3#4#5#6{%
+ \expandafter\in@\csname sym#3\expandafter\endcsname
+ \expandafter{\group@list}%
+ \ifin@
+ \expandafter\in@\csname sym#5\expandafter\endcsname
+ \expandafter{\group@list}%
+ \ifin@
+ \begingroup
+ \count\z@=#4\relax
+ \count\tw@\count\z@
+ \divide\count\z@\sixt@@n
+ \count@\count\z@
+ \multiply\count@\sixt@@n
+ \advance\count\tw@-\count@
+ \edef\reserved@c{\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}%
+ %
+ \count\z@=#6\relax
+ \count\tw@\count\z@
+ \divide\count\z@\sixt@@n
+ \count@\count\z@
+ \multiply\count@\sixt@@n
+ \advance\count\tw@-\count@
+ \edef\reserved@d{\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}%
+ %
+ \edef\reserved@a{\noexpand\in@
+ {\expandafter\@gobble\string\delimiter}{\meaning#1}}%
+ \reserved@a
+ \ifin@
+ \expandafter\set@mathdelimiter
+ \csname sym#3\expandafter\endcsname
+ \csname sym#5\endcsname#1#2%
+ \reserved@c\reserved@d
+ \@font@info{Redeclaring math delimiter \string#1}%
+ \else
+ \expandafter\ifx
+ \csname\expandafter\@gobble\string#1\endcsname
+ \relax
+ \expandafter\set@mathdelimiter
+ \csname sym#3\expandafter\endcsname
+ \csname sym#5\endcsname#1#2%
+ \reserved@c\reserved@d
+ \else
+ \@latex@error{Command `\string#1' already defined}\@eha
+ \fi
+ \fi
+ \endgroup
+ \else
+ \@latex@error{Symbol font `#5' is not defined}\@eha
+ \fi
+ \else
+ \@latex@error{Symbol font `#3' is not defined}\@eha
+ \fi
+}
+\EndIncludeInRelease
+\IncludeInRelease{2019/10/01}%
+ {\set@mathdelimiter}{make delimiters robust}%
+\def\set@mathdelimiter#1#2#3#4#5#6{%
+ \xdef#3{\delimiter"\mathchar@type#4\hexnumber@#1#5%
+ \hexnumber@#2#6 }%
+ \MakeRobust#3%
+}
+\@onlypreamble\set@mathdelimiter
+\EndIncludeInRelease
+\IncludeInRelease{0000/00/00}%
+ {\set@mathdelimiter}{make delimiters robust}%
+
+\def\set@mathdelimiter#1#2#3#4#5#6{%
+ \xdef#3{\delimiter"\mathchar@type#4\hexnumber@#1#5%
+ \hexnumber@#2#6 }}
+
+\EndIncludeInRelease
%%% From File: ltfssini.dtx
%% Copyright (C) 1989-2001 Frank Mittelbach and Rainer Sch\"opf,
%% all rights reserved.
@@ -3237,13 +3804,13 @@ of this package available from CTAN}
\EndIncludeInRelease
\IncludeInRelease{2018/12/01}%
{\Big}{Start LR-mode}%
-\def\big#1{\leavevmode@ifvmode
+\DeclareRobustCommand\big[1]{\leavevmode@ifvmode
{\hbox{$\left#1\vbox to8.5\p@{}\right.\n@space$}}}
-\def\Big#1{\leavevmode@ifvmode
+\DeclareRobustCommand\Big[1]{\leavevmode@ifvmode
{\hbox{$\left#1\vbox to11.5\p@{}\right.\n@space$}}}
-\def\bigg#1{\leavevmode@ifvmode
+\DeclareRobustCommand\bigg[1]{\leavevmode@ifvmode
{\hbox{$\left#1\vbox to14.5\p@{}\right.\n@space$}}}
-\def\Bigg#1{\leavevmode@ifvmode
+\DeclareRobustCommand\Bigg[1]{\leavevmode@ifvmode
{\hbox{$\left#1\vbox to17.5\p@{}\right.\n@space$}}}
\EndIncludeInRelease
\IncludeInRelease{0000/00/00}%
@@ -3394,7 +3961,7 @@ of this package available from CTAN}
\IncludeInRelease{2017/01/01}{\showhyphens}%
{XeTeX support for \showhyphens}%
\ifx\XeTeXcharclass\@undefined
-\gdef\showhyphens#1{%
+\DeclareRobustCommand\showhyphens[1]{%
\setbox0\vbox{%
\color@begingroup
\everypar{}%
@@ -3403,7 +3970,7 @@ of this package available from CTAN}
\pretolerance\m@ne\tolerance\m@ne\hbadness\z@\showboxdepth\z@\ #1%
\color@endgroup}}
\else
-\long\def\showhyphens#1{%
+\DeclareRobustCommand\showhyphens[1]{%
\setbox0\vbox{%
\usefont{TU}{lmr}{m}{n}%
\hsize 1sp %
@@ -3613,6 +4180,27 @@ of this package available from CTAN}
\EndIncludeInRelease
%%% From File: ltpageno.dtx
%%% From File: ltxref.dtx
+\IncludeInRelease{2019/10/01}%
+ {\refstepcounter}{Add \labelformat and \Ref}%
+\def\refstepcounter#1{\stepcounter{#1}%
+ \protected@edef\@currentlabel
+ {\csname p@#1\expandafter\endcsname\csname the#1\endcsname}%
+}
+\def\labelformat#1{\expandafter\def\csname p@#1\endcsname##1}
+\DeclareRobustCommand\Ref[1]{\protected@edef\@tempa{\ref{#1}}%
+ \expandafter\MakeUppercase\@tempa}
+\EndIncludeInRelease
+\IncludeInRelease{0000/00/00}%
+ {\refstepcounter}{Add \labelformat and \Ref}%
+
+\def\refstepcounter#1{\stepcounter{#1}%
+ \protected@edef\@currentlabel
+ {\csname p@#1\expandafter\endcsname\csname the#1\endcsname}%
+}
+\let\labelformat\@undefined
+\let\Ref\@undefined
+
+\EndIncludeInRelease
%%% From File: ltmiscen.dtx
\IncludeInRelease{2018/12/01}%
{\protected@file@percent}{Mask line endings}%
@@ -3648,6 +4236,68 @@ of this package available from CTAN}
}%
}
\EndIncludeInRelease
+\IncludeInRelease{2019/10/01}%
+ {\begin}{Making \begin/\end robust}%
+\DeclareRobustCommand\begin[1]{%
+ \@ifundefined{#1}%
+ {\def\reserved@a{\@latex@error{Environment #1 undefined}\@eha}}%
+ {\def\reserved@a{\def\@currenvir{#1}%
+ \edef\@currenvline{\on@line}%
+ \csname #1\endcsname}}%
+ \@ignorefalse
+ \begingroup\@endpefalse\reserved@a}
+\edef\end
+ {\unexpanded{%
+ \romannumeral
+ \ifx\protect\@typeset@protect
+ \expandafter %1
+ \expandafter %2
+ \expandafter %1
+ \expandafter %3 expands the \csname inside \end<space>
+ \expandafter %1
+ \expandafter %2 expands \end<space>
+ \expandafter %1 expands the \else
+ \z@
+ \else
+ \expandafter\z@\expandafter\protect
+ \fi
+ }%
+ \expandafter\noexpand\csname end \endcsname
+ }
+\@namedef{end }#1{%
+ \csname end#1\endcsname\@checkend{#1}%
+ \expandafter\endgroup\if@endpe\@doendpe\fi
+ \if@ignore\@ignorefalse\ignorespaces\fi}
+\EndIncludeInRelease
+\IncludeInRelease{0000/00/00}%
+ {\begin}{Making \begin/\end robust}%
+\kernel@make@fragile\begin
+\kernel@make@fragile\end
+
+\EndIncludeInRelease
+\IncludeInRelease{2019/10/01}%
+ {\centering}{Make commands robust}%
+\DeclareRobustCommand\centering{%
+ \let\\\@centercr
+ \rightskip\@flushglue\leftskip\@flushglue
+ \parindent\z@\parfillskip\z@skip}
+\DeclareRobustCommand\raggedright{%
+ \let\\\@centercr\@rightskip\@flushglue \rightskip\@rightskip
+ \leftskip\z@skip
+ \parindent\z@}
+\DeclareRobustCommand\raggedleft{%
+ \let\\\@centercr
+ \rightskip\z@skip\leftskip\@flushglue
+ \parindent\z@\parfillskip\z@skip}
+\EndIncludeInRelease
+\IncludeInRelease{0000/00/00}%
+ {\centering}{Make commands robust}%
+
+\kernel@make@fragile\centering
+\kernel@make@fragile\raggedright
+\kernel@make@fragile\raggedleft
+
+\EndIncludeInRelease
\IncludeInRelease{2017-04-15}{\@verbatim}%
{Disable hyphenation in verbatim}%
\def\@verbatim{\trivlist \item\relax