summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/base/latex.ltx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/base/latex.ltx')
-rw-r--r--Master/texmf-dist/tex/latex/base/latex.ltx1384
1 files changed, 1314 insertions, 70 deletions
diff --git a/Master/texmf-dist/tex/latex/base/latex.ltx b/Master/texmf-dist/tex/latex/base/latex.ltx
index 4c0725db0ce..ca536f819a2 100644
--- a/Master/texmf-dist/tex/latex/base/latex.ltx
+++ b/Master/texmf-dist/tex/latex/base/latex.ltx
@@ -19,10 +19,12 @@
%% ltcounts.dtx (with options: `2ekernel')
%% ltlength.dtx (with options: `2ekernel')
%% ltfssbas.dtx (with options: `2ekernel')
+%% ltfssaxes.dtx (with options: `2ekernel')
%% ltfsstrc.dtx (with options: `2ekernel')
%% ltfssdcl.dtx (with options: `compat,2ekernel')
%% ltfssini.dtx (with options: `compat,2ekernel')
%% ltfntcmd.dtx (with options: `2ekernel')
+%% lttextcomp.dtx (with options: `2ekernel')
%% ltpageno.dtx (with options: `2ekernel')
%% ltxref.dtx (with options: `2ekernel')
%% ltmiscen.dtx (with options: `2ekernel')
@@ -49,7 +51,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
%% The LaTeX3 Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -707,8 +709,8 @@
%%% From File: ltvers.dtx
\def\fmtname{LaTeX2e}
\edef\fmtversion
- {2019-10-01}
-\def\patch@level{3}
+ {2020-02-02}
+\def\patch@level{0}
\edef\development@branch@name{}
\iffalse
\def\reserved@a#1/#2/#3\@nil{%
@@ -734,7 +736,7 @@
\fi
\let\reserved@a\relax
\fi
- \ifnum\patch@level=0
+ \ifnum0\ifnum\patch@level=0 \ifx\development@branch@name\@empty 1\fi\fi>0 %
\everyjob\expandafter{\the\everyjob
\typeout{\fmtname \space<\fmtversion>}}
\immediate
@@ -746,7 +748,7 @@
\write16{\fmtname \space<\fmtversion> patch level \patch@level}
\else
\everyjob\expandafter{\the\everyjob
- \typeout{\fmtname \space<\fmtversion> pre-release\patch@level
+ \typeout{\fmtname \space<\fmtversion> pre-release-\number-\patch@level\space
\ifx\development@branch@name\@undefined \else
\ifx\development@branch@name\@empty \else
\space (\development@branch@name\space branch)%
@@ -754,7 +756,7 @@
\fi
}}
\immediate
- \write16{\fmtname \space<\fmtversion> pre-release\patch@level
+ \write16{\fmtname \space<\fmtversion> pre-release-\number-\patch@level\space
\ifx\development@branch@name\@undefined \else
\ifx\development@branch@name\@empty \else
\space (\development@branch@name\space branch)%
@@ -1495,14 +1497,13 @@ Type H <return> for immediate help.}%
\ignorespaces
\fi
\fi}
-\DeclareRobustCommand\\{%
+\protected\def\@normalcr{%
\let \reserved@e \relax
\let \reserved@f \relax
\@ifstar{\let \reserved@e \vadjust \let \reserved@f \nobreak
\@xnewline}%
- \@xnewline}
-\expandafter\let\expandafter\@normalcr
- \csname\expandafter\@gobble\string\\ \endcsname
+ \@xnewline}
+\let\\\@normalcr
\DeclareRobustCommand\newline{\@normalcr\relax}
\def\@xnewline{\@ifnextchar[% ] bracket matching
\@newline
@@ -1884,7 +1885,7 @@ Type H <return> for immediate help.}%
:\expandafter=\input@path\do{%
\openin\@inputcheck\expandafter\quote@name\expandafter{\reserved@b#1} %
\ifeof\@inputcheck\else
- \edef\@filef@und{"\reserved@b#1" }%
+ \edef\@filef@und{\expandafter\quote@name\expandafter{\reserved@b#1} }%
\let\reserved@a\@firstoftwo%
\closein\@inputcheck
\@break@tfor
@@ -2028,6 +2029,8 @@ Type H <return> for immediate help.}%
\let\hmode@start@before@group\@firstofone
\setbox\@tempboxa\hbox{#2%
\global\mathchardef\accent@spacefactor\spacefactor}%
+ \let\maybe@load@fontshape\relax
+ \let\ignorespaces\relax
\accent#1 #2\egroup\spacefactor\accent@spacefactor}
\let\accent@spacefactor\relax
\def\hmode@bgroup{\leavevmode\bgroup}
@@ -2178,9 +2181,9 @@ Type H <return> for immediate help.}%
\DeclareTextCommandDefault{\textcopyright}{\textcircled{c}}
\DeclareTextCommandDefault{\textasciicircum}{\^{}}
\DeclareTextCommandDefault{\textasciitilde}{\~{}}
-\DeclareTextCommandDefault{\textcompwordmark}{\leavevmode\kern\z@}
\DeclareTextCommandDefault{\textunderscore}{%
\leavevmode \kern.06em\vbox{\hrule\@width.3em}}
+\DeclareTextSymbolDefault{\textcompwordmark}{T1}
\DeclareTextCommandDefault{\textvisiblespace}{%
\mbox{\kern.06em\vrule \@height.3ex}%
\vbox{\hrule \@width.3em}%
@@ -2196,8 +2199,8 @@ Type H <return> for immediate help.}%
\DeclareTextCommandDefault{\textordfeminine}{\textsuperscript{a}}
\DeclareTextCommandDefault{\textordmasculine}{\textsuperscript{o}}
\DeclareRobustCommand{\$}{\ifmmode\mathdollar\else\textdollar\fi}
-\DeclareRobustCommand{\{}{\ifmmode\lbrace\else\textbraceleft\fi}
-\DeclareRobustCommand{\}}{\ifmmode\rbrace\else\textbraceright\fi}
+\protected\def\{{\ifmmode\lbrace\else\textbraceleft\fi}
+\protected\def\}{\ifmmode\rbrace\else\textbraceright\fi}
\DeclareRobustCommand{\P}{\ifmmode\mathparagraph\else\textparagraph\fi}
\DeclareRobustCommand{\S}{\ifmmode\mathsection\else\textsection\fi}
\DeclareRobustCommand{\dag}{\ifmmode{\dagger}\else\textdagger\fi}
@@ -2578,11 +2581,11 @@ Type H <return> for immediate help.}%
}
\let\enc@update\relax
\DeclareRobustCommand\fontfamily[1]{\edef\f@family{#1}}
-\DeclareRobustCommand\fontseries[1]{\edef\f@series{#1}}
-\DeclareRobustCommand\fontshape [1]{\edef\f@shape{#1}}
-\DeclareRobustCommand\usefont[4]{\fontencoding{#1}\fontfamily{#2}%
- \fontseries{#3}\fontshape{#4}\selectfont
- \ignorespaces}
+\DeclareRobustCommand\usefont[4]{\fontencoding{#1}%
+ \edef\f@family{#2}%
+ \edef\f@series{#3}%
+ \edef\f@shape{#4}\selectfont
+ \ignorespaces}
\DeclareRobustCommand\linespread[1]
{\set@fontsize{#1}\f@size\f@baselineskip}
\DeclareRobustCommand\fontsize[2]
@@ -2681,6 +2684,42 @@ Type H <return> for immediate help.}%
\@makeother\'%
\@makeother\"%
}
+\def\LoadFontDefinitionFile#1#2{%
+ \begingroup
+ \edef\f@encoding{#1}%
+ \edef\f@family{#2}%
+ \try@load@fontshape
+ \endgroup
+}
+
+\begingroup
+\nfss@catcodes
+\gdef\DeclareFontFamilySubstitution#1#2#3{%
+ \LoadFontDefinitionFile{#1}{#2}%
+ \LoadFontDefinitionFile{#1}{#3}%
+ \DeclareFontShape{#1}{#2}{m}{it}{<->ssub * #3/m/it}{}%
+ \DeclareFontShape{#1}{#2}{m}{n}{<->ssub * #3/m/n}{}%
+ \DeclareFontShape{#1}{#2}{m}{sc}{<->ssub * #3/m/sc}{}%
+ \DeclareFontShape{#1}{#2}{m}{sl}{<->ssub * #3/m/sl}{}%
+ \DeclareFontShape{#1}{#2}{m}{sw}{<->ssub * #3/m/sw}{}%
+ \DeclareFontShape{#1}{#2}{m}{scit}{<->ssub * #3/m/scit}{}%
+ \DeclareFontShape{#1}{#2}{m}{scsl}{<->ssub * #3/m/scsl}{}%
+ \DeclareFontShape{#1}{#2}{b}{it}{<->ssub * #3/b/it}{}%
+ \DeclareFontShape{#1}{#2}{b}{n}{<->ssub * #3/b/n}{}%
+ \DeclareFontShape{#1}{#2}{b}{scit}{<->ssub * #3/b/scit}{}%
+ \DeclareFontShape{#1}{#2}{b}{scsl}{<->ssub * #3/b/scsl}{}%
+ \DeclareFontShape{#1}{#2}{b}{sc}{<->ssub * #3/b/sc}{}%
+ \DeclareFontShape{#1}{#2}{b}{sl}{<->ssub * #3/b/sl}{}%
+ \DeclareFontShape{#1}{#2}{b}{sw}{<->ssub * #3/b/sw}{}%
+ \DeclareFontShape{#1}{#2}{bx}{it}{<->ssub * #3/bx/it}{}%
+ \DeclareFontShape{#1}{#2}{bx}{n}{<->ssub * #3/bx/n}{}%
+ \DeclareFontShape{#1}{#2}{bx}{scit}{<->ssub * #3/bx/scit}{}%
+ \DeclareFontShape{#1}{#2}{bx}{scsl}{<->ssub * #3/bx/scsl}{}%
+ \DeclareFontShape{#1}{#2}{bx}{sc}{<->ssub * #3/bx/sc}{}%
+ \DeclareFontShape{#1}{#2}{bx}{sl}{<->ssub * #3/bx/sl}{}%
+ \DeclareFontShape{#1}{#2}{bx}{sw}{<->ssub * #3/bx/sw}{}%
+}
+\endgroup
\def\DeclareErrorFont#1#2#3#4#5{%
\xdef\error@fontshape{%
\noexpand\expandafter\noexpand\split@name\noexpand\string
@@ -2830,6 +2869,545 @@ Type H <return> for immediate help.}%
\def\@xviipt{17.28}
\def\@xxpt{20.74}
\def\@xxvpt{24.88}
+%%% From File: ltfssaxes.dtx
+%% Copyright (C) 1999-2020 Frank Mittelbach
+\def\DeclareFontSeriesChangeRule#1#2#3#4{%
+ \@namedef{series@#1@#2}{{#3}{#4}}}
+\DeclareFontSeriesChangeRule {bc}{b}{bc}{}
+\DeclareFontSeriesChangeRule {bc}{c}{bc}{}
+\DeclareFontSeriesChangeRule {bc}{eb}{ebc}{}
+\DeclareFontSeriesChangeRule {bc}{ec}{bec} {bc}
+\DeclareFontSeriesChangeRule {bc}{el}{elc}{}
+\DeclareFontSeriesChangeRule {bc}{l}{lc}{}
+\DeclareFontSeriesChangeRule {bc}{sb}{sbc}{}
+\DeclareFontSeriesChangeRule {bc}{sc}{bsc} {bc}
+\DeclareFontSeriesChangeRule {bc}{sl}{slc}{}
+\DeclareFontSeriesChangeRule {bc}{ub}{ubc}{}
+\DeclareFontSeriesChangeRule {bc}{ul}{ulc}{}
+\DeclareFontSeriesChangeRule {bc}{x}{bx}{}
+\DeclareFontSeriesChangeRule {bx}{b}{bx}{}
+\DeclareFontSeriesChangeRule {bx}{c} {bc} {bx} %<-----
+\DeclareFontSeriesChangeRule {bx}{eb}{ebx}{}
+\DeclareFontSeriesChangeRule {bx}{ec} {bec} {bx} %<-----
+\DeclareFontSeriesChangeRule {bx}{el}{elx}{}
+\DeclareFontSeriesChangeRule {bx}{l}{lx}{}
+\DeclareFontSeriesChangeRule {bx}{sb} {sbx} {}
+\DeclareFontSeriesChangeRule {bx}{sc} {bsc} {bx} %<-----
+\DeclareFontSeriesChangeRule {bx}{sl}{slx} {}
+\DeclareFontSeriesChangeRule {bx}{ub}{ubx}{}
+\DeclareFontSeriesChangeRule {bx}{ul}{ulx}{}
+\DeclareFontSeriesChangeRule {bx}{x}{bx}{}
+\DeclareFontSeriesChangeRule {b}{bx} {bx} {b} %<-----
+\DeclareFontSeriesChangeRule {b}{c} {bc} {b} %<-----
+\DeclareFontSeriesChangeRule {b}{ec} {bec} {b} %<-----
+\DeclareFontSeriesChangeRule {b}{sb} {sb} {b} %<-----
+\DeclareFontSeriesChangeRule {b}{sc} {bsc} {b} %<-----
+\DeclareFontSeriesChangeRule {b}{x} {bx} {b} %<-----
+\DeclareFontSeriesChangeRule {c}{bx} {bx} {b} %<-----
+\DeclareFontSeriesChangeRule {c}{b}{bc}{}
+\DeclareFontSeriesChangeRule {c}{eb}{ebc}{}
+\DeclareFontSeriesChangeRule {c}{el}{elc}{}
+\DeclareFontSeriesChangeRule {c}{l}{lc}{}
+\DeclareFontSeriesChangeRule {c}{sb}{sbc}{}
+\DeclareFontSeriesChangeRule {c}{sl}{slc}{}
+\DeclareFontSeriesChangeRule {c}{ub}{ubc}{}
+\DeclareFontSeriesChangeRule {c}{ul}{ulc}{}
+\DeclareFontSeriesChangeRule {c}{x}{x}{m} %<-----
+\DeclareFontSeriesChangeRule {ebc}{b}{bc}{}
+\DeclareFontSeriesChangeRule {ebc}{c}{ebc}{}
+\DeclareFontSeriesChangeRule {ebc}{eb}{ebc}{}
+\DeclareFontSeriesChangeRule {ebc}{ec}{ebec}{ebc}
+\DeclareFontSeriesChangeRule {ebc}{el}{elc}{}
+\DeclareFontSeriesChangeRule {ebc}{l}{lc}{}
+\DeclareFontSeriesChangeRule {ebc}{sb}{sbc}{}
+\DeclareFontSeriesChangeRule {ebc}{sc}{ebsc}{ebc}
+\DeclareFontSeriesChangeRule {ebc}{sl}{slc}{}
+\DeclareFontSeriesChangeRule {ebc}{ub}{ubc}{}
+\DeclareFontSeriesChangeRule {ebc}{ul}{ulc}{}
+\DeclareFontSeriesChangeRule {ebc}{x}{ebx}{}
+\DeclareFontSeriesChangeRule {ec}{bx} {bx} {b} %<-----
+\DeclareFontSeriesChangeRule {ec}{b}{bec}{}
+\DeclareFontSeriesChangeRule {ec}{eb}{ebec}{}
+\DeclareFontSeriesChangeRule {ec}{el}{elec}{}
+\DeclareFontSeriesChangeRule {ec}{l}{lec}{}
+\DeclareFontSeriesChangeRule {ec}{sb}{sbec}{}
+\DeclareFontSeriesChangeRule {ec}{sl}{slec}{}
+\DeclareFontSeriesChangeRule {ec}{ub}{ubec}{}
+\DeclareFontSeriesChangeRule {ec}{ul}{ulec}{}
+\DeclareFontSeriesChangeRule {ec}{x}{x}{m} %<-----
+\DeclareFontSeriesChangeRule {sc}{bx} {bx} {b} %<-----
+\DeclareFontSeriesChangeRule {sc}{b}{bsc}{}
+\DeclareFontSeriesChangeRule {sc}{eb}{ebsc}{}
+\DeclareFontSeriesChangeRule {sc}{el}{elsc}{}
+\DeclareFontSeriesChangeRule {sc}{l}{lsc}{}
+\DeclareFontSeriesChangeRule {sc}{sb}{sbsc}{}
+\DeclareFontSeriesChangeRule {sc}{sl}{slsc}{}
+\DeclareFontSeriesChangeRule {sc}{ub}{ubsc}{}
+\DeclareFontSeriesChangeRule {sc}{ul}{ulsc}{}
+\DeclareFontSeriesChangeRule {sc}{x}{x}{m} %<-----
+\DeclareFontSeriesChangeRule {ebx}{b}{bx}{}
+\DeclareFontSeriesChangeRule {ebx}{c}{ebc}{}
+\DeclareFontSeriesChangeRule {ebx}{eb}{ebx}{}
+\DeclareFontSeriesChangeRule {ebx}{ec}{ebec}{}
+\DeclareFontSeriesChangeRule {ebx}{el}{elx}{}
+\DeclareFontSeriesChangeRule {ebx}{l}{lx}{}
+\DeclareFontSeriesChangeRule {ebx}{sb}{sbx}{}
+\DeclareFontSeriesChangeRule {ebx}{sc}{ebsc}{}
+\DeclareFontSeriesChangeRule {ebx}{sl}{slx}{}
+\DeclareFontSeriesChangeRule {ebx}{ub}{ubx}{}
+\DeclareFontSeriesChangeRule {ebx}{ul}{ulx}{}
+\DeclareFontSeriesChangeRule {ebx}{x}{ebx}{}
+\DeclareFontSeriesChangeRule {eb}{c}{ebc}{}
+\DeclareFontSeriesChangeRule {eb}{ec}{ebec}{}
+\DeclareFontSeriesChangeRule {eb}{sc}{ebsc}{}
+\DeclareFontSeriesChangeRule {eb}{x}{ebx}{}
+\DeclareFontSeriesChangeRule {elc}{b}{bc}{}
+\DeclareFontSeriesChangeRule {elc}{c}{elc}{}
+\DeclareFontSeriesChangeRule {elc}{eb}{ebc}{}
+\DeclareFontSeriesChangeRule {elc}{ec}{elec}{}
+\DeclareFontSeriesChangeRule {elc}{el}{elc}{}
+\DeclareFontSeriesChangeRule {elc}{l}{lc}{}
+\DeclareFontSeriesChangeRule {elc}{sb}{sbc}{}
+\DeclareFontSeriesChangeRule {elc}{sc}{elsc}{}
+\DeclareFontSeriesChangeRule {elc}{sl}{slc}{}
+\DeclareFontSeriesChangeRule {elc}{ub}{ubc}{}
+\DeclareFontSeriesChangeRule {elc}{ul}{ulc}{}
+\DeclareFontSeriesChangeRule {elc}{x}{elx}{}
+\DeclareFontSeriesChangeRule {elx}{b}{bx}{}
+\DeclareFontSeriesChangeRule {elx}{c}{elc}{}
+\DeclareFontSeriesChangeRule {elx}{eb}{ebx}{}
+\DeclareFontSeriesChangeRule {elx}{ec}{elec}{}
+\DeclareFontSeriesChangeRule {elx}{el}{elx}{}
+\DeclareFontSeriesChangeRule {elx}{l}{lx}{}
+\DeclareFontSeriesChangeRule {elx}{sb}{sbx}{}
+\DeclareFontSeriesChangeRule {elx}{sc}{elsc}{}
+\DeclareFontSeriesChangeRule {elx}{sl}{slx}{}
+\DeclareFontSeriesChangeRule {elx}{ub}{ubx}{}
+\DeclareFontSeriesChangeRule {elx}{ul}{ulx}{}
+\DeclareFontSeriesChangeRule {elx}{x}{elx}{}
+\DeclareFontSeriesChangeRule {el}{c}{elc}{}
+\DeclareFontSeriesChangeRule {el}{ec}{elec}{}
+\DeclareFontSeriesChangeRule {el}{sc}{elsc}{}
+\DeclareFontSeriesChangeRule {el}{x}{elx}{}
+\DeclareFontSeriesChangeRule {lc}{b}{bc}{}
+\DeclareFontSeriesChangeRule {lc}{c}{lc}{}
+\DeclareFontSeriesChangeRule {lc}{eb}{ebc}{}
+\DeclareFontSeriesChangeRule {lc}{ec}{lec}{}
+\DeclareFontSeriesChangeRule {lc}{el}{elc}{}
+\DeclareFontSeriesChangeRule {lc}{l}{lc}{}
+\DeclareFontSeriesChangeRule {lc}{sb}{sbc}{}
+\DeclareFontSeriesChangeRule {lc}{sc}{lsc}{}
+\DeclareFontSeriesChangeRule {lc}{sl}{slc}{}
+\DeclareFontSeriesChangeRule {lc}{ub}{ubc}{}
+\DeclareFontSeriesChangeRule {lc}{ul}{ulc}{}
+\DeclareFontSeriesChangeRule {lc}{x}{lx}{}
+\DeclareFontSeriesChangeRule {lx}{b}{bx}{}
+\DeclareFontSeriesChangeRule {lx}{c}{lc}{}
+\DeclareFontSeriesChangeRule {lx}{eb}{ebx}{}
+\DeclareFontSeriesChangeRule {lx}{ec}{lec}{}
+\DeclareFontSeriesChangeRule {lx}{el}{elx}{}
+\DeclareFontSeriesChangeRule {lx}{l}{lx}{}
+\DeclareFontSeriesChangeRule {lx}{sb}{sbx}{}
+\DeclareFontSeriesChangeRule {lx}{sc}{lsc}{}
+\DeclareFontSeriesChangeRule {lx}{sl}{slx}{}
+\DeclareFontSeriesChangeRule {lx}{ub}{ubx}{}
+\DeclareFontSeriesChangeRule {lx}{ul}{ulx}{}
+\DeclareFontSeriesChangeRule {lx}{x}{lx}{}
+\DeclareFontSeriesChangeRule {l}{bx} {bx} {b} %<-----
+\DeclareFontSeriesChangeRule {l}{b} {b} {bx} %<-----
+\DeclareFontSeriesChangeRule {l}{c} {lc} {l} % ? %<-----
+\DeclareFontSeriesChangeRule {l}{ec} {lec} {l} % ? %<-----
+\DeclareFontSeriesChangeRule {l}{sb} {sb} {b} % ? %<-----
+\DeclareFontSeriesChangeRule {l}{sc} {lsc} {l} % ? %<-----
+\DeclareFontSeriesChangeRule {l}{x} {lx} {l} % ? %<-----
+\DeclareFontSeriesChangeRule {m}{bx} {bx} {b} %<-----
+\DeclareFontSeriesChangeRule {m}{b} {b} {bx} %<-----
+\DeclareFontSeriesChangeRule {m}{c} {c} {m} %<-----
+\DeclareFontSeriesChangeRule {m}{ec} {ec} {m} %<-----
+\DeclareFontSeriesChangeRule {m}{l} {l} {m} %<-----
+\DeclareFontSeriesChangeRule {m}{sb} {sb} {b} %<-----
+\DeclareFontSeriesChangeRule {m}{sc} {sc} {m} %<-----
+\DeclareFontSeriesChangeRule {m}{x} {x} {m} %<-----
+\DeclareFontSeriesChangeRule {sbc}{b}{bc}{}
+\DeclareFontSeriesChangeRule {sbc}{c}{sbc}{}
+\DeclareFontSeriesChangeRule {sbc}{eb}{ebc}{}
+\DeclareFontSeriesChangeRule {sbc}{ec}{sbec}{sbc}
+\DeclareFontSeriesChangeRule {sbc}{el}{elc}{}
+\DeclareFontSeriesChangeRule {sbc}{l}{lc}{}
+\DeclareFontSeriesChangeRule {sbc}{sb}{sbc}{}
+\DeclareFontSeriesChangeRule {sbc}{sc}{sbsc}{sbc}
+\DeclareFontSeriesChangeRule {sbc}{sl}{slc}{}
+\DeclareFontSeriesChangeRule {sbc}{ub}{ubc}{}
+\DeclareFontSeriesChangeRule {sbc}{ul}{ulc}{}
+\DeclareFontSeriesChangeRule {sbc}{x}{sbx}{}
+\DeclareFontSeriesChangeRule {sbx}{b}{bx}{}
+\DeclareFontSeriesChangeRule {sbx}{c}{sbc}{}
+\DeclareFontSeriesChangeRule {sbx}{eb}{ebx}{}
+\DeclareFontSeriesChangeRule {sbx}{ec}{sbec}{}
+\DeclareFontSeriesChangeRule {sbx}{el}{elx}{}
+\DeclareFontSeriesChangeRule {sbx}{l}{lx}{}
+\DeclareFontSeriesChangeRule {sbx}{sb}{sbx}{}
+\DeclareFontSeriesChangeRule {sbx}{sc}{sbsc}{}
+\DeclareFontSeriesChangeRule {sbx}{sl}{slx}{}
+\DeclareFontSeriesChangeRule {sbx}{ub}{ubx}{}
+\DeclareFontSeriesChangeRule {sbx}{ul}{ulx}{}
+\DeclareFontSeriesChangeRule {sbx}{x}{sbx}{}
+\DeclareFontSeriesChangeRule {sb}{c} {sbc} {bc} %? %<-----
+\DeclareFontSeriesChangeRule {sb}{ec} {sbec} {sbc} %? %<-----
+\DeclareFontSeriesChangeRule {sb}{sc} {sbsc} {sbc} %? %<-----
+\DeclareFontSeriesChangeRule {sb}{x} {sbx} {bx} %? %<-----
+\DeclareFontSeriesChangeRule {slc}{b}{bc}{}
+\DeclareFontSeriesChangeRule {slc}{c}{slc}{}
+\DeclareFontSeriesChangeRule {slc}{eb}{ebc}{}
+\DeclareFontSeriesChangeRule {slc}{ec}{slec}{}
+\DeclareFontSeriesChangeRule {slc}{el}{elc}{}
+\DeclareFontSeriesChangeRule {slc}{l}{lc}{}
+\DeclareFontSeriesChangeRule {slc}{sb}{sbc}{}
+\DeclareFontSeriesChangeRule {slc}{sc}{slsc}{}
+\DeclareFontSeriesChangeRule {slc}{sl}{slc}{}
+\DeclareFontSeriesChangeRule {slc}{ub}{ubc}{}
+\DeclareFontSeriesChangeRule {slc}{ul}{ulc}{}
+\DeclareFontSeriesChangeRule {slc}{x}{slx}{}
+\DeclareFontSeriesChangeRule {slx}{b}{bx}{}
+\DeclareFontSeriesChangeRule {slx}{c}{slc}{}
+\DeclareFontSeriesChangeRule {slx}{eb}{ebx}{}
+\DeclareFontSeriesChangeRule {slx}{ec}{slec}{}
+\DeclareFontSeriesChangeRule {slx}{el}{elx}{}
+\DeclareFontSeriesChangeRule {slx}{l}{lx}{}
+\DeclareFontSeriesChangeRule {slx}{sb}{sbx}{}
+\DeclareFontSeriesChangeRule {slx}{sc}{slsc}{}
+\DeclareFontSeriesChangeRule {slx}{sl}{slx}{}
+\DeclareFontSeriesChangeRule {slx}{ub}{ubx}{}
+\DeclareFontSeriesChangeRule {slx}{ul}{ulx}{}
+\DeclareFontSeriesChangeRule {slx}{x}{slx}{}
+\DeclareFontSeriesChangeRule {sl}{c}{slc}{}
+\DeclareFontSeriesChangeRule {sl}{ec}{slec}{}
+\DeclareFontSeriesChangeRule {sl}{sc}{slsc}{}
+\DeclareFontSeriesChangeRule {sl}{x}{slx}{}
+\DeclareFontSeriesChangeRule {ubc}{b}{bc}{}
+\DeclareFontSeriesChangeRule {ubc}{c}{ubc}{}
+\DeclareFontSeriesChangeRule {ubc}{eb}{ebc}{}
+\DeclareFontSeriesChangeRule {ubc}{ec}{ubec}{}
+\DeclareFontSeriesChangeRule {ubc}{el}{elc}{}
+\DeclareFontSeriesChangeRule {ubc}{l}{lc}{}
+\DeclareFontSeriesChangeRule {ubc}{sb}{sbc}{}
+\DeclareFontSeriesChangeRule {ubc}{sc}{ubsc}{}
+\DeclareFontSeriesChangeRule {ubc}{sl}{slc}{}
+\DeclareFontSeriesChangeRule {ubc}{ub}{ubc}{}
+\DeclareFontSeriesChangeRule {ubc}{ul}{ulc}{}
+\DeclareFontSeriesChangeRule {ubc}{x}{ubx}{}
+\DeclareFontSeriesChangeRule {ubx}{b}{bx}{}
+\DeclareFontSeriesChangeRule {ubx}{c}{ubc}{}
+\DeclareFontSeriesChangeRule {ubx}{eb}{ebx}{}
+\DeclareFontSeriesChangeRule {ubx}{ec}{ubec}{}
+\DeclareFontSeriesChangeRule {ubx}{el}{elx}{}
+\DeclareFontSeriesChangeRule {ubx}{l}{lx}{}
+\DeclareFontSeriesChangeRule {ubx}{sb}{sbx}{}
+\DeclareFontSeriesChangeRule {ubx}{sc}{ubsc}{}
+\DeclareFontSeriesChangeRule {ubx}{sl}{slx}{}
+\DeclareFontSeriesChangeRule {ubx}{ub}{ubx}{}
+\DeclareFontSeriesChangeRule {ubx}{ul}{ulx}{}
+\DeclareFontSeriesChangeRule {ubx}{x}{ubx}{}
+\DeclareFontSeriesChangeRule {ub}{c}{ubc}{}
+\DeclareFontSeriesChangeRule {ub}{ec}{ubec}{}
+\DeclareFontSeriesChangeRule {ub}{sc}{ubsc}{}
+\DeclareFontSeriesChangeRule {ub}{x}{ubx}{}
+\DeclareFontSeriesChangeRule {ulc}{b}{bc}{}
+\DeclareFontSeriesChangeRule {ulc}{c}{ulc}{}
+\DeclareFontSeriesChangeRule {ulc}{eb}{ebc}{}
+\DeclareFontSeriesChangeRule {ulc}{ec}{ulec}{ulc}
+\DeclareFontSeriesChangeRule {ulc}{el}{elc}{}
+\DeclareFontSeriesChangeRule {ulc}{l}{lc}{}
+\DeclareFontSeriesChangeRule {ulc}{sb}{sbc}{}
+\DeclareFontSeriesChangeRule {ulc}{sc}{ulsc}{ulc}
+\DeclareFontSeriesChangeRule {ulc}{sl}{slc}{}
+\DeclareFontSeriesChangeRule {ulc}{ub}{ubc}{}
+\DeclareFontSeriesChangeRule {ulc}{ul}{ulc}{}
+\DeclareFontSeriesChangeRule {ulc}{x}{ulx}{}
+\DeclareFontSeriesChangeRule {ulx}{b}{bx}{}
+\DeclareFontSeriesChangeRule {ulx}{c}{ulc}{}
+\DeclareFontSeriesChangeRule {ulx}{eb}{ebx}{}
+\DeclareFontSeriesChangeRule {ulx}{ec}{ulec}{}
+\DeclareFontSeriesChangeRule {ulx}{el}{elx}{}
+\DeclareFontSeriesChangeRule {ulx}{l}{lx}{}
+\DeclareFontSeriesChangeRule {ulx}{sb}{sbx}{}
+\DeclareFontSeriesChangeRule {ulx}{sc}{ulsc}{}
+\DeclareFontSeriesChangeRule {ulx}{sl}{slx}{}
+\DeclareFontSeriesChangeRule {ulx}{ub}{ubx}{}
+\DeclareFontSeriesChangeRule {ulx}{ul}{ulx}{}
+\DeclareFontSeriesChangeRule {ulx}{x}{ulx}{}
+\DeclareFontSeriesChangeRule {ul}{c}{ulc}{}
+\DeclareFontSeriesChangeRule {ul}{ec}{ulec}{}
+\DeclareFontSeriesChangeRule {ul}{sc}{ulsc}{}
+\DeclareFontSeriesChangeRule {ul}{x}{ulx}{}
+\DeclareFontSeriesChangeRule {x}{b}{bx}{}
+\DeclareFontSeriesChangeRule {x}{c}{c}{}
+\DeclareFontSeriesChangeRule {x}{eb}{ebx}{}
+\DeclareFontSeriesChangeRule {x}{ec}{ec}{}
+\DeclareFontSeriesChangeRule {x}{el}{elx}{}
+\DeclareFontSeriesChangeRule {x}{l}{lx}{}
+\DeclareFontSeriesChangeRule {x}{sb}{sbx}{}
+\DeclareFontSeriesChangeRule {x}{sc}{sc}{}
+\DeclareFontSeriesChangeRule {x}{sl}{slx}{}
+\DeclareFontSeriesChangeRule {x}{ub}{ubx}{}
+\DeclareFontSeriesChangeRule {x}{ul}{ulx}{}
+\DeclareFontSeriesChangeRule {bc}{m?}{c}{}
+\DeclareFontSeriesChangeRule {bec}{m?}{ec}{}
+\DeclareFontSeriesChangeRule {bsc}{m?}{sc}{}
+\DeclareFontSeriesChangeRule {bx}{m?}{x}{}
+\DeclareFontSeriesChangeRule {b}{m?}{m}{}
+\DeclareFontSeriesChangeRule {c}{m?}{c}{}
+\DeclareFontSeriesChangeRule {ebc}{m?}{c}{}
+\DeclareFontSeriesChangeRule {ebec}{m?}{ec}{}
+\DeclareFontSeriesChangeRule {ebsc}{m?}{sc}{}
+\DeclareFontSeriesChangeRule {ebx}{m?}{x}{}
+\DeclareFontSeriesChangeRule {eb}{m?}{m}{}
+\DeclareFontSeriesChangeRule {ec}{m?}{ec}{}
+\DeclareFontSeriesChangeRule {elc}{m?}{c}{}
+\DeclareFontSeriesChangeRule {elec}{m?}{ec}{}
+\DeclareFontSeriesChangeRule {elsc}{m?}{sc}{}
+\DeclareFontSeriesChangeRule {elx}{m?}{x}{}
+\DeclareFontSeriesChangeRule {el}{m?}{m}{}
+\DeclareFontSeriesChangeRule {lc}{m?}{c}{}
+\DeclareFontSeriesChangeRule {lec}{m?}{ec}{}
+\DeclareFontSeriesChangeRule {lsc}{m?}{sc}{}
+\DeclareFontSeriesChangeRule {lx}{m?}{x}{}
+\DeclareFontSeriesChangeRule {l}{m?}{m}{}
+\DeclareFontSeriesChangeRule {m}{m?}{m}{}
+\DeclareFontSeriesChangeRule {sbc}{m?}{c}{}
+\DeclareFontSeriesChangeRule {sbec}{m?}{ec}{}
+\DeclareFontSeriesChangeRule {sbsc}{m?}{sc}{}
+\DeclareFontSeriesChangeRule {sbx}{m?}{x}{}
+\DeclareFontSeriesChangeRule {sb}{m?}{m}{}
+\DeclareFontSeriesChangeRule {sc}{m?}{sc}{}
+\DeclareFontSeriesChangeRule {slc}{m?}{c}{}
+\DeclareFontSeriesChangeRule {slec}{m?}{ec}{}
+\DeclareFontSeriesChangeRule {slsc}{m?}{sc}{}
+\DeclareFontSeriesChangeRule {slx}{m?}{x}{}
+\DeclareFontSeriesChangeRule {sl}{m?}{m}{}
+\DeclareFontSeriesChangeRule {ubc}{m?}{c}{}
+\DeclareFontSeriesChangeRule {ubec}{m?}{ec}{}
+\DeclareFontSeriesChangeRule {ubsc}{m?}{sc}{}
+\DeclareFontSeriesChangeRule {ubx}{m?}{x}{}
+\DeclareFontSeriesChangeRule {ub}{m?}{ub}{}
+\DeclareFontSeriesChangeRule {ulc}{m?}{c}{}
+\DeclareFontSeriesChangeRule {ulec}{m?}{ec}{}
+\DeclareFontSeriesChangeRule {ulsc}{m?}{sc}{}
+\DeclareFontSeriesChangeRule {ulx}{m?}{x}{}
+\DeclareFontSeriesChangeRule {ul}{m?}{m}{}
+\DeclareFontSeriesChangeRule {x}{m?}{x}{}
+\DeclareFontSeriesChangeRule {bc}{?m}{b}{}
+\DeclareFontSeriesChangeRule {bec}{?m}{b}{}
+\DeclareFontSeriesChangeRule {bsc}{?m}{b}{}
+\DeclareFontSeriesChangeRule {bsc}{?m}{b}{}
+\DeclareFontSeriesChangeRule {bx}{?m}{b}{}
+\DeclareFontSeriesChangeRule {b}{?m}{b}{}
+\DeclareFontSeriesChangeRule {c}{?m}{m}{}
+\DeclareFontSeriesChangeRule {ebc}{?m}{eb}{}
+\DeclareFontSeriesChangeRule {ebec}{?m}{eb}{}
+\DeclareFontSeriesChangeRule {ebsc}{?m}{eb}{}
+\DeclareFontSeriesChangeRule {ebsc}{?m}{eb}{}
+\DeclareFontSeriesChangeRule {ebx}{?m}{eb}{}
+\DeclareFontSeriesChangeRule {eb}{?m}{eb}{}
+\DeclareFontSeriesChangeRule {ec}{?m}{m}{}
+\DeclareFontSeriesChangeRule {elc}{?m}{el}{}
+\DeclareFontSeriesChangeRule {elec}{?m}{el}{}
+\DeclareFontSeriesChangeRule {elsc}{?m}{el}{}
+\DeclareFontSeriesChangeRule {elsc}{?m}{el}{}
+\DeclareFontSeriesChangeRule {elx}{?m}{el}{}
+\DeclareFontSeriesChangeRule {el}{?m}{el}{}
+\DeclareFontSeriesChangeRule {lc}{?m}{l}{}
+\DeclareFontSeriesChangeRule {lec}{?m}{l}{}
+\DeclareFontSeriesChangeRule {lsc}{?m}{l}{}
+\DeclareFontSeriesChangeRule {lsc}{?m}{l}{}
+\DeclareFontSeriesChangeRule {lx}{?m}{l}{}
+\DeclareFontSeriesChangeRule {l}{?m}{l}{}
+\DeclareFontSeriesChangeRule {m}{?m}{m}{}
+\DeclareFontSeriesChangeRule {sbc}{?m}{sb}{}
+\DeclareFontSeriesChangeRule {sbec}{?m}{sb}{}
+\DeclareFontSeriesChangeRule {sbsc}{?m}{sb}{}
+\DeclareFontSeriesChangeRule {sbsc}{?m}{sb}{}
+\DeclareFontSeriesChangeRule {sbx}{?m}{sb}{}
+\DeclareFontSeriesChangeRule {sb}{?m}{sb}{}
+\DeclareFontSeriesChangeRule {sc}{?m}{m}{}
+\DeclareFontSeriesChangeRule {sc}{?m}{m}{}
+\DeclareFontSeriesChangeRule {slc}{?m}{sl}{}
+\DeclareFontSeriesChangeRule {slec}{?m}{sl}{}
+\DeclareFontSeriesChangeRule {slsc}{?m}{sl}{}
+\DeclareFontSeriesChangeRule {slsc}{?m}{sl}{}
+\DeclareFontSeriesChangeRule {slx}{?m}{sl}{}
+\DeclareFontSeriesChangeRule {sl}{?m}{sl}{}
+\DeclareFontSeriesChangeRule {ubc}{?m}{ub}{}
+\DeclareFontSeriesChangeRule {ubec}{?m}{ub}{}
+\DeclareFontSeriesChangeRule {ubsc}{?m}{ub}{}
+\DeclareFontSeriesChangeRule {ubsc}{?m}{ub}{}
+\DeclareFontSeriesChangeRule {ubx}{?m}{ub}{}
+\DeclareFontSeriesChangeRule {ub}{?m}{m}{}
+\DeclareFontSeriesChangeRule {ulc}{?m}{ul}{}
+\DeclareFontSeriesChangeRule {ulec}{?m}{ul}{}
+\DeclareFontSeriesChangeRule {ulsc}{?m}{ul}{}
+\DeclareFontSeriesChangeRule {ulsc}{?m}{ul}{}
+\DeclareFontSeriesChangeRule {ulx}{?m}{ul}{}
+\DeclareFontSeriesChangeRule {ul}{?m}{ul}{}
+\DeclareFontSeriesChangeRule {x}{?m}{m}{}
+
+
+\DeclareRobustCommand\fontseriesforce[1]{\edef\f@series{#1}}
+\DeclareRobustCommand\fontseries[1]{\merge@font@series{#1}}
+
+\def\merge@font@series#1{%
+ \expandafter\expandafter\expandafter
+ \merge@font@series@
+ \csname series@\f@series @#1\endcsname
+ {#1}%
+ \@nil
+}
+
+\def\merge@font@series@#1#2#3\@nil{%
+ \def\@reserveda{#3}%
+ \ifx\@reserveda\@empty
+ \set@target@series{#2}%
+ \else
+ \maybe@load@fontshape
+ \edef\@reserveda{\f@encoding /\f@family /#1/\f@shape}%
+ \ifcsname \@reserveda \endcsname
+ \set@target@series{#1}%
+ \else
+ \ifcsname \f@encoding /\f@family /#2/\f@shape \endcsname
+ \set@target@series{#2}%
+ \@font@shape@subst@warning
+ \else
+ \set@target@series{#3}%
+ \@font@shape@subst@warning
+ \fi
+ \fi
+ \fi
+}
+\def\@font@shape@subst@warning{%
+ \edef\@reservedb{\curr@fontshape}%
+ \ifx\@reserveda\@reservedb \else
+ \@font@warning{Font shape `\@reserveda' undefined\MessageBreak
+ using `\@reservedb' instead}%
+ \fi
+}
+\def\maybe@load@fontshape{\begingroup\try@load@fontshape\endgroup}
+\DeclareFontSeriesChangeRule {m}{sc}{msc}{mc}
+\def\set@target@series#1{%
+ \edef\f@series{#1}%
+ \edef\f@series{\expandafter\series@drop@one@m\f@series mm\series@drop@one@m}%
+}
+\def\series@drop@one@m#1m#2m#3\series@drop@one@m{%
+ \ifx\relax#1#2\relax m\else#1#2\fi
+}
+
+\def\DeclareFontShapeChangeRule #1#2#3#4{%
+ \@namedef{shape@#1@#2}{{#3}{#4}}}
+\DeclareRobustCommand\ulcshape
+ {\not@math@alphabet\ulcshape\relax
+ \fontshape\ulcdefault\selectfont}
+\newcommand\ulcdefault{ulc}
+\DeclareRobustCommand\swshape
+ {\not@math@alphabet\swshape\relax
+ \fontshape\swdefault\selectfont}
+\newcommand\swdefault{sw}
+\DeclareRobustCommand\sscshape
+ {\not@math@alphabet\sscshape\relax
+ \fontshape\sscdefault\selectfont}
+\newcommand\sscdefault{ssc}
+\DeclareFontShapeChangeRule {n}{it} {it} {sl}
+\DeclareFontShapeChangeRule {n}{sl} {sl} {it}
+\DeclareFontShapeChangeRule {n}{ulc} {n} {}
+\DeclareFontShapeChangeRule {n}{up} {n} {}
+\DeclareFontShapeChangeRule {it}{sl} {sl} {it}
+\DeclareFontShapeChangeRule {it}{sc} {scit} {scsl}
+\DeclareFontShapeChangeRule {it}{ulc} {it} {}
+\DeclareFontShapeChangeRule {it}{up} {n} {}
+\DeclareFontShapeChangeRule {sl}{it} {it} {sl}
+\DeclareFontShapeChangeRule {sl}{sc} {scsl} {scit}
+\DeclareFontShapeChangeRule {sl}{ulc} {sl} {}
+\DeclareFontShapeChangeRule {sl}{up} {n} {}
+\DeclareFontShapeChangeRule {sc}{it} {scit} {scsl}
+\DeclareFontShapeChangeRule {sc}{sl} {scsl} {scit}
+\DeclareFontShapeChangeRule {sc}{sw} {scsw} {sw}
+\DeclareFontShapeChangeRule {sc}{ulc} {n} {}
+\DeclareFontShapeChangeRule {sc}{up} {n} {}
+\DeclareFontShapeChangeRule {scit}{it} {scit} {}
+\DeclareFontShapeChangeRule {scit}{sl} {scsl} {scit}
+\DeclareFontShapeChangeRule {scit}{sw} {scsw} {sc} % or scit?
+\DeclareFontShapeChangeRule {scit}{sc} {scit} {}
+\DeclareFontShapeChangeRule {scit}{ulc} {it} {}
+\DeclareFontShapeChangeRule {scit}{up} {sc} {}
+\DeclareFontShapeChangeRule {scsl}{it} {scit} {scsl}
+\DeclareFontShapeChangeRule {scsl}{sl} {scsl} {}
+\DeclareFontShapeChangeRule {scsl}{sw} {scsw} {sc} % or scsl?
+\DeclareFontShapeChangeRule {scsl}{sc} {scsl} {}
+\DeclareFontShapeChangeRule {scsl}{ulc} {sl} {}
+\DeclareFontShapeChangeRule {scsl}{up} {sc} {}
+\DeclareFontShapeChangeRule {scsw}{it} {scit} {scsw}
+\DeclareFontShapeChangeRule {scsw}{sl} {scsl} {}
+\DeclareFontShapeChangeRule {scsw}{sw} {scsw} {}
+\DeclareFontShapeChangeRule {scsw}{sc} {scsw} {}
+\DeclareFontShapeChangeRule {scsw}{ulc} {sw} {}
+\DeclareFontShapeChangeRule {scsw}{up} {sc} {}
+\DeclareFontShapeChangeRule {sw}{sc} {scsw} {}
+\DeclareFontShapeChangeRule {sw}{ulc} {sw} {}
+\DeclareFontShapeChangeRule {sw}{up} {n} {}
+\DeclareRobustCommand\fontshape[1]{\merge@font@shape{#1}}
+\DeclareRobustCommand\fontshapeforce[1]{\edef\f@shape{#1}}
+\def\merge@font@shape#1{%
+ \expandafter\expandafter\expandafter
+ \merge@font@shape@
+ \csname shape@\f@shape @#1\endcsname
+ {#1}%
+ \@nil
+}
+
+\def\merge@font@shape@#1#2#3\@nil{%
+ \def\@reserveda{#3}%
+ \ifx\@reserveda\@empty
+ \edef\f@shape{#2}%
+ \else
+ \maybe@load@fontshape
+ \edef\@reserveda{\f@encoding /\f@family /\f@series/#1}%
+ \ifcsname \@reserveda\endcsname
+ \edef\f@shape{#1}%
+ \else
+ \ifcsname \f@encoding /\f@family /\f@series/#2\endcsname
+ \edef\f@shape{#2}%
+ \@font@shape@subst@warning
+ \else
+ \edef\f@shape{#3}%
+ \@font@shape@subst@warning
+ \fi
+ \fi
+ \fi
+}
+\protected\def\normalshape
+ {\not@math@alphabet\normalshape\relax
+ \fontshape\shapedefault\selectfont}%
+\def\reinstall@nfss@defs{%
+ \protected\def\upshape
+ {\not@math@alphabet\upshape\relax
+ \fontshape\updefault\selectfont}%
+ \protected\def\slshape
+ {\not@math@alphabet\slshape\relax
+ \fontshape\sldefault\selectfont}%
+ \protected\def\scshape
+ {\not@math@alphabet\scshape\relax
+ \fontshape\scdefault\selectfont}%
+ \protected\def\itshape
+ {\not@math@alphabet\itshape\mathit
+ \fontshape\itdefault\selectfont}%
+ \protected\def\ulcshape
+ {\not@math@alphabet\ulcshape\relax
+ \fontshape{ulc}\selectfont}%
+ \protected\def\swshape
+ {\not@math@alphabet\swshape\relax
+ \fontshape\swdefault\selectfont}%
+ \protected\def\sscshape
+ {\not@math@alphabet\sscshape\relax
+ \fontshape\sscdefault\selectfont}%
+}
%%% From File: ltfsstrc.dtx
%% Copyright (C) 1989-97 by Frank Mittelbach and Rainer Sch\"opf.
%% Copyright (C) 1994-97 by LaTeX3 project. All rights reserved.
@@ -3127,6 +3705,11 @@ Type H <return> for immediate help.}%
\get@external@font
\do@subst@correction
}
+\DeclareSizeFunction{alias}{\sub@sfcnt\@font@aliasinfo}
+\def\@font@aliasinfo#1{%
+ \@font@info{Font\space shape\space `\curr@fontshape'\space
+ aliased\space to\MessageBreak `\mandatory@arg'}%
+}
\DeclareSizeFunction{subf}{\subf@sfcnt\@font@warning}
\DeclareSizeFunction{ssubf}{\subf@sfcnt\@font@info}
\def\subf@sfcnt#1{%
@@ -3773,11 +4356,9 @@ Type H <return> for immediate help.}%
\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}}%
+ {\expandafter\@gobble\string\delimiter}{\meaning#1}}%
\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%
@@ -3840,9 +4421,9 @@ Type H <return> for immediate help.}%
}
\@onlypreamble\@xDeclareMathDelimiter
\def\set@mathdelimiter#1#2#3#4#5#6{%
+ \protected
\xdef#3{\delimiter"\mathchar@type#4\hexnumber@#1#5%
\hexnumber@#2#6 }%
- \MakeRobust#3%
}
\@onlypreamble\set@mathdelimiter
\def\set@@mathdelimiter#1#2#3#4#5{%
@@ -3991,21 +4572,6 @@ Type H <return> for immediate help.}%
%% all rights reserved.
\DeclareMathVersion{normal}
\DeclareMathVersion{bold}
-\DeclareRobustCommand\rmfamily
- {\not@math@alphabet\rmfamily\mathrm
- \fontfamily\rmdefault\selectfont}
-\DeclareRobustCommand\sffamily
- {\not@math@alphabet\sffamily\mathsf
- \fontfamily\sfdefault\selectfont}
-\DeclareRobustCommand\ttfamily
- {\not@math@alphabet\ttfamily\mathtt
- \fontfamily\ttdefault\selectfont}
-\DeclareRobustCommand\bfseries
- {\not@math@alphabet\bfseries\mathbf
- \fontseries\bfdefault\selectfont}
-\DeclareRobustCommand\mdseries
- {\not@math@alphabet\mdseries\relax
- \fontseries\mddefault\selectfont}
\DeclareRobustCommand\upshape
{\not@math@alphabet\upshape\relax
\fontshape\updefault\selectfont}
@@ -4018,10 +4584,185 @@ Type H <return> for immediate help.}%
\DeclareRobustCommand\itshape
{\not@math@alphabet\itshape\mathit
\fontshape\itdefault\selectfont}
-\DeclareRobustCommand\em
- {\@nomath\em \ifdim \fontdimen\@ne\font >\z@
- \eminnershape \else \itshape \fi}%
-\def\eminnershape{\upshape}%
+\newcommand\DeclareFontSeriesDefault[3][]{%
+ \def\@reserveda{#1}%
+ \ifx\@resereda\@empty
+ \ifcsname #2series\endcsname % supported are
+ % \[md/bf]default
+ \expandafter\def
+ \csname #2default\endcsname{#3}%
+ \else
+ \@latex@error{Wrong syntax for \string\DeclareFontSeriesDefault}%
+ {Mandatory first argument must be 'md' or 'bf'.}
+ \fi
+ \else
+ \ifcsname #2series@#1\endcsname % supported are
+ % \[md/bf]series@[rm/sf/tt]
+ \expandafter\edef
+ \csname #2series@#1\endcsname{#3}%
+ \expandafter\let
+ \csname #2series@#1@kernel\endcsname\@undefined
+ \else
+ \@latex@error{Wrong syntax for \string\DeclareFontSeriesDefault}%
+ {Optional first argument must be 'rm', 'sf', or 'tt'. \MessageBreak
+ Second argument must be 'md' or 'bf'.}
+ \fi
+ \fi
+}
+
+\def\bfseries@rm{bx}
+\def\bfseries@sf{bx}
+\def\bfseries@tt{bx}
+\let\bfseries@rm@kernel\bfseries@rm
+\let\bfseries@sf@kernel\bfseries@sf
+\let\bfseries@tt@kernel\bfseries@tt
+\def\mdseries@rm{m}
+\def\mdseries@sf{m}
+\def\mdseries@tt{m}
+
+\def\expand@font@defaults{%
+ \edef\rmdef@ult{\rmdefault}%
+ \edef\sfdef@ult{\sfdefault}%
+ \edef\ttdef@ult{\ttdefault}%
+ \edef\bfdef@ult{\bfdefault}%
+ \edef\mddef@ult{\mddefault}%
+ \edef\famdef@ult{\familydefault}%
+}
+
+\DeclareRobustCommand\bfseries{%
+ \not@math@alphabet\bfseries\mathbf
+ \expand@font@defaults
+ \fontseries{%
+ \ifx\f@family\rmdef@ult \bfseries@rm
+ \else\ifx\f@family\sfdef@ult \bfseries@sf
+ \else\ifx\f@family\ttdef@ult \bfseries@tt
+ \else \bfdefault
+ \fi\fi\fi
+ }%
+ \selectfont
+}
+
+\DeclareRobustCommand\mdseries{%
+ \not@math@alphabet\mdseries\relax
+ \expand@font@defaults
+ \fontseries{%
+ \ifx\f@family\rmdef@ult \mdseries@rm
+ \else\ifx\f@family\sfdef@ult \mdseries@sf
+ \else\ifx\f@family\ttdef@ult \mdseries@tt
+ \else \mddefault
+ \fi\fi\fi
+ }%
+ \selectfont
+}
+
+\DeclareRobustCommand\rmfamily{%
+ \not@math@alphabet\rmfamily\mathrm
+ \prepare@family@series@update{rm}\rmdefault
+ \@rmfamilyhook
+ \selectfont}
+\DeclareRobustCommand\sffamily{%
+ \not@math@alphabet\sffamily\mathsf
+ \prepare@family@series@update{sf}\sfdefault
+ \@sffamilyhook
+ \selectfont}
+\DeclareRobustCommand\ttfamily{%
+ \not@math@alphabet\ttfamily\mathtt
+ \prepare@family@series@update{tt}\ttdefault
+ \@ttfamilyhook
+ \selectfont}
+\let\@rmfamilyhook\@empty
+\let\@sffamilyhook\@empty
+\let\@ttfamilyhook\@empty
+
+\def\@meta@family@list{\@elt{rm}\@elt{sf}\@elt{tt}}
+\def\prepare@family@series@update#1#2{%
+ \expand@font@defaults
+ \let\target@series@value\@empty
+ \def\target@meta@family@value{#1}%
+ \let\@elt\update@series@target@value
+ \@meta@family@list
+ \let\@elt\relax
+ \fontfamily#2%
+ \ifx\target@series@value\@empty
+ \else
+ \maybe@load@fontshape
+ \let\f@series\target@series@value
+ \fi
+}
+\def\update@series@target@value#1{%
+ \def\@reserveda{#1}%
+ \ifx\target@meta@family@value\@reserveda % rm -> rm do nothing
+ \else
+ \expandafter\ifx\csname#1def@ult\endcsname\f@family
+ \let\@elt\@gobble
+ \expandafter\let\expandafter\@reservedb
+ \csname mdseries@\target@meta@family@value\endcsname
+ \expandafter\let\expandafter\@reservedc
+ \csname bfseries@\target@meta@family@value\endcsname
+ \expandafter\ifx\csname mdseries@#1\endcsname\f@series
+ \let\target@series@value\@reservedb
+ \else\expandafter\ifx\csname bfseries@#1\endcsname\f@series
+ \let\target@series@value\@reservedc
+ \else\ifx\f@series\mddef@ult \let\target@series@value\@reservedb
+ \else\ifx\f@series\bfdef@ult \let\target@series@value\@reservedc
+ \fi\fi\fi\fi
+ \fi
+ \fi
+}
+\def\init@series@setup{%
+ \ifx\bfseries@rm@kernel\bfseries@rm
+ \expandafter\in@\expandafter{\rmdefault}{cmr,cmss,cmtt,lcmss,lcmtt,lmr,lmss,lmtt}%
+ \ifin@ \else \def\bfseries@rm{b}\fi\fi
+ \ifx\bfseries@sf@kernel\bfseries@sf
+ \expandafter\in@\expandafter{\sfdefault}{cmr,cmss,cmtt,lcmss,lcmtt,lmr,lmss,lmtt}%
+ \ifin@ \else \def\bfseries@sf{b}\fi\fi
+ \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
+}%
+\expandafter\let\csname ver@mweights.sty\endcsname\fmtversion
+
+\def\DeclareEmphSequence#1{%
+ \protected@edef\emfontdeclare@clist{\zap@space#1, \@empty\emforce\emreset}%
+}
+\let\emfontdeclare@clist\@empty
+
+\DeclareRobustCommand\emreset{\upshape\ulcshape}
+
+\DeclareRobustCommand\em{%
+ \@nomath\em
+ \ifx\emfontdeclare@clist\@empty
+ \ifdim \fontdimen\@ne\font >\z@
+ \eminnershape \else \itshape \fi
+ \else
+ \edef\em@currfont{\csname\curr@fontshape/\f@size\endcsname}%
+ \expandafter\do@emfont@update\emfontdeclare@clist\do@emfont@update
+ \fi
+}
+\def\eminnershape{\upshape}
+\def\do@emfont@update#1,#2\do@emfont@update{%
+ \def\emfontdeclare@clist{#2,#1}%
+ #1\selectfont
+ \expandafter\ifx\csname \curr@fontshape/\f@size\em@force
+ \expandafter\endcsname
+ \em@currfont
+ \expandafter\do@emfont@update\emfontdeclare@clist\do@emfont@update
+ \else
+ \let\em@force\@empty
+ \fi
+}
+
+\protected\def\emforce{\def\em@force{/}}
+\let\em@force\@empty
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\not@math@alphabet#1#2{%
\relax
\ifmmode
@@ -4051,13 +4792,6 @@ Type H <return> for immediate help.}%
\fi
\fontsize{#2}{#3}\selectfont}
\def\@setsize#1#2#3#4{\@setfontsize#1{#4}{#2}}
-\DeclareRobustCommand\oldstylenums[1]{%
- \begingroup
- \spaceskip\fontdimen\tw@\font
- \usefont{OML}{\rmdefault}{\f@series}{it}%
- \mathgroup\symletters #1%
- \endgroup
-}
\def\hexnumber@#1{\ifcase\number#1
0\or 1\or 2\or 3\or 4\or 5\or 6\or 7\or 8\or
9\or A\or B\or C\or D\or E\or F\fi}
@@ -4147,6 +4881,10 @@ Type H <return> for immediate help.}%
\DeclareTextFontCommand{\textsl}{\slshape}
\DeclareTextFontCommand{\textsc}{\scshape}
\DeclareTextFontCommand{\textup}{\upshape}
+
+\DeclareTextFontCommand{\textulc}{\ulcshape}
+\DeclareTextFontCommand{\textsw}{\swshape}
+\DeclareTextFontCommand{\textssc}{\sscshape}
\DeclareTextFontCommand{\emph}{\em}
\let \nocorr \relax
\let \check@icl \@empty
@@ -4252,6 +4990,514 @@ Type H <return> for immediate help.}%
there is probably something wrong with
the class file}\@eha
}
+\DeclareRobustCommand\legacyoldstylenums[1]{%
+ \begingroup
+ \spaceskip\fontdimen\tw@\font
+ \usefont{OML}{\rmdefault}{\f@series}{it}%
+ \mathgroup\symletters #1%
+ \endgroup
+}
+\DeclareRobustCommand\oldstylenums[1]{%
+ \begingroup
+ \ifmmode
+ \mathgroup\symletters #1%
+ \else
+ \CheckEncodingSubset\@use@text@encoding{TS1}\tc@oldstylesubst2{{#1}}%
+ \fi
+ \endgroup
+}
+\def\tc@oldstylesubst#1{%
+ \tc@errorwarn
+ {Oldstyle digits unavailable for
+ family \f@family.\MessageBreak
+ Default oldstyle digits used instead}\@eha
+ \bgroup
+ \expand@font@defaults
+ \ifx\f@family\rmdef@ult
+ \fontfamily\rmsubstdefault
+ \else\ifx\f@family\sfdef@ult
+ \fontfamily\sfsubstdefault
+ \else\ifx\f@family\ttdef@ult
+ \fontfamily\ttsubstdefault
+ \else
+ \fontfamily\textcompsubstdefault
+ \fi\fi\fi
+ \fontencoding{TS1}\selectfont#1%
+ \egroup
+}
+\def\textcompsubstdefault{\rmsubstdefault}
+
+\def\DeclareEncodingSubset#1#2{%
+ \DeclareEncodingSubset@aux{#1}#2*\DeclareEncodingSubset@aux
+}
+\def\DeclareEncodingSubset@aux#1#2*#3\DeclareEncodingSubset@aux#4{%
+ \expandafter\ifx\expandafter X\detokenize{#3}X%
+ \@DeclareEncodingSubset{#1}{#2}{#4}%
+ \else
+ \@DeclareEncodingSubset{#1}{#2LF}{#4}%
+ \@DeclareEncodingSubset{#1}{#2TLF}{#4}%
+ \@DeclareEncodingSubset{#1}{#2OsF}{#4}%
+ \@DeclareEncodingSubset{#1}{#2TOsF}{#4}%
+ \fi
+}
+\def\@DeclareEncodingSubset#1#2#3{%
+ \@ifundefined{#1:#2}%
+ {\@font@info{Setting #2 sub-encoding to #1/#3}}%
+ {\@font@info{Changing #2 sub-encoding to #1/#3}}%
+ \@namedef{#1:#2}{#3}}
+\@onlypreamble\DeclareEncodingSubset
+\@onlypreamble\DeclareEncodingSubset@aux
+\@onlypreamble\@DeclareEncodingSubset
+
+
+\def\CheckEncodingSubset#1#2#3#4#5{%
+ \ifnum #4>%
+ \expandafter\ifx\csname #2:\f@family\endcsname\relax
+ 0\csname #2:?\endcsname
+ \else
+ \csname #2:\f@family\endcsname
+ \fi
+ \relax
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi
+ {#1{#2}}{#3}%
+ #5%
+}
+
+\def\tc@errorwarn#1#2{\@latex@info{#1}}
+
+\def\tc@subst#1{%
+ \tc@errorwarn
+ {Symbol \string#1 not provided by\MessageBreak
+ font family \f@family\space
+ in TS1 encoding.\MessageBreak Default family used instead}\@eha
+ \bgroup
+ \expand@font@defaults
+ \ifx\f@family\rmdef@ult
+ \fontfamily\rmsubstdefault
+ \else\ifx\f@family\sfdef@ult
+ \fontfamily\sfsubstdefault
+ \else\ifx\f@family\ttdef@ult
+ \fontfamily\ttsubstdefault
+ \else
+ \fontfamily\textcompsubstdefault
+ \fi\fi\fi
+ \@namedef{TS1:\f@family}{0}%
+ \selectfont#1%
+ \egroup
+}
+
+\def\tc@fake@euro#1{%
+ \leavevmode
+ \@font@info{Faking \noexpand#1for font family
+ \f@family\MessageBreak in TS1 encoding}%
+ \valign{##\cr
+ \vfil\hbox to 0.07em{\dimen@\f@size\p@
+ \math@fontsfalse
+ \fontsize{.7\dimen@}\z@\selectfont=\hss}%
+ \vfil\cr%
+ \hbox{C}\crcr
+ }%
+}
+
+\def\tc@check@symbol{\CheckEncodingSubset\UseTextSymbol{TS1}\tc@subst}
+\def\tc@check@accent#1{\CheckEncodingSubset\UseTextAccent{TS1}{\tc@swap@accent#1}}
+\def\tc@swap@accent#1#2{\UseTextAccent{T1}#1}
+
+\DeclareTextSymbolDefault{\textdollar}{TS1}
+\UndeclareTextCommand{\textdollar} {OT1} % don't use the OT1 def any longer
+\DeclareTextSymbolDefault{\textsterling}{TS1}
+\UndeclareTextCommand{\textsterling}{OT1} % don't use the OT1 def any longer
+\DeclareTextSymbolDefault{\textperthousand}{TS1}
+\UndeclareTextCommand{\textperthousand}{T1} % don't use the T1 def
+\DeclareTextSymbolDefault{\textasteriskcentered}{TS1}
+\DeclareTextSymbolDefault{\textbullet}{TS1}
+\DeclareTextSymbolDefault{\textdaggerdbl}{TS1}
+\DeclareTextSymbolDefault{\textdagger}{TS1}
+\DeclareTextSymbolDefault{\textparagraph}{TS1}
+\DeclareTextSymbolDefault{\textperiodcentered}{TS1}
+\DeclareTextSymbolDefault{\textsection}{TS1}
+%%\DeclareTextSymbolDefault{\textbardbl}{TS1} % subst in sub-enc 9 above
+\DeclareTextSymbolDefault{\textbrokenbar}{TS1}
+%%\DeclareTextSymbolDefault{\textcelsius}{TS1} % subst in sub-enc 9 above
+\DeclareTextSymbolDefault{\textcent}{TS1}
+\DeclareTextSymbolDefault{\textcopyright}{TS1}
+\DeclareTextSymbolDefault{\textdegree}{TS1}
+\DeclareTextSymbolDefault{\textdiv}{TS1}
+\DeclareTextSymbolDefault{\textlnot}{TS1}
+\DeclareTextSymbolDefault{\textonehalf}{TS1}
+\DeclareTextSymbolDefault{\textonequarter}{TS1}
+%%\DeclareTextSymbolDefault{\textonesuperior}{TS1} % subst in sub-enc 9 above
+\DeclareTextSymbolDefault{\textordfeminine}{TS1}
+\DeclareTextSymbolDefault{\textordmasculine}{TS1}
+\DeclareTextSymbolDefault{\textpm}{TS1}
+\DeclareTextSymbolDefault{\textquotesingle}{TS1}
+\DeclareTextSymbolDefault{\textquotestraightbase}{TS1}
+\DeclareTextSymbolDefault{\textquotestraightdblbase}{TS1}
+\DeclareTextSymbolDefault{\textregistered}{TS1}
+%%\DeclareTextSymbolDefault{\textthreequartersemdash}{TS1} % subst in sub-enc 9 above
+\DeclareTextSymbolDefault{\textthreequarters}{TS1}
+%%\DeclareTextSymbolDefault{\textthreesuperior}{TS1} % subst in sub-enc 9 above
+\DeclareTextSymbolDefault{\texttimes}{TS1}
+\DeclareTextSymbolDefault{\texttrademark}{TS1}
+%%\DeclareTextSymbolDefault{\texttwelveudash}{TS1} % subst in sub-enc 9 above
+%%\DeclareTextSymbolDefault{\texttwosuperior}{TS1} % subst in sub-enc 9 above
+\DeclareTextSymbolDefault{\textyen}{TS1}
+\DeclareTextSymbolDefault{\textcapitalcompwordmark}{TS1}
+\DeclareTextSymbolDefault{\textascendercompwordmark}{TS1}
+\DeclareTextCommandDefault{\textcircled}
+ {\CheckEncodingSubset\UseTextAccent{TS1}{\UseTextAccent{OMS}}1\textcircled}
+\DeclareTextCommandDefault{\t}
+ {\CheckEncodingSubset\UseTextAccent{TS1}{\UseTextAccent{OML}}2\t}
+\ifx\Umathcode\@undefined
+ \DeclareTextCommandDefault{\capitalacute} {\tc@check@accent{\'}2\capitalacute}
+ \DeclareTextCommandDefault{\capitalbreve} {\tc@check@accent{\u}2\capitalbreve}
+ \DeclareTextCommandDefault{\capitalcaron} {\tc@check@accent{\v}2\capitalcaron}
+ \DeclareTextCommandDefault{\capitalcedilla} {\tc@check@accent{\c}2\capitalcedilla}
+ \DeclareTextCommandDefault{\capitalcircumflex} {\tc@check@accent{\^}2\capitalcircumflex}
+ \DeclareTextCommandDefault{\capitaldieresis} {\tc@check@accent{\"}2\capitaldieresis}
+ \DeclareTextCommandDefault{\capitaldotaccent} {\tc@check@accent{\.}2\capitaldotaccent}
+ \DeclareTextCommandDefault{\capitalgrave} {\tc@check@accent{\`}2\capitalgrave}
+ \DeclareTextCommandDefault{\capitalhungarumlaut}{\tc@check@accent{\H}2\capitalhungarumlaut}
+ \DeclareTextCommandDefault{\capitalmacron} {\tc@check@accent{\=}2\capitalmacron}
+ \DeclareTextCommandDefault{\capitalogonek} {\tc@check@accent{\k}2\capitalogonek}
+ \DeclareTextCommandDefault{\capitalring} {\tc@check@accent{\r}2\capitalring}
+ \DeclareTextCommandDefault{\capitaltie} {\tc@check@accent{\t}2\capitaltie}
+ \DeclareTextCommandDefault{\capitaltilde} {\tc@check@accent{\~}2\capitaltilde}
+ \DeclareTextCommandDefault{\newtie} {\tc@check@accent{\t}2\newtie}
+ \DeclareTextCommandDefault{\capitalnewtie} {\tc@check@accent{\t}2\capitalnewtie}
+\else
+ \def\capitalacute{\'}
+ \def\capitalbreve{\u}
+ \def\capitalcaron{\v}
+ \def\capitalcedilla{\c}
+ \def\capitalcircumflex{\^}
+ \def\capitaldieresis{\"}
+ \def\capitaldotaccent{\.}
+ \def\capitalgrave{\`}
+ \def\capitalhungarumlaut{\H}
+ \def\capitalmacron{\=}
+ \def\capitalnewtie{\t}
+ \def\capitalogonek{\k}
+ \def\capitalring{\r}
+ \def\capitaltie{\t}
+ \def\capitaltilde{\~}
+ \def\newtie{\t}
+\fi
+\DeclareTextCommandDefault{\textlbrackdbl} {\tc@check@symbol2\textlbrackdbl}
+\DeclareTextCommandDefault{\textrbrackdbl} {\tc@check@symbol2\textrbrackdbl}
+\DeclareTextCommandDefault{\texteightoldstyle} {\tc@check@symbol2\texteightoldstyle}
+\DeclareTextCommandDefault{\textfiveoldstyle} {\tc@check@symbol2\textfiveoldstyle}
+\DeclareTextCommandDefault{\textfouroldstyle} {\tc@check@symbol2\textfouroldstyle}
+\DeclareTextCommandDefault{\textnineoldstyle} {\tc@check@symbol2\textnineoldstyle}
+\DeclareTextCommandDefault{\textoneoldstyle} {\tc@check@symbol2\textoneoldstyle}
+\DeclareTextCommandDefault{\textsevenoldstyle} {\tc@check@symbol2\textsevenoldstyle}
+\DeclareTextCommandDefault{\textsixoldstyle} {\tc@check@symbol2\textsixoldstyle}
+\DeclareTextCommandDefault{\textthreeoldstyle} {\tc@check@symbol2\textthreeoldstyle}
+\DeclareTextCommandDefault{\texttwooldstyle} {\tc@check@symbol2\texttwooldstyle}
+\DeclareTextCommandDefault{\textzerooldstyle} {\tc@check@symbol2\textzerooldstyle}
+\DeclareTextCommandDefault{\textacutedbl} {\tc@check@symbol2\textacutedbl}
+\DeclareTextCommandDefault{\textasciiacute} {\tc@check@symbol2\textasciiacute}
+\DeclareTextCommandDefault{\textasciibreve} {\tc@check@symbol2\textasciibreve}
+\DeclareTextCommandDefault{\textasciicaron} {\tc@check@symbol2\textasciicaron}
+\DeclareTextCommandDefault{\textasciidieresis} {\tc@check@symbol2\textasciidieresis}
+\DeclareTextCommandDefault{\textasciigrave} {\tc@check@symbol2\textasciigrave}
+\DeclareTextCommandDefault{\textasciimacron} {\tc@check@symbol2\textasciimacron}
+\DeclareTextCommandDefault{\textgravedbl} {\tc@check@symbol2\textgravedbl}
+\DeclareTextCommandDefault{\texttildelow} {\tc@check@symbol2\texttildelow}
+\DeclareTextCommandDefault{\textbaht} {\tc@check@symbol2\textbaht}
+\DeclareTextCommandDefault{\textbigcircle} {\tc@check@symbol2\textbigcircle}
+\DeclareTextCommandDefault{\textborn} {\tc@check@symbol2\textborn}
+\DeclareTextCommandDefault{\textcentoldstyle} {\tc@check@symbol2\textcentoldstyle}
+\DeclareTextCommandDefault{\textcircledP} {\tc@check@symbol2\textcircledP}
+\DeclareTextCommandDefault{\textcopyleft} {\tc@check@symbol2\textcopyleft}
+\DeclareTextCommandDefault{\textdblhyphenchar} {\tc@check@symbol2\textdblhyphenchar}
+\DeclareTextCommandDefault{\textdblhyphen} {\tc@check@symbol2\textdblhyphen}
+\DeclareTextCommandDefault{\textdied} {\tc@check@symbol2\textdied}
+\DeclareTextCommandDefault{\textdiscount} {\tc@check@symbol2\textdiscount}
+\DeclareTextCommandDefault{\textdivorced} {\tc@check@symbol2\textdivorced}
+\DeclareTextCommandDefault{\textdollaroldstyle} {\tc@check@symbol2\textdollaroldstyle}
+\DeclareTextCommandDefault{\textguarani} {\tc@check@symbol2\textguarani}
+\DeclareTextCommandDefault{\textleaf} {\tc@check@symbol2\textleaf}
+\DeclareTextCommandDefault{\textlquill} {\tc@check@symbol2\textlquill}
+\DeclareTextCommandDefault{\textmarried} {\tc@check@symbol2\textmarried}
+\DeclareTextCommandDefault{\textmho} {\tc@check@symbol2\textmho}
+\DeclareTextCommandDefault{\textmusicalnote} {\tc@check@symbol2\textmusicalnote}
+\DeclareTextCommandDefault{\textnaira} {\tc@check@symbol2\textnaira}
+\DeclareTextCommandDefault{\textopenbullet} {\tc@check@symbol2\textopenbullet}
+\DeclareTextCommandDefault{\textpeso} {\tc@check@symbol2\textpeso}
+\DeclareTextCommandDefault{\textpilcrow} {\tc@check@symbol2\textpilcrow}
+\DeclareTextCommandDefault{\textrecipe} {\tc@check@symbol2\textrecipe}
+\DeclareTextCommandDefault{\textreferencemark} {\tc@check@symbol2\textreferencemark}
+\DeclareTextCommandDefault{\textrquill} {\tc@check@symbol2\textrquill}
+\DeclareTextCommandDefault{\textservicemark} {\tc@check@symbol2\textservicemark}
+\DeclareTextCommandDefault{\textsurd} {\tc@check@symbol2\textsurd}
+\DeclareTextCommandDefault{\textpertenthousand} {\tc@check@symbol2\textpertenthousand}
+\UndeclareTextCommand{\textpertenthousand}{T1}
+\DeclareTextCommandDefault{\textlangle} {\tc@check@symbol3\textlangle}
+\DeclareTextCommandDefault{\textrangle} {\tc@check@symbol3\textrangle}
+\DeclareTextCommandDefault{\textcolonmonetary} {\tc@check@symbol4\textcolonmonetary}
+\DeclareTextCommandDefault{\textdong} {\tc@check@symbol4\textdong}
+\DeclareTextCommandDefault{\textdownarrow} {\tc@check@symbol4\textdownarrow}
+\DeclareTextCommandDefault{\textleftarrow} {\tc@check@symbol4\textleftarrow}
+\DeclareTextCommandDefault{\textlira} {\tc@check@symbol4\textlira}
+\DeclareTextCommandDefault{\textrightarrow} {\tc@check@symbol4\textrightarrow}
+\DeclareTextCommandDefault{\textuparrow} {\tc@check@symbol4\textuparrow}
+\DeclareTextCommandDefault{\textwon} {\tc@check@symbol4\textwon}
+\DeclareTextCommandDefault{\textestimated} {\tc@check@symbol5\textestimated}
+\DeclareTextCommandDefault{\textnumero} {\tc@check@symbol5\textnumero}
+\DeclareTextCommandDefault{\textflorin} {\tc@check@symbol6\textflorin}
+\DeclareTextCommandDefault{\textcurrency} {\tc@check@symbol6\textcurrency}
+\DeclareTextCommandDefault{\textfractionsolidus}{\tc@check@symbol7\textfractionsolidus}
+\DeclareTextCommandDefault{\textohm} {\tc@check@symbol7\textohm}
+\DeclareTextCommandDefault{\textmu} {\tc@check@symbol7\textmu}
+\DeclareTextCommandDefault{\textminus} {\tc@check@symbol7\textminus}
+\DeclareTextCommandDefault{\textblank} {\tc@check@symbol{8}\textblank}
+\DeclareTextCommandDefault{\textinterrobangdown}{\tc@check@symbol{8}\textinterrobangdown}
+\DeclareTextCommandDefault{\textinterrobang} {\tc@check@symbol{8}\textinterrobang}
+\DeclareTextCommandDefault{\texteuro}
+ {\CheckEncodingSubset\UseTextSymbol{TS1}\tc@fake@euro{8}\texteuro}
+\DeclareTextCommandDefault{\textcelsius}{\tc@check@symbol{9}\textcelsius}
+\DeclareTextCommandDefault{\textonesuperior}{\tc@check@symbol{9}\textonesuperior}
+\DeclareTextCommandDefault{\textthreequartersemdash}{\tc@check@symbol{9}\textthreequartersemdash}
+\DeclareTextCommandDefault{\textthreesuperior}{\tc@check@symbol{9}\textthreesuperior}
+\DeclareTextCommandDefault{\texttwelveudash}{\tc@check@symbol{9}\texttwelveudash}
+\DeclareTextCommandDefault{\texttwosuperior}{\tc@check@symbol{9}\texttwosuperior}
+\DeclareTextCommandDefault{\textbardbl}{\tc@check@symbol{9}\textbardbl}
+
+\ifx \Umathcode\@undefined \else
+\DeclareTextCommand{\textzerooldstyle} \UnicodeEncodingName{\oldstylenums{0}}
+\DeclareTextCommand{\textoneoldstyle} \UnicodeEncodingName{\oldstylenums{1}}
+\DeclareTextCommand{\texttwooldstyle} \UnicodeEncodingName{\oldstylenums{2}}
+\DeclareTextCommand{\textthreeoldstyle}\UnicodeEncodingName{\oldstylenums{3}}
+\DeclareTextCommand{\textfouroldstyle} \UnicodeEncodingName{\oldstylenums{4}}
+\DeclareTextCommand{\textfiveoldstyle} \UnicodeEncodingName{\oldstylenums{5}}
+\DeclareTextCommand{\textsixoldstyle} \UnicodeEncodingName{\oldstylenums{6}}
+\DeclareTextCommand{\textsevenoldstyle}\UnicodeEncodingName{\oldstylenums{7}}
+\DeclareTextCommand{\texteightoldstyle}\UnicodeEncodingName{\oldstylenums{8}}
+\DeclareTextCommand{\textnineoldstyle} \UnicodeEncodingName{\oldstylenums{9}}
+\DeclareTextSymbol{\textpilcrow} \UnicodeEncodingName{"00B6}
+\DeclareTextSymbol{\textborn} \UnicodeEncodingName{"002A}
+\DeclareTextSymbol{\textdied} \UnicodeEncodingName{"2020}
+\DeclareTextSymbol{\textlbrackdbl} \UnicodeEncodingName{"27E6}
+\DeclareTextSymbol{\textrbrackdbl} \UnicodeEncodingName{"27E7}
+\DeclareTextSymbol{\textguarani} \UnicodeEncodingName{"20B2}
+\DeclareTextSymbol{\textdollaroldstyle}{TS1}{138}
+\DeclareTextSymbol{\textcentoldstyle} {TS1}{139}
+\fi % --- END of Unicode engines specials
+\DeclareEncodingSubset{TS1}{?}{9}
+\DeclareEncodingSubset{TS1}{ccr} {0}
+\DeclareEncodingSubset{TS1}{cmbr} {0}
+\DeclareEncodingSubset{TS1}{cmr} {0}
+\DeclareEncodingSubset{TS1}{cmss} {0}
+\DeclareEncodingSubset{TS1}{cmtl} {0}
+\DeclareEncodingSubset{TS1}{cmtt} {0}
+\DeclareEncodingSubset{TS1}{cmvtt} {0}
+\DeclareEncodingSubset{TS1}{pxr} {0}
+\DeclareEncodingSubset{TS1}{pxss} {0}
+\DeclareEncodingSubset{TS1}{pxtt} {0}
+\DeclareEncodingSubset{TS1}{qag} {0}
+\DeclareEncodingSubset{TS1}{qbk} {0}
+\DeclareEncodingSubset{TS1}{qcr} {0}
+\DeclareEncodingSubset{TS1}{qcs} {0}
+\DeclareEncodingSubset{TS1}{qhvc} {0}
+\DeclareEncodingSubset{TS1}{qhv} {0}
+\DeclareEncodingSubset{TS1}{qpl} {0}
+\DeclareEncodingSubset{TS1}{qtm} {0}
+\DeclareEncodingSubset{TS1}{qzc} {0}
+\DeclareEncodingSubset{TS1}{txr} {0}
+\DeclareEncodingSubset{TS1}{txss} {0}
+\DeclareEncodingSubset{TS1}{txtt} {0}
+\DeclareEncodingSubset{TS1}{lmr} {1}
+\DeclareEncodingSubset{TS1}{lmdh} {1}
+\DeclareEncodingSubset{TS1}{lmss} {1}
+\DeclareEncodingSubset{TS1}{lmssq} {1}
+\DeclareEncodingSubset{TS1}{lmvtt} {1}
+\DeclareEncodingSubset{TS1}{lmtt} {1} % missing TM, SM, pertenthousand for some reason
+\DeclareEncodingSubset{TS1}{ptmx} {2}
+\DeclareEncodingSubset{TS1}{ptmj} {2}
+\DeclareEncodingSubset{TS1}{ul8} {2}
+\DeclareEncodingSubset{TS1}{bch} {5} % tofu for blank, ohm
+\DeclareEncodingSubset{TS1}{futj} {5} % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{futs} {5} % tofu for blank, ohm
+\DeclareEncodingSubset{TS1}{futx} {5} % probably (currently broken distrib)
+\DeclareEncodingSubset{TS1}{pag} {5} % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{pbk} {5} % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{pcr} {5} % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{phv} {5} % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{pnc} {5} % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{pplj} {5} % tofu for blank
+\DeclareEncodingSubset{TS1}{pplx} {5} % tofu for blank
+\DeclareEncodingSubset{TS1}{ppl} {5} % tofu for blank interrobang/down
+\DeclareEncodingSubset{TS1}{ptm} {5} % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{pzc} {5} % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{ul9} {5} % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{dayroms} {6} % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{dayrom} {6} % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{augie} {8} % really only missing euro
+\DeclareEncodingSubset{TS1}{put} {8}
+\DeclareEncodingSubset{TS1}{uag} {8} % probably (currently broken distrib)
+\DeclareEncodingSubset{TS1}{ugq} {8}
+\DeclareEncodingSubset{TS1}{zi4} {9}
+\DeclareEncodingSubset{TS1}{hls} {5}
+\DeclareEncodingSubset{TS1}{hlst} {5}
+\DeclareEncodingSubset{TS1}{hlct} {5}
+\DeclareEncodingSubset{TS1}{hlh} {5}
+\DeclareEncodingSubset{TS1}{hlx} {8}
+\DeclareEncodingSubset{TS1}{hlce} {8}
+\DeclareEncodingSubset{TS1}{hlcn} {8}
+\DeclareEncodingSubset{TS1}{hlcw} {8}
+\DeclareEncodingSubset{TS1}{hlcf} {8}
+\DeclareEncodingSubset{TS1}{lato-*} {0} % with a bunch of tofu inside
+\DeclareEncodingSubset{TS1}{opensans-*} {0} % with a bunch of tofu inside
+\DeclareEncodingSubset{TS1}{cantarell-*} {0} % with a bunch of tofu inside
+\DeclareEncodingSubset{TS1}{fbb-*} {0} % missing centoldstyle
+\DeclareEncodingSubset{TS1}{tli} {1} % with lots of tofu inside
+\DeclareEncodingSubset{TS1}{Alegreya-*} {2}
+\DeclareEncodingSubset{TS1}{AlegreyaSans-*} {2}
+\DeclareEncodingSubset{TS1}{DejaVuSans-TLF} {2}
+\DeclareEncodingSubset{TS1}{DejaVuSansCondensed-TLF} {2}
+\DeclareEncodingSubset{TS1}{DejaVuSansMono-TLF} {2}
+\DeclareEncodingSubset{TS1}{EBGaramond-*} {2}
+\DeclareEncodingSubset{TS1}{Tempora-TLF} {2}
+\DeclareEncodingSubset{TS1}{Tempora-TOsF} {2}
+\DeclareEncodingSubset{TS1}{Arimo-TLF} {3}
+\DeclareEncodingSubset{TS1}{Carlito-*} {3}
+\DeclareEncodingSubset{TS1}{FiraSans-*} {3}
+\DeclareEncodingSubset{TS1}{IBMPlexSans-TLF} {3}
+\DeclareEncodingSubset{TS1}{Merriweather-OsF} {3}
+\DeclareEncodingSubset{TS1}{Montserrat-*} {3}
+\DeclareEncodingSubset{TS1}{MontserratAlternates-*} {3}
+\DeclareEncodingSubset{TS1}{SourceCodePro-TLF} {3}
+\DeclareEncodingSubset{TS1}{SourceCodePro-TOsF} {3}
+\DeclareEncodingSubset{TS1}{SourceSansPro-*} {3}
+\DeclareEncodingSubset{TS1}{SourceSerifPro-*} {3}
+\DeclareEncodingSubset{TS1}{Tinos-TLF} {3}
+\DeclareEncodingSubset{TS1}{AccanthisADFStdNoThree-LF}{4}
+\DeclareEncodingSubset{TS1}{Cabin-TLF} {4}
+\DeclareEncodingSubset{TS1}{Caladea-TLF} {4}
+\DeclareEncodingSubset{TS1}{Chivo-*} {4}
+\DeclareEncodingSubset{TS1}{ClearSans-TLF} {4}
+\DeclareEncodingSubset{TS1}{Coelacanth-LF} {4}
+\DeclareEncodingSubset{TS1}{CrimsonPro-*} {4}
+\DeclareEncodingSubset{TS1}{FiraMono-TLF} {4}
+\DeclareEncodingSubset{TS1}{FiraMono-TOsF} {4}
+\DeclareEncodingSubset{TS1}{Go-TLF} {4}
+\DeclareEncodingSubset{TS1}{GoMono-TLF} {4}
+\DeclareEncodingSubset{TS1}{InriaSans-*} {4}
+\DeclareEncodingSubset{TS1}{InriaSerif-*} {4}
+\DeclareEncodingSubset{TS1}{LibertinusSans-*} {4}
+\DeclareEncodingSubset{TS1}{LibertinusSerif-*} {4}
+\DeclareEncodingSubset{TS1}{LibreBodoni-TLF} {4}
+\DeclareEncodingSubset{TS1}{LibreFranklin-TLF} {4}
+\DeclareEncodingSubset{TS1}{LinguisticsPro-LF} {4}
+\DeclareEncodingSubset{TS1}{LinguisticsPro-OsF} {4}
+\DeclareEncodingSubset{TS1}{LinuxBiolinumT-*} {4}
+\DeclareEncodingSubset{TS1}{LinuxLibertineT-*} {4}
+\DeclareEncodingSubset{TS1}{MerriweatherSans-OsF} {4}
+\DeclareEncodingSubset{TS1}{MintSpirit-*} {4}
+\DeclareEncodingSubset{TS1}{MintSpiritNoTwo-*} {4}
+\DeclareEncodingSubset{TS1}{PTMono-TLF} {4}
+\DeclareEncodingSubset{TS1}{PTSans-TLF} {4}
+\DeclareEncodingSubset{TS1}{PTSansCaption-TLF} {4}
+\DeclareEncodingSubset{TS1}{PTSansNarrow-TLF} {4}
+\DeclareEncodingSubset{TS1}{PTSerif-TLF} {4}
+\DeclareEncodingSubset{TS1}{PTSerifCaption-TLF} {4}
+\DeclareEncodingSubset{TS1}{Raleway-TLF} {4}
+\DeclareEncodingSubset{TS1}{Raleway-TOsF} {4}
+\DeclareEncodingSubset{TS1}{Roboto-*} {4}
+\DeclareEncodingSubset{TS1}{RobotoMono-TLF} {4}
+\DeclareEncodingSubset{TS1}{RobotoSlab-TLF} {4}
+\DeclareEncodingSubset{TS1}{Rosario-*} {4}
+\DeclareEncodingSubset{TS1}{SticksTooText-*} {4}
+\DeclareEncodingSubset{TS1}{UniversalisADFStd-LF} {4}
+\DeclareEncodingSubset{TS1}{Almendra-OsF} {5}
+\DeclareEncodingSubset{TS1}{Baskervaldx-*} {5}
+\DeclareEncodingSubset{TS1}{BaskervilleF-*} {5}
+\DeclareEncodingSubset{TS1}{Bitter-TLF} {5}
+\DeclareEncodingSubset{TS1}{Cinzel-LF} {5}
+\DeclareEncodingSubset{TS1}{CinzelDecorative-LF} {5}
+\DeclareEncodingSubset{TS1}{DejaVuSerif-TLF} {5}
+\DeclareEncodingSubset{TS1}{DejaVuSerifCondensed-TLF} {5}
+\DeclareEncodingSubset{TS1}{GilliusADF-LF} {5}
+\DeclareEncodingSubset{TS1}{GilliusADFCond-LF} {5}
+\DeclareEncodingSubset{TS1}{GilliusADFNoTwo-LF} {5}
+\DeclareEncodingSubset{TS1}{GilliusADFNoTwoCond-LF} {5}
+\DeclareEncodingSubset{TS1}{LobsterTwo-LF} {5}
+\DeclareEncodingSubset{TS1}{OldStandard-TLF} {5}
+\DeclareEncodingSubset{TS1}{PlayfairDisplay-TLF} {5}
+\DeclareEncodingSubset{TS1}{PlayfairDisplay-TOsF} {5}
+\DeclareEncodingSubset{TS1}{TheanoDidot-TLF} {5}
+\DeclareEncodingSubset{TS1}{TheanoDidot-TOsF} {5}
+\DeclareEncodingSubset{TS1}{TheanoModern-TLF} {5}
+\DeclareEncodingSubset{TS1}{TheanoModern-TOsF} {5}
+\DeclareEncodingSubset{TS1}{TheanoOldStyle-TLF} {5}
+\DeclareEncodingSubset{TS1}{TheanoOldStyle-TOsF} {5}
+\DeclareEncodingSubset{TS1}{Crimson-TLF} {6}
+\DeclareEncodingSubset{TS1}{IBMPlexMono-TLF} {6}
+\DeclareEncodingSubset{TS1}{IBMPlexSerif-TLF} {6}
+\DeclareEncodingSubset{TS1}{LibertinusMono-TLF} {6}
+\DeclareEncodingSubset{TS1}{LibertinusSerifDisplay-LF}{6}
+\DeclareEncodingSubset{TS1}{LinuxLibertineDisplayT-*} {6}
+\DeclareEncodingSubset{TS1}{LinuxLibertineMonoT-LF} {6}
+\DeclareEncodingSubset{TS1}{LinuxLibertineMonoT-TLF} {6}
+\DeclareEncodingSubset{TS1}{Overlock-LF} {6}
+\DeclareEncodingSubset{TS1}{CormorantGaramond-*} {7}
+\DeclareEncodingSubset{TS1}{Heuristica-TLF} {7}
+\DeclareEncodingSubset{TS1}{Heuristica-TOsF} {7}
+\DeclareEncodingSubset{TS1}{IMFELLEnglish-TLF} {7}
+\DeclareEncodingSubset{TS1}{LibreBaskerville-TLF} {7}
+\DeclareEncodingSubset{TS1}{LibreCaslon-*} {7}
+\DeclareEncodingSubset{TS1}{Marcellus-LF} {7}
+\DeclareEncodingSubset{TS1}{NotoSans-*} {7}
+\DeclareEncodingSubset{TS1}{NotoSansMono-TLF} {7}
+\DeclareEncodingSubset{TS1}{NotoSansMono-TOsF} {7}
+\DeclareEncodingSubset{TS1}{NotoSerif-*} {7}
+\DeclareEncodingSubset{TS1}{Quattrocento-TLF} {7}
+\DeclareEncodingSubset{TS1}{QuattrocentoSans-TLF} {7}
+\DeclareEncodingSubset{TS1}{XCharter-TLF} {7}
+\DeclareEncodingSubset{TS1}{XCharter-TOsF} {7}
+\DeclareEncodingSubset{TS1}{erewhon-*} {7}
+\DeclareEncodingSubset{TS1}{ComicNeue-TLF} {7}
+\DeclareEncodingSubset{TS1}{ComicNeueAngular-TLF} {7}
+\DeclareEncodingSubset{TS1}{Forum-LF} {7} % the superiors are missing
+\DeclareEncodingSubset{TS1}{Cochineal-*} {8}
+\DeclareEncodingSubset{TS1}{AlgolRevived-TLF} {9}
+\def\UseLegacyTextSymbols{%
+ \DeclareTextSymbolDefault{\textasteriskcentered}{OMS}%
+ \DeclareTextSymbolDefault{\textbardbl}{OMS}%
+ \DeclareTextSymbolDefault{\textbullet}{OMS}%
+ \DeclareTextSymbolDefault{\textdaggerdbl}{OMS}%
+ \DeclareTextSymbolDefault{\textdagger}{OMS}%
+ \DeclareTextSymbolDefault{\textparagraph}{OMS}%
+ \DeclareTextSymbolDefault{\textperiodcentered}{OMS}%
+ \DeclareTextSymbolDefault{\textsection}{OMS}%
+ \UndeclareTextCommand{\textsection}{T1}%
+ \expandafter\let\csname oldstylenums \expandafter\endcsname
+ \csname legacyoldstylenums \endcsname
+}
+
+\DeclareTextSymbol{\textlegacyasteriskcentered}{OMS}{3} % "03
+\DeclareTextSymbol{\textlegacybardbl}{OMS}{107} % "6B
+\DeclareTextSymbol{\textlegacybullet}{OMS}{15} % "0F
+\DeclareTextSymbol{\textlegacydaggerdbl}{OMS}{122} % "7A
+\DeclareTextSymbol{\textlegacydagger}{OMS}{121} % "79
+\DeclareTextSymbol{\textlegacyparagraph}{OMS}{123} % "7B
+\DeclareTextSymbol{\textlegacyperiodcentered}{OMS}{1} % "01
+\DeclareTextSymbol{\textlegacysection}{OMS}{120} % "78
+\DeclareTextSymbolDefault{\textlegacyasteriskcentered}{OMS}
+\DeclareTextSymbolDefault{\textlegacybardbl}{OMS}
+\DeclareTextSymbolDefault{\textlegacybullet}{OMS}
+\DeclareTextSymbolDefault{\textlegacydaggerdbl}{OMS}
+\DeclareTextSymbolDefault{\textlegacydagger}{OMS}
+\DeclareTextSymbolDefault{\textlegacyparagraph}{OMS}
+\DeclareTextSymbolDefault{\textlegacyperiodcentered}{OMS}
+\DeclareTextSymbolDefault{\textlegacysection}{OMS}
+
+
+
%%% From File: ltpageno.dtx
\message{page nos.,}
\countdef\c@page=0 \c@page=1
@@ -4403,7 +5649,7 @@ Type H <return> for immediate help.}%
\reserved@a\@currenvir \else\@badend{#1}\fi}
\let\@currenvline\@empty
\message{center,}
-\def\@centercr{\ifhmode \unskip\else \@nolnerr\fi
+\protected\def\@centercr{\ifhmode \unskip\else \@nolnerr\fi
\par\@ifstar{\nobreak\@xcentercr}\@xcentercr}
\def\@xcentercr{\addvspace{-\parskip}\@ifnextchar
[\@icentercr\ignorespaces}
@@ -7887,12 +9133,16 @@ Type H <return> for immediate help.}%
\@ifnextchar[\@pr@videpackage{\@pr@videpackage[]}}%]
\@onlypreamble\ProvidesPackage
\def\@pr@videpackage[#1]{%
- \expandafter\xdef\csname ver@\@currname.\@currext\endcsname{#1}%
+ \expandafter\protected@xdef % <-- protected...
+ \csname ver@\@currname.\@currext\endcsname{#1}%
\ifx\@currext\@clsextension
\typeout{Document Class: \@gtempa\space#1}%
\else
- \wlog{Package: \@gtempa\space#1}%
+ \protected@wlog{Package: \@gtempa\space#1}% <--- protected
\fi}
+\long\def\protected@wlog#1{\begingroup
+ \set@display@protect
+ \immediate \write \m@ne {#1}\endgroup }
\@onlypreamble\@pr@videpackage
\let\ProvidesClass\ProvidesPackage
\@onlypreamble\ProvidesClass
@@ -8103,7 +9353,6 @@ Type H <return> for immediate help.}%
\@pushfilename
\xdef\@currname{#1}%
\global\let\@currext#4%
- \expandafter\let\csname\@currname.\@currext-h@@k\endcsname\@empty
\let\CurrentOption\@empty
\@reset@ptions
\makeatletter
@@ -8127,6 +9376,7 @@ Type H <return> for immediate help.}%
{\@pass@ptions\@currext{#2}{#1}%
\global\expandafter
\let\csname ver@\@currname.\@currext\endcsname\@empty
+ \expandafter\let\csname\@currname.\@currext-h@@k\endcsname\@empty
\InputIfFileExists
{\@currname.\@currext}%
{}%
@@ -8220,7 +9470,6 @@ Type H <return> for immediate help.}%
{The document may only declare one class.}\@gobble}
\@onlypreamble\@twoclasseserror
\def\two@digits#1{\ifnum#1<10 0\fi\number#1}
-
\def\filecontents{\@tempswatrue\@fileswtrue
\@ifnextchar[\filec@ntents@opt\filec@ntents
}
@@ -8228,11 +9477,12 @@ Type H <return> for immediate help.}%
\@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
+ \edef\@fortmp{\zap@space#1 \@empty}%
+ \@for\@reserveda:=\@fortmp\do{%
+ \ifcsname filec@ntents@\@reserveda\endcsname
+ \csname filec@ntents@\@reserveda\endcsname
\else
- \@latex@error{Unknown filecontents option #1}%
+ \@latex@error{Unknown filecontents option \@reserveda}%
{Valid options are force (or overwrite), nosearch, noheader}%
\fi}%
\filec@ntents
@@ -8259,12 +9509,12 @@ Type H <return> for immediate help.}%
\gdef\filec@ntents#1{%
\set@curr@file{\filec@ntents@checkdir#1}%
\edef\q@curr@file{\expandafter\quote@name\expandafter{\@curr@file}}%
+ \chardef\reserved@c\ifx\directlua\@undefined 15 \else 127 \fi%
\openin\@inputcheck\q@curr@file \space %
\ifeof\@inputcheck%
\@latex@warning@no@line%
{Writing file `\@currdir\@curr@file'}%
- \chardef\reserved@c15 %
- \ch@ck7\reserved@c\write%
+ \ch@ck7\reserved@c\write\relax%
\immediate\openout\reserved@c\q@curr@file\relax%
\else%
\if@filesw%
@@ -8285,11 +9535,10 @@ Type H <return> for immediate help.}%
\@fileswtrue%
\fi%
\fi%
- \chardef\reserved@c15 %
- \ch@ck7\reserved@c\write%
+ \ch@ck7\reserved@c\write\relax%
\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%
+ write to the file you are reading from!\MessageBreak%
Data is written to screen instead.}%
\else%
\@latex@warning@no@line%
@@ -8371,7 +9620,6 @@ Type H <return> for immediate help.}%
\fi
\let\pkgcls@targetlabel\@empty
\def\pkgcls@innerdate{\maxdimen}
-
\let\pkgcls@candidate\@empty
\let\pkgcls@releasedate\@empty
\ifx\load@onefilewithoptions\@undefined
@@ -8434,7 +9682,6 @@ Type H <return> for immediate help.}%
}
\def\pkgcls@parse@date@arg@version#1={%
\def\pkgcls@targetlabel{#1}}
-
\def\DeclareRelease#1#2#3{%
\ifnum\pkgcls@targetdate>\z@ % some sort of rollback request
\pkgcls@debug{---\string\DeclareRelease:}%
@@ -8479,14 +9726,12 @@ Type H <return> for immediate help.}%
\fi
\fi
}
-
\def\pkgcls@use@this@release#1#2{%
\pkgcls@show@selection{#1}{#2}%
\pkgcls@targetdate\z@
\@@input #1\relax
\endinput
}
-
\def\pkgcls@show@selection#1#2{%
\pkgcls@debug{Result: use #1}%
\GenericInfo
@@ -8511,7 +9756,6 @@ Type H <return> for immediate help.}%
\fi
\@gobble}%
}
-
\def\pkgcls@rollbackdate@error#1{%
\@latex@error{Suspicious rollback date given}%
{The \@cls@pkg\space'\@currname' claims that it
@@ -8527,7 +9771,6 @@ Type H <return> for immediate help.}%
\ifnum\pkgcls@targetdate>\@ne % a date request
\ifnum\@parse@version#2//00\@nil
>\pkgcls@targetdate
-
\ifx\pkgcls@candidate\@empty
\pkgcls@rollbackdate@error{#2}%
\else
@@ -8548,7 +9791,6 @@ Type H <return> for immediate help.}%
\fi
\fi
}
-
\DeclareRobustCommand\IfTargetDateBefore[1]{%
\ifnum\pkgcls@innerdate <%
\expandafter\@parse@version\expandafter0#1//00\@nil
@@ -9029,6 +10271,7 @@ Type H <return> for immediate help.}%
\dh\DH\dj\DJ\l\L\ng\NG\ss\SS\th\TH}
\protected@edef\MakeUppercase#1{\MakeUppercase{#1}}
\protected@edef\MakeLowercase#1{\MakeLowercase{#1}}
+\input{ltexpl.ltx}
\let\reserved@a\@filelist
\let\reserved@b=\@undefined
\let\reserved@c=\@undefined
@@ -9047,6 +10290,7 @@ Type H <return> for immediate help.}%
\endgroup}
\let\@filelist\@gobble
\def\@addtofilelist#1{\xdef\@filelist{\@filelist,#1}}%
+\AtBeginDocument{\reinstall@nfss@defs\init@series@setup}
\makeatother
\errorstopmode
\dump