summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex-dev/base/latex.ltx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex-dev/base/latex.ltx')
-rw-r--r--Master/texmf-dist/tex/latex-dev/base/latex.ltx275
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{%