diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex-dev/base/latex.ltx')
-rw-r--r-- | Master/texmf-dist/tex/latex-dev/base/latex.ltx | 275 |
1 files changed, 191 insertions, 84 deletions
diff --git a/Master/texmf-dist/tex/latex-dev/base/latex.ltx b/Master/texmf-dist/tex/latex-dev/base/latex.ltx index 716c9e21c85..fa463159956 100644 --- a/Master/texmf-dist/tex/latex-dev/base/latex.ltx +++ b/Master/texmf-dist/tex/latex-dev/base/latex.ltx @@ -710,7 +710,7 @@ \def\fmtname{LaTeX2e} \edef\fmtversion {2020-10-01} -\def\patch@level{-5} +\def\patch@level{-6} \edef\development@branch@name{develop \the\year-\the\month-\the\day} \iffalse \def\reserved@a#1/#2/#3\@nil{% @@ -810,8 +810,10 @@ \fi} %%% From File: ltdefns.dtx \def\two@digits#1{\ifnum#1<10 0\fi\number#1} -\def\typeout#1{\begingroup\set@display@protect - \immediate\write\@unused{#1}\endgroup} +\protected\long\def\typeout#1{\begingroup + \set@display@protect + \def\par{^^J^^J}% + \immediate\write\@unused{#1}\endgroup} \newlinechar`\^^J \let\@@par=\par \let\@@hyph=\- @@ -1146,15 +1148,19 @@ \DeclareRobustCommand\makeatother{\catcode`\@12\relax} \def\@latex@info#1{} -\DeclareRobustCommand{\-}{% - \discretionary{% - \char \ifnum\hyphenchar\font<\z@ - \defaulthyphenchar - \else - \hyphenchar\font - \fi - }{}{}% -} +\ifx\directlua\@undefined + \DeclareRobustCommand{\-}{% + \discretionary{% + \char \ifnum\hyphenchar\font<\z@ + \defaulthyphenchar + \else + \hyphenchar\font + \fi + }{}{}% + } +\else + \let\-\@@hyph +\fi \let\@dischyph=\- \newif\if@includeinrelease \@includeinreleasefalse @@ -1505,12 +1511,14 @@ Type H <return> for immediate help.}% \@xnewline}% \@xnewline} \let\\\@normalcr +\def\@vspace@calcify#1{\begingroup\setlength\skip@{#1}\vskip\skip@\endgroup} + \DeclareRobustCommand\newline{\@normalcr\relax} \def\@xnewline{\@ifnextchar[% ] bracket matching \@newline {\@gnewline\relax}} \def\@newline[#1]{\let \reserved@e \vadjust - \@gnewline {\vskip #1}} + \@gnewline {\@vspace@calcify{#1}}} \def\@gnewline #1{% \ifvmode \@nolnerr @@ -1574,9 +1582,9 @@ Type H <return> for immediate help.}% \ifvmode \if@minipage\else \ifdim \lastskip =\z@ - \vskip #1\relax + \@vspace@calcify{#1}% \else - \@tempskipb#1\relax + \setlength\@tempskipb{#1}% \@xaddvskip \fi \fi @@ -1617,12 +1625,12 @@ Type H <return> for immediate help.}% \DeclareRobustCommand\vspace{\@ifstar\@vspacer\@vspace} \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 @@ -1632,7 +1640,7 @@ Type H <return> for immediate help.}% \dimen@\prevdepth \hrule \@height\z@ \nobreak - \vskip #1 + \@vspace@calcify{#1}% \vskip\z@skip \prevdepth\dimen@ \else @@ -1640,7 +1648,7 @@ Type H <return> for immediate help.}% \vadjust{\@restorepar \hrule \@height\z@ \nobreak - \vskip #1 + \@vspace@calcify{#1}% \vskip\z@skip}% \@esphack \fi} @@ -1669,24 +1677,24 @@ Type H <return> for immediate help.}% \catcode `\~=13 \def~{\nobreakspace{}} \expandafter\let\expandafter\@xobeysp\csname nobreakspace \endcsname -\DeclareRobustCommand{\,}{% - \relax\ifmmode\mskip\thinmuskip\else\thinspace\fi -} \def\@{\spacefactor\@m{}}% \DeclareRobustCommand\hspace{\@ifstar\@hspacer\@hspace} -\def\@hspace#1{\hskip #1\relax} +\def\@hspace#1{\begingroup\setlength\skip@{#1}\hskip\skip@\endgroup} + \def\@hspacer#1{\vrule \@width\z@\nobreak - \hskip #1\hskip \z@skip} + \@hspace{#1}\hskip \z@skip} \newskip\fill \fill = 0pt plus 1fill \def\stretch#1{\z@ \@plus #1fill\relax} -\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} \def\enskip{\hskip.5em\relax} \def\quad{\hskip1em\relax} \def\qquad{\hskip2em\relax} +\ifx\Umathcode\@undefined\else + \catcode "AD=13 + \def^^ad{\-} +\fi {\catcode`\^^M=13 \gdef\obeycr{\catcode`\^^M13 \def^^M{\\\relax}% \@gobblecr}% {\catcode`\^^M=13 \gdef\@gobblecr{\@ifnextchar @@ -1793,22 +1801,32 @@ Type H <return> for immediate help.}% \let\@auxout=\@mainaux \def\includeonly#1{% \@partswtrue - \set@curr@file{\zap@space#1 \@empty}% - \let\@partlist\@curr@file + \let\@partlist\@empty + \@for\reserved@a:=#1 \do + { + \expandafter\set@curr@file@trim@spaces\expandafter{\reserved@a}% + \ifx\@partlist\@empty + \edef\@partlist{\@curr@file}% + \else + \edef\@partlist{\@partlist,\@curr@file}% + \fi + }% } \@onlypreamble\includeonly \def\include#1{\relax \ifnum\@auxout=\@partaux \@latex@error{\string\include\space cannot be nested}\@eha \else - \set@curr@file{#1 }% - \expandafter\@include\@curr@file + \set@curr@file@trim@spaces{#1}% + \expandafter\@include\expandafter{\@curr@file} % deliberate space \fi} +\def\set@curr@file@trim@spaces#1{% + \@expl@tl@trim@spaces@apply@@nN {#1} \set@curr@file } \def\@include#1 {% \clearpage \if@filesw - \immediate\write\@mainaux{\string\@input{#1.aux}}% + \immediate\write\@mainaux{\string\@input{"#1.aux"}}% \fi \@tempswatrue \if@partsw @@ -1820,7 +1838,7 @@ Type H <return> for immediate help.}% \if@tempswa \let\@auxout\@partaux \if@filesw - \immediate\openout\@partaux #1.aux + \immediate\openout\@partaux "#1.aux" \immediate\write\@partaux{\relax}% \fi \@input@{#1.tex}% @@ -3314,7 +3332,7 @@ Type H <return> for immediate help.}% ,ulm,elm,lm,slm,mm,sbm,bm,ebm,ubm,muc,mec,mc,msc,msx,mx,mex,mux,{}{},#1,}% \edef\in@@{\the\series@check@toks}% \ifx\in@@\@empty - \def#2{#1}% + \edef#2{#1}% \else \edef#2{\expandafter\series@drop@one@m #1m\series@drop@one@m}% \fi @@ -3860,7 +3878,7 @@ Type H <return> for immediate help.}% \@eha \fi \else \expandafter\non@alpherr\fi - #1{#4}% + \expandafter#1\ifx\math@bgroup\bgroup{#4}\else#4\fi }% } \def\process@table{% @@ -3900,10 +3918,10 @@ Type H <return> for immediate help.}% \fi \endgroup \let\select@group\document@select@group - \fontencoding{\encodingdefault}% - \fontfamily{\familydefault}% - \fontseries{\seriesdefault}% - \fontshape{\shapedefault}% + \fontencoding\encodingdefault + \edef\f@family{\familydefault}% + \edef\f@series{\seriesdefault}% + \edef\f@shape{\shapedefault}% \everyjob{}% } \@onlypreamble\process@table @@ -4618,7 +4636,9 @@ Type H <return> for immediate help.}% \ifcsname #2series\endcsname % supported are % \[md/bf]default \expandafter\def - \csname #2default\endcsname{#3}% + \csname #2default\endcsname{#3\@empty}% + \expandafter\def + \csname #2default@previous\endcsname{#3\@empty}% \else \@latex@error{Wrong syntax for \string\DeclareFontSeriesDefault}% {Mandatory first argument must be 'md' or 'bf'.} @@ -4654,12 +4674,21 @@ Type H <return> for immediate help.}% \edef\ttdef@ult{\ttdefault}% \series@maybe@drop@one@m\bfdefault\bfdef@ult \series@maybe@drop@one@m\mddefault\mddef@ult - \edef\famdef@ult{\familydefault}% + \@expandfontdefaultshook } \DeclareRobustCommand\bfseries{% \not@math@alphabet\bfseries\mathbf \expand@font@defaults + \ifx\bfdefault\bfdefault@previous\else + \expandafter\def\expandafter\bfdefault + \expandafter{\bfdefault\@empty}% + \let\bfseries@previous\bfdefault + \let\bfseries@rm\bfdef@ult + \let\bfseries@sf\bfdef@ult + \let\bfseries@tt\bfdef@ult + \@setbfseriesdefaultshook + \fi \ifx\f@family\rmdef@ult \fontseries\bfseries@rm \else\ifx\f@family\sfdef@ult \fontseries\bfseries@sf \else\ifx\f@family\ttdef@ult \fontseries\bfseries@tt @@ -4671,6 +4700,14 @@ Type H <return> for immediate help.}% \DeclareRobustCommand\mdseries{% \not@math@alphabet\mdseries\relax \expand@font@defaults + \ifx\mddefault\mddefault@previous\else + \expandafter\def\expandafter\mddefault\expandafter{\mddefault\@empty}% + \let\mdseries@previous\mddefault + \let\mdseries@rm\mddef@ult + \let\mdseries@sf\mddef@ult + \let\mdseries@tt\mddef@ult + \@setmdseriesdefaultshook + \fi \ifx\f@family\rmdef@ult \fontseries\mdseries@rm \else\ifx\f@family\sfdef@ult \fontseries\mdseries@sf \else\ifx\f@family\ttdef@ult \fontseries\mdseries@tt @@ -4694,6 +4731,9 @@ Type H <return> for immediate help.}% \prepare@family@series@update{tt}\ttdefault \@ttfamilyhook \selectfont} +\let\@expandfontdefaultshook\@empty +\let\@setbfseriesdefaultshook\@empty +\let\@setmdseriesdefaultshook\@empty \let\@rmfamilyhook\@empty \let\@sffamilyhook\@empty \let\@ttfamilyhook\@empty @@ -4756,14 +4796,44 @@ Type H <return> for immediate help.}% \ifx\bfseries@tt@kernel\bfseries@tt \expandafter\in@\expandafter{\ttdefault}{cmr,cmss,cmtt,lcmss,lcmtt,lmr,lmss,lmtt}% \ifin@ \else \def\bfseries@tt{b}\fi\fi - - \expand@font@defaults - \ifx\famdef@ult\rmdef@ult \rmfamily - \else\ifx\famdef@ult\sfdef@ult \sffamily - \else\ifx\famdef@ult\ttdef@ult \ttfamily - \fi\fi\fi + \reset@font + \ifx\seriesdefault\seriesdefault@kernel + \mdseries + \let\seriesdefault\f@series + \fi }% \expandafter\let\csname ver@mweights.sty\endcsname\fmtversion +\DeclareRobustCommand\IfFontSeriesContextTF[1]{% + \expand@font@defaults + \@font@series@contextfalse + \def\requested@test@context{#1}% + \expandafter\edef\csname ??def@ult\endcsname{\f@family}% + \let\@elt\test@font@series@context + \@meta@family@list + \@elt{??}% + \let\@elt\relax + \if@font@series@context + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi +} + +\def\test@font@series@context#1{% + \edef\reserved@a{\csname #1def@ult\endcsname}% + \ifx\f@family\reserved@a + \let\@elt\@gobble + \expandafter\ifx + \csname\requested@test@context series@#1\endcsname\f@series + \@font@series@contexttrue + \else + \expandafter\ifx + \csname\requested@test@context def@ult\endcsname\f@series + \@font@series@contexttrue + \fi\fi\fi +} + +\newif\if@font@series@context \def\DeclareEmphSequence#1{% \protected@edef\emfontdeclare@clist{\zap@space#1, \@empty\emforce\emreset}% @@ -4899,6 +4969,8 @@ Type H <return> for immediate help.}% } {\input{preload.ltx}} \let\@addtofilelist\@gobble +\expandafter\def\expandafter\seriesdefault\expandafter{\seriesdefault\@empty} +\let\seriesdefault@kernel\seriesdefault \let\@acci\' \let\@accii\` \let\@acciii\= %%% From File: ltfntcmd.dtx %% @@ -5213,22 +5285,22 @@ Type H <return> for immediate help.}% \DeclareTextCommandDefault{\newtie} {\tc@check@accent{\t}2\newtie} \DeclareTextCommandDefault{\capitalnewtie} {\tc@check@accent{\t}2\capitalnewtie} \else - \def\capitalacute{\@tabacckludge'} - \def\capitalbreve{\u} - \def\capitalcaron{\v} - \def\capitalcedilla{\c} - \def\capitalcircumflex{\^} - \def\capitaldieresis{\"} - \def\capitaldotaccent{\.} - \def\capitalgrave{\@tabacckludge`} - \def\capitalhungarumlaut{\H} - \def\capitalmacron{\@tabacckludge=} - \def\capitalnewtie{\t} - \def\capitalogonek{\k} - \def\capitalring{\r} - \def\capitaltie{\t} - \def\capitaltilde{\~} - \def\newtie{\t} + \DeclareTextCommandDefault\capitalacute{\@tabacckludge'} + \DeclareTextCommandDefault\capitalbreve{\u} + \DeclareTextCommandDefault\capitalcaron{\v} + \DeclareTextCommandDefault\capitalcedilla{\c} + \DeclareTextCommandDefault\capitalcircumflex{\^} + \DeclareTextCommandDefault\capitaldieresis{\"} + \DeclareTextCommandDefault\capitaldotaccent{\.} + \DeclareTextCommandDefault\capitalgrave{\@tabacckludge`} + \DeclareTextCommandDefault\capitalhungarumlaut{\H} + \DeclareTextCommandDefault\capitalmacron{\@tabacckludge=} + \DeclareTextCommandDefault\capitalnewtie{\t} + \DeclareTextCommandDefault\capitalogonek{\k} + \DeclareTextCommandDefault\capitalring{\r} + \DeclareTextCommandDefault\capitaltie{\t} + \DeclareTextCommandDefault\capitaltilde{\~} + \DeclareTextCommandDefault\newtie{\t} \fi \DeclareTextCommandDefault{\textlbrackdbl} {\tc@check@symbol2\textlbrackdbl} \DeclareTextCommandDefault{\textrbrackdbl} {\tc@check@symbol2\textrbrackdbl} @@ -5583,6 +5655,7 @@ Type H <return> for immediate help.}% {\string\newlabel{#1}{{\@currentlabel}{\thepage}}}% \@esphack} \def\refstepcounter#1{\stepcounter{#1}% + \edef\@currentcounter{#1}% \protected@edef\@currentlabel {\csname p@#1\expandafter\endcsname\csname the#1\endcsname}% } @@ -5697,7 +5770,7 @@ Type H <return> for immediate help.}% \par\@ifstar{\nobreak\@xcentercr}\@xcentercr} \def\@xcentercr{\addvspace{-\parskip}\@ifnextchar [\@icentercr\ignorespaces} -\def\@icentercr[#1]{\vskip #1\ignorespaces} +\def\@icentercr[#1]{\@vspace@calcify{#1}\ignorespaces} \def\center{\trivlist \centering\item\relax} \def\endcenter{\endtrivlist} \DeclareRobustCommand\centering{% @@ -5765,7 +5838,12 @@ Type H <return> for immediate help.}% } \newbox\@verbvisiblespacebox -\def\@sverb#1{% +\@namedef{verbatim*}{\@verbatim + \@setupverbvisiblespace + \frenchspacing\@vobeyspaces\@sxverbatim} +\expandafter\let\csname endverbatim*\endcsname =\endverbatim +\def\@sverb#1{\if\noexpand#1 \expandafter\@sverb\else\@@sverb{#1}\fi} +\def\@@sverb#1{% \catcode`#1\active \lccode`\~`#1% \gdef\verb@balance@group{\verb@egroup @@ -5775,10 +5853,6 @@ Type H <return> for immediate help.}% \ifnum\catcode`\ =\active \else \@setupverbvisiblespace \@vobeyspaces \fi } -\@namedef{verbatim*}{\@verbatim - \@setupverbvisiblespace - \frenchspacing\@vobeyspaces\@sxverbatim} -\expandafter\let\csname endverbatim*\endcsname =\endverbatim \def\@makeother#1{\catcode`#112\relax} \let\verb@balance@group\@empty \def\verb@egroup{\global\let\verb@balance@group\@empty\egroup} @@ -5947,11 +6021,21 @@ Type H <return> for immediate help.}% #1\crcr}} \let\sp=^ \let\sb=_ -\def\>{\mskip\medmuskip} -\def\;{\mskip\thickmuskip} -\def\!{\mskip-\thinmuskip} + +\DeclareRobustCommand\tmspace[3]{% + \ifmmode\mskip#1#2\else\leavevmode@ifvmode\kern#1#3\fi\relax} +\DeclareRobustCommand\,{\tmspace+\thinmuskip{.16667em}} +\let\thinspace\, +\DeclareRobustCommand\!{\tmspace-\thinmuskip{.16667em}} +\let\negthinspace\! +\DeclareRobustCommand\:{\tmspace+\medmuskip{.2222em}} +\let\medspace\: +\let\>=\: +\DeclareRobustCommand\negmedspace{\tmspace-\medmuskip{.2222em}} +\DeclareRobustCommand\;{\tmspace+\thickmuskip{.2777em}} +\let\thickspace\; +\DeclareRobustCommand\negthickspace{\tmspace-\thickmuskip{.2777em}} \DeclareRobustCommand\*{\discretionary{\thinspace\the\textfont2\char2}{}{}} -\let\:=\> \def\active@math@prime{^\bgroup\prim@s} {\catcode`\'=\active \global\let'\active@math@prime} \def\prim@s{% @@ -6051,7 +6135,7 @@ Type H <return> for immediate help.}% \def\@xeqncr[#1]{% \ifnum0=`{\fi}% \@@eqncr - \noalign{\penalty\@eqpen\vskip\jot\vskip #1\relax}% + \noalign{\penalty\@eqpen\vskip\jot\@vspace@calcify{#1}}% } \def\@@eqncr{\let\reserved@a\relax \ifcase\@eqcnt \def\reserved@a{& & &}\or \def\reserved@a{& &}% @@ -6611,6 +6695,7 @@ Type H <return> for immediate help.}% \DeclareRobustCommand\centerline[1]{\@@line{\hss#1\hss}} \DeclareRobustCommand\rlap[1]{\hb@xt@\z@{#1\hss}} \DeclareRobustCommand\llap[1]{\hb@xt@\z@{\hss#1}} +\DeclareRobustCommand\clap[1]{\hb@xt@\z@{\hss#1\hss}} %%% From File: lttab.dtx \expandafter\let\csname ver@autotabg.sty\endcsname\fmtversion \newdimen\@gtempa @@ -6668,7 +6753,7 @@ Type H <return> for immediate help.}% \def\@ifatmargin{\ifdim \wd\@curline =\z@} \def\@tabcr{\@stopline \@ifstar{\penalty \@M \@xtabcr}\@xtabcr} \def\@xtabcr{\@ifnextchar[\@itabcr{\@startline\ignorespaces}} -\def\@itabcr[#1]{\vskip #1\@startline\ignorespaces} +\def\@itabcr[#1]{\@vspace@calcify{#1}\@startline\ignorespaces} \def\tabbing{\lineskip \z@skip\let\>\@rtab\let\<\@ltab\let\=\@settab \let\+\@tabplus\let\-\@tabminus\let\`\@tabrj\let\'\@tablab \let\\=\@tabcr @@ -6803,7 +6888,7 @@ Type H <return> for immediate help.}% \fi} \def\@xargarraycr#1{\@tempdima #1\advance\@tempdima \dp \@arstrutbox \vrule \@height\z@ \@depth\@tempdima \@width\z@ \cr} -\def\@yargarraycr#1{\cr\noalign{\vskip #1}} +\def\@yargarraycr#1{\cr\noalign{\@vspace@calcify{#1}}} \long\def\multicolumn#1#2#3{\multispan{#1}\begingroup \@mkpream{#2}% \def\@sharp{#3}\set@typeset@protect @@ -6996,9 +7081,11 @@ Type H <return> for immediate help.}% \advance\@xdim#1\unitlength\advance\@ydim#2\unitlength}% \ignorespaces} \def\@killglue{\unskip\@whiledim \lastskip >\z@\do{\unskip}} -\DeclareRobustCommand\thinlines{\let\@linefnt\tenln \let\@circlefnt\tencirc +\DeclareRobustCommand\thinlines{\let\@linefnt\tenln + \let\@circlefnt\tencirc \@wholewidth\fontdimen8\tenln \@halfwidth .5\@wholewidth} -\DeclareRobustCommand\thicklines{\let\@linefnt\tenlnw \let\@circlefnt\tencircw +\DeclareRobustCommand\thicklines{\let\@linefnt\tenlnw + \let\@circlefnt\tencircw \@wholewidth\fontdimen8\tenlnw \@halfwidth .5\@wholewidth} \DeclareRobustCommand\linethickness[1] {\@wholewidth #1\relax \@halfwidth .5\@wholewidth \ignorespaces} @@ -7014,7 +7101,7 @@ Type H <return> for immediate help.}% \def\@ishortstack#1{\ialign{\mb@l {##}\unskip\mb@r\cr #1\crcr}\egroup} \def\@stackcr{\@ifstar\@ixstackcr\@ixstackcr} \def\@ixstackcr{\@ifnextchar[\@istackcr{\cr\ignorespaces}} -\def\@istackcr[#1]{\cr\noalign{\vskip #1}\ignorespaces} +\def\@istackcr[#1]{\cr\noalign{\@vspace@calcify{#1}}\ignorespaces} \newif\if@negarg \def\line(#1,#2)#3{\@xarg #1\relax \@yarg #2\relax \@linelen #3\unitlength @@ -7806,11 +7893,11 @@ Type H <return> for immediate help.}% \DeclareRobustCommand*\textsuperscript[1]{% \@textsuperscript{\selectfont#1}} \def\@textsuperscript#1{% - {\m@th\ensuremath{^{\mbox{\fontsize\sf@size\z@#1}}}}} + {\m@th\ensuremath{^{\mbox{\fontsize\sf@size\sf@size#1}}}}} \DeclareRobustCommand*\textsubscript[1]{% \@textsubscript{\selectfont#1}}% \def\@textsubscript#1{% - {\m@th\ensuremath{_{\mbox{\fontsize\sf@size\z@#1}}}}} + {\m@th\ensuremath{_{\mbox{\fontsize\sf@size\sf@size#1}}}}} \newdimen\footnotesep \def\footnote{\@ifnextchar[\@xfootnote{\stepcounter\@mpfn \protected@xdef\@thefnmark{\thempfn}% @@ -9127,6 +9214,12 @@ Type H <return> for immediate help.}% \def\@ifclasslater{\@ifl@ter\@clsextension} \@onlypreamble\@ifpackagelater \@onlypreamble\@ifclasslater +\def\IfFormatAtLeastTF{\@ifl@t@r\fmtversion} +\let\IfPackageAtLeastTF\@ifpackagelater +\let\IfClassAtLeastTF\@ifclasslater +\@onlypreamble\IfFormatAtLeastTF +\@onlypreamble\IfPackageAtLeastTF +\@onlypreamble\IfClassAtLeastTF \def\@ifl@ter#1#2{% \expandafter\@ifl@t@r \csname ver@#2.#1\endcsname} @@ -9272,7 +9365,9 @@ Type H <return> for immediate help.}% \expandafter\let\csname ds@\CurrentOption\endcsname\relax}% \let\CurrentOption\@empty \let\@fileswith@pti@ns\@@fileswith@pti@ns - \AtEndOfPackage{\let\@unprocessedoptions\relax}} + \AtEndOfPackage{\expandafter\let + \csname unprocessedoptions-\@currname.\@currext\endcsname + \relax}} \@onlypreamble\@process@pti@ns \def\@options{\ProcessOptions*} \@onlypreamble\@options @@ -9318,9 +9413,12 @@ Type H <return> for immediate help.}% \@loadwithoptions\@clsextension\LoadClass} \@onlypreamble\LoadClassWithOptions \def\RequirePackageWithOptions{% - \AtEndOfPackage{\let\@unprocessedoptions\relax}% + \AtEndOfPackage{\expandafter\let + \csname unprocessedoptions-\@currname.\@currext\endcsname + \relax}% \@loadwithoptions\@pkgextension\RequirePackage} \@onlypreamble\RequirePackageWithOptions + \def\usepackage#1#{% \@latex@error {\noexpand \usepackage before \string\documentclass}% @@ -9425,11 +9523,19 @@ Type H <return> for immediate help.}% {\@currname.\@currext}% {}% {\@missingfileerror\@currname\@currext}% - \let\@unprocessedoptions\@@unprocessedoptions + \expandafter\let\csname unprocessedoptions-\@currname.\@currext\endcsname + \@@unprocessedoptions \csname\@currname.\@currext-h@@k\endcsname \expandafter\let\csname\@currname.\@currext-h@@k\endcsname \@undefined - \@unprocessedoptions}% + \ifx\@unprocessedoptions\relax + \let\@unprocessedoptions\@undefined + \else + \csname unprocessedoptions-\@currname.\@currext\endcsname + \fi + \expandafter\let + \csname unprocessedoptions-\@currname.\@currext\endcsname + \@undefined}% \@ifl@ter\@currext{#1}{#3}{}% {\@latex@warning@no@line {You have requested,\on@line, @@ -9443,6 +9549,7 @@ Type H <return> for immediate help.}% \@reset@ptions}% \reserved@a} \@onlypreamble\@onefilewithoptions +\let\@unprocessedoptions\@undefined \let\@@fileswith@pti@ns\@fileswith@pti@ns \@onlypreamble\@@fileswith@pti@ns \def\@reset@ptions{% |