You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
7677 lines
246 KiB
7677 lines
246 KiB
%%
|
|
%% This is file `latexrelease.sty',
|
|
%% generated with the docstrip utility.
|
|
%%
|
|
%% The original source files were:
|
|
%%
|
|
%% ltclass.dtx (with options: `latexreleasefirst,tracerollback')
|
|
%% ltvers.dtx (with options: `latexrelease')
|
|
%% latexrelease.dtx (with options: `latexrelease')
|
|
%% ltdirchk.dtx (with options: `latexrelease')
|
|
%% ltdefns.dtx (with options: `latexrelease')
|
|
%% ltalloc.dtx (with options: `latexrelease')
|
|
%% ltcntrl.dtx (with options: `latexrelease')
|
|
%% lterror.dtx (with options: `latexrelease')
|
|
%% ltpar.dtx (with options: `latexrelease')
|
|
%% ltlists.dtx (with options: `latexrelease')
|
|
%% ltboxes.dtx (with options: `latexrelease')
|
|
%% lttab.dtx (with options: `latexrelease')
|
|
%% ltmath.dtx (with options: `latexrelease')
|
|
%% ltpictur.dtx (with options: `latexrelease')
|
|
%% ltthm.dtx (with options: `latexrelease')
|
|
%% ltsect.dtx (with options: `latexrelease')
|
|
%% ltfiles.dtx (with options: `latexrelease')
|
|
%% ltoutenc.dtx (with options: `latexrelease')
|
|
%% ltcounts.dtx (with options: `latexrelease')
|
|
%% ltlength.dtx (with options: `latexrelease')
|
|
%% ltfloat.dtx (with options: `latexrelease')
|
|
%% ltidxglo.dtx (with options: `latexrelease')
|
|
%% ltbibl.dtx (with options: `latexrelease')
|
|
%% ltpage.dtx (with options: `latexrelease')
|
|
%% ltoutput.dtx (with options: `latexrelease')
|
|
%% ltclass.dtx (with options: `latexrelease,tracerollback')
|
|
%% ltspace.dtx (with options: `latexrelease')
|
|
%% ltlogos.dtx (with options: `latexrelease')
|
|
%% ltplain.dtx (with options: `latexrelease')
|
|
%% ltfssdcl.dtx (with options: `latexrelease')
|
|
%% ltfssini.dtx (with options: `latexrelease')
|
|
%% fontdef.dtx (with options: `latexrelease')
|
|
%% ltfntcmd.dtx (with options: `latexrelease')
|
|
%% lttextcomp.dtx (with options: `latexrelease')
|
|
%% ltfssbas.dtx (with options: `latexrelease')
|
|
%% ltfssaxes.dtx (with options: `latexrelease')
|
|
%% ltfsstrc.dtx (with options: `latexrelease')
|
|
%% ltfsscmp.dtx (with options: `latexrelease')
|
|
%% ltpageno.dtx (with options: `latexrelease')
|
|
%% ltxref.dtx (with options: `latexrelease')
|
|
%% ltmiscen.dtx (with options: `latexrelease')
|
|
%% ltluatex.dtx (with options: `latexrelease')
|
|
%% ltexpl.dtx (with options: `latexrelease')
|
|
%% ltfinal.dtx (with options: `latexrelease')
|
|
%%
|
|
%% This is a generated file.
|
|
%%
|
|
%% The source is maintained by the LaTeX Project team and bug
|
|
%% reports for it can be opened at https://latex-project.org/bugs.html
|
|
%% (but please observe conditions on bug reports sent to that address!)
|
|
%%
|
|
%%
|
|
%% Copyright (C) 1993-2020
|
|
%% The LaTeX3 Project and any individual authors listed elsewhere
|
|
%% in this file.
|
|
%%
|
|
%% This file was generated from file(s) of the LaTeX base system.
|
|
%% --------------------------------------------------------------
|
|
%%
|
|
%% It may be distributed and/or modified under the
|
|
%% conditions of the LaTeX Project Public License, either version 1.3c
|
|
%% of this license or (at your option) any later version.
|
|
%% The latest version of this license is in
|
|
%% https://www.latex-project.org/lppl.txt
|
|
%% and version 1.3c or later is part of all distributions of LaTeX
|
|
%% version 2008 or later.
|
|
%%
|
|
%% This file has the LPPL maintenance status "maintained".
|
|
%%
|
|
%% This file may only be distributed together with a copy of the LaTeX
|
|
%% base system. You may however distribute the LaTeX base system without
|
|
%% such generated files.
|
|
%%
|
|
%% The list of all files belonging to the LaTeX base distribution is
|
|
%% given in the file `manifest.txt'. See also `legal.txt' for additional
|
|
%% information.
|
|
%%
|
|
%% The list of derived (unpacked) files belonging to the distribution
|
|
%% and covered by LPPL is defined by the unpacking scripts (with
|
|
%% extension .ins) which are part of the distribution.
|
|
%%% From File: ltclass.dtx
|
|
\def\@parse@version#1/#2/#3#4#5\@nil{%
|
|
\@parse@version@dash#1-#2-#3#4\@nil
|
|
}
|
|
\def\@parse@version@dash#1-#2-#3#4#5\@nil{%
|
|
\if\relax#2\relax\else#1\fi#2#3#4 }
|
|
\let\pkgcls@debug\@gobble
|
|
\def\requestedLaTeXdate{0}
|
|
\ifx\pkgcls@targetdate\@undefined
|
|
\newcount\pkgcls@targetdate
|
|
\fi
|
|
\let\pkgcls@targetlabel\@empty
|
|
\def\pkgcls@innerdate{\maxdimen}
|
|
\let\pkgcls@candidate\@empty
|
|
\let\pkgcls@releasedate\@empty
|
|
\ifx\load@onefilewithoptions\@undefined
|
|
\let\load@onefilewithoptions\@onefilewithoptions
|
|
\def\@onefilewithoptions#1[#2][#3]#4{%
|
|
\pkgcls@debug{--- File loaded request (\noexpand\usepackage or ...)}%
|
|
\pkgcls@debug{\@spaces 1: #1}%
|
|
\pkgcls@debug{\@spaces 2: #2}%
|
|
\pkgcls@debug{\@spaces 3: #3}%
|
|
\pkgcls@debug{\@spaces 4: #4}%
|
|
\def\pkgcls@name{#1}% % for info message
|
|
\def\pkgcls@arg {#3}% % for info message
|
|
\pkgcls@parse@date@arg{#3}%
|
|
\let\pkgcls@candidate\@empty
|
|
\begingroup
|
|
\edef\reserved@a{%
|
|
\endgroup
|
|
\unexpanded{\load@onefilewithoptions#1[#2]}%
|
|
[\pkgcls@mindate]%
|
|
\unexpanded{#4}}%
|
|
\reserved@a
|
|
}
|
|
\fi
|
|
\def\pkgcls@parse@date@arg #1{%
|
|
\ifx\@nil#1\@nil
|
|
\pkgcls@targetdate\requestedLaTeXdate\relax
|
|
\let\pkgcls@targetlabel\@empty
|
|
\let\pkgcls@mindate\@empty
|
|
\else
|
|
\pkgcls@parse@date@arg@#1=\@nil\relax
|
|
\fi
|
|
}
|
|
\def\pkgcls@parse@date@arg@#1=#2\@nil{%
|
|
\pkgcls@targetdate
|
|
\ifx\@nil#1\@nil
|
|
\@parse@version0#2//00\@nil\relax
|
|
\ifnum \pkgcls@targetdate=\z@
|
|
\pkgcls@targetdate\@ne
|
|
\def\pkgcls@innerdate{\maxdimen}%
|
|
\pkgcls@parse@date@arg@version#2%
|
|
\else
|
|
\edef\pkgcls@innerdate{\the\pkgcls@targetdate}%
|
|
\fi
|
|
\let\pkgcls@mindate\@empty
|
|
\else
|
|
\requestedLaTeXdate\relax
|
|
\let\pkgcls@targetlabel\@empty
|
|
\def\pkgcls@innerdate{\maxdimen}%
|
|
\def\pkgcls@mindate{#1}%
|
|
\ifnum \pkgcls@targetdate > \z@
|
|
\ifnum \@parse@version0#1//00\@nil > \pkgcls@targetdate
|
|
\@latex@warning@no@line{Suspicious rollback/min-date date given\MessageBreak
|
|
A minimal date of #1 has been specified for
|
|
\@cls@pkg\MessageBreak '\pkgcls@name'.\MessageBreak
|
|
But this is in conflict
|
|
with a rollback request to \requestedpatchdate}
|
|
\fi
|
|
\fi
|
|
\fi
|
|
}
|
|
\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:}%
|
|
\pkgcls@debug{\@spaces 1: #1}%
|
|
\pkgcls@debug{\@spaces 2: #2}%
|
|
\pkgcls@debug{\@spaces 3: #3}%
|
|
\ifx\@nil#2\@nil
|
|
\ifnum\pkgcls@targetdate=\@ne % named request
|
|
\def\reserved@a{#1}%
|
|
\ifx\pkgcls@targetlabel\reserved@a
|
|
\pkgcls@use@this@release{#3}{}%
|
|
\else
|
|
\pkgcls@debug{Label doesn't match}%
|
|
\fi
|
|
\else
|
|
\pkgcls@debug{Date request: ignored}%
|
|
\fi
|
|
\else
|
|
\ifnum\pkgcls@targetdate>\@ne % a real request
|
|
\ifnum\@parse@version#2//00\@nil
|
|
>\pkgcls@targetdate
|
|
\ifx\pkgcls@candidate\@empty
|
|
\pkgcls@rollbackdate@error{#2}%
|
|
\pkgcls@use@this@release{#3}{#2}%
|
|
\else
|
|
\pkgcls@use@this@release\pkgcls@candidate
|
|
\pkgcls@releasedate
|
|
\fi
|
|
\else
|
|
\def\pkgcls@candidate{#3}%
|
|
\def\pkgcls@releasedate{#2}%
|
|
\pkgcls@debug{New candidate: #3}%
|
|
\fi
|
|
\else
|
|
\def\reserved@a{#1}%
|
|
\ifx\pkgcls@targetlabel\reserved@a
|
|
\pkgcls@use@this@release{#3}{#2}%
|
|
\else
|
|
\pkgcls@debug{Label doesn't match}%
|
|
\fi
|
|
\fi
|
|
\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
|
|
{\@spaces\@spaces\space}{Rollback for
|
|
\@cls@pkg\space'\@currname' requested ->
|
|
\ifnum\pkgcls@targetdate>\@ne
|
|
date
|
|
\ifnum\requestedLaTeXdate=\pkgcls@targetdate
|
|
\requestedpatchdate
|
|
\else
|
|
\expandafter\@gobble\pkgcls@arg
|
|
\fi.\MessageBreak
|
|
Best approximation is
|
|
\else
|
|
version '\pkgcls@targetlabel'.\MessageBreak
|
|
This corresponds to
|
|
\fi
|
|
\ifx\@nil#2\@nil
|
|
a special release%
|
|
\else
|
|
the release introduced on #2%
|
|
\fi
|
|
\@gobble}%
|
|
}
|
|
\def\pkgcls@rollbackdate@error#1{%
|
|
\@latex@error{Suspicious rollback date given}%
|
|
{The \@cls@pkg\space'\@currname' claims that it
|
|
came into existence on #1 which\MessageBreak
|
|
is after your requested rollback date --- so
|
|
something is wrong here.\MessageBreak
|
|
Continue and we use the earliest known release.}}
|
|
\def\DeclareCurrentRelease#1#2{%
|
|
\ifnum\pkgcls@targetdate>\z@ % some sort of rollback request
|
|
\pkgcls@debug{---DeclareCurrentRelease}%
|
|
\pkgcls@debug{ 1: #1}%
|
|
\pkgcls@debug{ 2: #2}%
|
|
\ifnum\pkgcls@targetdate>\@ne % a date request
|
|
\ifnum\@parse@version#2//00\@nil
|
|
>\pkgcls@targetdate
|
|
\ifx\pkgcls@candidate\@empty
|
|
\pkgcls@rollbackdate@error{#2}%
|
|
\else
|
|
\pkgcls@use@this@release\pkgcls@candidate
|
|
\pkgcls@releasedate
|
|
\fi
|
|
\else
|
|
\pkgcls@show@selection{current version}{#2}%
|
|
\fi
|
|
\else % a label request
|
|
\def\reserved@a{#1}%
|
|
\ifx\pkgcls@targetlabel\reserved@a
|
|
\pkgcls@show@selection{current version}{#2}%
|
|
\else
|
|
\@latex@error{Requested version '\pkgcls@targetlabel' for
|
|
\@cls@pkg\space'\@currname' is unknown}\@ehc
|
|
\fi
|
|
\fi
|
|
\fi
|
|
}
|
|
\DeclareRobustCommand\IfTargetDateBefore[1]{%
|
|
\ifnum\pkgcls@innerdate <%
|
|
\expandafter\@parse@version\expandafter0#1//00\@nil
|
|
\typeout{Exclude code introduced on #1}%
|
|
\expandafter\@firstoftwo
|
|
\else
|
|
\typeout{Include code introduced on #1}%
|
|
\expandafter\@secondoftwo
|
|
\fi
|
|
}
|
|
%%% From File: ltvers.dtx
|
|
\edef\latexreleaseversion
|
|
{2020-10-01}
|
|
\newif\if@includeinrelease
|
|
\@includeinreleasefalse
|
|
\def\IncludeInRelease#1{%
|
|
\if@includeinrelease
|
|
\PackageError{latexrelease}{mis-matched IncludeInRelease}%
|
|
{There is an \string\EndIncludeRelease\space missing}%
|
|
\@includeinreleasefalse
|
|
\fi
|
|
\kernel@ifnextchar[%
|
|
{\@IncludeInRelease{#1}}
|
|
{\@IncludeInRelease{#1}[#1]}}
|
|
\def\@IncludeInRelease#1[#2]{\@IncludeInRele@se{#2}}
|
|
\def\@IncludeInRele@se#1#2#3{%
|
|
\toks@{[#1] #3}%
|
|
\expandafter\ifx\csname\string#2+\@currname+IIR\endcsname\relax
|
|
\ifnum\expandafter\@parse@version#1//00\@nil
|
|
>\expandafter\@parse@version\fmtversion//00\@nil
|
|
\GenericInfo{}{Skipping: \the\toks@}%
|
|
\expandafter\expandafter\expandafter\@gobble@IncludeInRelease
|
|
\else
|
|
\GenericInfo{}{Applying: \the\toks@}%
|
|
\@includeinreleasetrue
|
|
\expandafter\let\csname\string#2+\@currname+IIR\endcsname\@empty
|
|
\fi
|
|
\else
|
|
\GenericInfo{}{Already applied: \the\toks@}%
|
|
\expandafter\@gobble@IncludeInRelease
|
|
\fi
|
|
}
|
|
\def\EndIncludeInRelease{%
|
|
\if@includeinrelease
|
|
\@includeinreleasefalse
|
|
\else
|
|
\PackageError{latexrelease}{mis-matched EndIncludeInRelease}{}%
|
|
\fi}
|
|
\long\def\@gobble@IncludeInRelease#1\EndIncludeInRelease{%
|
|
\@includeinreleasefalse
|
|
\@check@IncludeInRelease#1\IncludeInRelease\@check@IncludeInRelease
|
|
\@end@check@IncludeInRelease}
|
|
\long\def\@check@IncludeInRelease#1\IncludeInRelease
|
|
#2#3\@end@check@IncludeInRelease{%
|
|
\ifx\@check@IncludeInRelease#2\else
|
|
\PackageError{latexrelease}{skipped IncludeInRelease for tag \string#2}{}%
|
|
\fi}
|
|
\ProvidesPackage{latexrelease}
|
|
[2018/05/08 v1.0k LaTeX release emulation and tests
|
|
(including releases up to \latexreleaseversion)]
|
|
\NeedsTeXFormat{LaTeX2e}[1996/06/01]
|
|
\DeclareOption*{%
|
|
\def\@IncludeInRelease#1[#2]{\@IncludeInRele@se{#1}}%
|
|
\let\requestedpatchdate\CurrentOption}
|
|
\DeclareOption{latest}{%
|
|
\let\requestedpatchdate\latexreleaseversion
|
|
\AtEndOfPackage{\def\requestedLaTeXdate{0}}}
|
|
\DeclareOption{current}{%
|
|
\let\requestedpatchdate\fmtversion
|
|
\AtEndOfPackage{\def\requestedLaTeXdate{0}}}
|
|
\let\requestedpatchdate\fmtversion
|
|
\ProcessOptions\relax
|
|
\def\reserved@a{%
|
|
\edef\requestedLaTeXdate{\the\count@}%
|
|
\reserved@b}
|
|
\def\reserved@b#1\\{%
|
|
\def\reserved@b{#1}%
|
|
\ifx\reserved@b\@empty\else
|
|
\PackageError{latexrelease}%
|
|
{Unexpected option \requestedpatchdate}%
|
|
{The option must be of the form yyyy/mm/dd or yyyy-mm-dd}%
|
|
\fi}
|
|
\afterassignment\reserved@a
|
|
\count@\expandafter
|
|
\@parse@version\expandafter0\requestedpatchdate//00\@nil\\
|
|
\edef\currentLaTeXdate{%
|
|
\expandafter\@parse@version\fmtversion//00\@nil}
|
|
\ifnum\requestedLaTeXdate=\currentLaTeXdate
|
|
\PackageWarningNoLine{latexrelease}{%
|
|
Current format date selected, no patches applied}
|
|
\expandafter\endinput
|
|
\fi
|
|
\ifnum\currentLaTeXdate
|
|
>\expandafter\@parse@version\latexreleaseversion//00\@nil
|
|
\PackageWarningNoLine{latexrelease}{%
|
|
The current package is for an older LaTeX format:\MessageBreak
|
|
LaTeX \latexreleaseversion\space\MessageBreak
|
|
Obtain a newer version of this package!}
|
|
\expandafter\endinput
|
|
\fi
|
|
\ifnum\requestedLaTeXdate
|
|
>\expandafter\@parse@version\latexreleaseversion//00\@nil
|
|
\PackageWarningNoLine{latexrelease}{%
|
|
The current package is for LaTeX \latexreleaseversion:\MessageBreak
|
|
It has no patches beyond that date\MessageBreak
|
|
There may be an updated version\MessageBreak
|
|
of this package available from CTAN}
|
|
\expandafter\endinput
|
|
\fi
|
|
\let\fmtversion\requestedpatchdate
|
|
\let\currentLaTeXdate\requestedLaTeXdate
|
|
%%% From File: ltdirchk.dtx
|
|
\ifx\directlua\undefined\else
|
|
\IncludeInRelease{2015/10/01}{\luatexluafunction}
|
|
{LuaTeX (prefixed names)}%
|
|
\directlua{tex.enableprimitives("",%
|
|
tex.extraprimitives("omega", "aleph", "luatex"))}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}{\luatexluafunction}
|
|
{LuaTeX (prefixed names)}%
|
|
\directlua{
|
|
tex.enableprimitives(
|
|
"luatex",
|
|
tex.extraprimitives("core","omega", "aleph", "luatex")
|
|
)
|
|
local i
|
|
local t = { }
|
|
for _,i in pairs(tex.extraprimitives("luatex")) do
|
|
if not string.match(i,"^U") then
|
|
if not string.match(i, "^luatex") then
|
|
table.insert(t,i)
|
|
end
|
|
else
|
|
if string.match(i,"^Uchar$") then
|
|
table.insert(t,i)
|
|
end
|
|
end
|
|
end
|
|
for _,i in pairs(t) do
|
|
tex.print(
|
|
"\noexpand\\let\noexpand\\" .. i
|
|
.. "\noexpand\\undefined"
|
|
)
|
|
end
|
|
}
|
|
\EndIncludeInRelease
|
|
\fi
|
|
\IncludeInRelease{2019/10/01}{\filename@simple}
|
|
{Final dot for extension}%
|
|
\def\filename@simple#1.#2\\{%
|
|
\ifx\\#2\\%
|
|
\let\filename@ext\relax
|
|
\edef\filename@base{#1}%
|
|
\else
|
|
\filename@dots{#1}#2\\%
|
|
\fi}
|
|
\def\filename@dots#1#2.#3\\{%
|
|
\ifx\\#3\\%
|
|
\def\filename@ext{#2}%
|
|
\edef\filename@base{#1}%
|
|
\else
|
|
\filename@dots{#1.#2}#3\\%
|
|
\fi}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}{\filename@simple}
|
|
{Final dot for extension}%
|
|
\def\filename@simple#1.#2\\{%
|
|
\ifx\\#2\\%
|
|
\let\filename@ext\relax
|
|
\else
|
|
\edef\filename@ext{\filename@dot#2\\}%
|
|
\fi
|
|
\edef\filename@base{#1}}
|
|
\EndIncludeInRelease
|
|
%%% From File: ltdefns.dtx
|
|
\IncludeInRelease{2020/10/01}%
|
|
{\typeout}{Allow "par" in \typeout}%
|
|
\protected\long\def\typeout#1{\begingroup
|
|
\set@display@protect
|
|
\def\par{^^J^^J}%
|
|
\immediate\write\@unused{#1}\endgroup}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\typeout}{Allow "par" in \typeout}%
|
|
|
|
\def\typeout#1{\begingroup\set@display@protect
|
|
\immediate\write\@unused{#1}\endgroup}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2019/10/01}{\MakeRobust}{\MakeRobust}%
|
|
\def\MakeRobust#1{%
|
|
\@ifundefined{\expandafter\@gobble\string#1}{%
|
|
\@latex@error{The control sequence `\string#1' is undefined!%
|
|
\MessageBreak There is nothing here to make robust}%
|
|
\@eha
|
|
}%
|
|
{%
|
|
\@ifundefined{\expandafter\@gobble\string#1\space}%
|
|
{%
|
|
\global\expandafter\let\csname
|
|
\expandafter\@gobble\string#1\space\endcsname=#1%
|
|
\edef\reserved@a{\string#1}%
|
|
\def\reserved@b{#1}%
|
|
\edef\reserved@b{\expandafter\strip@prefix\meaning\reserved@b}%
|
|
\xdef#1{%
|
|
\ifx\reserved@a\reserved@b
|
|
\noexpand\x@protect\noexpand#1%
|
|
\fi
|
|
\noexpand\protect\expandafter\noexpand
|
|
\csname\expandafter\@gobble\string#1\space\endcsname}%
|
|
}%
|
|
{\@latex@info{The control sequence `\string#1' is already robust}}%
|
|
}%
|
|
}%
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2015/01/01}{\MakeRobust}{\MakeRobust}%
|
|
\def\MakeRobust#1{%
|
|
\@ifundefined{\expandafter\@gobble\string#1}{%
|
|
\@latex@error{The control sequence `\string#1' is undefined!%
|
|
\MessageBreak There is nothing here to make robust}%
|
|
\@eha
|
|
}%
|
|
{%
|
|
\@ifundefined{\expandafter\@gobble\string#1\space}%
|
|
{%
|
|
\expandafter\let\csname
|
|
\expandafter\@gobble\string#1\space\endcsname=#1%
|
|
\edef\reserved@a{\string#1}%
|
|
\def\reserved@b{#1}%
|
|
\edef\reserved@b{\expandafter\strip@prefix\meaning\reserved@b}%
|
|
\edef#1{%
|
|
\ifx\reserved@a\reserved@b
|
|
\noexpand\x@protect\noexpand#1%
|
|
\fi
|
|
\noexpand\protect\expandafter\noexpand
|
|
\csname\expandafter\@gobble\string#1\space\endcsname}%
|
|
}%
|
|
{\@latex@info{The control sequence `\string#1' is already robust}}%
|
|
}%
|
|
}%
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}{\MakeRobust}{\MakeRobust}%
|
|
\let\MakeRobust\@undefined
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\kernel@make@fragile}{Undo robustness}%
|
|
\def\kernel@make@fragile#1{%
|
|
\@ifundefined{\expandafter\@gobble\string#1\space}%
|
|
{}%
|
|
{%
|
|
\global\expandafter\let\expandafter #1\csname
|
|
\expandafter\@gobble\string#1\space\endcsname
|
|
\global\expandafter\let\csname
|
|
\expandafter\@gobble\string#1\space\endcsname\@undefined
|
|
}%
|
|
}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2018-04-01}{\@ifundefined}
|
|
{Leave commands undefined in \@ifundefined}%
|
|
\def\@ifundefined#1{%
|
|
\ifcsname#1\endcsname\@ifundefin@d@i\else\@ifundefin@d@ii\fi{#1}}
|
|
\long\def\@ifundefin@d@i#1\fi#2{\fi
|
|
\expandafter\ifx\csname #2\endcsname\relax
|
|
\@ifundefin@d@ii
|
|
\fi
|
|
\@secondoftwo}
|
|
\long\def\@ifundefin@d@ii\fi#1#2#3{\fi #2}
|
|
\ifx\numexpr\@undefined
|
|
\def\@ifundefined#1{%
|
|
\expandafter\ifx\csname#1\endcsname\relax
|
|
\expandafter\@firstoftwo
|
|
\else
|
|
\expandafter\@secondoftwo
|
|
\fi}
|
|
\else\ifx\directlua\@undefined
|
|
\else
|
|
\def\@ifundefined#1{%
|
|
\ifcsname#1\endcsname
|
|
\expandafter\ifx\lastnamedcs\relax\else\@ifundefin@d@i\fi
|
|
\fi
|
|
\@firstoftwo}
|
|
\long\def\@ifundefin@d@i#1#2#3#4#5{#1#2#5}
|
|
\fi
|
|
\fi
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000-00-00}{\@ifundefined}
|
|
{Leave commands undefined in \@ifundefined}%
|
|
\def\@ifundefined#1{%
|
|
\expandafter\ifx\csname#1\endcsname\relax
|
|
\expandafter\@firstoftwo
|
|
\else
|
|
\expandafter\@secondoftwo
|
|
\fi}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2020/10/01}{\-}{Use primitive \- in Lua\LaTeX}%
|
|
\ifx\directlua\@undefined
|
|
\DeclareRobustCommand{\-}{%
|
|
\discretionary{%
|
|
\char \ifnum\hyphenchar\font<\z@
|
|
\defaulthyphenchar
|
|
\else
|
|
\hyphenchar\font
|
|
\fi
|
|
}{}{}%
|
|
}
|
|
\else
|
|
\let\-\@@hyph
|
|
\fi
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2017/04/15}{\-}{Use \hyphenchar in \-}%
|
|
\DeclareRobustCommand{\-}{%
|
|
\discretionary{%
|
|
\char \ifnum\hyphenchar\font<\z@
|
|
\defaulthyphenchar
|
|
\else
|
|
\hyphenchar\font
|
|
\fi
|
|
}{}{}%
|
|
}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}{\-}{Use \hyphenchar in \-}%
|
|
\def\-{\discretionary{-}{}{}}
|
|
\EndIncludeInRelease
|
|
\let\@dischyph=\-
|
|
\IncludeInRelease{2019/10/01}%
|
|
{\allowbreak}{Make various commands robust}%
|
|
\MakeRobust\allowbreak
|
|
\MakeRobust\bigbreak
|
|
\MakeRobust\break
|
|
\MakeRobust\dotfill
|
|
\MakeRobust\frenchspacing
|
|
\MakeRobust\goodbreak
|
|
\MakeRobust\hrulefill
|
|
\MakeRobust\medbreak
|
|
\MakeRobust\nobreak
|
|
\MakeRobust\nonfrenchspacing
|
|
\MakeRobust\obeylines
|
|
\MakeRobust\obeyspaces
|
|
\MakeRobust\slash
|
|
\MakeRobust\smallbreak
|
|
\MakeRobust\strut
|
|
\MakeRobust\underbar
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\allowbreak}{Make various commands robust}%
|
|
|
|
\kernel@make@fragile\allowbreak
|
|
\kernel@make@fragile\bigbreak
|
|
\kernel@make@fragile\break
|
|
\kernel@make@fragile\dotfill
|
|
\kernel@make@fragile\frenchspacing
|
|
\kernel@make@fragile\goodbreak
|
|
\kernel@make@fragile\hrulefill
|
|
\kernel@make@fragile\medbreak
|
|
\kernel@make@fragile\nobreak
|
|
\kernel@make@fragile\nonfrenchspacing
|
|
\kernel@make@fragile\obeylines
|
|
\kernel@make@fragile\obeyspaces
|
|
\kernel@make@fragile\slash
|
|
\kernel@make@fragile\smallbreak
|
|
\kernel@make@fragile\strut
|
|
\kernel@make@fragile\underbar
|
|
|
|
\EndIncludeInRelease
|
|
%%% From File: ltalloc.dtx
|
|
%%% From File: ltcntrl.dtx
|
|
%%% From File: lterror.dtx
|
|
%%% From File: ltpar.dtx
|
|
%%% From File: ltlists.dtx
|
|
%%% From File: ltboxes.dtx
|
|
\IncludeInRelease{2015/01/01}%
|
|
{\makebox}{Make \makebox robust}%
|
|
\DeclareRobustCommand\makebox{%
|
|
\leavevmode
|
|
\@ifnextchar(%)
|
|
\@makepicbox
|
|
{\@ifnextchar[\@makebox\mbox}}%
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\makebox}{Make \makebox robust}%
|
|
\def\makebox{%
|
|
\leavevmode
|
|
\@ifnextchar(%)
|
|
\@makepicbox
|
|
{\@ifnextchar[\@makebox\mbox}}%
|
|
\expandafter\let\csname makebox \endcsname\@undefined
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2015/01/01}%
|
|
{\savebox}{Make \savebox robust}%
|
|
\DeclareRobustCommand\savebox[1]{%
|
|
\@ifnextchar(%)
|
|
{\@savepicbox#1}{\@ifnextchar[{\@savebox#1}{\sbox#1}}}%
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\savebox}{Make \savebox robust}%
|
|
\def\savebox#1{%
|
|
\@ifnextchar(%)
|
|
{\@savepicbox#1}{\@ifnextchar[{\@savebox#1}{\sbox#1}}}%
|
|
\expandafter\let\csname savebox \endcsname\@undefined
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2015/01/01}%
|
|
{\framebox}{Make \framebox robust}%
|
|
\DeclareRobustCommand\framebox{%
|
|
\@ifnextchar(%)
|
|
\@framepicbox{\@ifnextchar[\@framebox\fbox}}%
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\framebox}{Make \framebox robust}%
|
|
\def\framebox{%
|
|
\@ifnextchar(%)
|
|
\@framepicbox{\@ifnextchar[\@framebox\fbox}}%
|
|
\expandafter\let\csname framebox \endcsname\@undefined
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2015/01/01}%
|
|
{\parbox}{Make \parbox robust}%
|
|
\DeclareRobustCommand\parbox{%
|
|
\@ifnextchar[%]
|
|
\@iparbox
|
|
{\@iiiparbox c\relax[s]}}%
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\parbox}{Make \parbox robust}%
|
|
\def\parbox{%
|
|
\@ifnextchar[%]
|
|
\@iparbox
|
|
{\@iiiparbox c\relax[s]}}%
|
|
\expandafter\let\csname parbox \endcsname\@undefined
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2017-04-15}%
|
|
{\normallineskiplimit}
|
|
{reset \lineskiplimit}%
|
|
\def\@arrayparboxrestore{%
|
|
\let\if@nobreak\iffalse
|
|
\let\if@noskipsec\iffalse
|
|
\let\par\@@par
|
|
\let\-\@dischyph
|
|
\let\'\@acci\let\`\@accii\let\=\@acciii
|
|
\parindent\z@ \parskip\z@skip
|
|
\everypar{}%
|
|
\linewidth\hsize
|
|
\@totalleftmargin\z@
|
|
\leftskip\z@skip \rightskip\z@skip \@rightskip\z@skip
|
|
\parfillskip\@flushglue
|
|
\lineskip\normallineskip
|
|
\lineskiplimit\normallineskiplimit
|
|
\baselineskip\normalbaselineskip
|
|
\sloppy}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000-00-00}%
|
|
{\normallineskiplimit}
|
|
{reset \lineskiplimit}%
|
|
\def\@arrayparboxrestore{%
|
|
\let\if@nobreak\iffalse
|
|
\let\if@noskipsec\iffalse
|
|
\let\par\@@par
|
|
\let\-\@dischyph
|
|
\let\'\@acci\let\`\@accii\let\=\@acciii
|
|
\parindent\z@ \parskip\z@skip
|
|
\everypar{}%
|
|
\linewidth\hsize
|
|
\@totalleftmargin\z@
|
|
\leftskip\z@skip \rightskip\z@skip \@rightskip\z@skip
|
|
\parfillskip\@flushglue \lineskip\normallineskip
|
|
\baselineskip\normalbaselineskip
|
|
\sloppy}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2015/01/01}%
|
|
{\rule}{Make \rule robust}%
|
|
\DeclareRobustCommand\rule{\@ifnextchar[\@rule{\@rule[\z@]}}%
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\rule}{Make \rule robust}%
|
|
\def\rule{\@ifnextchar[\@rule{\@rule[\z@]}}%
|
|
\expandafter\let\csname rule \endcsname\@undefined
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2015/01/01}%
|
|
{\raisebox}{Make \raisebox robust}%
|
|
\DeclareRobustCommand\raisebox[1]{%
|
|
\leavevmode
|
|
\@ifnextchar[{\@rsbox{#1}}{\@irsbox{#1}[]}}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\raisebox}{Make \raisebox robust}%
|
|
\def\raisebox#1{%
|
|
\leavevmode
|
|
\@ifnextchar[{\@rsbox{#1}}{\@irsbox{#1}[]}}
|
|
\expandafter\let\csname raisebox \endcsname\@undefined
|
|
\EndIncludeInRelease
|
|
%%% From File: lttab.dtx
|
|
\IncludeInRelease{2020/10/01}%
|
|
{\@itabcr}{Tabbing calc syntax}%
|
|
\def\@itabcr[#1]{\@vspace@calcify{#1}\@startline\ignorespaces}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\@itabcr}{Tabbing calc syntax}%
|
|
|
|
\def\@itabcr[#1]{\vskip #1\@startline\ignorespaces}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2019/10/01}%
|
|
{\pushtabs}{Make commands robust}%
|
|
\DeclareRobustCommand\pushtabs{%
|
|
\@stopfield\@addfield\global\advance\@tabpush \@ne \begingroup
|
|
\@contfield}
|
|
\DeclareRobustCommand\poptabs{\@stopfield\@addfield
|
|
\ifnum \@tabpush >\z@
|
|
\endgroup
|
|
\global\advance\@tabpush \m@ne
|
|
\ifnum \@curtab >\@hightab
|
|
\global \@curtab \@hightab
|
|
\@badtab
|
|
\fi
|
|
\else
|
|
\@badpoptabs
|
|
\fi
|
|
\@contfield}
|
|
\DeclareRobustCommand\kill{\@stopfield\@startline\ignorespaces}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\pushtabs}{Make commands robust}%
|
|
|
|
\kernel@make@fragile\pushtabs
|
|
\kernel@make@fragile\poptabs
|
|
\kernel@make@fragile\kill
|
|
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2020/10/01}%
|
|
{\@yargarraycr}{tabular support calc syntax}%
|
|
\def\@yargarraycr#1{\cr\noalign{\@vspace@calcify{#1}}}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\@yargarraycr}{tabular support calc syntax}%
|
|
|
|
\def\@yargarraycr#1{\cr\noalign{\vskip #1}}
|
|
\EndIncludeInRelease
|
|
%%% From File: ltmath.dtx
|
|
\IncludeInRelease{2019/10/01}%
|
|
{\vphantom}{Make commands robust}%
|
|
\DeclareRobustCommand\vphantom{\v@true\h@false\ph@nt}
|
|
\DeclareRobustCommand\hphantom{\v@false\h@true\ph@nt}
|
|
\DeclareRobustCommand\phantom{\v@true\h@true\ph@nt}
|
|
\DeclareRobustCommand\mathstrut{\vphantom(}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\vphantom}{Make commands robust}%
|
|
|
|
\kernel@make@fragile\vphantom
|
|
\kernel@make@fragile\hphantom
|
|
\kernel@make@fragile\phantom
|
|
\kernel@make@fragile\mathstrut
|
|
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2018/12/01}%
|
|
{\finph@nt}{Start LR-mode}%
|
|
\def\finph@nt{%
|
|
\setbox\tw@\null
|
|
\ifv@ \ht\tw@\ht\z@ \dp\tw@\dp\z@\fi
|
|
\ifh@ \wd\tw@\wd\z@\fi
|
|
\leavevmode@ifvmode\box\tw@}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\finph@nt}{Start LR-mode}%
|
|
\def\finph@nt{%
|
|
\setbox\tw@\null
|
|
\ifv@ \ht\tw@\ht\z@ \dp\tw@\dp\z@\fi
|
|
\ifh@ \wd\tw@\wd\z@\fi \box\tw@}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2018/12/01}%
|
|
{\finsm@sh}{Start LR-mode}%
|
|
\def\finsm@sh{\ht\z@\z@ \dp\z@\z@ \leavevmode@ifvmode\box\z@}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\finsm@sh}{Start LR-mode}%
|
|
\def\finsm@sh{\ht\z@\z@ \dp\z@\z@ \box\z@}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2019/10/01}%
|
|
{\cases}{Make commands robust}%
|
|
\DeclareRobustCommand\cases[1]{\left\{\,\vcenter{\normalbaselines\m@th
|
|
\ialign{$##\hfil$&\quad{##}\hfil\crcr#1\crcr}}\right.}
|
|
\DeclareRobustCommand\matrix[1]{\null\,\vcenter{\normalbaselines\m@th
|
|
\ialign{\hfil$##$\hfil&&\quad\hfil$##$\hfil\crcr
|
|
\mathstrut\crcr\noalign{\kern-\baselineskip}
|
|
#1\crcr\mathstrut\crcr\noalign{\kern-\baselineskip}}}\,}
|
|
\DeclareRobustCommand\pmatrix[1]{\left(\matrix{#1}\right)}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\cases}{Make commands robust}%
|
|
|
|
\kernel@make@fragile\cases
|
|
\kernel@make@fragile\matrix
|
|
\kernel@make@fragile\pmatrix
|
|
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2020/10/01}%
|
|
{\tmspace}{amsmath spacing commands}%
|
|
\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}}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\tmspace}{amsmath spacing commands}%
|
|
|
|
\let\tmspace\@undefined
|
|
\DeclareRobustCommand{\,}{%
|
|
\relax\ifmmode\mskip\thinmuskip\else\thinspace\fi}
|
|
\DeclareRobustCommand\thinspace{\leavevmode@ifvmode\kern .16667em }
|
|
\DeclareRobustCommand\negthinspace{\leavevmode@ifvmode\kern-.16667em }
|
|
\def\>{\mskip\medmuskip}
|
|
\let\:=\>
|
|
\def\;{\mskip\thickmuskip}
|
|
\def\!{\mskip-\thinmuskip}
|
|
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2015/01/01}{\(}{Make \( robust}%
|
|
\DeclareRobustCommand\({%
|
|
\relax\ifmmode\@badmath\else$\fi}%
|
|
\DeclareRobustCommand\){%
|
|
\relax\ifmmode\ifinner$\else\@badmath\fi\else \@badmath\fi}%
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}{\(}{Make \( robust}%
|
|
\def\({%
|
|
\relax\ifmmode\@badmath\else$\fi}%
|
|
\expandafter\let\csname\string( \endcsname\@undefined
|
|
\def\){%
|
|
\relax\ifmmode\ifinner$\else\@badmath\fi\else \@badmath\fi}%
|
|
\expandafter\let\csname\string) \endcsname\@undefined
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2015/01/01}{\[}{Make \[ robust}%
|
|
\DeclareRobustCommand\[{%
|
|
\relax\ifmmode
|
|
\@badmath
|
|
\else
|
|
\ifvmode
|
|
\nointerlineskip
|
|
\makebox[.6\linewidth]{}%
|
|
\fi
|
|
$$%%$$ BRACE MATCH HACK
|
|
\fi
|
|
}%
|
|
\DeclareRobustCommand\]{%
|
|
\relax\ifmmode
|
|
\ifinner
|
|
\@badmath
|
|
\else
|
|
$$%%$$ BRACE MATCH HACK
|
|
\fi
|
|
\else
|
|
\@badmath
|
|
\fi
|
|
\ignorespaces
|
|
}%
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}{\[}{Make \[ robust}%
|
|
\def\[{%
|
|
\relax\ifmmode
|
|
\@badmath
|
|
\else
|
|
\ifvmode
|
|
\nointerlineskip
|
|
\makebox[.6\linewidth]{}%
|
|
\fi
|
|
$$%%$$ BRACE MATCH HACK
|
|
\fi
|
|
}%
|
|
\expandafter\let\csname\string[ \endcsname\@undefined
|
|
\def\]{%
|
|
\relax\ifmmode
|
|
\ifinner
|
|
\@badmath
|
|
\else
|
|
$$%%$$ BRACE MATCH HACK
|
|
\fi
|
|
\else
|
|
\@badmath
|
|
\fi
|
|
\ignorespaces
|
|
}%
|
|
\expandafter\let\csname\string] \endcsname\@undefined
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2020/10/01}%
|
|
{\@xeqncr}{eqnarray support calc syntax}%
|
|
\def\@xeqncr[#1]{%
|
|
\ifnum0=`{\fi}%
|
|
\@@eqncr
|
|
\noalign{\penalty\@eqpen\vskip\jot\@vspace@calcify{#1}}%
|
|
}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\@xeqncr}{eqnarray support calc syntax}%
|
|
|
|
\def\@xeqncr[#1]{%
|
|
\ifnum0=`{\fi}%
|
|
\@@eqncr
|
|
\noalign{\penalty\@eqpen\vskip\jot\vskip #1\relax}%
|
|
}
|
|
\EndIncludeInRelease
|
|
%%% From File: ltpictur.dtx
|
|
\IncludeInRelease{2020/10/01}%
|
|
{\@istackcr}{\shortstack calc support}%
|
|
\def\@istackcr[#1]{\cr\noalign{\@vspace@calcify{#1}}\ignorespaces}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\@istackcr}{\shortstack calc support}%
|
|
|
|
\def\@istackcr[#1]{\cr\noalign{\vskip #1}\ignorespaces}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2016/03/31}%
|
|
{\@ovhlinetrue}%
|
|
{Avoid almost zero length leaders}%
|
|
\newif\if@ovvline \@ovvlinetrue
|
|
\newif\if@ovhline \@ovhlinetrue
|
|
\def\@oval(#1,#2)[#3]{\begingroup\boxmaxdepth \maxdimen
|
|
\@ovttrue \@ovbtrue \@ovltrue \@ovrtrue
|
|
\@ovvlinefalse \@ovhlinefalse
|
|
\@tfor\reserved@a :=#3\do{\csname @ov\reserved@a false\endcsname}%
|
|
\@ovxx #1\unitlength
|
|
\@ovyy #2\unitlength
|
|
\@tempdimb \ifdim \@ovyy >\@ovxx \@ovxx \@ovvlinetrue
|
|
\else \@ovyy \ifdim \@ovyy =\@ovxx \else \@ovhlinetrue \fi\fi
|
|
\advance \@tempdimb -2\p@
|
|
\@getcirc \@tempdimb
|
|
\@ovro \ht\@tempboxa \@ovri \dp\@tempboxa
|
|
\@ovdx\@ovxx \advance\@ovdx -\@tempdima \divide\@ovdx \tw@
|
|
\@ovdy\@ovyy \advance\@ovdy -\@tempdima \divide\@ovdy \tw@
|
|
\ifdim \@ovdx >\z@ \@ovhlinetrue \fi
|
|
\ifdim \@ovdy >\z@ \@ovvlinetrue \fi
|
|
\@circlefnt \setbox\@tempboxa
|
|
\hbox{\if@ovr \@ovvert32\kern -\@tempdima \fi
|
|
\if@ovl \kern \@ovxx \@ovvert01\kern -\@tempdima \kern -\@ovxx \fi
|
|
\if@ovt \@ovhorz \kern -\@ovxx \fi
|
|
\if@ovb \raise \@ovyy \@ovhorz \fi}\advance\@ovdx\@ovro
|
|
\advance\@ovdy\@ovro \ht\@tempboxa\z@ \dp\@tempboxa\z@
|
|
\@put{-\@ovdx}{-\@ovdy}{\box\@tempboxa}%
|
|
\endgroup}
|
|
\def\@ovvert#1#2{\vbox to\@ovyy{%
|
|
\if@ovb \@tempcntb \@tempcnta \advance \@tempcntb #1\relax
|
|
\kern -\@ovro \hbox{\char \@tempcntb}\nointerlineskip
|
|
\else \kern \@ovri \kern \@ovdy \fi
|
|
\if@ovvline \leaders\vrule \@width \@wholewidth \fi
|
|
\vfil \nointerlineskip
|
|
\if@ovt \@tempcntb \@tempcnta \advance \@tempcntb #2\relax
|
|
\hbox{\char \@tempcntb}%
|
|
\else \kern \@ovdy \kern \@ovro \fi}}
|
|
\def\@ovhorz{\hb@xt@\@ovxx{\kern \@ovro
|
|
\if@ovr \else \kern \@ovdx \fi
|
|
\if@ovhline \leaders \hrule \@height \@wholewidth \fi
|
|
\hfil
|
|
\if@ovl \else \kern \@ovdx \fi
|
|
\kern \@ovri}}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\@ovhlinetrue}%
|
|
{Avoid almost zero length leaders}%
|
|
\let\if@ovvline\@undefined
|
|
\let\if@ovhline\@undefined
|
|
\def\@oval(#1,#2)[#3]{\begingroup\boxmaxdepth \maxdimen
|
|
\@ovttrue \@ovbtrue \@ovltrue \@ovrtrue
|
|
\@tfor\reserved@a :=#3\do
|
|
{\csname @ov\reserved@a false\endcsname}%
|
|
\@ovxx #1\unitlength
|
|
\@ovyy #2\unitlength
|
|
\@tempdimb \ifdim \@ovyy >\@ovxx \@ovxx\else \@ovyy \fi
|
|
\advance \@tempdimb -2\p@
|
|
\@getcirc \@tempdimb
|
|
\@ovro \ht\@tempboxa \@ovri \dp\@tempboxa
|
|
\@ovdx\@ovxx \advance\@ovdx -\@tempdima \divide\@ovdx \tw@
|
|
\@ovdy\@ovyy \advance\@ovdy -\@tempdima \divide\@ovdy \tw@
|
|
\@circlefnt \setbox\@tempboxa
|
|
\hbox{\if@ovr \@ovvert32\kern -\@tempdima \fi
|
|
\if@ovl
|
|
\kern \@ovxx \@ovvert01\kern -\@tempdima \kern -\@ovxx
|
|
\fi
|
|
\if@ovt \@ovhorz \kern -\@ovxx \fi
|
|
\if@ovb \raise \@ovyy \@ovhorz \fi}\advance\@ovdx\@ovro
|
|
\advance\@ovdy\@ovro \ht\@tempboxa\z@ \dp\@tempboxa\z@
|
|
\@put{-\@ovdx}{-\@ovdy}{\box\@tempboxa}%
|
|
\endgroup}
|
|
\def\@ovvert#1#2{\vbox to\@ovyy{%
|
|
\if@ovb \@tempcntb \@tempcnta \advance \@tempcntb #1\relax
|
|
\kern -\@ovro \hbox{\char \@tempcntb}\nointerlineskip
|
|
\else \kern \@ovri \kern \@ovdy \fi
|
|
\leaders\vrule \@width \@wholewidth\vfil \nointerlineskip
|
|
\if@ovt \@tempcntb \@tempcnta \advance \@tempcntb #2\relax
|
|
\hbox{\char \@tempcntb}%
|
|
\else \kern \@ovdy \kern \@ovro \fi}}
|
|
\def\@ovhorz{\hb@xt@\@ovxx{\kern \@ovro
|
|
\if@ovr \else \kern \@ovdx \fi
|
|
\leaders \hrule \@height \@wholewidth \hfil
|
|
\if@ovl \else \kern \@ovdx \fi
|
|
\kern \@ovri}}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2019/10/01}%
|
|
{\bezier}{Make commands robust}%
|
|
\MakeRobust\bezier
|
|
\MakeRobust\circle
|
|
\MakeRobust\dashbox
|
|
\MakeRobust\line
|
|
\MakeRobust\linethickness
|
|
\MakeRobust\multiput
|
|
\MakeRobust\oval
|
|
\MakeRobust\put
|
|
\MakeRobust\qbezier
|
|
\MakeRobust\shortstack
|
|
\MakeRobust\thinlines
|
|
\MakeRobust\vector
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\bezier}{Make commands robust}%
|
|
|
|
\kernel@make@fragile\bezier
|
|
\kernel@make@fragile\circle
|
|
\kernel@make@fragile\dashbox
|
|
\kernel@make@fragile\line
|
|
\kernel@make@fragile\linethickness
|
|
\kernel@make@fragile\multiput
|
|
\kernel@make@fragile\oval
|
|
\kernel@make@fragile\put
|
|
\kernel@make@fragile\qbezier
|
|
\kernel@make@fragile\shortstack
|
|
\kernel@make@fragile\thinlines
|
|
\kernel@make@fragile\vector
|
|
|
|
\EndIncludeInRelease
|
|
%%% From File: ltthm.dtx
|
|
%%% From File: ltsect.dtx
|
|
\IncludeInRelease{2019/10/01}%
|
|
{\title}{Make commands robust}%
|
|
\DeclareRobustCommand\title[1]{\gdef\@title{#1}}
|
|
\DeclareRobustCommand\author[1]{\gdef\@author{#1}}
|
|
\DeclareRobustCommand\date[1]{\gdef\@date{#1}}
|
|
\DeclareRobustCommand\thanks[1]{\footnotemark
|
|
\protected@xdef\@thanks{\@thanks
|
|
\protect\footnotetext[\the\c@footnote]{#1}}%
|
|
}
|
|
\DeclareRobustCommand\and{% % \begin{tabular}
|
|
\end{tabular}%
|
|
\hskip 1em \@plus.17fil%
|
|
\begin{tabular}[t]{c}}% % \end{tabular}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\title}{Make commands robust}%
|
|
|
|
\kernel@make@fragile\title
|
|
\kernel@make@fragile\author
|
|
\kernel@make@fragile\date
|
|
\kernel@make@fragile\thanks
|
|
\kernel@make@fragile\and
|
|
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2018/12/01}%
|
|
{\addcontentsline}{Mask line endings}%
|
|
\def\addcontentsline#1#2#3{%
|
|
\addtocontents{#1}{\protect\contentsline{#2}{#3}{\thepage}%
|
|
\protected@file@percent}}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\addcontentsline}{Mask line endings}%
|
|
\def\addcontentsline#1#2#3{%
|
|
\addtocontents{#1}{\protect\contentsline{#2}{#3}{\thepage}}}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2018/12/01}%
|
|
{\@dottedtocline}{Prevent protrusion}%
|
|
\def\@dottedtocline#1#2#3#4#5{%
|
|
\ifnum #1>\c@tocdepth \else
|
|
\vskip \z@ \@plus.2\p@
|
|
{\leftskip #2\relax \rightskip \@tocrmarg \parfillskip -\rightskip
|
|
\parindent #2\relax\@afterindenttrue
|
|
\interlinepenalty\@M
|
|
\leavevmode
|
|
\@tempdima #3\relax
|
|
\advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
|
|
{#4}\nobreak
|
|
\leaders\hbox{$\m@th
|
|
\mkern \@dotsep mu\hbox{.}\mkern \@dotsep
|
|
mu$}\hfill
|
|
\nobreak
|
|
\hb@xt@\@pnumwidth{\hfil\normalfont \normalcolor #5%
|
|
\kern-\p@\kern\p@}%
|
|
\par}%
|
|
\fi}
|
|
|
|
\DeclareRobustCommand\noprotrusion{\leavevmode\kern-\p@\kern\p@}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\@dottedtocline}{Prevent protrusion}%
|
|
\def\@dottedtocline#1#2#3#4#5{%
|
|
\ifnum #1>\c@tocdepth \else
|
|
\vskip \z@ \@plus.2\p@
|
|
{\leftskip #2\relax \rightskip \@tocrmarg \parfillskip -\rightskip
|
|
\parindent #2\relax\@afterindenttrue
|
|
\interlinepenalty\@M
|
|
\leavevmode
|
|
\@tempdima #3\relax
|
|
\advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
|
|
{#4}\nobreak
|
|
\leaders\hbox{$\m@th
|
|
\mkern \@dotsep mu\hbox{.}\mkern \@dotsep
|
|
mu$}\hfill
|
|
\nobreak
|
|
\hb@xt@\@pnumwidth{\hfil\normalfont \normalcolor #5}%
|
|
\par}%
|
|
\fi}
|
|
|
|
\let\noprotrusion\@undefined
|
|
\EndIncludeInRelease
|
|
%%% From File: ltfiles.dtx
|
|
\IncludeInRelease{2020/06/05}%
|
|
{\document}{Added hook to load l3backend code}%
|
|
\def\document{\endgroup
|
|
\@expl@sys@load@backend@@
|
|
\ifx\@unusedoptionlist\@empty\else
|
|
\@latex@warning@no@line{Unused global option(s):^^J%
|
|
\@spaces[\@unusedoptionlist]}%
|
|
\fi
|
|
\@colht\textheight
|
|
\@colroom\textheight \vsize\textheight
|
|
\columnwidth\textwidth
|
|
\@clubpenalty\clubpenalty
|
|
\if@twocolumn
|
|
\advance\columnwidth -\columnsep
|
|
\divide\columnwidth\tw@ \hsize\columnwidth \@firstcolumntrue
|
|
\fi
|
|
\hsize\columnwidth \linewidth\hsize
|
|
\begingroup\@floatplacement\@dblfloatplacement
|
|
\makeatletter\let\@writefile\@gobbletwo
|
|
\global \let \@multiplelabels \relax
|
|
\@input{\jobname.aux}%
|
|
\endgroup
|
|
\if@filesw
|
|
\immediate\openout\@mainaux\jobname.aux
|
|
\immediate\write\@mainaux{\relax}%
|
|
\fi
|
|
\process@table
|
|
\let\glb@currsize\@empty % Force math initialization.
|
|
\normalsize
|
|
\everypar{}%
|
|
\ifx\normalsfcodes\@empty
|
|
\ifnum\sfcode`\.=\@m
|
|
\let\normalsfcodes\frenchspacing
|
|
\else
|
|
\let\normalsfcodes\nonfrenchspacing
|
|
\fi
|
|
\fi
|
|
\ifx\document@default@language\m@ne
|
|
\chardef\document@default@language\language
|
|
\fi
|
|
\@noskipsecfalse
|
|
\let \@refundefined \relax
|
|
\let\AtBeginDocument\@firstofone
|
|
\@begindocumenthook
|
|
\ifdim\topskip<1sp\global\topskip 1sp\relax\fi
|
|
\global\@maxdepth\maxdepth
|
|
\global\let\@begindocumenthook\@undefined
|
|
\ifx\@listfiles\@undefined
|
|
\global\let\@filelist\relax
|
|
\global\let\@addtofilelist\@gobble
|
|
\fi
|
|
\gdef\do##1{\global\let ##1\@notprerr}%
|
|
\@preamblecmds
|
|
\global\let \@nodocument \relax
|
|
\global\let\do\noexpand
|
|
\ignorespaces}
|
|
\EndIncludeInRelease
|
|
|
|
\IncludeInRelease{2017/04/15}%
|
|
{\document}{Save language for hyphenation}%
|
|
\def\document{\endgroup
|
|
\ifx\@unusedoptionlist\@empty\else
|
|
\@latex@warning@no@line{Unused global option(s):^^J%
|
|
\@spaces[\@unusedoptionlist]}%
|
|
\fi
|
|
\@colht\textheight
|
|
\@colroom\textheight \vsize\textheight
|
|
\columnwidth\textwidth
|
|
\@clubpenalty\clubpenalty
|
|
\if@twocolumn
|
|
\advance\columnwidth -\columnsep
|
|
\divide\columnwidth\tw@ \hsize\columnwidth \@firstcolumntrue
|
|
\fi
|
|
\hsize\columnwidth \linewidth\hsize
|
|
\begingroup\@floatplacement\@dblfloatplacement
|
|
\makeatletter\let\@writefile\@gobbletwo
|
|
\global \let \@multiplelabels \relax
|
|
\@input{\jobname.aux}%
|
|
\endgroup
|
|
\if@filesw
|
|
\immediate\openout\@mainaux\jobname.aux
|
|
\immediate\write\@mainaux{\relax}%
|
|
\fi
|
|
\process@table
|
|
\let\glb@currsize\@empty % Force math initialization.
|
|
\normalsize
|
|
\everypar{}%
|
|
\ifx\normalsfcodes\@empty
|
|
\ifnum\sfcode`\.=\@m
|
|
\let\normalsfcodes\frenchspacing
|
|
\else
|
|
\let\normalsfcodes\nonfrenchspacing
|
|
\fi
|
|
\fi
|
|
\ifx\document@default@language\m@ne
|
|
\chardef\document@default@language\language
|
|
\fi
|
|
\@noskipsecfalse
|
|
\let \@refundefined \relax
|
|
\let\AtBeginDocument\@firstofone
|
|
\@begindocumenthook
|
|
\ifdim\topskip<1sp\global\topskip 1sp\relax\fi
|
|
\global\@maxdepth\maxdepth
|
|
\global\let\@begindocumenthook\@undefined
|
|
\ifx\@listfiles\@undefined
|
|
\global\let\@filelist\relax
|
|
\global\let\@addtofilelist\@gobble
|
|
\fi
|
|
\gdef\do##1{\global\let ##1\@notprerr}%
|
|
\@preamblecmds
|
|
\global\let \@nodocument \relax
|
|
\global\let\do\noexpand
|
|
\ignorespaces}
|
|
\EndIncludeInRelease
|
|
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\document}{Save language for hyphenation}
|
|
\def\document{\endgroup
|
|
\ifx\@unusedoptionlist\@empty\else
|
|
\@latex@warning@no@line{Unused global option(s):^^J%
|
|
\@spaces[\@unusedoptionlist]}%
|
|
\fi
|
|
\@colht\textheight
|
|
\@colroom\textheight \vsize\textheight
|
|
\columnwidth\textwidth
|
|
\@clubpenalty\clubpenalty
|
|
\if@twocolumn
|
|
\advance\columnwidth -\columnsep
|
|
\divide\columnwidth\tw@ \hsize\columnwidth
|
|
\@firstcolumntrue
|
|
\fi
|
|
\hsize\columnwidth \linewidth\hsize
|
|
\begingroup\@floatplacement\@dblfloatplacement
|
|
\makeatletter\let\@writefile\@gobbletwo
|
|
\global \let \@multiplelabels \relax
|
|
\@input{\jobname.aux}%
|
|
\endgroup
|
|
\if@filesw
|
|
\immediate\openout\@mainaux\jobname.aux
|
|
\immediate\write\@mainaux{\relax}%
|
|
\fi
|
|
\process@table
|
|
\let\glb@currsize\@empty
|
|
\normalsize
|
|
\everypar{}%
|
|
\ifx\normalsfcodes\@empty
|
|
\ifnum\sfcode`\.=\@m
|
|
\let\normalsfcodes\frenchspacing
|
|
\else
|
|
\let\normalsfcodes\nonfrenchspacing
|
|
\fi
|
|
\fi
|
|
\@noskipsecfalse
|
|
\let \@refundefined \relax
|
|
\let\AtBeginDocument\@firstofone
|
|
\@begindocumenthook
|
|
\ifdim\topskip<1sp\global\topskip 1sp\relax\fi
|
|
\global\@maxdepth\maxdepth
|
|
\global\let\@begindocumenthook\@undefined
|
|
\ifx\@listfiles\@undefined
|
|
\global\let\@filelist\relax
|
|
\global\let\@addtofilelist\@gobble
|
|
\fi
|
|
\gdef\do##1{\global\let ##1\@notprerr}%
|
|
\@preamblecmds
|
|
\global\let \@nodocument \relax
|
|
\global\let\do\noexpand
|
|
\ignorespaces}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2020/10/01}%
|
|
{\includeonly}{Spaces in file names}%
|
|
\def\includeonly#1{%
|
|
\@partswtrue
|
|
\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@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 }
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2019/10/01}%
|
|
{\includeonly}{Spaces in file names}%
|
|
|
|
\def\includeonly#1{%
|
|
\@partswtrue
|
|
\set@curr@file{\zap@space#1 \@empty}%
|
|
\let\@partlist\@curr@file
|
|
}
|
|
|
|
\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
|
|
\fi}
|
|
|
|
\let\set@curr@file@trim@spaces\@undefined
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\includeonly}{Spaces in file names}%
|
|
\def\includeonly#1{%
|
|
\@partswtrue
|
|
\edef\@partlist{\zap@space#1 \@empty}}
|
|
|
|
\def\include#1{\relax
|
|
\ifnum\@auxout=\@partaux
|
|
\@latex@error{\string\include\space cannot be nested}\@eha
|
|
\else \@include#1 \fi}
|
|
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2020/10/01}%
|
|
{\@include}{Spaces in file names}%
|
|
\def\@include#1 {%
|
|
\clearpage
|
|
\if@filesw
|
|
\immediate\write\@mainaux{\string\@input{"#1.aux"}}%
|
|
\fi
|
|
\@tempswatrue
|
|
\if@partsw
|
|
\@tempswafalse
|
|
\edef\reserved@b{#1}%
|
|
\@for\reserved@a:=\@partlist\do
|
|
{\ifx\reserved@a\reserved@b\@tempswatrue\fi}%
|
|
\fi
|
|
\if@tempswa
|
|
\let\@auxout\@partaux
|
|
\if@filesw
|
|
\immediate\openout\@partaux "#1.aux"
|
|
\immediate\write\@partaux{\relax}%
|
|
\fi
|
|
\@input@{#1.tex}%
|
|
\clearpage
|
|
\@writeckpt{#1}%
|
|
\if@filesw
|
|
\immediate\closeout\@partaux
|
|
\fi
|
|
\else
|
|
\deadcycles\z@
|
|
\@nameuse{cp@#1}%
|
|
\fi
|
|
\let\@auxout\@mainaux}
|
|
\EndIncludeInRelease
|
|
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\@include}{Spaces in file names}%
|
|
\def\@include#1 {%
|
|
\clearpage
|
|
\if@filesw
|
|
\immediate\write\@mainaux{\string\@input{#1.aux}}%
|
|
\fi
|
|
\@tempswatrue
|
|
\if@partsw
|
|
\@tempswafalse
|
|
\edef\reserved@b{#1}%
|
|
\@for\reserved@a:=\@partlist\do
|
|
{\ifx\reserved@a\reserved@b\@tempswatrue\fi}%
|
|
\fi
|
|
\if@tempswa
|
|
\let\@auxout\@partaux
|
|
\if@filesw
|
|
\immediate\openout\@partaux #1.aux
|
|
\immediate\write\@partaux{\relax}%
|
|
\fi
|
|
\@input@{#1.tex}%
|
|
\clearpage
|
|
\@writeckpt{#1}%
|
|
\if@filesw
|
|
\immediate\closeout\@partaux
|
|
\fi
|
|
\else
|
|
\deadcycles\z@
|
|
\@nameuse{cp@#1}%
|
|
\fi
|
|
\let\@auxout\@mainaux}
|
|
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2019/10/01}%
|
|
{\set@curr@file}{Quote file names}%
|
|
\def\set@curr@file#1{%
|
|
\begingroup
|
|
\escapechar\m@ne
|
|
\xdef\@curr@file{%
|
|
\expandafter\expandafter\expandafter\unquote@name
|
|
\expandafter\expandafter\expandafter{%
|
|
\expandafter\string
|
|
\csname\@firstofone#1\@empty\endcsname}}%
|
|
\endgroup
|
|
}
|
|
\def\quote@name#1{"\quote@@name#1\@gobble""}
|
|
\def\quote@@name#1"{#1\quote@@name}
|
|
\def\unquote@name#1{\quote@@name#1\@gobble"}
|
|
\DeclareRobustCommand\IfFileExists[1]{%
|
|
\set@curr@file{#1}%
|
|
\expandafter\IfFileExists@\expandafter{\@curr@file}}
|
|
\long\def \IfFileExists@#1#2#3{%
|
|
\openin\@inputcheck"#1" %
|
|
\ifeof\@inputcheck
|
|
\ifx\input@path\@undefined
|
|
\def\reserved@a{#3}%
|
|
\else
|
|
\def\reserved@a{\@iffileonpath{#1}{#2}{#3}}%
|
|
\fi
|
|
\else
|
|
\closein\@inputcheck
|
|
\edef\@filef@und{"#1" }%
|
|
\def\reserved@a{#2}%
|
|
\fi
|
|
\reserved@a}
|
|
\long\def\@iffileonpath#1{%
|
|
\let\reserved@a\@secondoftwo
|
|
\expandafter\@tfor\expandafter\reserved@b\expandafter
|
|
:\expandafter=\input@path\do{%
|
|
\openin\@inputcheck\expandafter\quote@name\expandafter{\reserved@b#1} %
|
|
\ifeof\@inputcheck\else
|
|
\edef\@filef@und{\expandafter\quote@name\expandafter{\reserved@b#1} }%
|
|
\let\reserved@a\@firstoftwo%
|
|
\closein\@inputcheck
|
|
\@break@tfor
|
|
\fi}%
|
|
\reserved@a}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\set@curr@file}{Quote file names}%
|
|
|
|
\let\quote@name\@undefined
|
|
\let\quote@@name\@undefined
|
|
\let\unquote@name\@undefined
|
|
\let\set@curr@file\@undefined
|
|
|
|
\let\IfFileExists@\@undefined
|
|
|
|
\long\def \IfFileExists#1#2#3{%
|
|
\openin\@inputcheck#1 %
|
|
\ifeof\@inputcheck
|
|
\ifx\input@path\@undefined
|
|
\def\reserved@a{#3}%
|
|
\else
|
|
\def\reserved@a{\@iffileonpath{#1}{#2}{#3}}%
|
|
\fi
|
|
\else
|
|
\closein\@inputcheck
|
|
\edef\@filef@und{#1 }%
|
|
\def\reserved@a{#2}%
|
|
\fi
|
|
\reserved@a}
|
|
|
|
\long\def\@iffileonpath#1{%
|
|
\let\reserved@a\@secondoftwo
|
|
\expandafter\@tfor\expandafter\reserved@b\expandafter
|
|
:\expandafter=\input@path\do{%
|
|
\openin\@inputcheck\reserved@b#1 %
|
|
\ifeof\@inputcheck\else
|
|
\edef\@filef@und{\reserved@b#1 }%
|
|
\let\reserved@a\@firstoftwo%
|
|
\closein\@inputcheck
|
|
\@break@tfor
|
|
\fi}%
|
|
\reserved@a}
|
|
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2019/10/01}%
|
|
{\InputIfFileExists}{Don't lose the file name}%
|
|
\DeclareRobustCommand \InputIfFileExists[2]{%
|
|
\IfFileExists{#1}%
|
|
{%
|
|
\expandafter\@swaptwoargs\expandafter
|
|
{\@filef@und}{#2\@addtofilelist{#1}\@@input}}}
|
|
\long\def\@swaptwoargs#1#2{#2#1}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\InputIfFileExists}{Don't lose the file name}%
|
|
\long\def \InputIfFileExists#1#2{%
|
|
\IfFileExists{#1}%
|
|
{#2\@addtofilelist{#1}\@@input \@filef@und}}
|
|
|
|
\let\@swaptwoargs\@undefined
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2019/10/01}%
|
|
{\@iinput}{Quote file names}%
|
|
\def\@iinput#1{%
|
|
\InputIfFileExists{#1}{}%
|
|
{\filename@parse\@curr@file
|
|
\edef\reserved@a{\noexpand\@missingfileerror
|
|
{\filename@area\filename@base}%
|
|
{\ifx\filename@ext\relax tex\else\filename@ext\fi}}%
|
|
\reserved@a}}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\@iinput}{Quote file names}%
|
|
\def\@iinput#1{%
|
|
\InputIfFileExists{#1}{}%
|
|
{\filename@parse{#1}%
|
|
\edef\reserved@a{\noexpand\@missingfileerror
|
|
{\filename@area\filename@base}%
|
|
{\ifx\filename@ext\relax tex\else\filename@ext\fi}}%
|
|
\reserved@a}}
|
|
\EndIncludeInRelease
|
|
%%% From File: ltoutenc.dtx
|
|
\IncludeInRelease{2017/04/15}{\DeclareTextCompositeCommand}
|
|
{test for undeclared accent}%
|
|
\def\DeclareTextCompositeCommand#1#2#3#4{%
|
|
\expandafter\let\expandafter\reserved@a\csname#2\string#1\endcsname
|
|
\ifx\reserved@a\relax
|
|
\DeclareTextCommand#1{#2}{%
|
|
\@latex@error{\string#1 undeclared in encoding #2}\@eha}%
|
|
\@latex@info{Composite with undeclared \string#1 in encoding #2}%
|
|
\expandafter\let\expandafter\reserved@a\csname#2\string#1\endcsname
|
|
\fi
|
|
\expandafter\expandafter\expandafter\ifx
|
|
\expandafter\@car\reserved@a\relax\relax\@nil \@text@composite \else
|
|
\edef\reserved@b##1{%
|
|
\def\expandafter\noexpand
|
|
\csname#2\string#1\endcsname####1{%
|
|
\noexpand\@text@composite
|
|
\expandafter\noexpand\csname#2\string#1\endcsname
|
|
####1\noexpand\@empty\noexpand\@text@composite
|
|
{##1}}}%
|
|
\expandafter\reserved@b\expandafter{\reserved@a{##1}}%
|
|
\fi
|
|
\expandafter\def\csname\expandafter\string\csname
|
|
#2\endcsname\string#1-\string#3\@empty\endcsname{#4}%
|
|
}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}{\DeclareTextCompositeCommand}
|
|
{test for undeclared accent}%
|
|
\def\DeclareTextCompositeCommand#1#2#3#4{%
|
|
\expandafter\let\expandafter\reserved@a
|
|
\csname#2\string#1\endcsname
|
|
\expandafter\expandafter\expandafter\ifx
|
|
\expandafter\@car\reserved@a\relax\relax\@nil
|
|
\@text@composite \else
|
|
\edef\reserved@b##1{%
|
|
\def\expandafter\noexpand
|
|
\csname#2\string#1\endcsname####1{%
|
|
\noexpand\@text@composite
|
|
\expandafter\noexpand\csname#2\string#1\endcsname
|
|
####1\noexpand\@empty\noexpand\@text@composite
|
|
{##1}}}%
|
|
\expandafter\reserved@b\expandafter{\reserved@a{##1}}%
|
|
\fi
|
|
\expandafter\def\csname\expandafter\string\csname
|
|
#2\endcsname\string#1-\string#3\@empty\endcsname{#4}}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2019/10/01}%
|
|
{\UseTextAccent}{Make commands robust}%
|
|
\DeclareRobustCommand\UseTextAccent[3]{%
|
|
\hmode@start@before@group
|
|
{%
|
|
\let\hmode@start@before@group\@firstofone
|
|
\let\@curr@enc\cf@encoding
|
|
\@use@text@encoding{#1}%
|
|
#2{\@use@text@encoding\@curr@enc#3}%
|
|
}}
|
|
\DeclareRobustCommand\UseTextSymbol[2]{%
|
|
\hmode@start@before@group
|
|
{%
|
|
\def\@wrong@font@char{\MessageBreak
|
|
for \noexpand\symbol`\string#2'}%
|
|
\@use@text@encoding{#1}%
|
|
#2%
|
|
}%
|
|
}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\UseTextAccent}{Make commands robust}%
|
|
|
|
\kernel@make@fragile\UseTextAccent
|
|
\kernel@make@fragile\UseTextSymbol
|
|
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2015/10/01}{\textcommabelow}{comma accent}%
|
|
\DeclareTextCommandDefault\textcommabelow[1]
|
|
{\hmode@bgroup\ooalign{\null#1\crcr\hidewidth\raise-.31ex
|
|
\hbox{\check@mathfonts\fontsize\ssf@size\z@
|
|
\math@fontsfalse\selectfont,}\hidewidth}\egroup}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}{\textcommabelow}{comma accent}%
|
|
\let\textcommabelow\@undefined
|
|
\expandafter
|
|
\let\csname\string\T1\string\c-G\endcsname\@undefined
|
|
\expandafter
|
|
\let\csname\string\T1\string\c-K\endcsname\@undefined
|
|
\expandafter
|
|
\let\csname\string\T1\string\c-k\endcsname\@undefined
|
|
\expandafter
|
|
\let\csname\string\T1\string\c-L\endcsname\@undefined
|
|
\expandafter
|
|
\let\csname\string\T1\string\c-l\endcsname\@undefined
|
|
\expandafter
|
|
\let\csname\string\T1\string\c-N\endcsname\@undefined
|
|
\expandafter
|
|
\let\csname\string\T1\string\c-n\endcsname\@undefined
|
|
\expandafter
|
|
\let\csname\string\T1\string\c-R\endcsname\@undefined
|
|
\expandafter
|
|
\let\csname\string\T1\string\c-r\endcsname\@undefined
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2016/02/01}{\textcommaabove}{comma above}%
|
|
\DeclareTextCommandDefault\textcommaabove[1]{%
|
|
\hmode@bgroup
|
|
\ooalign{%
|
|
\hidewidth
|
|
\raise.7ex\hbox{%
|
|
\check@mathfonts\fontsize\ssf@size\z@\math@fontsfalse\selectfont`%
|
|
}%
|
|
\hidewidth\crcr
|
|
\null#1\crcr
|
|
}%
|
|
\egroup
|
|
}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}{\textcommaabove}{comma above}%
|
|
\let\textcommaabove\@undefined
|
|
\expandafter
|
|
\let\csname\string\OT1\string\c-g\endcsname\@undefined
|
|
\expandafter
|
|
\let\csname\string\T1\string\c-g\endcsname\@undefined
|
|
\EndIncludeInRelease
|
|
%%% From File: ltcounts.dtx
|
|
|
|
\IncludeInRelease{2015/01/01}{\@stpelt}
|
|
{Reset nested counters}%
|
|
\def\@stpelt#1{\global\csname c@#1\endcsname \m@ne\stepcounter{#1}}%
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}{\@stpelt}
|
|
{Reset nested counters}%%
|
|
\def\@stpelt#1{\global\csname c@#1\endcsname \z@}%
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2018-04-01}
|
|
{\@removefromreset}{Add interfaces}%
|
|
\def\@removefromreset#1#2{%
|
|
\@ifundefined{c@#2}\relax
|
|
{\begingroup
|
|
\expandafter\let\csname c@#1\endcsname\@removefromreset
|
|
\def\@elt##1{%
|
|
\expandafter\ifx\csname c@##1\endcsname\@removefromreset
|
|
\else
|
|
\noexpand\@elt{##1}%
|
|
\fi}%
|
|
\expandafter\xdef\csname cl@#2\endcsname
|
|
{\csname cl@#2\endcsname}%
|
|
\endgroup}}
|
|
|
|
\def\@ifbothcounters#1#2#3{%
|
|
\@ifundefined{c@#1}{\@nocounterr{#1}}%
|
|
{% else counter is defined
|
|
\@ifundefined{c@#2}{\@nocounterr{#2}}%
|
|
{% else both counter and within are defined
|
|
#3}}}
|
|
|
|
\def\counterwithout {\@ifstar\counterwithout@s\counterwithout@x}
|
|
\def\counterwithout@s#1#2{%
|
|
\@ifbothcounters{#1}{#2}{\@removefromreset{#1}{#2}}}
|
|
\def\counterwithout@x#1#2{%
|
|
\@ifbothcounters{#1}{#2}%
|
|
{\@removefromreset{#1}{#2}%
|
|
\expandafter
|
|
\gdef\csname the#1\expandafter\endcsname\expandafter
|
|
{\expandafter
|
|
\@arabic\csname c@#1\endcsname}}}
|
|
|
|
\def\counterwithin{\@ifstar\counterwithin@s\counterwithin@x}
|
|
\def\counterwithin@s#1#2{%
|
|
\@ifbothcounters{#1}{#2}{\@addtoreset{#1}{#2}}}
|
|
\def\counterwithin@x#1#2{%
|
|
\@ifbothcounters{#1}{#2}%
|
|
{\@addtoreset{#1}{#2}%
|
|
\expandafter
|
|
\gdef\csname the#1\expandafter\endcsname\expandafter
|
|
{\csname the#2\expandafter\endcsname\expandafter
|
|
.\expandafter
|
|
\@arabic\csname c@#1\endcsname}}}
|
|
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000-00-00}
|
|
{\@removefromreset}{Add interfaces}%
|
|
\let \@removefromreset \undefined
|
|
\let \@ifbothcounters \undefined
|
|
\let \counterwithout \undefined
|
|
\let \counterwithout@s \undefined
|
|
\let \counterwithout@x \undefined
|
|
\let \counterwithin \undefined
|
|
\let \counterwithin@s \undefined
|
|
\let \counterwithin@x \undefined
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2015/01/01}{\@fnsymbol}{Use \TexOrMath}%
|
|
\def\@fnsymbol#1{%
|
|
\ifcase#1\or \TextOrMath\textasteriskcentered *\or
|
|
\TextOrMath \textdagger \dagger\or
|
|
\TextOrMath \textdaggerdbl \ddagger \or
|
|
\TextOrMath \textsection \mathsection\or
|
|
\TextOrMath \textparagraph \mathparagraph\or
|
|
\TextOrMath \textbardbl \|\or
|
|
\TextOrMath {\textasteriskcentered\textasteriskcentered}{**}\or
|
|
\TextOrMath {\textdagger\textdagger}{\dagger\dagger}\or
|
|
\TextOrMath {\textdaggerdbl\textdaggerdbl}{\ddagger\ddagger}\else
|
|
\@ctrerr \fi
|
|
}%
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}{\@fnsymbol}{Use \TexOrMath}%
|
|
\def\@fnsymbol#1{\ensuremath{%
|
|
\ifcase#1\or *\or \dagger\or \ddagger\or \mathsection\or
|
|
\mathparagraph\or \|\or **\or \dagger\dagger
|
|
\or \ddagger\ddagger \else\@ctrerr\fi}}%
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2015/01/01}{\TextOrMath}{\TextOrMath}%
|
|
\begingroup\expandafter\expandafter\expandafter\endgroup
|
|
\expandafter\ifx\csname protected\endcsname\relax
|
|
\DeclareRobustCommand\TextOrMath{%
|
|
\ifmmode \expandafter\@secondoftwo
|
|
\else \expandafter\@firstoftwo \fi}
|
|
\protected@edef\TextOrMath#1#2{\TextOrMath{#1}{#2}}
|
|
\else
|
|
\protected\expandafter\def\csname TextOrMath\space\endcsname{%
|
|
\ifmmode \expandafter\@secondoftwo
|
|
\else \expandafter\@firstoftwo \fi}
|
|
\edef\TextOrMath#1#2{%
|
|
\expandafter\noexpand\csname TextOrMath\space\endcsname
|
|
{#1}{#2}}
|
|
\fi
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}{\TextOrMath}{\TextOrMath}%
|
|
\let\TextOrMath\@undefined
|
|
\EndIncludeInRelease
|
|
%%% From File: ltlength.dtx
|
|
\IncludeInRelease{2015/01/01}%
|
|
{\setlength}{Using \setlength with \dimen0}%
|
|
\def\setlength#1#2{#1 #2\relax}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\setlength}{Using \setlength with \dimen0}%
|
|
\def\setlength#1#2{#1#2\relax}
|
|
\EndIncludeInRelease
|
|
%%% From File: ltfloat.dtx
|
|
\IncludeInRelease{2015/01/01}%
|
|
{\@xfloat}{Check float options}%
|
|
\def\@xfloat #1[#2]{%
|
|
\@nodocument
|
|
\def \@captype {#1}%
|
|
\def \@fps {#2}%
|
|
\@onelevel@sanitize \@fps
|
|
\def \reserved@b {!}%
|
|
\ifx \reserved@b \@fps
|
|
\@fpsadddefault
|
|
\else
|
|
\ifx \@fps \@empty
|
|
\@fpsadddefault
|
|
\fi
|
|
\fi
|
|
\ifhmode
|
|
\@bsphack
|
|
\@floatpenalty -\@Mii
|
|
\else
|
|
\@floatpenalty-\@Miii
|
|
\fi
|
|
\ifinner
|
|
\@parmoderr\@floatpenalty\z@
|
|
\else
|
|
\@next\@currbox\@freelist
|
|
{%
|
|
\@tempcnta \sixt@@n
|
|
\expandafter \@tfor \expandafter \reserved@a
|
|
\expandafter :\expandafter =\@fps
|
|
\do
|
|
{%
|
|
\if \reserved@a h%
|
|
\ifodd \@tempcnta
|
|
\else
|
|
\advance \@tempcnta \@ne
|
|
\fi
|
|
\else\if \reserved@a t%
|
|
\@setfpsbit \tw@
|
|
\else\if \reserved@a b%
|
|
\@setfpsbit 4%
|
|
\else\if \reserved@a p%
|
|
\@setfpsbit 8%
|
|
\else\if \reserved@a !%
|
|
\ifnum \@tempcnta>15
|
|
\advance\@tempcnta -\sixt@@n\relax
|
|
\fi
|
|
\else
|
|
\@latex@error{Unknown float option `\reserved@a'}%
|
|
{Option `\reserved@a' ignored and `p' used.}%
|
|
\@setfpsbit 8%
|
|
\fi\fi\fi\fi\fi
|
|
}%
|
|
\@tempcntb \csname ftype@\@captype \endcsname
|
|
\multiply \@tempcntb \@xxxii
|
|
\advance \@tempcnta \@tempcntb
|
|
\global \count\@currbox \@tempcnta
|
|
}%
|
|
\@fltovf
|
|
\fi
|
|
\global \setbox\@currbox
|
|
\color@vbox
|
|
\normalcolor
|
|
\vbox \bgroup
|
|
\hsize\columnwidth
|
|
\@parboxrestore
|
|
\@floatboxreset
|
|
}%
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\@xfloat}{Check float options}%
|
|
\def\@xfloat #1[#2]{%
|
|
\@nodocument
|
|
\def \@captype {#1}%
|
|
\def \@fps {#2}%
|
|
\@onelevel@sanitize \@fps
|
|
\def \reserved@b {!}%
|
|
\ifx \reserved@b \@fps
|
|
\@fpsadddefault
|
|
\else
|
|
\ifx \@fps \@empty
|
|
\@fpsadddefault
|
|
\fi
|
|
\fi
|
|
\ifhmode
|
|
\@bsphack
|
|
\@floatpenalty -\@Mii
|
|
\else
|
|
\@floatpenalty-\@Miii
|
|
\fi
|
|
\ifinner
|
|
\@parmoderr\@floatpenalty\z@
|
|
\else
|
|
\@next\@currbox\@freelist
|
|
{%
|
|
\@tempcnta \sixt@@n
|
|
\expandafter \@tfor \expandafter \reserved@a
|
|
\expandafter :\expandafter =\@fps
|
|
\do
|
|
{%
|
|
\if \reserved@a h%
|
|
\ifodd \@tempcnta
|
|
\else
|
|
\advance \@tempcnta \@ne
|
|
\fi
|
|
\fi
|
|
\if \reserved@a t%
|
|
\@setfpsbit \tw@
|
|
\fi
|
|
\if \reserved@a b%
|
|
\@setfpsbit 4%
|
|
\fi
|
|
\if \reserved@a p%
|
|
\@setfpsbit 8%
|
|
\fi
|
|
\if \reserved@a !%
|
|
\ifnum \@tempcnta>15
|
|
\advance\@tempcnta -\sixt@@n\relax
|
|
\fi
|
|
\fi
|
|
}%
|
|
\@tempcntb \csname ftype@\@captype \endcsname
|
|
\multiply \@tempcntb \@xxxii
|
|
\advance \@tempcnta \@tempcntb
|
|
\global \count\@currbox \@tempcnta
|
|
}%
|
|
\@fltovf
|
|
\fi
|
|
\global \setbox\@currbox
|
|
\color@vbox
|
|
\normalcolor
|
|
\vbox \bgroup
|
|
\hsize\columnwidth
|
|
\@parboxrestore
|
|
\@floatboxreset
|
|
}%
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2015/01/01}%
|
|
{\end@dblfloat}{float order in 2-column}%
|
|
\def\end@dblfloat{%
|
|
\if@twocolumn
|
|
\@endfloatbox
|
|
\ifnum\@floatpenalty <\z@
|
|
\@largefloatcheck
|
|
\global\dp\@currbox1sp %
|
|
\@cons\@currlist\@currbox
|
|
\ifnum\@floatpenalty <-\@Mii
|
|
\penalty -\@Miv
|
|
\@tempdima\prevdepth
|
|
\vbox{}%
|
|
\prevdepth\@tempdima
|
|
\penalty\@floatpenalty
|
|
\else
|
|
\vadjust{\penalty -\@Miv \vbox{}\penalty\@floatpenalty}\@Esphack
|
|
\fi
|
|
\fi
|
|
\else
|
|
\end@float
|
|
\fi
|
|
}%
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\end@dblfloat}{float order in 2-column}%
|
|
\def\end@dblfloat{%
|
|
\if@twocolumn
|
|
\@endfloatbox
|
|
\ifnum\@floatpenalty <\z@
|
|
\@largefloatcheck
|
|
\@cons\@dbldeferlist\@currbox
|
|
\fi
|
|
\ifnum \@floatpenalty =-\@Mii \@Esphack\fi
|
|
\else
|
|
\end@float
|
|
\fi
|
|
}%
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2015/01/01}%
|
|
{\@dblfloatplacement}{float order in 2-column}%
|
|
\def\@dblfloatplacement{\global\@dbltopnum\c@dbltopnumber
|
|
\global\@dbltoproom \dbltopfraction\@colht
|
|
\@textmin \@colht
|
|
\advance \@textmin -\@dbltoproom
|
|
\@fpmin \dblfloatpagefraction\textheight
|
|
\@fptop \@dblfptop
|
|
\@fpsep \@dblfpsep
|
|
\@fpbot \@dblfpbot
|
|
\def\f@depth{1sp}}%
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\@dblfloatplacement}{float order in 2-column}%
|
|
\def \@dblfloatplacement {%
|
|
\global \@dbltopnum \c@dbltopnumber
|
|
\global \@dbltoproom \dbltopfraction\@colht
|
|
\@textmin \@colht
|
|
\advance \@textmin -\@dbltoproom
|
|
\@fpmin \dblfloatpagefraction\textheight
|
|
\@fptop \@dblfptop
|
|
\@fpsep \@dblfpsep
|
|
\@fpbot \@dblfpbot
|
|
}%
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2020/10/01}%
|
|
{\@textsuperscript}{superscript baseline}%
|
|
\def\@textsuperscript#1{%
|
|
{\m@th\ensuremath{^{\mbox{\fontsize\sf@size\sf@size#1}}}}}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\@textsuperscript}{superscript baseline}%
|
|
|
|
\def\@textsuperscript#1{%
|
|
{\m@th\ensuremath{^{\mbox{\fontsize\sf@size\z@#1}}}}}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2015/01/01}%
|
|
{\textsubscript}{\textsubscript}%
|
|
\DeclareRobustCommand*\textsubscript[1]{%
|
|
\@textsubscript{\selectfont#1}}%
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\textsubscript}{\textsubscript}%
|
|
\let\textsubscript\@undefined
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2020/10/01}%
|
|
{\@textsubscript}{subscript baseline}%
|
|
\def\@textsubscript#1{%
|
|
{\m@th\ensuremath{_{\mbox{\fontsize\sf@size\sf@size#1}}}}}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2015/01/01}%
|
|
{\@textsubscript}{subscript baseline}%
|
|
|
|
\def\@textsubscript#1{%
|
|
{\m@th\ensuremath{_{\mbox{\fontsize\sf@size\z@#1}}}}}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\@textsubscript}{subscript baseline}%
|
|
\let\@textsubscript\@undefined
|
|
\EndIncludeInRelease
|
|
%%% From File: ltidxglo.dtx
|
|
%%% From File: ltbibl.dtx
|
|
%%% From File: ltpage.dtx
|
|
\IncludeInRelease{2019/10/01}%
|
|
{\markboth}{Make commands robust}%
|
|
\DeclareRobustCommand\markboth[2]{%
|
|
\begingroup
|
|
\let\label\relax \let\index\relax \let\glossary\relax
|
|
\unrestored@protected@xdef\@themark {{#1}{#2}}%
|
|
\@temptokena \expandafter{\@themark}%
|
|
\mark{\the\@temptokena}%
|
|
\endgroup
|
|
\if@nobreak\ifvmode\nobreak\fi\fi}
|
|
\DeclareRobustCommand\markright[1]{%
|
|
\begingroup
|
|
\let\label\relax \let\index\relax \let\glossary\relax
|
|
\expandafter\@markright\@themark {#1}%
|
|
\@temptokena \expandafter{\@themark}%
|
|
\mark{\the\@temptokena}%
|
|
\endgroup
|
|
\if@nobreak\ifvmode\nobreak\fi\fi}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\markboth}{Make commands robust}%
|
|
|
|
\kernel@make@fragile\markboth
|
|
\kernel@make@fragile\markright
|
|
|
|
\EndIncludeInRelease
|
|
%%% From File: ltoutput.dtx
|
|
\IncludeInRelease{2015/10/01}%
|
|
{\bx@ZZ}{Extended float list}%
|
|
\let\@elt\newinsert
|
|
\ifx\numexpr\@undefined\else
|
|
\def\reserved@a{%
|
|
\@elt\bx@S\@elt\bx@T\@elt\bx@U\@elt\bx@V
|
|
\@elt\bx@W\@elt\bx@X\@elt\bx@Y\@elt\bx@Z
|
|
\@elt\bx@AA\@elt\bx@BB\@elt\bx@CC\@elt\bx@DD\@elt\bx@EE
|
|
\@elt\bx@FF\@elt\bx@GG\@elt\bx@HH\@elt\bx@II\@elt\bx@JJ
|
|
\@elt\bx@KK\@elt\bx@LL\@elt\bx@MM\@elt\bx@NN
|
|
\@elt\bx@OO\@elt\bx@PP\@elt\bx@QQ\@elt\bx@RR
|
|
\@elt\bx@SS\@elt\bx@TT\@elt\bx@UU\@elt\bx@VV
|
|
\@elt\bx@WW\@elt\bx@XX\@elt\bx@YY\@elt\bx@ZZ}
|
|
\reserved@a
|
|
\def\@elt{\noexpand\@elt\noexpand}
|
|
\edef\@freelist{\@freelist\reserved@a}
|
|
\fi
|
|
\let\reserved@a\relax
|
|
\let\@elt\relax
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\bx@ZZ}{Extended float list}%
|
|
\def\@freelist{%
|
|
\@elt\bx@A\@elt\bx@B\@elt\bx@C\@elt\bx@D\@elt\bx@E
|
|
\@elt\bx@F\@elt\bx@G\@elt\bx@H\@elt\bx@I\@elt\bx@J
|
|
\@elt\bx@K\@elt\bx@L\@elt\bx@M\@elt\bx@N
|
|
\@elt\bx@O\@elt\bx@P\@elt\bx@Q\@elt\bx@R}
|
|
\insc@unt=234
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2017/04/15}%
|
|
{\newpage}{Check depth of page}%
|
|
\def \newpage {%
|
|
\if@noskipsec
|
|
\ifx \@nodocument\relax
|
|
\leavevmode
|
|
\global \@noskipsecfalse
|
|
\fi
|
|
\fi
|
|
\if@inlabel
|
|
\leavevmode
|
|
\global \@inlabelfalse
|
|
\fi
|
|
\if@nobreak \@nobreakfalse \everypar{}\fi
|
|
\par
|
|
\ifdim\prevdepth>\z@
|
|
\vskip -%
|
|
\ifdim\prevdepth>\maxdepth
|
|
\maxdepth
|
|
\else
|
|
\prevdepth
|
|
\fi
|
|
\fi
|
|
\vfil
|
|
\penalty -\@M}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\newpage}{Check depth of page}%
|
|
\def \newpage {%
|
|
\if@noskipsec
|
|
\ifx \@nodocument\relax
|
|
\leavevmode
|
|
\global \@noskipsecfalse
|
|
\fi
|
|
\fi
|
|
\if@inlabel
|
|
\leavevmode
|
|
\global \@inlabelfalse
|
|
\fi
|
|
\if@nobreak \@nobreakfalse \everypar{}\fi
|
|
\par
|
|
\vfil
|
|
\penalty -\@M}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2015/01/01}%
|
|
{\@testwrongwidth}{float order in 2-column}%
|
|
\def\@testwrongwidth #1{%
|
|
\ifdim\dp#1=\f@depth
|
|
\else
|
|
\global\@testtrue
|
|
\fi}%
|
|
\let\f@depth\z@
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\@testwrongwidth}{float order in 2-column}%
|
|
\let\@testwrongwidth\@undefined
|
|
\let\f@depth\@undefined
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2015/01/01}{\@doclearpage}%
|
|
{float order in 2-column}%
|
|
\def \@doclearpage {%
|
|
\ifvoid\footins
|
|
\ifvbox\@kludgeins
|
|
{\setbox \@tempboxa \box \@kludgeins}%
|
|
\fi
|
|
\setbox\@tempboxa\vsplit\@cclv to\z@ \unvbox\@tempboxa
|
|
\setbox\@tempboxa\box\@cclv
|
|
\xdef\@deferlist{\@toplist\@botlist\@deferlist}%
|
|
\global \let \@toplist \@empty
|
|
\global \let \@botlist \@empty
|
|
\global \@colroom \@colht
|
|
\ifx \@currlist\@empty
|
|
\else
|
|
\@latexerr{Float(s) lost}\@ehb
|
|
\global \let \@currlist \@empty
|
|
\fi
|
|
\@makefcolumn\@deferlist
|
|
\@whilesw\if@fcolmade \fi{\@opcol\@makefcolumn\@deferlist}%
|
|
\if@twocolumn
|
|
\if@firstcolumn
|
|
\xdef\@deferlist{\@dbltoplist\@deferlist}%
|
|
\global \let \@dbltoplist \@empty
|
|
\global \@colht \textheight
|
|
\begingroup
|
|
\@dblfloatplacement
|
|
\@makefcolumn\@deferlist
|
|
\@whilesw\if@fcolmade \fi{\@outputpage
|
|
\@makefcolumn\@deferlist}%
|
|
\endgroup
|
|
\else
|
|
\vbox{}\clearpage
|
|
\fi
|
|
\fi
|
|
\ifx\@deferlist\@empty \else\clearpage \fi
|
|
\else
|
|
\setbox\@cclv\vbox{\box\@cclv\vfil}%
|
|
\@makecol\@opcol
|
|
\clearpage
|
|
\fi
|
|
}%
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}{\@doclearpage}%
|
|
{float order in 2-column}%
|
|
\def \@doclearpage {%
|
|
\ifvoid\footins
|
|
\ifvbox\@kludgeins
|
|
{\setbox \@tempboxa \box \@kludgeins}%
|
|
\fi
|
|
\setbox\@tempboxa\vsplit\@cclv to\z@ \unvbox\@tempboxa
|
|
\setbox\@tempboxa\box\@cclv
|
|
\xdef\@deferlist{\@toplist\@botlist\@deferlist}%
|
|
\global \let \@toplist \@empty
|
|
\global \let \@botlist \@empty
|
|
\global \@colroom \@colht
|
|
\ifx \@currlist\@empty
|
|
\else
|
|
\@latexerr{Float(s) lost}\@ehb
|
|
\global \let \@currlist \@empty
|
|
\fi
|
|
\@makefcolumn\@deferlist
|
|
\@whilesw\if@fcolmade \fi
|
|
{\@opcol\@makefcolumn\@deferlist}%
|
|
\if@twocolumn
|
|
\if@firstcolumn
|
|
\xdef\@dbldeferlist{\@dbltoplist\@dbldeferlist}%
|
|
\global \let \@dbltoplist \@empty
|
|
\global \@colht \textheight
|
|
\begingroup
|
|
\@dblfloatplacement
|
|
\@makefcolumn\@dbldeferlist
|
|
\@whilesw\if@fcolmade \fi
|
|
{\@outputpage\@makefcolumn\@dbldeferlist}%
|
|
\endgroup
|
|
\else
|
|
\vbox{}\clearpage
|
|
\fi
|
|
\fi
|
|
\else
|
|
\setbox\@cclv\vbox{\box\@cclv\vfil}%
|
|
\@makecol\@opcol
|
|
\clearpage
|
|
\fi
|
|
}%
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2017/04/15}%
|
|
{\@outputpage}{Reset language for hyphenation}%
|
|
\def\@outputpage{%
|
|
\begingroup
|
|
\let \protect \noexpand
|
|
\language\document@default@language
|
|
\@resetactivechars
|
|
\global\let\@@if@newlist\if@newlist
|
|
\global\@newlistfalse
|
|
\@parboxrestore
|
|
\shipout \vbox{%
|
|
\set@typeset@protect
|
|
\aftergroup \endgroup
|
|
\aftergroup \set@typeset@protect
|
|
\if@specialpage
|
|
\global\@specialpagefalse\@nameuse{ps@\@specialstyle}%
|
|
\fi
|
|
\if@twoside
|
|
\ifodd\count\z@ \let\@thehead\@oddhead \let\@thefoot\@oddfoot
|
|
\let\@themargin\oddsidemargin
|
|
\else \let\@thehead\@evenhead
|
|
\let\@thefoot\@evenfoot \let\@themargin\evensidemargin
|
|
\fi
|
|
\fi
|
|
\reset@font
|
|
\normalsize
|
|
\normalsfcodes
|
|
\let\label\@gobble
|
|
\let\index\@gobble
|
|
\let\glossary\@gobble
|
|
\baselineskip\z@skip \lineskip\z@skip \lineskiplimit\z@
|
|
\@begindvi
|
|
\vskip \topmargin
|
|
\moveright\@themargin \vbox {%
|
|
\setbox\@tempboxa \vbox to\headheight{%
|
|
\vfil
|
|
\color@hbox
|
|
\normalcolor
|
|
\hb@xt@\textwidth{\@thehead}%
|
|
\color@endbox
|
|
}%
|
|
\dp\@tempboxa \z@
|
|
\box\@tempboxa
|
|
\vskip \headsep
|
|
\box\@outputbox
|
|
\baselineskip \footskip
|
|
\color@hbox
|
|
\normalcolor
|
|
\hb@xt@\textwidth{\@thefoot}%
|
|
\color@endbox
|
|
}%
|
|
}%
|
|
\global\let\if@newlist\@@if@newlist
|
|
\global \@colht \textheight
|
|
\stepcounter{page}%
|
|
\let\firstmark\botmark
|
|
}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\@outputpage}{Reset language for hyphenation}%
|
|
\def\@outputpage{%
|
|
\begingroup
|
|
\let \protect \noexpand
|
|
\@resetactivechars
|
|
\global\let\@@if@newlist\if@newlist
|
|
\global\@newlistfalse
|
|
\@parboxrestore
|
|
\shipout \vbox{%
|
|
\set@typeset@protect
|
|
\aftergroup \endgroup
|
|
\aftergroup \set@typeset@protect
|
|
\if@specialpage
|
|
\global\@specialpagefalse\@nameuse{ps@\@specialstyle}%
|
|
\fi
|
|
\if@twoside
|
|
\ifodd\count\z@
|
|
\let\@thehead\@oddhead \let\@thefoot\@oddfoot
|
|
\let\@themargin\oddsidemargin
|
|
\else \let\@thehead\@evenhead
|
|
\let\@thefoot\@evenfoot \let\@themargin\evensidemargin
|
|
\fi
|
|
\fi
|
|
\reset@font
|
|
\normalsize
|
|
\normalsfcodes
|
|
\let\label\@gobble
|
|
\let\index\@gobble
|
|
\let\glossary\@gobble
|
|
\baselineskip\z@skip \lineskip\z@skip \lineskiplimit\z@
|
|
\@begindvi
|
|
\vskip \topmargin
|
|
\moveright\@themargin \vbox {%
|
|
\setbox\@tempboxa \vbox to\headheight{%
|
|
\vfil
|
|
\color@hbox
|
|
\normalcolor
|
|
\hb@xt@\textwidth{\@thehead}%
|
|
\color@endbox
|
|
}%
|
|
\dp\@tempboxa \z@
|
|
\box\@tempboxa
|
|
\vskip \headsep
|
|
\box\@outputbox
|
|
\baselineskip \footskip
|
|
\color@hbox
|
|
\normalcolor
|
|
\hb@xt@\textwidth{\@thefoot}%
|
|
\color@endbox
|
|
}%
|
|
}%
|
|
\global\let\if@newlist\@@if@newlist
|
|
\global \@colht \textheight
|
|
\stepcounter{page}%
|
|
\let\firstmark\botmark
|
|
}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2015/01/01}%
|
|
{\@startdblcolumn}{float order in 2-column}%
|
|
\def \@startdblcolumn {%
|
|
\@tryfcolumn \@deferlist
|
|
\if@fcolmade
|
|
\else
|
|
\begingroup
|
|
\let \reserved@b \@deferlist
|
|
\global \let \@deferlist \@empty
|
|
\let \@elt \@sdblcolelt
|
|
\reserved@b
|
|
\endgroup
|
|
\fi
|
|
}%
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\@startdblcolumn}{float order in 2-column}%
|
|
\def \@startdblcolumn {%
|
|
% \global \@colht \textheight
|
|
\@tryfcolumn \@dbldeferlist
|
|
\if@fcolmade
|
|
\else
|
|
\begingroup
|
|
\let \reserved@b \@dbldeferlist
|
|
\global \let \@dbldeferlist \@empty
|
|
\let \@elt \@sdblcolelt
|
|
\reserved@b
|
|
\endgroup
|
|
\fi
|
|
}%
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2015/01/01}{\@xtryfc}%
|
|
{float order in 2-column}%
|
|
\def\@xtryfc #1{%
|
|
\@next\reserved@a\@trylist{}{}%
|
|
\@currtype \count #1%
|
|
\divide\@currtype\@xxxii
|
|
\multiply\@currtype\@xxxii
|
|
\@bitor \@currtype \@failedlist
|
|
\@testfp #1%
|
|
\@testwrongwidth #1%
|
|
\ifdim \ht #1>\@colht
|
|
\@testtrue
|
|
\fi
|
|
\if@test
|
|
\@cons\@failedlist #1%
|
|
\else
|
|
\@ytryfc #1%
|
|
\fi}%
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}{\@xtryfc}%
|
|
{float order in 2-column}%
|
|
\def\@xtryfc #1{%
|
|
\@next\reserved@a\@trylist{}{}%
|
|
\@currtype \count #1%
|
|
\divide\@currtype\@xxxii
|
|
\multiply\@currtype\@xxxii
|
|
\@bitor \@currtype \@failedlist
|
|
\@testfp #1%
|
|
\ifdim \ht #1>\@colht
|
|
\@testtrue
|
|
\fi
|
|
\if@test
|
|
\@cons\@failedlist #1%
|
|
\else
|
|
\@ytryfc #1%
|
|
\fi}%
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2015/01/01}{@ztryfc}%
|
|
{float order in 2-column}%
|
|
\def\@ztryfc #1{%
|
|
\@tempcnta\count #1%
|
|
\divide\@tempcnta\@xxxii
|
|
\multiply\@tempcnta\@xxxii
|
|
\@bitor \@tempcnta {\@failedlist \@flfail}%
|
|
\@testfp #1%
|
|
\@testwrongwidth #1%
|
|
\@tempdimb\@tempdima
|
|
\advance\@tempdimb\ht #1%
|
|
\advance\@tempdimb\@fpsep
|
|
\ifdim \@tempdimb >\@colht
|
|
\@testtrue
|
|
\fi
|
|
\if@test
|
|
\@cons\@flfail #1%
|
|
\else
|
|
\@cons\@flsucceed #1%
|
|
\@tempdima\@tempdimb
|
|
\fi}%
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}{@ztryfc}%
|
|
{float order in 2-column}%
|
|
\def\@ztryfc #1{%
|
|
\@tempcnta \count#1%
|
|
\divide\@tempcnta\@xxxii
|
|
\multiply\@tempcnta\@xxxii
|
|
\@bitor \@tempcnta {\@failedlist \@flfail}%
|
|
\@testfp #1%
|
|
\@tempdimb\@tempdima
|
|
\advance\@tempdimb \ht#1%
|
|
\advance\@tempdimb\@fpsep
|
|
\ifdim \@tempdimb >\@colht
|
|
\@testtrue
|
|
\fi
|
|
\if@test
|
|
\@cons\@flfail #1%
|
|
\else
|
|
\@cons\@flsucceed #1%
|
|
\@tempdima\@tempdimb
|
|
\fi}%
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2015/01/01}%
|
|
{\@addtocurcol}{float order in 2-column}%
|
|
\def \@addtocurcol {%
|
|
\@insertfalse
|
|
\@setfloattypecounts
|
|
\ifnum \@fpstype=8
|
|
\else
|
|
\ifnum \@fpstype=24
|
|
\else
|
|
\@flsettextmin
|
|
\advance \@textmin \@textfloatsheight
|
|
\@reqcolroom \@pageht
|
|
\ifdim \@textmin>\@reqcolroom
|
|
\@reqcolroom \@textmin
|
|
\fi
|
|
\advance \@reqcolroom \ht\@currbox
|
|
\ifdim \@colroom>\@reqcolroom
|
|
\@flsetnum \@colnum
|
|
\ifnum \@colnum>\z@
|
|
\@bitor\@currtype\@deferlist
|
|
\@testwrongwidth\@currbox
|
|
\if@test
|
|
\else
|
|
\@bitor\@currtype\@botlist
|
|
\if@test
|
|
\@addtobot
|
|
\else
|
|
\ifodd \count\@currbox
|
|
\advance \@reqcolroom \intextsep
|
|
\ifdim \@colroom>\@reqcolroom
|
|
\global \advance \@colnum \m@ne
|
|
\global \advance \@textfloatsheight \ht\@currbox
|
|
\global \advance \@textfloatsheight 2\intextsep
|
|
\@cons \@midlist \@currbox
|
|
\if@nobreak
|
|
\nobreak
|
|
\@nobreakfalse
|
|
\everypar{}%
|
|
\else
|
|
\addpenalty \interlinepenalty
|
|
\fi
|
|
\vskip \intextsep
|
|
\box\@currbox
|
|
\penalty\interlinepenalty
|
|
\vskip\intextsep
|
|
\ifnum\outputpenalty <-\@Mii \vskip -\parskip\fi
|
|
\outputpenalty \z@
|
|
\@inserttrue
|
|
\fi
|
|
\fi
|
|
\if@insert
|
|
\else
|
|
\@addtotoporbot
|
|
\fi
|
|
\fi
|
|
\fi
|
|
\fi
|
|
\fi
|
|
\fi
|
|
\fi
|
|
\if@insert
|
|
\else
|
|
\@resethfps
|
|
\@cons\@deferlist\@currbox
|
|
\fi
|
|
}%
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\@addtocurcol}{float order in 2-column}%
|
|
\def \@addtocurcol {%
|
|
\@insertfalse
|
|
\@setfloattypecounts
|
|
\ifnum \@fpstype=8
|
|
\else
|
|
\ifnum \@fpstype=24
|
|
\else
|
|
\@flsettextmin
|
|
\advance \@textmin \@textfloatsheight
|
|
\@reqcolroom \@pageht
|
|
\ifdim \@textmin>\@reqcolroom
|
|
\@reqcolroom \@textmin
|
|
\fi
|
|
\advance \@reqcolroom \ht\@currbox
|
|
\ifdim \@colroom>\@reqcolroom
|
|
\@flsetnum \@colnum
|
|
\ifnum \@colnum>\z@
|
|
\@bitor\@currtype\@deferlist
|
|
\if@test
|
|
\else
|
|
\@bitor\@currtype\@botlist
|
|
\if@test
|
|
\@addtobot
|
|
\else
|
|
\ifodd \count\@currbox
|
|
\advance \@reqcolroom \intextsep
|
|
\ifdim \@colroom>\@reqcolroom
|
|
\global \advance \@colnum \m@ne
|
|
\global \advance
|
|
\@textfloatsheight\ht\@currbox
|
|
\global \advance
|
|
\@textfloatsheight 2\intextsep
|
|
\@cons \@midlist \@currbox
|
|
\if@nobreak
|
|
\nobreak
|
|
\@nobreakfalse
|
|
\everypar{}%
|
|
\else
|
|
\addpenalty\interlinepenalty
|
|
\fi
|
|
\vskip \intextsep
|
|
\box\@currbox
|
|
\penalty\interlinepenalty
|
|
\vskip\intextsep
|
|
\ifnum\outputpenalty
|
|
<-\@Mii \vskip
|
|
-\parskip\fi
|
|
\outputpenalty \z@
|
|
\@inserttrue
|
|
\fi
|
|
\fi
|
|
\if@insert
|
|
\else
|
|
\@addtobot
|
|
\fi
|
|
\fi
|
|
\fi
|
|
\fi
|
|
\fi
|
|
\fi
|
|
\fi
|
|
\if@insert
|
|
\else
|
|
\@resethfps
|
|
\@cons\@deferlist\@currbox
|
|
\fi
|
|
}%
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2015/01/01}
|
|
{\@addtonextcol}{float order in 2-column}%
|
|
\def\@addtonextcol{%
|
|
\begingroup
|
|
\@insertfalse
|
|
\@setfloattypecounts
|
|
\ifnum \@fpstype=8
|
|
\else
|
|
\ifnum \@fpstype=24
|
|
\else
|
|
\@flsettextmin
|
|
\@reqcolroom \ht\@currbox
|
|
\advance \@reqcolroom \@textmin
|
|
\ifdim \@colroom>\@reqcolroom
|
|
\@flsetnum \@colnum
|
|
\ifnum\@colnum>\z@
|
|
\@bitor\@currtype\@deferlist
|
|
\@testwrongwidth\@currbox
|
|
\if@test
|
|
\else
|
|
\@addtotoporbot
|
|
\fi
|
|
\fi
|
|
\fi
|
|
\fi
|
|
\fi
|
|
\if@insert
|
|
\else
|
|
\@cons\@deferlist\@currbox
|
|
\fi
|
|
\endgroup
|
|
}%
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\@addtonextcol}{float order in 2-column}%
|
|
\def\@addtonextcol{%
|
|
\begingroup
|
|
\@insertfalse
|
|
\@setfloattypecounts
|
|
\ifnum \@fpstype=8
|
|
\else
|
|
\ifnum \@fpstype=24
|
|
\else
|
|
\@flsettextmin
|
|
\@reqcolroom \ht\@currbox
|
|
\advance \@reqcolroom \@textmin
|
|
\ifdim \@colroom>\@reqcolroom
|
|
\@flsetnum \@colnum
|
|
\ifnum\@colnum>\z@
|
|
\@bitor\@currtype\@deferlist
|
|
\if@test
|
|
\else
|
|
\@addtotoporbot
|
|
\fi
|
|
\fi
|
|
\fi
|
|
\fi
|
|
\fi
|
|
\if@insert
|
|
\else
|
|
\@cons\@deferlist\@currbox
|
|
\fi
|
|
\endgroup
|
|
}%
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2015/01/01}%
|
|
{\@addtodblcol}{float order in 2-column}%
|
|
\def\@addtodblcol{%
|
|
\begingroup
|
|
\@insertfalse
|
|
\@setfloattypecounts
|
|
\@getfpsbit \tw@
|
|
\ifodd\@tempcnta
|
|
\@flsetnum \@dbltopnum
|
|
\ifnum \@dbltopnum>\z@
|
|
\@tempswafalse
|
|
\ifdim \@dbltoproom>\ht\@currbox
|
|
\@tempswatrue
|
|
\else
|
|
\ifnum \@fpstype<\sixt@@n
|
|
\advance \@dbltoproom \@textmin
|
|
\ifdim \@dbltoproom>\ht\@currbox
|
|
\@tempswatrue
|
|
\fi
|
|
\advance \@dbltoproom -\@textmin
|
|
\fi
|
|
\fi
|
|
\if@tempswa
|
|
\@bitor \@currtype \@deferlist
|
|
\@testwrongwidth\@currbox
|
|
\if@test
|
|
\else
|
|
\@tempdima -\ht\@currbox
|
|
\advance\@tempdima
|
|
-\ifx \@dbltoplist\@empty \dbltextfloatsep \else
|
|
\dblfloatsep \fi
|
|
\global \advance \@dbltoproom \@tempdima
|
|
\global \advance \@colht \@tempdima
|
|
\global \advance \@dbltopnum \m@ne
|
|
\@cons \@dbltoplist \@currbox
|
|
\@inserttrue
|
|
\fi
|
|
\fi
|
|
\fi
|
|
\fi
|
|
\if@insert
|
|
\else
|
|
\@cons\@deferlist\@currbox
|
|
\fi
|
|
\endgroup
|
|
}%
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\@addtodblcol}{float order in 2-column}%
|
|
\def\@addtodblcol{%
|
|
\begingroup
|
|
\@insertfalse
|
|
\@setfloattypecounts
|
|
\@getfpsbit \tw@
|
|
\ifodd\@tempcnta
|
|
\@flsetnum \@dbltopnum
|
|
\ifnum \@dbltopnum>\z@
|
|
\@tempswafalse
|
|
\ifdim \@dbltoproom>\ht\@currbox
|
|
\@tempswatrue
|
|
\else
|
|
\ifnum \@fpstype<\sixt@@n
|
|
\advance \@dbltoproom \@textmin
|
|
\ifdim \@dbltoproom>\ht\@currbox
|
|
\@tempswatrue
|
|
\fi
|
|
\advance \@dbltoproom -\@textmin
|
|
\fi
|
|
\fi
|
|
\if@tempswa
|
|
\@bitor \@currtype \@dbldeferlist
|
|
\if@test
|
|
\else
|
|
\@tempdima -\ht\@currbox
|
|
\advance\@tempdima
|
|
-\ifx \@dbltoplist\@empty
|
|
\dbltextfloatsep
|
|
\else \dblfloatsep \fi
|
|
\global \advance \@dbltoproom \@tempdima
|
|
\global \advance \@colht \@tempdima
|
|
\global \advance \@dbltopnum \m@ne
|
|
\@cons \@dbltoplist \@currbox
|
|
\@inserttrue
|
|
\fi
|
|
\fi
|
|
\fi
|
|
\fi
|
|
\if@insert
|
|
\else
|
|
\@cons\@dbldeferlist\@currbox
|
|
\fi
|
|
\endgroup
|
|
}%
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2017/01/01}%
|
|
{\@makefcolumn}{negative height floats}%
|
|
\def\@makefcolumn #1{%
|
|
\begingroup
|
|
\@fpmin -\maxdimen
|
|
\let \@testfp \@gobble
|
|
\@tryfcolumn #1%
|
|
\endgroup
|
|
}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\@makefcolumn}{negative height floats}%
|
|
\def\@makefcolumn #1{%
|
|
\begingroup
|
|
\@fpmin \z@
|
|
\let \@testfp \@gobble
|
|
\@tryfcolumn #1%
|
|
\endgroup
|
|
}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2015/01/01}%
|
|
{\@outputdblcol}{2 column marks}%
|
|
\def\@outputdblcol{%
|
|
\if@firstcolumn
|
|
\global\@firstcolumnfalse
|
|
\global\setbox\@leftcolumn\copy\@outputbox
|
|
\splitmaxdepth\maxdimen
|
|
\vbadness\maxdimen
|
|
\setbox\@outputbox\vbox{\unvbox\@outputbox\unskip}%
|
|
\setbox\@outputbox\vsplit\@outputbox to\maxdimen
|
|
\toks@\expandafter{\topmark}%
|
|
\xdef\@firstcoltopmark{\the\toks@}%
|
|
\toks@\expandafter{\splitfirstmark}%
|
|
\xdef\@firstcolfirstmark{\the\toks@}%
|
|
\ifx\@firstcolfirstmark\@empty
|
|
\global\let\@setmarks\relax
|
|
\else
|
|
\gdef\@setmarks{%
|
|
\let\firstmark\@firstcolfirstmark
|
|
\let\topmark\@firstcoltopmark}%
|
|
\fi
|
|
\else
|
|
\global\@firstcolumntrue
|
|
\setbox\@outputbox\vbox{%
|
|
\hb@xt@\textwidth{%
|
|
\hb@xt@\columnwidth{\box\@leftcolumn \hss}%
|
|
\hfil
|
|
{\normalcolor\vrule \@width\columnseprule}%
|
|
\hfil
|
|
\hb@xt@\columnwidth{\box\@outputbox \hss}}}%
|
|
\@combinedblfloats
|
|
\@setmarks
|
|
\@outputpage
|
|
\begingroup
|
|
\@dblfloatplacement
|
|
\@startdblcolumn
|
|
\@whilesw\if@fcolmade \fi{\@outputpage
|
|
\@startdblcolumn}%
|
|
\endgroup
|
|
\fi}%
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\@outputdblcol}{2 column marks}%
|
|
\def\@outputdblcol{%
|
|
\if@firstcolumn
|
|
\global \@firstcolumnfalse
|
|
\global \setbox\@leftcolumn \box\@outputbox
|
|
\else
|
|
\global \@firstcolumntrue
|
|
\setbox\@outputbox \vbox {%
|
|
\hb@xt@\textwidth {%
|
|
\hb@xt@\columnwidth {%
|
|
\box\@leftcolumn \hss}%
|
|
\hfil
|
|
{\normalcolor\vrule
|
|
\@width\columnseprule}%
|
|
\hfil
|
|
\hb@xt@\columnwidth {%
|
|
\box\@outputbox \hss}%
|
|
}%
|
|
}%
|
|
\@combinedblfloats
|
|
\@outputpage
|
|
\begingroup
|
|
\@dblfloatplacement
|
|
\@startdblcolumn
|
|
\@whilesw\if@fcolmade \fi
|
|
{\@outputpage
|
|
\@startdblcolumn}%
|
|
\endgroup
|
|
\fi
|
|
}%
|
|
\EndIncludeInRelease
|
|
%%% From File: ltclass.dtx
|
|
|
|
\IncludeInRelease{2020/10/01}{\@pushfilename}%
|
|
{Add \@expl@push@filename@@ and \@expl@push@filename@aux@@}%
|
|
\def\@pushfilename{%
|
|
\@expl@push@filename@@
|
|
\xdef\@currnamestack{%
|
|
{\@currname}%
|
|
{\@currext}%
|
|
{\the\catcode`\@}%
|
|
\@currnamestack}%
|
|
\@expl@push@filename@aux@@}
|
|
\EndIncludeInRelease
|
|
|
|
\IncludeInRelease{0000/00/00}{\@pushfilename}%
|
|
{Add \@expl@push@filename@@ and \@expl@push@filename@aux@@}%
|
|
\def\@pushfilename{%
|
|
\xdef\@currnamestack{%
|
|
{\@currname}%
|
|
{\@currext}%
|
|
{\the\catcode`\@}%
|
|
\@currnamestack}}
|
|
\EndIncludeInRelease
|
|
\@onlypreamble\@pushfilename
|
|
|
|
\IncludeInRelease{2020/10/01}{\@popfilename}%
|
|
{Add \@expl@pop@filename@@}%
|
|
\def\@popfilename{\expandafter\@p@pfilename\@currnamestack\@nil
|
|
\@expl@pop@filename@@}
|
|
\EndIncludeInRelease
|
|
|
|
\IncludeInRelease{0000/00/00}{\@pushfilename}%
|
|
{Add \@expl@push@filename@@ and \@expl@push@filename@aux@@}%
|
|
\def\@popfilename{\expandafter\@p@pfilename\@currnamestack\@nil}
|
|
\EndIncludeInRelease
|
|
\@onlypreamble\@popfilename
|
|
\IncludeInRelease{2020/10/01}%
|
|
{\IfFormatAtLeastTF}{Test format date}%
|
|
\def\IfFormatAtLeastTF{\@ifl@t@r\fmtversion}
|
|
\let\IfPackageAtLeastTF\@ifpackagelater
|
|
\let\IfClassAtLeastTF\@ifclasslater
|
|
\@onlypreamble\IfFormatAtLeastTF
|
|
\@onlypreamble\IfPackageAtLeastTF
|
|
\@onlypreamble\IfClassAtLeastTF
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\IfFormatAtLeastTF}{Test format date}%
|
|
\def\IfFormatAtLeastTF{\@ifl@t@r\fmtversion}
|
|
\let\IfPackageAtLeastTF\@ifpackagelater
|
|
\let\IfClassAtLeastTF\@ifclasslater
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2018/04/01}%
|
|
{\@ifl@t@r}{Guard against bad input}%
|
|
\def\@ifl@t@r#1#2{%
|
|
\ifnum\expandafter\@parse@version@#1//00\@nil<%
|
|
\expandafter\@parse@version@#2//00\@nil
|
|
\expandafter\@secondoftwo
|
|
\else
|
|
\expandafter\@firstoftwo
|
|
\fi}
|
|
\def\@parse@version@#1{\@parse@version0#1}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\@ifl@t@r}{Guard against bad input}%
|
|
\def\@ifl@t@r#1#2{%
|
|
\ifnum\expandafter\@parse@version#1//00\@nil<%
|
|
\expandafter\@parse@version#2//00\@nil
|
|
\expandafter\@secondoftwo
|
|
\else
|
|
\expandafter\@firstoftwo
|
|
\fi}
|
|
\let\@parse@version@\@undefined
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2017/01/01}%
|
|
{\@if@pti@ns}{Spaces in option clash check}%
|
|
\def\@if@pti@ns#1#2{%
|
|
\let\reserved@a\@firstoftwo
|
|
\edef\reserved@b{\zap@space#2 \@empty}%
|
|
\@for\reserved@b:=\reserved@b\do{%
|
|
\ifx\reserved@b\@empty
|
|
\else
|
|
\expandafter\in@\expandafter{\expandafter,\reserved@b,}{,#1,}%
|
|
\ifin@
|
|
\else
|
|
\let\reserved@a\@secondoftwo
|
|
\fi
|
|
\fi
|
|
}%
|
|
\reserved@a}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\@if@pti@ns}{Spaces in option clash check}%
|
|
\def\@if@pti@ns#1#2{%
|
|
\let\reserved@a\@firstoftwo
|
|
\@for\reserved@b:=#2\do{%
|
|
\ifx\reserved@b\@empty
|
|
\else
|
|
\expandafter\in@\expandafter
|
|
{\expandafter,\reserved@b,}{,#1,}%
|
|
\ifin@
|
|
\else
|
|
\let\reserved@a\@secondoftwo
|
|
\fi
|
|
\fi
|
|
}%
|
|
\reserved@a}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2020/02/02}%
|
|
{\@pr@videpackage}{Protection for package info}%
|
|
\def\@pr@videpackage[#1]{%
|
|
\expandafter\protected@xdef % <-- protected...
|
|
\csname ver@\@currname.\@currext\endcsname{#1}%
|
|
\ifx\@currext\@clsextension
|
|
\typeout{Document Class: \@gtempa\space#1}%
|
|
\else
|
|
\protected@wlog{Package: \@gtempa\space#1}% <--- protected
|
|
\fi}
|
|
\long\def\protected@wlog#1{\begingroup
|
|
\set@display@protect
|
|
\immediate \write \m@ne {#1}\endgroup }
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\@pr@videpackage}{Protection for package info}%
|
|
|
|
\def\@pr@videpackage[#1]{%
|
|
\expandafter\xdef\csname ver@\@currname.\@currext\endcsname{#1}%
|
|
\ifx\@currext\@clsextension
|
|
\typeout{Document Class: \@gtempa\space#1}%
|
|
\else
|
|
\wlog{Package: \@gtempa\space#1}%
|
|
\fi}
|
|
\let\protected@wlog\@undefined
|
|
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2020/10/01}%
|
|
{\@process@pti@ns}{Unused options issue}%
|
|
\def\@process@pti@ns{%
|
|
\@for\CurrentOption:=\@curroptions\do{%
|
|
\@ifundefined{ds@\CurrentOption}%
|
|
{\@use@ption
|
|
\default@ds}%
|
|
\@use@ption}%
|
|
\@for\CurrentOption:=\@declaredoptions\do{%
|
|
\expandafter\let\csname ds@\CurrentOption\endcsname\relax}%
|
|
\let\CurrentOption\@empty
|
|
\let\@fileswith@pti@ns\@@fileswith@pti@ns
|
|
\AtEndOfPackage{\expandafter\let
|
|
\csname unprocessedoptions-\@currname.\@currext\endcsname
|
|
\relax}}
|
|
\@onlypreamble\@process@pti@ns
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\@process@pti@ns}{Unused options issue}%
|
|
|
|
\def\@process@pti@ns{%
|
|
\@for\CurrentOption:=\@curroptions\do{%
|
|
\@ifundefined{ds@\CurrentOption}%
|
|
{\@use@ption
|
|
\default@ds}%
|
|
\@use@ption}%
|
|
\@for\CurrentOption:=\@declaredoptions\do{%
|
|
\expandafter\let\csname ds@\CurrentOption\endcsname\relax}%
|
|
\let\CurrentOption\@empty
|
|
\let\@fileswith@pti@ns\@@fileswith@pti@ns
|
|
\AtEndOfPackage{\let\@unprocessedoptions\relax}}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2017/01/01}%
|
|
{\ExecuteOptions}{Spaces in \ExecuteOptions}%
|
|
\def\ExecuteOptions#1{%
|
|
\edef\@fortmp{\zap@space#1 \@empty}%
|
|
\def\reserved@a##1\@nil{%
|
|
\@for\CurrentOption:=\@fortmp\do
|
|
{\csname ds@\CurrentOption\endcsname}%
|
|
\edef\CurrentOption{##1}}%
|
|
\expandafter\reserved@a\CurrentOption\@nil}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\ExecuteOptions}{Spaces in \ExecuteOptions}%
|
|
\def\ExecuteOptions#1{%
|
|
\def\reserved@a##1\@nil{%
|
|
\@for\CurrentOption:=#1\do
|
|
{\csname ds@\CurrentOption\endcsname}%
|
|
\edef\CurrentOption{##1}}%
|
|
\expandafter\reserved@a\CurrentOption\@nil}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2020/10/01}%
|
|
{\RequirePackageWithOptions}{Unused options issue}%
|
|
\def\RequirePackageWithOptions{%
|
|
\AtEndOfPackage{\expandafter\let
|
|
\csname unprocessedoptions-\@currname.\@currext\endcsname
|
|
\relax}%
|
|
\@loadwithoptions\@pkgextension\RequirePackage}
|
|
\@onlypreamble\RequirePackageWithOptions
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\RequirePackageWithOptions}{Unused options issue}%
|
|
|
|
\def\RequirePackageWithOptions{%
|
|
\AtEndOfPackage{\let\@unprocessedoptions\relax}%
|
|
\@loadwithoptions\@pkgextension\RequirePackage}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2017/01/01}%
|
|
{\@fileswith@pti@ns}{ifx tests in \@fileswith@pti@ns}%
|
|
\def\@fileswith@pti@ns#1[#2]#3[#4]{%
|
|
\ifx#1\@clsextension
|
|
\ifx\@classoptionslist\relax
|
|
\xdef\@classoptionslist{\zap@space#2 \@empty}%
|
|
\def\reserved@a{%
|
|
\@onefilewithoptions#3[{#2}][{#4}]#1%
|
|
\@documentclasshook}%
|
|
\else
|
|
\def\reserved@a{%
|
|
\@onefilewithoptions#3[{#2}][{#4}]#1}%
|
|
\fi
|
|
\else
|
|
\def\reserved@b##1,{%
|
|
\ifx\@nnil##1\relax\else
|
|
\ifx\@nnil##1\@nnil\else
|
|
\noexpand\@onefilewithoptions##1[{#2}][{#4}]%
|
|
\noexpand\@pkgextension
|
|
\fi
|
|
\expandafter\reserved@b
|
|
\fi}%
|
|
\edef\reserved@a{\zap@space#3 \@empty}%
|
|
\edef\reserved@a{\expandafter\reserved@b\reserved@a,\@nnil,}%
|
|
\fi
|
|
\reserved@a}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\@fileswith@pti@ns}{ifx tests in \@fileswith@pti@ns}%
|
|
\def\@fileswith@pti@ns#1[#2]#3[#4]{%
|
|
\ifx#1\@clsextension
|
|
\ifx\@classoptionslist\relax
|
|
\xdef\@classoptionslist{\zap@space#2 \@empty}%
|
|
\def\reserved@a{%
|
|
\@onefilewithoptions#3[{#2}][{#4}]#1%
|
|
\@documentclasshook}%
|
|
\else
|
|
\def\reserved@a{%
|
|
\@onefilewithoptions#3[{#2}][{#4}]#1}%
|
|
\fi
|
|
\else
|
|
\def\reserved@b##1,{%
|
|
\ifx\@nil##1\relax\else
|
|
\ifx\relax##1\relax\else
|
|
\noexpand\@onefilewithoptions##1[{#2}][{#4}]%
|
|
\noexpand\@pkgextension
|
|
\fi
|
|
\expandafter\reserved@b
|
|
\fi}%
|
|
\edef\reserved@a{\zap@space#3 \@empty}%
|
|
\edef\reserved@a{%
|
|
\expandafter\reserved@b\reserved@a,\@nil,}%
|
|
\fi
|
|
\reserved@a}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2020/10/01}%
|
|
{\@onefilewithoptions}{Unused options issue}%
|
|
\def\@onefilewithoptions#1[#2][#3]#4{%
|
|
\@pushfilename
|
|
\xdef\@currname{#1}%
|
|
\global\let\@currext#4%
|
|
\let\CurrentOption\@empty
|
|
\@reset@ptions
|
|
\makeatletter
|
|
\def\reserved@a{%
|
|
\@ifl@aded\@currext{#1}%
|
|
{\@if@ptions\@currext{#1}{#2}{}%
|
|
{\@latex@error
|
|
{Option clash for \@cls@pkg\space #1}%
|
|
{The package #1 has already been loaded
|
|
with options:\MessageBreak
|
|
\space\space[\@ptionlist{#1.\@currext}]\MessageBreak
|
|
There has now been an attempt to load it
|
|
with options\MessageBreak
|
|
\space\space[#2]\MessageBreak
|
|
Adding the global options:\MessageBreak
|
|
\space\space
|
|
\@ptionlist{#1.\@currext},#2\MessageBreak
|
|
to your \noexpand\documentclass declaration may fix this.%
|
|
\MessageBreak
|
|
Try typing \space <return> \space to proceed.}}}%
|
|
{\@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}%
|
|
{}%
|
|
{\@missingfileerror\@currname\@currext}%
|
|
\expandafter\let\csname unprocessedoptions-\@currname.\@currext\endcsname
|
|
\@@unprocessedoptions
|
|
\csname\@currname.\@currext-h@@k\endcsname
|
|
\expandafter\let\csname\@currname.\@currext-h@@k\endcsname
|
|
\@undefined
|
|
\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,
|
|
version\MessageBreak
|
|
`#3' of \@cls@pkg\space #1,\MessageBreak
|
|
but only version\MessageBreak
|
|
`\csname ver@#1.\@currext\endcsname'\MessageBreak
|
|
is available}}%
|
|
\ifx\@currext\@clsextension\let\LoadClass\@twoloadclasserror\fi
|
|
\@popfilename
|
|
\@reset@ptions}%
|
|
\reserved@a}
|
|
\@onlypreamble\@onefilewithoptions
|
|
\let\@unprocessedoptions\@undefined
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\@onefilewithoptions}{Unused options issue}%
|
|
|
|
\def\load@onefilewithoptions#1[#2][#3]#4{%
|
|
\@pushfilename
|
|
\xdef\@currname{#1}%
|
|
\global\let\@currext#4%
|
|
\let\CurrentOption\@empty
|
|
\@reset@ptions
|
|
\makeatletter
|
|
\def\reserved@a{%
|
|
\@ifl@aded\@currext{#1}%
|
|
{\@if@ptions\@currext{#1}{#2}{}%
|
|
{\@latex@error
|
|
{Option clash for \@cls@pkg\space #1}%
|
|
{The package #1 has already been loaded
|
|
with options:\MessageBreak
|
|
\space\space[\@ptionlist{#1.\@currext}]\MessageBreak
|
|
There has now been an attempt to load it
|
|
with options\MessageBreak
|
|
\space\space[#2]\MessageBreak
|
|
Adding the global options:\MessageBreak
|
|
\space\space
|
|
\@ptionlist{#1.\@currext},#2\MessageBreak
|
|
to your \noexpand\documentclass declaration may fix this.%
|
|
\MessageBreak
|
|
Try typing \space <return> \space to proceed.}}}%
|
|
{\@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}%
|
|
{}%
|
|
{\@missingfileerror\@currname\@currext}%
|
|
\let\@unprocessedoptions\@@unprocessedoptions
|
|
\csname\@currname.\@currext-h@@k\endcsname
|
|
\expandafter\let\csname\@currname.\@currext-h@@k\endcsname
|
|
\@undefined
|
|
\@unprocessedoptions}%
|
|
\@ifl@ter\@currext{#1}{#3}{}%
|
|
{\@latex@warning@no@line
|
|
{You have requested,\on@line,
|
|
version\MessageBreak
|
|
`#3' of \@cls@pkg\space #1,\MessageBreak
|
|
but only version\MessageBreak
|
|
`\csname ver@#1.\@currext\endcsname'\MessageBreak
|
|
is available}}%
|
|
\ifx\@currext\@clsextension\let\LoadClass\@twoloadclasserror\fi
|
|
\@popfilename
|
|
\@reset@ptions}%
|
|
\reserved@a}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2019/10/01}%
|
|
{\filec@ntents}{Spaces in file names + optional arg}%
|
|
\def\filecontents{\@tempswatrue\@fileswtrue
|
|
\@ifnextchar[\filec@ntents@opt\filec@ntents
|
|
}
|
|
\@namedef{filecontents*}{\@tempswafalse\@fileswtrue
|
|
\@ifnextchar[\filec@ntents@opt\filec@ntents
|
|
}
|
|
\def\filec@ntents@opt[#1]{%
|
|
\edef\@fortmp{\zap@space#1 \@empty}%
|
|
\@for\reserved@a:=\@fortmp\do{%
|
|
\ifcsname filec@ntents@\reserved@a\endcsname
|
|
\csname filec@ntents@\reserved@a\endcsname
|
|
\else
|
|
\@latex@error{Unknown filecontents option \reserved@a}%
|
|
{Valid options are force (or overwrite), nosearch, noheader}%
|
|
\fi}%
|
|
\filec@ntents
|
|
}
|
|
\let\filec@ntents@force\@fileswfalse
|
|
\let\filec@ntents@overwrite\@fileswfalse % alternative name
|
|
\let\filec@ntents@noheader\@tempswafalse
|
|
\def\filec@ntents@nosearch{%
|
|
\let\filec@ntents@checkdir\@currdir
|
|
\def\filec@ntents@where{in current directory}}
|
|
\let\filec@ntents@checkdir\@empty
|
|
\def\filec@ntents@where{exists on the system}
|
|
\begingroup%
|
|
\@tempcnta=1
|
|
\loop
|
|
\catcode\@tempcnta=12 %
|
|
\advance\@tempcnta\@ne %
|
|
\ifnum\@tempcnta<32 %
|
|
\repeat %
|
|
\catcode`\*=11 %
|
|
\catcode`\^^M\active%
|
|
\catcode`\^^L\active\let^^L\relax%
|
|
\catcode`\^^I\active%
|
|
\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'}%
|
|
\ch@ck7\reserved@c\write\relax%
|
|
\immediate\openout\reserved@c\q@curr@file\relax%
|
|
\else%
|
|
\if@filesw%
|
|
\@latex@warning@no@line%
|
|
{File `\@curr@file' already \filec@ntents@where.\MessageBreak%
|
|
Not generating it from this source}%
|
|
\let\write\@gobbletwo%
|
|
\let\closeout\@gobble%
|
|
\else%
|
|
\edef\reserved@a{#1}%
|
|
\edef\reserved@a{\detokenize\expandafter{\reserved@a}}%
|
|
\edef\reserved@b{\detokenize\expandafter{\jobname}}%
|
|
\ifx\reserved@a\reserved@b%
|
|
\@fileswtrue%
|
|
\else%
|
|
\edef\reserved@b{\reserved@b\detokenize{.tex}}%
|
|
\ifx\reserved@a\reserved@b
|
|
\@fileswtrue%
|
|
\fi%
|
|
\fi%
|
|
\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 are reading from!\MessageBreak%
|
|
Data is written to screen instead.}%
|
|
\else%
|
|
\@latex@warning@no@line%
|
|
{Writing or overwriting file `\@currdir\@curr@file'}%
|
|
\immediate\openout\reserved@c\q@curr@file\relax%
|
|
\fi%
|
|
\fi%
|
|
\fi%
|
|
\closein\@inputcheck%
|
|
\if@tempswa%
|
|
\immediate\write\reserved@c{%
|
|
\@percentchar\@percentchar\space%
|
|
\expandafter\@gobble\string\LaTeX2e file `\@curr@file'^^J%
|
|
\@percentchar\@percentchar\space generated by the %
|
|
`\@currenvir' \expandafter\@gobblefour\string\newenvironment^^J%
|
|
\@percentchar\@percentchar\space from source `\jobname' on %
|
|
\number\year/\two@digits\month/\two@digits\day.^^J%
|
|
\@percentchar\@percentchar}%
|
|
\fi%
|
|
\let\do\@makeother\dospecials%
|
|
\count@ 128\relax%
|
|
\loop%
|
|
\catcode\count@ 11\relax%
|
|
\advance\count@ \@ne%
|
|
\ifnum\count@<\@cclvi%
|
|
\repeat%
|
|
\edef\E{\@backslashchar end\string{\@currenvir\string}}%
|
|
\edef\reserved@b{%
|
|
\def\noexpand\reserved@b%
|
|
####1\E####2\E####3\relax}%
|
|
\reserved@b{%
|
|
\ifx\relax##3\relax%
|
|
\immediate\write\reserved@c{##1}%
|
|
\else%
|
|
\edef^^M{\noexpand\end{\@currenvir}}%
|
|
\ifx\relax##1\relax%
|
|
\else%
|
|
\@latex@warning{Writing text `##1' before %
|
|
\string\end{\@currenvir}\MessageBreak as last line of \@curr@file}%
|
|
\immediate\write\reserved@c{##1}%
|
|
\fi%
|
|
\ifx\relax##2\relax%
|
|
\else%
|
|
\@latex@warning{%
|
|
Ignoring text `##2' after \string\end{\@currenvir}}%
|
|
\fi%
|
|
\fi%
|
|
^^M}%
|
|
\catcode`\^^L\active%
|
|
\let\L\@undefined%
|
|
\def^^L{\expandafter\ifx\csname L\endcsname\relax\fi ^^J^^J}%
|
|
\catcode`\^^I\active%
|
|
\let\I\@undefined%
|
|
\def^^I{\expandafter\ifx\csname I\endcsname\relax\fi\space}%
|
|
\catcode`\^^M\active%
|
|
\edef^^M##1^^M{%
|
|
\noexpand\reserved@b##1\E\E\relax}}%
|
|
\endgroup%
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\filec@ntents}{Spaces in file names + optional arg}%
|
|
|
|
\let\filec@ntents@opt \@undefined
|
|
\let\filec@ntents@force \@undefined
|
|
\let\filec@ntents@overwrite \@undefined
|
|
\let\filec@ntents@noheader \@undefined
|
|
\let\filec@ntents@nosearch \@undefined
|
|
\let\filec@ntents@checkdir \@undefined
|
|
\let\filec@ntents@where \@undefined
|
|
|
|
\begingroup%
|
|
\@tempcnta=1
|
|
\loop
|
|
\catcode\@tempcnta=12 %
|
|
\advance\@tempcnta\@ne %
|
|
\ifnum\@tempcnta<32 %
|
|
\repeat %
|
|
\catcode`\*=11 %
|
|
\catcode`\^^M\active%
|
|
\catcode`\^^L\active\let^^L\relax%
|
|
\catcode`\^^I\active%
|
|
|
|
\gdef\filec@ntents#1{%
|
|
\openin\@inputcheck#1 %
|
|
\ifeof\@inputcheck%
|
|
\@latex@warning@no@line%
|
|
{Writing file `\@currdir#1'}%
|
|
\chardef\reserved@c15 %
|
|
\ch@ck7\reserved@c\write%
|
|
\immediate\openout\reserved@c#1\relax%
|
|
\else%
|
|
\closein\@inputcheck%
|
|
\@latex@warning@no@line%
|
|
{File `#1' already exists on the system.\MessageBreak%
|
|
Not generating it from this source}%
|
|
\let\write\@gobbletwo%
|
|
\let\closeout\@gobble%
|
|
\fi%
|
|
\if@tempswa%
|
|
\immediate\write\reserved@c{%
|
|
\@percentchar\@percentchar\space%
|
|
\expandafter\@gobble\string\LaTeX2e file `#1'^^J%
|
|
\@percentchar\@percentchar\space generated by the %
|
|
`\@currenvir' \expandafter\@gobblefour\string\newenvironment^^J%
|
|
\@percentchar\@percentchar\space from source `\jobname' on %
|
|
\number\year/\two@digits\month/\two@digits\day.^^J%
|
|
\@percentchar\@percentchar}%
|
|
\fi%
|
|
\let\do\@makeother\dospecials%
|
|
\count@ 128\relax%
|
|
\loop%
|
|
\catcode\count@ 11\relax%
|
|
\advance\count@ \@ne%
|
|
\ifnum\count@<\@cclvi%
|
|
\repeat%
|
|
\edef\E{\@backslashchar end\string{\@currenvir\string}}%
|
|
\edef\reserved@b{%
|
|
\def\noexpand\reserved@b%
|
|
####1\E####2\E####3\relax}%
|
|
\reserved@b{%
|
|
\ifx\relax##3\relax%
|
|
\immediate\write\reserved@c{##1}%
|
|
\else%
|
|
\edef^^M{\noexpand\end{\@currenvir}}%
|
|
\ifx\relax##1\relax%
|
|
\else%
|
|
\@latex@warning{Writing text `##1' before %
|
|
\string\end{\@currenvir}\MessageBreak as last line of #1}%
|
|
\immediate\write\reserved@c{##1}%
|
|
\fi%
|
|
\ifx\relax##2\relax%
|
|
\else%
|
|
\@latex@warning{%
|
|
Ignoring text `##2' after \string\end{\@currenvir}}%
|
|
\fi%
|
|
\fi%
|
|
^^M}%
|
|
|
|
\catcode`\^^L\active%
|
|
\let\L\@undefined%
|
|
\def^^L{\expandafter\ifx\csname L\endcsname\relax\fi ^^J^^J}%
|
|
\catcode`\^^I\active%
|
|
\let\I\@undefined%
|
|
\def^^I{\expandafter\ifx\csname I\endcsname\relax\fi\space}%
|
|
\catcode`\^^M\active%
|
|
\edef^^M##1^^M{%
|
|
\noexpand\reserved@b##1\E\E\relax}}%
|
|
\endgroup%
|
|
\EndIncludeInRelease
|
|
%%% From File: ltspace.dtx
|
|
\IncludeInRelease{2019/10/01}%
|
|
{\pagebreak}{Make commands robust}%
|
|
\DeclareRobustCommand\pagebreak{\@testopt{\@no@pgbk-}4}
|
|
\DeclareRobustCommand\nopagebreak{\@testopt\@no@pgbk4}
|
|
\DeclareRobustCommand\linebreak{\@testopt{\@no@lnbk-}4}
|
|
\DeclareRobustCommand\nolinebreak{\@testopt\@no@lnbk4}
|
|
\DeclareRobustCommand\samepage{\interlinepenalty\@M
|
|
\postdisplaypenalty\@M
|
|
\interdisplaylinepenalty\@M
|
|
\@beginparpenalty\@M
|
|
\@endparpenalty\@M
|
|
\@itempenalty\@M
|
|
\@secpenalty\@M
|
|
\interfootnotelinepenalty\@M}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\pagebreak}{Make commands robust}%
|
|
|
|
\kernel@make@fragile\pagebreak
|
|
\kernel@make@fragile\nopagebreak
|
|
\kernel@make@fragile\linebreak
|
|
\kernel@make@fragile\nolinebreak
|
|
\kernel@make@fragile\samepage
|
|
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2020/02/02}%
|
|
{\@normalcr}{Make robust}%
|
|
\protected\def\@normalcr{%
|
|
\let \reserved@e \relax
|
|
\let \reserved@f \relax
|
|
\@ifstar{\let \reserved@e \vadjust \let \reserved@f \nobreak
|
|
\@xnewline}%
|
|
\@xnewline}
|
|
\let\\\@normalcr
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\@normalcr}{Make robust}%
|
|
|
|
\DeclareRobustCommand\\{%
|
|
\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
|
|
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2020/10/01}%
|
|
{\@vspace@calcify}{Add calc support}%
|
|
\def\@vspace@calcify#1{\begingroup\setlength\skip@{#1}\vskip\skip@\endgroup}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\@vspace@calcify}{Add calc support}%
|
|
|
|
\let\@vspace@calcify\@undefined
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2020/10/01}%
|
|
{\@newline}{\newline calc support}%
|
|
\def\@newline[#1]{\let \reserved@e \vadjust
|
|
\@gnewline {\@vspace@calcify{#1}}}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\@newline}{\newline calc support}%
|
|
|
|
\def\@newline[#1]{\let \reserved@e \vadjust
|
|
\@gnewline {\vskip #1}}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2018/10/10}%
|
|
{\@esphack}{hyphenation and nobreak after space hack}%
|
|
\def\@esphack{%
|
|
\relax
|
|
\ifhmode
|
|
\spacefactor\@savsf
|
|
\ifdim\@savsk>\z@
|
|
\ifdim\lastskip=\z@
|
|
\nobreak \hskip\z@skip
|
|
\fi
|
|
\ignorespaces
|
|
\fi
|
|
\else
|
|
\ifvmode
|
|
\if@nobreak\nobreak\else\if@noskipsec\nobreak\fi\fi
|
|
\fi
|
|
\fi}%
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2015/10/01}%
|
|
{\@esphack}{hyphenation and nobreak after space hack}%
|
|
\def\@esphack{%
|
|
\relax
|
|
\ifhmode
|
|
\spacefactor\@savsf
|
|
\ifdim\@savsk>\z@
|
|
\ifdim\lastskip=\z@
|
|
\nobreak \hskip\z@skip
|
|
\fi
|
|
\ignorespaces
|
|
\fi
|
|
\fi}%
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2015/01/01}%
|
|
{\@esphack}{hyphenation and nobreak after space hack}%
|
|
\def\@esphack{%
|
|
\relax
|
|
\ifhmode
|
|
\spacefactor\@savsf
|
|
\ifdim\@savsk>\z@
|
|
\nobreak \hskip\z@skip
|
|
\ignorespaces
|
|
\fi
|
|
\fi}%
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\@esphack}{hyphenation and nobreak after space hack}%
|
|
\def\@esphack{%
|
|
\relax
|
|
\ifhmode
|
|
\spacefactor\@savsf
|
|
\ifdim\@savsk>\z@
|
|
\ignorespaces
|
|
\fi
|
|
\fi}%
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2015/01/01}%
|
|
{\@Esphack}{hyphenation after space hack}%
|
|
\def\@Esphack{%
|
|
\relax
|
|
\ifhmode
|
|
\spacefactor\@savsf
|
|
\ifdim\@savsk>\z@
|
|
\nobreak \hskip\z@skip
|
|
\@ignoretrue
|
|
\ignorespaces
|
|
\fi
|
|
\fi}%
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\@Esphack}{hyphenation after space hack}%
|
|
\def\@Esphack{%
|
|
\relax
|
|
\ifhmode
|
|
\spacefactor\@savsf
|
|
\ifdim\@savsk>\z@
|
|
\@ignoretrue
|
|
\ignorespaces
|
|
\fi
|
|
\fi}%
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2020/10/01}%
|
|
{\addvspace}{\addvspace calc support}%
|
|
\def\addvspace#1{%
|
|
\ifvmode
|
|
\if@minipage\else
|
|
\ifdim \lastskip =\z@
|
|
\@vspace@calcify{#1}%
|
|
\else
|
|
\setlength\@tempskipb{#1}%
|
|
\@xaddvskip
|
|
\fi
|
|
\fi
|
|
\else
|
|
\@noitemerr
|
|
\fi}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\addvspace}{\addvspace calc support}%
|
|
|
|
\def\addvspace#1{%
|
|
\ifvmode
|
|
\if@minipage\else
|
|
\ifdim \lastskip =\z@
|
|
\vskip #1\relax
|
|
\else
|
|
\@tempskipb#1\relax
|
|
\@xaddvskip
|
|
\fi
|
|
\fi
|
|
\else
|
|
\@noitemerr
|
|
\fi}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2015/01/01}%
|
|
{\addpenalty}{\addpenalty}%
|
|
\def\addpenalty#1{%
|
|
\ifvmode
|
|
\if@minipage
|
|
\else
|
|
\if@nobreak
|
|
\else
|
|
\ifdim\lastskip=\z@
|
|
\penalty#1\relax
|
|
\else
|
|
\@tempskipb\lastskip
|
|
\begingroup
|
|
\@tempskipa\@tempskipb
|
|
\advance \@tempskipb
|
|
\ifdim\prevdepth>\maxdepth\maxdepth\else
|
|
\ifdim \prevdepth = -\@m\p@ \z@ \else \prevdepth \fi
|
|
\fi
|
|
\vskip -\@tempskipb
|
|
\penalty#1%
|
|
\ifdim\@tempskipa=\@tempskipb
|
|
\else
|
|
\advance\@tempskipb -\@tempskipa
|
|
\vskip \@tempskipb
|
|
\fi
|
|
\vskip \@tempskipa
|
|
\endgroup
|
|
\fi
|
|
\fi
|
|
\fi
|
|
\else
|
|
\@noitemerr
|
|
\fi}%
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\addpenalty}{\addpenalty}%
|
|
\def\addpenalty#1{%
|
|
\ifvmode
|
|
\if@minipage
|
|
\else
|
|
\if@nobreak
|
|
\else
|
|
\ifdim\lastskip=\z@
|
|
\penalty#1\relax
|
|
\else
|
|
\@tempskipb\lastskip
|
|
\vskip -\lastskip
|
|
\penalty#1%
|
|
\vskip\@tempskipb
|
|
\fi
|
|
\fi
|
|
\fi
|
|
\else
|
|
\@noitemerr
|
|
\fi}%
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2020/10/01}%
|
|
{\@vspace}{Support calc in \vspace}%
|
|
\def\@vspace #1{%
|
|
\ifvmode
|
|
\@vspace@calcify{#1}%
|
|
\vskip\z@skip
|
|
\else
|
|
\@bsphack
|
|
\vadjust{\@restorepar
|
|
\@vspace@calcify{#1}%
|
|
\vskip\z@skip
|
|
}%
|
|
\@esphack
|
|
\fi}
|
|
\def\@vspacer#1{%
|
|
\ifvmode
|
|
\dimen@\prevdepth
|
|
\hrule \@height\z@
|
|
\nobreak
|
|
\@vspace@calcify{#1}%
|
|
\vskip\z@skip
|
|
\prevdepth\dimen@
|
|
\else
|
|
\@bsphack
|
|
\vadjust{\@restorepar
|
|
\hrule \@height\z@
|
|
\nobreak
|
|
\@vspace@calcify{#1}%
|
|
\vskip\z@skip}%
|
|
\@esphack
|
|
\fi}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\@vspace}{Support calc in \vspace}%
|
|
|
|
\def\@vspace #1{%
|
|
\ifvmode
|
|
\vskip #1
|
|
\vskip\z@skip
|
|
\else
|
|
\@bsphack
|
|
\vadjust{\@restorepar
|
|
\vskip #1
|
|
\vskip\z@skip
|
|
}%
|
|
\@esphack
|
|
\fi}
|
|
\def\@vspacer#1{%
|
|
\ifvmode
|
|
\dimen@\prevdepth
|
|
\hrule \@height\z@
|
|
\nobreak
|
|
\vskip #1
|
|
\vskip\z@skip
|
|
\prevdepth\dimen@
|
|
\else
|
|
\@bsphack
|
|
\vadjust{\@restorepar
|
|
\hrule \@height\z@
|
|
\nobreak
|
|
\vskip #1
|
|
\vskip\z@skip}%
|
|
\@esphack
|
|
\fi}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2015/01/01}%
|
|
{\@}{Space after \@}%
|
|
\def\@{\spacefactor\@m{}}%
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\@}{Space after \@}%
|
|
\def\@{\spacefactor\@m}%
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2020/10/01}%
|
|
{\@hspace}{Support calc with \hspace}%
|
|
\def\@hspace#1{\begingroup\setlength\skip@{#1}\hskip\skip@\endgroup}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\@hspace}{Support calc with \hspace}%
|
|
|
|
|
|
\def\@hspace#1{\hskip #1\relax}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2018/12/01}%
|
|
{\thinspace}{Start LR-mode}%
|
|
\DeclareRobustCommand\enspace{\leavevmode@ifvmode\kern.5em }
|
|
\protected\def\leavevmode@ifvmode{\ifvmode\expandafter\indent\fi}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\thinspace}{Start LR-mode}%
|
|
\def\thinspace{\kern .16667em }
|
|
\def\negthinspace{\kern-.16667em }
|
|
\def\enspace{\kern.5em }
|
|
\let\leavevmode@ifvmode\@undefined
|
|
\EndIncludeInRelease
|
|
%%% From File: ltlogos.dtx
|
|
%%% From File: ltplain.dtx
|
|
\IncludeInRelease{2015/01/01}%
|
|
{\newcount}{Extended Allocation}%
|
|
\def\newcount {\e@alloc\count \countdef {\count10}\insc@unt\float@count}
|
|
\def\newdimen {\e@alloc\dimen \dimendef {\count11}\insc@unt\float@count}
|
|
\def\newskip {\e@alloc\skip \skipdef {\count12}\insc@unt\float@count}
|
|
\def\newmuskip
|
|
{\e@alloc\muskip\muskipdef{\count13}\m@ne\e@alloc@top}
|
|
\def\newbox {\e@alloc\box
|
|
{\ifnum\allocationnumber<\@cclvi
|
|
\expandafter\chardef
|
|
\else
|
|
\expandafter\e@alloc@chardef
|
|
\fi}
|
|
{\count14}\insc@unt\float@count}
|
|
\def\newtoks {\e@alloc\toks \toksdef{\count15}\m@ne\e@alloc@top}
|
|
\def\newread {\e@alloc\read \chardef{\count16}\m@ne\sixt@@n}
|
|
\ifx\directlua\@undefined
|
|
\def\newwrite {\e@alloc\write \chardef{\count17}\m@ne\sixt@@n}
|
|
\else
|
|
\def\newwrite {\e@alloc\write
|
|
{\ifnum\allocationnumber=18
|
|
\advance\count17\@ne
|
|
\allocationnumber\count17 %
|
|
\fi
|
|
\global\chardef}%
|
|
{\count17}%
|
|
\m@ne
|
|
{128}}
|
|
\fi
|
|
\def\new@mathgroup
|
|
{\e@alloc\mathgroup\chardef{\count18}\m@ne\e@mathgroup@top}
|
|
\let\newfam\new@mathgroup
|
|
\ifx\directlua\@undefined
|
|
\def\newlanguage {\e@alloc\language \chardef{\count19}\m@ne\@cclvi}
|
|
\else
|
|
\def\newlanguage {\e@alloc\language \chardef{\count19}\m@ne{16384}}
|
|
\fi
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\newcount}{Extended Allocation}%
|
|
\def\newcount{\alloc@0\count\countdef\insc@unt}
|
|
\def\newdimen{\alloc@1\dimen\dimendef\insc@unt}
|
|
\def\newskip{\alloc@2\skip\skipdef\insc@unt}
|
|
\def\newmuskip{\alloc@3\muskip\muskipdef\@cclvi}
|
|
\def\newbox{\alloc@4\box\chardef\insc@unt}
|
|
\def\newtoks{\alloc@5\toks\toksdef\@cclvi}
|
|
\def\newread{\alloc@6\read\chardef\sixt@@n}
|
|
\def\newwrite{\alloc@7\write\chardef\sixt@@n}
|
|
\def\new@mathgroup{\alloc@8\fam\chardef\sixt@@n}
|
|
\def\newlanguage{\alloc@9\language\chardef\@cclvi}
|
|
\let\newfam\new@mathgroup
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2015/01/01}%
|
|
{\e@alloc@chardef}{Extended Allocation}%
|
|
\ifx\directlua\@undefined
|
|
\ifx\widowpenalties\@undefined
|
|
\mathchardef\e@alloc@top=255
|
|
\let\e@alloc@chardef\chardef
|
|
\else
|
|
\mathchardef\e@alloc@top=32767
|
|
\let\e@alloc@chardef\mathchardef
|
|
\fi
|
|
\else
|
|
\chardef\e@alloc@top=65535
|
|
\let\e@alloc@chardef\chardef
|
|
\fi
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\e@alloc@chardef}{Extended Allocation}%
|
|
\let\e@alloc@top\@undefined
|
|
\let\e@alloc@chardef\@undefined
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2015/01/01}%
|
|
{\e@mathgroup@top}{Extended Allocation}%
|
|
\ifx\Umathcode\@undefined
|
|
\chardef\e@mathgroup@top=16
|
|
\else
|
|
\chardef\e@mathgroup@top=256
|
|
\fi
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\e@mathgroup@top}{Extended Allocation}%
|
|
\let\e@mathgroup@top\@undefined
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2015/01/01}{\e@alloc}{Extended Allocation}%
|
|
\def\e@alloc#1#2#3#4#5#6{%
|
|
\global\advance#3\@ne
|
|
\e@ch@ck{#3}{#4}{#5}#1%
|
|
\allocationnumber#3\relax
|
|
\global#2#6\allocationnumber
|
|
\wlog{\string#6=\string#1\the\allocationnumber}}%
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}{\e@alloc}{Extended Allocation}%
|
|
\let\e@alloc\@undefined
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2015/10/01}
|
|
{\e@ch@ck}{Extended Allocation (checking)}%
|
|
\gdef\e@ch@ck#1#2#3#4{%
|
|
\ifnum#1<#2\else
|
|
\ifnum#1=#2\relax
|
|
\global#1\@cclvi
|
|
\ifx\count#4\global\advance#1 10 \fi
|
|
\fi
|
|
\ifnum#1<#3\relax
|
|
\else
|
|
\errmessage{No room for a new \string#4}%
|
|
\fi
|
|
\fi}%
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2015/01/01}%
|
|
{\e@ch@ck}{Extended Allocation (checking)}%
|
|
\gdef\e@ch@ck#1#2#3#4{%
|
|
\ifnum#1<#2\else
|
|
\ifnum#1=#2\relax
|
|
#1\@cclvi
|
|
\ifx\count#4\advance#1 10 \fi
|
|
\fi
|
|
\ifnum#1<#3\relax
|
|
\else
|
|
\errmessage{No room for a new #4}%
|
|
\fi
|
|
\fi}%
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\e@ch@ck}{Extended Allocation (checking)}%
|
|
\let\e@ch@ck\@undefined
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2015/01/01}%
|
|
{\extrafloats}{Extra floats}%
|
|
\let\float@count\e@alloc@top
|
|
\ifx\numexpr\@undefined
|
|
\def\extrafloats#1{%
|
|
\count@#1\relax
|
|
\ifnum\count@>\z@
|
|
\newinsert\reserved@a
|
|
\global\expandafter\chardef
|
|
\csname bx@\the\allocationnumber\endcsname\allocationnumber
|
|
\@cons\@freelist{\csname bx@\the\allocationnumber\endcsname}%
|
|
\advance\count@\m@ne
|
|
\expandafter\extrafloats
|
|
\expandafter\count@
|
|
\fi
|
|
}%
|
|
\else
|
|
\def\extrafloats#1{%
|
|
\ifnum#1>\z@
|
|
\count@\numexpr\float@count-1\relax
|
|
\ch@ck0\count@\count
|
|
\ch@ck1\count@\dimen
|
|
\ch@ck2\count@\skip
|
|
\ch@ck4\count@\box
|
|
\global\e@alloc@chardef\float@count\count@
|
|
\global\expandafter\e@alloc@chardef
|
|
\csname bx@\the\float@count\endcsname\float@count
|
|
\@cons\@freelist{\csname bx@\the\float@count\endcsname}%
|
|
\expandafter
|
|
\extrafloats\expandafter{\numexpr#1-1\relax}%
|
|
\fi}%
|
|
\fi
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\extrafloats}{Extra floats}%
|
|
\let\float@count\@undefined
|
|
\let\extrafloats\@undefined
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2015/10/01}
|
|
{\newinsert}{Extended \newinsert}%
|
|
\ifx\numexpr\@undefined
|
|
\def\newinsert#1{\global\advance\insc@unt \m@ne
|
|
\ch@ck0\insc@unt\count
|
|
\ch@ck1\insc@unt\dimen
|
|
\ch@ck2\insc@unt\skip
|
|
\ch@ck4\insc@unt\box
|
|
\allocationnumber\insc@unt
|
|
\global\chardef#1\allocationnumber
|
|
\wlog{\string#1=\string\insert\the\allocationnumber}}
|
|
\else
|
|
\ifx\directlua\@undefined
|
|
\chardef\e@insert@top255
|
|
\else
|
|
\chardef\e@insert@top\e@alloc@top
|
|
\fi
|
|
\def\newinsert#1{%
|
|
\@tempswafalse
|
|
\global\advance\insc@unt\m@ne
|
|
\ifnum\count10<\insc@unt
|
|
\ifnum\count11<\insc@unt
|
|
\ifnum\count12<\insc@unt
|
|
\ifnum\count14<\insc@unt
|
|
\@tempswatrue
|
|
\fi\fi\fi\fi
|
|
\if@tempswa
|
|
\allocationnumber\insc@unt
|
|
\else
|
|
\global\advance\insc@unt\@ne
|
|
\extrafloats\@ne
|
|
\@next\@currbox\@freelist
|
|
{\ifnum\@currbox<\e@insert@top
|
|
\allocationnumber\@currbox
|
|
\else
|
|
\ch@ck0\m@ne\insert
|
|
\fi}%
|
|
{\ch@ck0\m@ne\insert}%
|
|
\fi
|
|
\global\chardef#1\allocationnumber
|
|
\wlog{\string#1=\string\insert\the\allocationnumber}%
|
|
}
|
|
\fi
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\newinsert}{Extended \newinsert}%
|
|
\let\e@insert@top\@undefined
|
|
\def\newinsert#1{\global\advance\insc@unt \m@ne
|
|
\ch@ck0\insc@unt\count
|
|
\ch@ck1\insc@unt\dimen
|
|
\ch@ck2\insc@unt\skip
|
|
\ch@ck4\insc@unt\box
|
|
\allocationnumber\insc@unt
|
|
\global\chardef#1\allocationnumber
|
|
\wlog{\string#1=\string\insert\the\allocationnumber}}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2015/01/01}{\loggingall}{etex tracing}%
|
|
\ifx\tracingscantokens\@undefined
|
|
\gdef\loggingall{%
|
|
\tracingstats\tw@
|
|
\tracingpages\@ne
|
|
\tracinglostchars\@ne
|
|
\tracingparagraphs\@ne
|
|
\errorcontextlines\maxdimen
|
|
\loggingoutput
|
|
\tracingmacros\tw@
|
|
\tracingcommands\tw@
|
|
\tracingrestores\@ne
|
|
}%
|
|
\else
|
|
\gdef\loggingall{%
|
|
\tracingstats\tw@
|
|
\tracingpages\@ne
|
|
\tracinglostchars\tw@
|
|
\tracingparagraphs\@ne
|
|
\tracinggroups\@ne
|
|
\tracingifs\@ne
|
|
\tracingscantokens\@ne
|
|
\tracingnesting\@ne
|
|
\errorcontextlines\maxdimen
|
|
\loggingoutput
|
|
\tracingmacros\tw@
|
|
\tracingcommands\thr@@
|
|
\tracingrestores\@ne
|
|
\tracingassigns\@ne
|
|
}%
|
|
\fi
|
|
\gdef\tracingall{\showoverfull\loggingall}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}{\loggingall}{etex tracing}%
|
|
\gdef\loggingall{\tracingcommands\tw@\tracingstats\tw@
|
|
\tracingpages\@ne\tracinglostchars\@ne
|
|
\tracingmacros\tw@\tracingparagraphs\@ne\tracingrestores\@ne
|
|
\errorcontextlines\maxdimen\loggingoutput}
|
|
\gdef\tracingall{\loggingall\showoverfull}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2015/01/01}{\tracingnone}%
|
|
{turn off etex tracing}%
|
|
\ifx\tracingscantokens\@undefined
|
|
\def\tracingnone{%
|
|
\tracingonline\z@
|
|
\tracingcommands\z@
|
|
\showboxdepth\m@ne
|
|
\showboxbreadth\m@ne
|
|
\tracingoutput\z@
|
|
\errorcontextlines\m@ne
|
|
\tracingrestores\z@
|
|
\tracingparagraphs\z@
|
|
\tracingmacros\z@
|
|
\tracinglostchars\@ne
|
|
\tracingpages\z@
|
|
\tracingstats\z@
|
|
}%
|
|
\else
|
|
\def\tracingnone{%
|
|
\tracingassigns\z@
|
|
\tracingrestores\z@
|
|
\tracingonline\z@
|
|
\tracingcommands\z@
|
|
\showboxdepth\m@ne
|
|
\showboxbreadth\m@ne
|
|
\tracingoutput\z@
|
|
\errorcontextlines\m@ne
|
|
\tracingnesting\z@
|
|
\tracingscantokens\z@
|
|
\tracingifs\z@
|
|
\tracinggroups\z@
|
|
\tracingparagraphs\z@
|
|
\tracingmacros\z@
|
|
\tracinglostchars\@ne
|
|
\tracingpages\z@
|
|
\tracingstats\z@
|
|
}%
|
|
\fi
|
|
\def\hideoutput{%
|
|
\tracingoutput\z@
|
|
\showboxbreadth\m@ne
|
|
\showboxdepth\m@ne
|
|
\tracingonline\m@ne
|
|
}%
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}{\tracingnone}%
|
|
{turn off etex tracing}%
|
|
\let\tracingnone\@undefined
|
|
\let\hideoutput\@undefined
|
|
\EndIncludeInRelease
|
|
%%% From File: ltfssdcl.dtx
|
|
%% Copyright (C) 1989-1998 Frank Mittelbach and Rainer Sch\"opf,
|
|
%% all rights reserved.
|
|
\IncludeInRelease{2015/01/01}
|
|
{\select@group}{\select@group}%
|
|
\def\select@group#1#2#3#4{%
|
|
\ifx\math@bgroup\bgroup\else\relax\expandafter\@firstofone\fi
|
|
{%
|
|
\ifmmode
|
|
\ifnum\csname c@mv@\math@version\endcsname<\e@mathgroup@top
|
|
\begingroup
|
|
\escapechar\m@ne
|
|
\getanddefine@fonts{\csname c@mv@\math@version\endcsname}#3%
|
|
\globaldefs\@ne \math@fonts
|
|
\endgroup
|
|
\init@restore@version
|
|
\xdef#1{\noexpand\use@mathgroup\noexpand#2%
|
|
{\number\csname c@mv@\math@version\endcsname}}%
|
|
\global\advance\csname c@mv@\math@version\endcsname\@ne
|
|
\else
|
|
\let#1\relax
|
|
\@latex@error{Too many math alphabets used in
|
|
version \math@version}%
|
|
\@eha
|
|
\fi
|
|
\else \expandafter\non@alpherr\fi
|
|
#1{#4}%
|
|
}%
|
|
}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}
|
|
{\select@group}{\select@group}%
|
|
\def\select@group#1#2#3#4{%
|
|
\ifx\math@bgroup\bgroup\else\relax\expandafter\@firstofone\fi
|
|
{%
|
|
\ifmmode
|
|
\ifnum\csname c@mv@\math@version\endcsname<\sixt@@n
|
|
\begingroup
|
|
\escapechar\m@ne
|
|
\getanddefine@fonts
|
|
{\csname c@mv@\math@version\endcsname}#3%
|
|
\globaldefs\@ne \math@fonts
|
|
\endgroup
|
|
\init@restore@version
|
|
\xdef#1{\noexpand\use@mathgroup\noexpand#2%
|
|
{\number\csname c@mv@\math@version\endcsname}}%
|
|
\global\advance\csname c@mv@\math@version\endcsname\@ne
|
|
\else
|
|
\let#1\relax
|
|
\@latex@error{Too many math alphabets used in
|
|
version \math@version}%
|
|
\@eha
|
|
\fi
|
|
\else \expandafter\non@alpherr\fi
|
|
#1{#4}%
|
|
}%
|
|
}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2020/10/01}
|
|
{\document@select@group}{\document@select@group}%
|
|
\def\document@select@group#1#2#3#4{%
|
|
\ifx\math@bgroup\bgroup\else\relax\expandafter\@firstofone\fi
|
|
{%
|
|
\ifmmode
|
|
\ifnum\csname c@mv@\math@version\endcsname<\e@mathgroup@top
|
|
\begingroup
|
|
\escapechar\m@ne
|
|
\getanddefine@fonts{\csname c@mv@\math@version\endcsname}#3%
|
|
\globaldefs\@ne \math@fonts
|
|
\endgroup
|
|
\expandafter\extract@alph@from@version
|
|
\csname mv@\math@version\expandafter\endcsname
|
|
\expandafter{\number\csname
|
|
c@mv@\math@version\endcsname}%
|
|
#1%
|
|
\global\advance\csname c@mv@\math@version\endcsname\@ne
|
|
\else
|
|
\let#1\relax
|
|
\@latex@error{Too many math alphabets used
|
|
in version \math@version}%
|
|
\@eha
|
|
\fi
|
|
\else \expandafter\non@alpherr\fi
|
|
\expandafter#1\ifx\math@bgroup\bgroup{#4}\else#4\fi
|
|
}%
|
|
}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2015/01/01}
|
|
{\document@select@group}{\document@select@group}%
|
|
|
|
\def\document@select@group#1#2#3#4{%
|
|
\ifx\math@bgroup\bgroup\else\relax\expandafter\@firstofone\fi
|
|
{%
|
|
\ifmmode
|
|
\ifnum\csname c@mv@\math@version\endcsname<\e@mathgroup@top
|
|
\begingroup
|
|
\escapechar\m@ne
|
|
\getanddefine@fonts{\csname c@mv@\math@version\endcsname}#3%
|
|
\globaldefs\@ne \math@fonts
|
|
\endgroup
|
|
\expandafter\extract@alph@from@version
|
|
\csname mv@\math@version\expandafter\endcsname
|
|
\expandafter{\number\csname
|
|
c@mv@\math@version\endcsname}%
|
|
#1%
|
|
\global\advance\csname c@mv@\math@version\endcsname\@ne
|
|
\else
|
|
\let#1\relax
|
|
\@latex@error{Too many math alphabets used
|
|
in version \math@version}%
|
|
\@eha
|
|
\fi
|
|
\else \expandafter\non@alpherr\fi
|
|
#1{#4}%
|
|
}%
|
|
}
|
|
\EndIncludeInRelease
|
|
|
|
\IncludeInRelease{0000/00/00}
|
|
{\document@select@group}{\document@select@group}%
|
|
|
|
\def\document@select@group#1#2#3#4{%
|
|
\ifx\math@bgroup\bgroup\else\relax\expandafter\@firstofone\fi
|
|
{%
|
|
\ifmmode
|
|
\ifnum\csname c@mv@\math@version\endcsname<\sixt@@n
|
|
\begingroup
|
|
\escapechar\m@ne
|
|
\getanddefine@fonts
|
|
{\csname c@mv@\math@version\endcsname}#3%
|
|
\globaldefs\@ne \math@fonts
|
|
\endgroup
|
|
\expandafter\extract@alph@from@version
|
|
\csname mv@\math@version\expandafter\endcsname
|
|
\expandafter{\number\csname
|
|
c@mv@\math@version\endcsname}%
|
|
#1%
|
|
\global\advance\csname c@mv@\math@version\endcsname\@ne
|
|
\else
|
|
\let#1\relax
|
|
\@latex@error{Too many math alphabets used
|
|
in version \math@version}%
|
|
\@eha
|
|
\fi
|
|
\else \expandafter\non@alpherr\fi
|
|
#1{#4}%
|
|
}%
|
|
}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2019/10/01}%
|
|
{DeclareMathAccent}{Make math accents robust}%
|
|
\def\DeclareMathAccent#1#2#3#4{%
|
|
\expandafter\in@\csname sym#3\expandafter\endcsname
|
|
\expandafter{\group@list}%
|
|
\ifin@
|
|
\begingroup
|
|
\count\z@=#4\relax
|
|
\count\tw@\count\z@
|
|
\divide\count\z@\sixt@@n
|
|
\count@\count\z@
|
|
\multiply\count@\sixt@@n
|
|
\advance\count\tw@-\count@
|
|
\if\relax\noexpand#1% is command?
|
|
\edef\reserved@a{\noexpand\in@
|
|
{\expandafter\@gobble\string\mathaccent}
|
|
{\expandafter\meaning
|
|
\csname\expandafter\@gobble\string#1\space\endcsname}}%
|
|
\reserved@a
|
|
\ifin@
|
|
\expandafter\let
|
|
\csname\expandafter\@gobble\string#1\space\endcsname
|
|
\@undefined
|
|
\expandafter\set@mathaccent
|
|
\csname sym#3\endcsname#1#2%
|
|
{\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}%
|
|
\@font@info{Redeclaring math accent \string#1}%
|
|
\else
|
|
\expandafter\ifx
|
|
\csname\expandafter\@gobble\string#1\endcsname
|
|
\relax
|
|
\expandafter\set@mathaccent
|
|
\csname sym#3\endcsname#1#2%
|
|
{\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}%
|
|
\else
|
|
\@latex@error{Command `\string#1' already defined}\@eha
|
|
\fi
|
|
\fi
|
|
\else
|
|
\@latex@error{Not a command name: `\noexpand#1'}\@eha
|
|
\fi
|
|
\endgroup
|
|
\else
|
|
\@latex@error{Symbol font `#3' is not defined}\@eha
|
|
\fi
|
|
}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{DeclareMathAccent}{Make math accents robust}%
|
|
\def\DeclareMathAccent#1#2#3#4{%
|
|
\expandafter\in@\csname sym#3\expandafter\endcsname
|
|
\expandafter{\group@list}%
|
|
\ifin@
|
|
\begingroup
|
|
\count\z@=#4\relax
|
|
\count\tw@\count\z@
|
|
\divide\count\z@\sixt@@n
|
|
\count@\count\z@
|
|
\multiply\count@\sixt@@n
|
|
\advance\count\tw@-\count@
|
|
\if\relax\noexpand#1% is command?
|
|
\edef\reserved@a{\noexpand\in@
|
|
{\expandafter\@gobble\string\mathaccent}{\meaning#1}}%
|
|
\reserved@a
|
|
\ifin@
|
|
\expandafter\set@mathaccent
|
|
\csname sym#3\endcsname#1#2%
|
|
{\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}%
|
|
\@font@info{Redeclaring math accent \string#1}%
|
|
\else
|
|
\expandafter\ifx
|
|
\csname\expandafter\@gobble\string#1\endcsname
|
|
\relax
|
|
\expandafter\set@mathaccent
|
|
\csname sym#3\endcsname#1#2%
|
|
{\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}%
|
|
\else
|
|
\@latex@error{Command `\string#1' already defined}\@eha
|
|
\fi
|
|
\fi
|
|
\else
|
|
\@latex@error{Not a command name: `\noexpand#1'}\@eha
|
|
\fi
|
|
\endgroup
|
|
\else
|
|
\@latex@error{Symbol font `#3' is not defined}\@eha
|
|
\fi
|
|
}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2019/10/01}%
|
|
{\set@mathaccent}{makemath accents robust}%
|
|
\def\set@mathaccent#1#2#3#4{%
|
|
\xdef#2{\mathaccent"\mathchar@type#3\hexnumber@#1#4\relax}%
|
|
\MakeRobust#2%
|
|
}
|
|
\@onlypreamble\set@mathaccent
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\set@mathaccent}{makemath accents robust}%
|
|
|
|
\def\set@mathaccent#1#2#3#4{%
|
|
\xdef#2{\mathaccent"\mathchar@type#3\hexnumber@#1#4\relax}}
|
|
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2019/10/01}%
|
|
{\set@mathdelimiter}{make delimiters robust}%
|
|
\def\set@mathdelimiter#1#2#3#4#5#6{%
|
|
\protected
|
|
\xdef#3{\delimiter"\mathchar@type#4\hexnumber@#1#5%
|
|
\hexnumber@#2#6 }%
|
|
}
|
|
\@onlypreamble\set@mathdelimiter
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\set@mathdelimiter}{make delimiters robust}%
|
|
|
|
\def\set@mathdelimiter#1#2#3#4#5#6{%
|
|
\xdef#3{\delimiter"\mathchar@type#4\hexnumber@#1#5%
|
|
\hexnumber@#2#6 }}
|
|
|
|
\EndIncludeInRelease
|
|
%%% From File: ltfssini.dtx
|
|
%% Copyright (C) 1989-2001 Frank Mittelbach and Rainer Sch\"opf,
|
|
%% all rights reserved.
|
|
\IncludeInRelease{2020/02/02}%
|
|
{\DeclareFontSeriesDefault}{Custom series}%
|
|
\let\DeclareFontSeriesDefault\@undefined % for rollback
|
|
\newcommand\DeclareFontSeriesDefault[3][]{%
|
|
\def\reserved@a{#1}%
|
|
\ifx\reserved@a\@empty
|
|
\ifcsname #2series\endcsname % supported are
|
|
% \[md/bf]default
|
|
\expandafter\def
|
|
\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'.}
|
|
\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 argument must be 'rm', 'sf', or 'tt'. \MessageBreak
|
|
Mandatory first 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}%
|
|
\series@maybe@drop@one@m\bfdefault\bfdef@ult
|
|
\series@maybe@drop@one@m\mddefault\mddef@ult
|
|
\@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
|
|
\else \fontseries\bfdefault
|
|
\fi\fi\fi
|
|
\selectfont
|
|
}
|
|
|
|
\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
|
|
\else \fontseries\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\@expandfontdefaultshook\@empty
|
|
\let\@setbfseriesdefaultshook\@empty
|
|
\let\@setmdseriesdefaultshook\@empty
|
|
\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{%
|
|
\if@forced@series
|
|
\fontfamily#2%
|
|
\else
|
|
\expand@font@defaults
|
|
\let\target@series@value\@empty
|
|
\def\target@meta@family@value{#1}%
|
|
\expandafter\edef\csname ??def@ult\endcsname{\f@family}%
|
|
\let\@elt\update@series@target@value
|
|
\@meta@family@list
|
|
\@elt{??}%
|
|
\let\@elt\relax
|
|
\fontfamily#2%
|
|
\ifx\target@series@value\@empty
|
|
\else
|
|
\ifx \f@series\target@series@value
|
|
\else
|
|
\maybe@load@fontshape
|
|
\series@maybe@drop@one@m\target@series@value\f@series
|
|
\fi
|
|
\fi
|
|
\fi
|
|
}
|
|
\def\update@series@target@value#1{%
|
|
\def\reserved@a{#1}%
|
|
\ifx\target@meta@family@value\reserved@a % rm -> rm do nothing
|
|
\else
|
|
\expandafter\ifx\csname#1def@ult\endcsname\f@family
|
|
\let\@elt\@gobble
|
|
\expandafter\let\expandafter\reserved@b
|
|
\csname mdseries@\target@meta@family@value\endcsname
|
|
\expandafter\let\expandafter\reserved@c
|
|
\csname bfseries@\target@meta@family@value\endcsname
|
|
\expandafter\series@maybe@drop@one@m
|
|
\csname mdseries@#1\endcsname\reserved@d
|
|
\ifx\reserved@d\f@series
|
|
\let\target@series@value\reserved@b
|
|
\else
|
|
\expandafter\series@maybe@drop@one@m
|
|
\csname bfseries@#1\endcsname\reserved@d
|
|
\ifx\reserved@d\f@series
|
|
\let\target@series@value\reserved@c
|
|
\else\ifx\f@series\mddef@ult \let\target@series@value\reserved@b
|
|
\else\ifx\f@series\bfdef@ult \let\target@series@value\reserved@c
|
|
\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
|
|
\reset@font
|
|
\ifx\seriesdefault\seriesdefault@kernel
|
|
\mdseries
|
|
\let\seriesdefault\f@series
|
|
\fi
|
|
}%
|
|
\expandafter\let\csname ver@mweights.sty\endcsname\fmtversion
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\DeclareFontSeriesDefault}{Custom series}%
|
|
|
|
\let\DeclareFontSeriesDefault\@undefined
|
|
\let\bfseries@rm\@undefined
|
|
\let\bfseries@sf\@undefined
|
|
\let\bfseries@tt\@undefined
|
|
\let\bfseries@rm@kernel\@undefined
|
|
\let\bfseries@sf@kernel\@undefined
|
|
\let\bfseries@tt@kernel\@undefined
|
|
\let\mdseries@rm\@undefined
|
|
\let\mdseries@sf\@undefined
|
|
\let\mdseries@tt\@undefined
|
|
\let\expand@font@defaults\@undefined
|
|
\expandafter\let\csname ver@mweights.sty\endcsname\@undefined
|
|
|
|
\DeclareRobustCommand\bfseries
|
|
{\not@math@alphabet\bfseries\mathbf
|
|
\fontseries\bfdefault\selectfont}
|
|
\DeclareRobustCommand\mdseries
|
|
{\not@math@alphabet\mdseries\relax
|
|
\fontseries\mddefault\selectfont}
|
|
\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}
|
|
|
|
\let\@expandfontdefaultshook\@undefined
|
|
\let\@setbfseriesdefaultshook\@undefined
|
|
\let\@setmdseriesdefaultshook\@undefined
|
|
\let\@rmfamilyhook\@undefined
|
|
\let\@sffamilyhook\@undefined
|
|
\let\@ttfamilyhook\@undefined
|
|
\let\@meta@family@list\@undefined
|
|
\let\prepare@family@series@update\@undefined
|
|
\let\update@series@target@value\@undefined
|
|
|
|
\let\init@series@setup\relax
|
|
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2020/10/01}%
|
|
{\IfFontSeriesContext}{Font series context}%
|
|
\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
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\IfFontSeriesContext}{Font series context}%
|
|
|
|
\let\IfFontSeriesContextTF\@undefined
|
|
\let\test@font@series@context\@undefined
|
|
\let\if@font@series@context\@undefined
|
|
\let\@font@series@contexttrue\@undefined
|
|
\let\@font@series@contextfalse\@undefined
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2020/02/02}%
|
|
{\DeclareEmphSequence}{Nested emph}%
|
|
\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
|
|
\EndIncludeInRelease
|
|
|
|
\IncludeInRelease{2015/01/01}{\DeclareEmphSequence}{Nested emph}%
|
|
\let\DeclareEmphSequence\@undefined
|
|
\let\emfontdeclare@clist\@undefined
|
|
\let\emreset\@undefined
|
|
\let\do@emfont@update\@undefined
|
|
\let\emforce\@undefined
|
|
\let\em@force\@undefined
|
|
|
|
\DeclareRobustCommand\em
|
|
{\@nomath\em \ifdim \fontdimen\@ne\font >\z@
|
|
\eminnershape \else \itshape \fi}%
|
|
\EndIncludeInRelease
|
|
|
|
\IncludeInRelease{0000/00/00}{\DeclareEmphSequence}{Nested emph}%
|
|
\DeclareRobustCommand\em
|
|
{\@nomath\em \ifdim \fontdimen\@ne\font >\z@
|
|
\upshape \else \itshape \fi}%
|
|
\let\eminnershape\@undefined
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2020/10/01}%
|
|
{\symbol}{XeTeX change for math}%
|
|
\ifdefined\XeTeXversion
|
|
\DeclareRobustCommand\symbol[1]{\Ucharcat#1 12\relax}
|
|
\else
|
|
\DeclareRobustCommand\symbol[1]{\char#1\relax}
|
|
\fi
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\symbol}{XeTeX change for math}%
|
|
|
|
\DeclareRobustCommand\symbol[1]{\char#1\relax}
|
|
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2020/02/02}%
|
|
{\normalfont}{Add hook to \normalfont}%
|
|
\DeclareRobustCommand\normalfont{%
|
|
\fontencoding\encodingdefault
|
|
\edef\f@family{\familydefault}%
|
|
\edef\f@series{\seriesdefault}%
|
|
\edef\f@shape{\shapedefault}%
|
|
\@defaultfamilyhook
|
|
\selectfont}
|
|
\let\reset@font\normalfont
|
|
\let\@defaultfamilyhook\@empty
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\normalfont}{Add hook to \normalfont}%
|
|
|
|
\DeclareRobustCommand\normalfont
|
|
{\usefont\encodingdefault
|
|
\familydefault
|
|
\seriesdefault
|
|
\shapedefault
|
|
\relax}
|
|
\let\reset@font\normalfont
|
|
|
|
\let\@defaultfamilyhook\@undefined
|
|
|
|
\EndIncludeInRelease
|
|
%%% From File: fontdef.dtx
|
|
\IncludeInRelease{2017/01/01}%
|
|
{\encodingdefault}{TU encoding default}%
|
|
\ifx\Umathchar\@undefined
|
|
\renewcommand\encodingdefault{OT1}
|
|
\fontencoding{\encodingdefault}
|
|
\renewcommand\rmdefault{cmr}
|
|
\fontfamily{\rmdefault}
|
|
\renewcommand\sfdefault{cmss}
|
|
\renewcommand\ttdefault{cmtt}
|
|
\else
|
|
\renewcommand\encodingdefault{TU}
|
|
%done in everyjob\fontencoding{\encodingdefault}
|
|
\renewcommand\rmdefault{lmr}
|
|
\fontfamily{\rmdefault}
|
|
\renewcommand\sfdefault{lmss}
|
|
\renewcommand\ttdefault{lmtt}
|
|
\fi
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\encodingdefault}{TU encoding default}%
|
|
\fontencoding{OT1}
|
|
\renewcommand\encodingdefault{OT1}
|
|
\fontencoding{\encodingdefault}
|
|
\renewcommand\rmdefault{cmr}
|
|
\fontfamily{\rmdefault}
|
|
\renewcommand\sfdefault{cmss}
|
|
\renewcommand\ttdefault{cmtt}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2020/02/02}%
|
|
{\updefault}{font defaults change}%
|
|
\renewcommand\updefault{up}
|
|
\renewcommand\bfdefault{b\@empty}
|
|
\renewcommand\mddefault{m\@empty}
|
|
\let\bfdefault@previous\bfdefault
|
|
\let\mddefault@previous\mddefault
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\updefault}{font defaults change}%
|
|
|
|
\renewcommand\updefault{n}
|
|
\renewcommand\bfdefault{bx}
|
|
|
|
\let\bfdefault@previous\undefined
|
|
\let\mddefault@previous\undefined
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2018/12/01}%
|
|
{\Big}{Start LR-mode}%
|
|
\DeclareRobustCommand\big[1]{\leavevmode@ifvmode
|
|
{\hbox{$\left#1\vbox to8.5\p@{}\right.\n@space$}}}
|
|
\DeclareRobustCommand\Big[1]{\leavevmode@ifvmode
|
|
{\hbox{$\left#1\vbox to11.5\p@{}\right.\n@space$}}}
|
|
\DeclareRobustCommand\bigg[1]{\leavevmode@ifvmode
|
|
{\hbox{$\left#1\vbox to14.5\p@{}\right.\n@space$}}}
|
|
\DeclareRobustCommand\Bigg[1]{\leavevmode@ifvmode
|
|
{\hbox{$\left#1\vbox to17.5\p@{}\right.\n@space$}}}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\Big}{Start LR-mode}%
|
|
\def\big#1{{\hbox{$\left#1\vbox to8.5\p@{}\right.\n@space$}}}
|
|
\def\Big#1{{\hbox{$\left#1\vbox to11.5\p@{}\right.\n@space$}}}
|
|
\def\bigg#1{{\hbox{$\left#1\vbox to14.5\p@{}\right.\n@space$}}}
|
|
\def\Bigg#1{{\hbox{$\left#1\vbox to17.5\p@{}\right.\n@space$}}}
|
|
\EndIncludeInRelease
|
|
%%% From File: ltfntcmd.dtx
|
|
%%
|
|
\IncludeInRelease{2020/02/02}%
|
|
{\textulc}{Additional text commands}%
|
|
\DeclareTextFontCommand{\textulc}{\ulcshape}
|
|
\DeclareTextFontCommand{\textsw}{\swshape}
|
|
\DeclareTextFontCommand{\textssc}{\sscshape}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\textulc}{Additional text commands}%
|
|
|
|
\let\textulc\@undefined
|
|
\let\textsw\@undefined
|
|
\let\textssc\@undefined
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2020/02/02}%
|
|
{\oldstylenums}{Old style numerals}%
|
|
\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}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\oldstylenums}{Old style numerals}%
|
|
|
|
\DeclareRobustCommand\oldstylenums[1]{%
|
|
\begingroup
|
|
\spaceskip\fontdimen\tw@\font
|
|
\usefont{OML}{\rmdefault}{\f@series}{it}%
|
|
\mathgroup\symletters #1%
|
|
\endgroup
|
|
}
|
|
\let\legacyoldstylenums\@undefined
|
|
\def\textcompsubstdefault{cmr}
|
|
|
|
\EndIncludeInRelease
|
|
|
|
\IncludeInRelease{2020/02/02}%
|
|
{\DeclareEncodingSubset}{Text companion symbols}%
|
|
\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
|
|
\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}
|
|
\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}
|
|
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\DeclareEncodingSubset}{Text companion symbols}%
|
|
|
|
\let\DeclareEncodingSubset\@undefined
|
|
\let\CheckEncodingSubset\@undefined
|
|
|
|
\DeclareTextSymbolDefault{\textdollar}{OT1}
|
|
\DeclareTextSymbolDefault{\textsterling}{OT1}
|
|
\DeclareTextCommand{\textdollar}{OT1}{\hmode@bgroup
|
|
\ifdim \fontdimen\@ne\font >\z@
|
|
\slshape
|
|
\else
|
|
\upshape
|
|
\fi
|
|
\char`\$\egroup}
|
|
\DeclareTextCommand{\textsterling}{OT1}{\hmode@bgroup
|
|
\ifdim \fontdimen\@ne\font >\z@
|
|
\itshape
|
|
\else
|
|
\fontshape{ui}\selectfont
|
|
\fi
|
|
\char`\$\egroup}
|
|
\DeclareTextCommand{\textperthousand}{T1}
|
|
{\%\char 24 }
|
|
|
|
\DeclareTextSymbolDefault{\textasteriskcentered}{OMS}
|
|
\DeclareTextSymbolDefault{\textbullet}{OMS}
|
|
\DeclareTextSymbolDefault{\textdaggerdbl}{OMS}
|
|
\DeclareTextSymbolDefault{\textdagger}{OMS}
|
|
\DeclareTextSymbolDefault{\textparagraph}{OMS}
|
|
\DeclareTextSymbolDefault{\textperiodcentered}{OMS}
|
|
\DeclareTextSymbolDefault{\textsection}{OMS}
|
|
|
|
\DeclareTextSymbolDefault{\textbardbl}{OMS}
|
|
\let\textbrokenbar\@undefined
|
|
\let\textcelsius\@undefined
|
|
\let\textcent\@undefined
|
|
\DeclareTextCommandDefault{\textcopyright}{\textcircled{c}}
|
|
\let\textdegree\@undefined
|
|
\let\textdiv\@undefined
|
|
\let\textlnot\@undefined
|
|
\let\textonehalf\@undefined
|
|
\let\textonequarter\@undefined
|
|
\let\textonesuperior\@undefined
|
|
\DeclareTextCommandDefault{\textordfeminine}{\textsuperscript{a}}
|
|
\DeclareTextCommandDefault{\textordmasculine}{\textsuperscript{o}}
|
|
\let\textpm\@undefined
|
|
\let\textquotesingle\@undefined
|
|
\let\textquotestraightbase\@undefined
|
|
\let\textquotestraightdblbase\@undefined
|
|
\DeclareTextCommandDefault{\textregistered}{\textcircled{%
|
|
\check@mathfonts\fontsize\sf@size\z@\math@fontsfalse\selectfont R}}
|
|
\let\textthreequartersemdash\@undefined
|
|
\let\textthreequarters\@undefined
|
|
\let\textthreesuperior\@undefined
|
|
\let\texttimes\@undefined
|
|
\DeclareTextCommandDefault{\texttrademark}{\textsuperscript{TM}}
|
|
\let\texttwelveudash\@undefined
|
|
\let\texttwosuperior\@undefined
|
|
\let\textyen\@undefined
|
|
|
|
\let\textcapitalcompwordmark\@undefined
|
|
\let\textascendercompwordmark\@undefined
|
|
|
|
\DeclareTextAccentDefault{\textcircled}{OMS}
|
|
\DeclareTextAccentDefault{\t}{OML}
|
|
|
|
\let\capitalacute\@undefined
|
|
\let\capitalbreve\@undefined
|
|
\let\capitalcaron\@undefined
|
|
\let\capitalcedilla\@undefined
|
|
\let\capitalcircumflex\@undefined
|
|
\let\capitaldieresis\@undefined
|
|
\let\capitaldotaccent\@undefined
|
|
\let\capitalgrave\@undefined
|
|
\let\capitalhungarumlaut\@undefined
|
|
\let\capitalmacron\@undefined
|
|
\let\capitalnewtie\@undefined
|
|
\let\capitalogonek\@undefined
|
|
\let\capitalring\@undefined
|
|
\let\capitaltie\@undefined
|
|
\let\capitaltilde\@undefined
|
|
\let\newtie\@undefined
|
|
|
|
\let\textlbrackdbl\@undefined
|
|
\let\textrbrackdbl\@undefined
|
|
|
|
\let\texteightoldstyle\@undefined
|
|
\let\textfiveoldstyle\@undefined
|
|
\let\textfouroldstyle\@undefined
|
|
\let\textnineoldstyle\@undefined
|
|
\let\textoneoldstyle\@undefined
|
|
\let\textsevenoldstyle\@undefined
|
|
\let\textsixoldstyle\@undefined
|
|
\let\textthreeoldstyle\@undefined
|
|
\let\texttwooldstyle\@undefined
|
|
\let\textzerooldstyle\@undefined
|
|
|
|
\let\textacutedbl\@undefined
|
|
\let\textasciiacute\@undefined
|
|
\let\textasciibreve\@undefined
|
|
\let\textasciicaron\@undefined
|
|
\let\textasciidieresis\@undefined
|
|
\let\textasciigrave\@undefined
|
|
\let\textasciimacron\@undefined
|
|
\let\textgravedbl\@undefined
|
|
\let\texttildelow\@undefined
|
|
|
|
\let\textbaht\@undefined
|
|
\let\textbigcircle\@undefined
|
|
\let\textborn\@undefined
|
|
\let\textcentoldstyle\@undefined
|
|
\let\textcircledP\@undefined
|
|
\let\textcopyleft\@undefined
|
|
\let\textdblhyphenchar\@undefined
|
|
\let\textdblhyphen\@undefined
|
|
\let\textdied\@undefined
|
|
\let\textdiscount\@undefined
|
|
\let\textdivorced\@undefined
|
|
\let\textdollaroldstyle\@undefined
|
|
\let\textguarani\@undefined
|
|
\let\textleaf\@undefined
|
|
\let\textlquill\@undefined
|
|
\let\textmarried\@undefined
|
|
\let\textmho\@undefined
|
|
\let\textmusicalnote\@undefined
|
|
\let\textnaira\@undefined
|
|
\let\textopenbullet\@undefined
|
|
\let\textpeso\@undefined
|
|
\let\textpilcrow\@undefined
|
|
\let\textrecipe\@undefined
|
|
\let\textreferencemark\@undefined
|
|
\let\textrquill\@undefined
|
|
\let\textservicemark\@undefined
|
|
\let\textsurd\@undefined
|
|
|
|
\DeclareTextCommand{\textpertenthousand}{T1}
|
|
{\%\char 24\char 24 }
|
|
|
|
\let\textlangle\@undefined
|
|
\let\textrangle\@undefined
|
|
|
|
\let\textcolonmonetary\@undefined
|
|
\let\textdong\@undefined
|
|
\let\textdownarrow\@undefined
|
|
\let\textleftarrow\@undefined
|
|
\let\textlira\@undefined
|
|
\let\textrightarrow\@undefined
|
|
\let\textuparrow\@undefined
|
|
\let\textwon\@undefined
|
|
|
|
\let\textestimated\@undefined
|
|
\let\textnumero\@undefined
|
|
|
|
\let\textflorin\@undefined
|
|
\let\textcurrency\@undefined
|
|
|
|
\let\textfractionsolidus\@undefined
|
|
\let\textohm\@undefined
|
|
\let\textmu\@undefined
|
|
\let\textminus\@undefined
|
|
|
|
\let\textblank\@undefined
|
|
\let\textinterrobangdown\@undefined
|
|
\let\textinterrobang\@undefined
|
|
|
|
\let\texteuro\@undefined
|
|
|
|
\let\textcelsius\@undefined
|
|
\let\textonesuperior\@undefined
|
|
\let\textthreequartersemdash\@undefined
|
|
\let\textthreesuperior\@undefined
|
|
\let\texttwelveudash\@undefined
|
|
\let\texttwosuperior\@undefined
|
|
\let\textbardbl\@undefined
|
|
|
|
\let\UseLegacyTextSymbols\@undefined
|
|
\let\textlegacyasteriskcentered\@undefined
|
|
\let\textlegacybardbl\@undefined
|
|
\let\textlegacybullet\@undefined
|
|
\let\textlegacydaggerdbl\@undefined
|
|
\let\textlegacydagger\@undefined
|
|
\let\textlegacyparagraph\@undefined
|
|
\let\textlegacyperiodcentered\@undefined
|
|
\let\textlegacysection\@undefined
|
|
|
|
\EndIncludeInRelease
|
|
|
|
|
|
%%% From File: ltfssbas.dtx
|
|
%% Copyright (C) 1989-2002 Frank Mittelbach and Rainer Sch\"opf
|
|
\IncludeInRelease{2020/02/02}%
|
|
{\DeclareFontShape@}{Maybe drop one m}%
|
|
\def\DeclareFontShape@#1#2#3#4#5#6{%
|
|
\expandafter\ifx\csname #1+#2\endcsname\relax
|
|
\@latex@error{Font family `#1+#2' unknown}\@eha
|
|
\else
|
|
\edef\reserved@a{#3}%
|
|
\series@maybe@drop@one@m\reserved@a\reserved@b
|
|
\ifx\reserved@a\reserved@b\else
|
|
\@latex@warning{Font shape declaration has incorrect series
|
|
value `#3'.\MessageBreak It should not contain an `m'!
|
|
Please correct it.\MessageBreak Found}%
|
|
\fi
|
|
\expandafter
|
|
\xdef\csname#1/#2/\reserved@b/#4\endcsname
|
|
{\expandafter\noexpand\csname #5\endcsname}%
|
|
\def\reserved@a{#6}%
|
|
\global
|
|
\expandafter\let\csname#5\expandafter\endcsname
|
|
\ifx\reserved@a\@empty
|
|
\@empty
|
|
\else
|
|
\reserved@a
|
|
\fi
|
|
\fi
|
|
}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\DeclareFontShape@}{Maybe drop one m}%
|
|
|
|
\def\DeclareFontShape@#1#2#3#4#5#6{%
|
|
\expandafter\ifx\csname #1+#2\endcsname\relax
|
|
\@latex@error{Font family `#1+#2' unknown}\@eha
|
|
\else
|
|
\expandafter
|
|
\xdef\csname#1/#2/#3/#4\endcsname{\expandafter\noexpand
|
|
\csname #5\endcsname}%
|
|
\def\reserved@a{#6}%
|
|
\global
|
|
\expandafter\let\csname#5\expandafter\endcsname
|
|
\ifx\reserved@a\@empty
|
|
\@empty
|
|
\else
|
|
\reserved@a
|
|
\fi
|
|
\fi
|
|
}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2015/01/01}{\@DeclareMathSizes}%
|
|
{Arbitrary units in \DeclareMathSizes}%
|
|
\def\@DeclareMathSizes #1#2#3#4#5{%
|
|
\@defaultunits\dimen@ #2pt\relax\@nnil
|
|
\if $#3$%
|
|
\expandafter\let\csname S@\strip@pt\dimen@\endcsname\math@fontsfalse
|
|
\else
|
|
\@defaultunits\dimen@ii #3pt\relax\@nnil
|
|
\@defaultunits\@tempdima #4pt\relax\@nnil
|
|
\@defaultunits\@tempdimb #5pt\relax\@nnil
|
|
\toks@{#1}%
|
|
\expandafter\xdef\csname S@\strip@pt\dimen@\endcsname{%
|
|
\gdef\noexpand\tf@size{\strip@pt\dimen@ii}%
|
|
\gdef\noexpand\sf@size{\strip@pt\@tempdima}%
|
|
\gdef\noexpand\ssf@size{\strip@pt\@tempdimb}%
|
|
\the\toks@
|
|
}%
|
|
\fi
|
|
}%
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}{\@DeclareMathSizes}%
|
|
{Arbitrary units in \DeclareMathSizes}%
|
|
\def\@DeclareMathSizes#1#2#3#4#5{%
|
|
\@defaultunits\dimen@#2pt\relax\@nnil
|
|
\if$#3$%
|
|
\expandafter \let
|
|
\csname S@\strip@pt\dimen@\endcsname
|
|
\math@fontsfalse
|
|
\else
|
|
\expandafter \gdef
|
|
\csname S@\strip@pt\dimen@\endcsname
|
|
{\gdef\tf@size{#3}\gdef\sf@size{#4}%
|
|
\gdef\ssf@size{#5}%
|
|
#1%
|
|
}%
|
|
\fi}%
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2020/02/02}%
|
|
{\LoadFontDefinitionFile}{Loading .fd files}%
|
|
\def\LoadFontDefinitionFile#1#2{%
|
|
\begingroup
|
|
\edef\f@encoding{#1}%
|
|
\edef\f@family{#2}%
|
|
\try@load@fontshape
|
|
\endgroup
|
|
}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\LoadFontDefinitionFile}{Loading .fd files}%
|
|
|
|
\let\LoadFontDefinitionFile\@undefined
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2020/02/02}%
|
|
{\DeclareFontFamilySubstitution}{Provide family substituation}%
|
|
\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
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\DeclareFontFamilySubstitution}{Provide family substituation}%
|
|
|
|
\let\DeclareFontFamilySubstitution\@undefined
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2019/10/01}%
|
|
{\DeclareErrorFont}{No side effects please}%
|
|
\def\DeclareErrorFont#1#2#3#4#5{%
|
|
\xdef\error@fontshape{%
|
|
\noexpand\expandafter\noexpand\split@name\noexpand\string
|
|
\expandafter\noexpand\csname#1/#2/#3/#4/#5\endcsname
|
|
\noexpand\@nil}%
|
|
\gdef\default@family{#2}%
|
|
\gdef\default@series{#3}%
|
|
\gdef\default@shape{#4}%
|
|
}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\DeclareErrorFont}{No side effects please}%
|
|
|
|
\def\DeclareErrorFont#1#2#3#4#5{%
|
|
\xdef\error@fontshape{%
|
|
\noexpand\expandafter\noexpand\split@name\noexpand\string
|
|
\expandafter\noexpand\csname#1/#2/#3/#4/#5\endcsname
|
|
\noexpand\@nil}%
|
|
\gdef\default@family{#2}%
|
|
\gdef\default@series{#3}%
|
|
\gdef\default@shape{#4}%
|
|
\global\let\f@family\default@family
|
|
\global\let\f@series\default@series
|
|
\global\let\f@shape\default@shape
|
|
\gdef\f@size{#5}%
|
|
\gdef\f@baselineskip{#5pt}%
|
|
}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2015/01/01}{\wrong@fontshape}%
|
|
{Font substituation in preamble}%
|
|
\def\wrong@fontshape{%
|
|
\csname D@\f@encoding\endcsname % install defaults if in math
|
|
\edef\reserved@a{\csname\curr@fontshape\endcsname}%
|
|
\ifx\last@fontshape\reserved@a
|
|
\errmessage{Corrupted NFSS tables}%
|
|
\error@fontshape
|
|
\else
|
|
\let\f@shape\default@shape
|
|
\expandafter\ifx\csname\curr@fontshape\endcsname\relax
|
|
\let\f@series\default@series
|
|
\expandafter
|
|
\ifx\csname\curr@fontshape\endcsname\relax
|
|
\let\f@family\default@family
|
|
\begingroup
|
|
\try@load@fontshape
|
|
\endgroup
|
|
\fi \fi
|
|
\fi
|
|
\@font@warning{Font shape `\expandafter\string\reserved@a'
|
|
\expandafter\@gobble\string\@undefined\MessageBreak
|
|
using `\curr@fontshape' instead\@wrong@font@char}%
|
|
\global\let\last@fontshape\reserved@a
|
|
\gdef\@defaultsubs{%
|
|
\@font@warning{Some font shapes were not available, defaults
|
|
substituted.\@gobbletwo}}%
|
|
\global\expandafter\expandafter\expandafter\let
|
|
\expandafter\reserved@a
|
|
\csname\curr@fontshape\endcsname
|
|
\xdef\font@name{%
|
|
\csname\curr@fontshape/\f@size\endcsname}%
|
|
\pickup@font}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}{\wrong@fontshape}%
|
|
{Font substituation in preamble}%
|
|
\def\wrong@fontshape{%
|
|
\csname D@\f@encoding\endcsname
|
|
\edef\reserved@a{\csname\curr@fontshape\endcsname}%
|
|
\ifx\last@fontshape\reserved@a
|
|
\errmessage{Corrupted NFSS tables}%
|
|
\error@fontshape
|
|
\else
|
|
\let\f@shape\default@shape
|
|
\expandafter\ifx\csname\curr@fontshape\endcsname\relax
|
|
\let\f@series\default@series
|
|
\expandafter
|
|
\ifx\csname\curr@fontshape\endcsname\relax
|
|
\let\f@family\default@family
|
|
\fi \fi
|
|
\fi
|
|
\@font@warning{Font shape
|
|
`\expandafter\string\reserved@a'
|
|
\expandafter\@gobble\string\@undefined
|
|
\MessageBreak
|
|
using `\curr@fontshape' instead\@wrong@font@char}%
|
|
\global\let\last@fontshape\reserved@a
|
|
\gdef\@defaultsubs{%
|
|
\@font@warning{Some font shapes were not available,
|
|
defaults substituted.\@gobbletwo}}%
|
|
\global\expandafter\expandafter\expandafter\let
|
|
\expandafter\reserved@a
|
|
\csname\curr@fontshape\endcsname
|
|
\xdef\font@name{%
|
|
\csname\curr@fontshape/\f@size\endcsname}%
|
|
\pickup@font}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2017/01/01}{\showhyphens}%
|
|
{XeTeX support for \showhyphens}%
|
|
\ifx\XeTeXcharclass\@undefined
|
|
\DeclareRobustCommand\showhyphens[1]{%
|
|
\setbox0\vbox{%
|
|
\color@begingroup
|
|
\everypar{}%
|
|
\parfillskip\z@skip\hsize\maxdimen
|
|
\normalfont
|
|
\pretolerance\m@ne\tolerance\m@ne\hbadness\z@\showboxdepth\z@\ #1%
|
|
\color@endgroup}}
|
|
\else
|
|
\DeclareRobustCommand\showhyphens[1]{%
|
|
\setbox0\vbox{%
|
|
\usefont{TU}{lmr}{m}{n}%
|
|
\hsize 1sp %
|
|
\hbadness\@M
|
|
\hfuzz\maxdimen
|
|
\tracingonline\z@
|
|
\everypar={}%
|
|
\leftskip\z@skip
|
|
\rightskip\z@skip
|
|
\parfillskip\z@skip
|
|
\hyphenpenalty=-\@M
|
|
\pretolerance\m@ne
|
|
\interlinepenalty\z@
|
|
\clubpenalty\z@
|
|
\widowpenalty\z@
|
|
\brokenpenalty1127 %
|
|
\setbox\z@\hbox{}%
|
|
\noindent
|
|
\hskip\z@skip
|
|
#1%
|
|
\par
|
|
\loop
|
|
\@tempswafalse
|
|
\ifnum\lastnodetype=11\unskip\@tempswatrue\fi
|
|
\ifnum\lastnodetype=12\unkern\@tempswatrue\fi
|
|
\ifnum\lastnodetype=13 %
|
|
\count@\lastpenalty
|
|
\unpenalty\@tempswatrue
|
|
\fi
|
|
\ifnum\lastnodetype=\@ne
|
|
\setbox\tw@\lastbox\@tempswatrue
|
|
\setbox0\hbox{\unhbox\tw@\unskip\unskip\unpenalty
|
|
\ifnum\count@=1127 \else\ \fi
|
|
\unhbox0}%
|
|
\count@\z@
|
|
\fi
|
|
\if@tempswa
|
|
\repeat
|
|
\hbadness\z@
|
|
\hsize\maxdimen
|
|
\showboxdepth\z@
|
|
\tolerance\m@ne
|
|
\hyphenpenalty\z@
|
|
\noindent\unhbox\z@
|
|
}}
|
|
\fi
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}{\showhyphens}%
|
|
{XeTeX support for \showhyphens}%
|
|
\gdef\showhyphens#1{%
|
|
\setbox0\vbox{%
|
|
\color@begingroup
|
|
\everypar{}%
|
|
\parfillskip\z@skip\hsize\maxdimen
|
|
\normalfont
|
|
\pretolerance\m@ne\tolerance\m@ne
|
|
\hbadness\z@\showboxdepth\z@\ #1%
|
|
\color@endgroup}}
|
|
\EndIncludeInRelease
|
|
%%% From File: ltfssaxes.dtx
|
|
%% Copyright (C) 1999-2020 Frank Mittelbach
|
|
\IncludeInRelease{2020/02/02}%
|
|
{\DeclareFontSeriesChangeRule}{Series change rules}%
|
|
\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}{}
|
|
|
|
|
|
\newif\if@forced@series
|
|
\DeclareRobustCommand\fontseriesforce[1]{\@forced@seriestrue\edef\f@series{#1}}
|
|
\DeclareRobustCommand\fontseries[1]{\@forced@seriesfalse\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\reserved@a{#3}%
|
|
\ifx\reserved@a\@empty
|
|
\set@target@series{#2}%
|
|
\else
|
|
\maybe@load@fontshape
|
|
\edef\reserved@a{\f@encoding /\f@family /#1/\f@shape}%
|
|
\ifcsname \reserved@a \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\reserved@b{\curr@fontshape}%
|
|
\ifx\reserved@a\reserved@b \else
|
|
\@font@warning{Font shape `\reserved@a' undefined\MessageBreak
|
|
using `\reserved@b' 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}%
|
|
\series@maybe@drop@one@m\f@series\f@series
|
|
}
|
|
\def\series@maybe@drop@one@m#1{%
|
|
\expandafter\series@maybe@drop@one@m@x\expandafter{#1}}
|
|
|
|
\def\series@maybe@drop@one@m@x#1#2{%
|
|
\def\in@@##1,#1,{}%
|
|
\series@check@toks\expandafter{\in@@
|
|
,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
|
|
\edef#2{#1}%
|
|
\else
|
|
\edef#2{\expandafter\series@drop@one@m #1m\series@drop@one@m}%
|
|
\fi
|
|
}
|
|
\newtoks\series@check@toks
|
|
\def\series@drop@one@m#1m#2m#3\series@drop@one@m{%
|
|
#1#2%
|
|
}
|
|
|
|
\def\DeclareFontShapeChangeRule #1#2#3#4{%
|
|
\@namedef{shape@#1@#2}{{#3}{#4}}}
|
|
\DeclareRobustCommand\ulcshape
|
|
{\not@math@alphabet\ulcshape\relax
|
|
\fontshape\ulcdefault\selectfont}
|
|
\let\ulcdefault\@undefined % for rollback
|
|
\newcommand\ulcdefault{ulc}
|
|
\DeclareRobustCommand\swshape
|
|
{\not@math@alphabet\swshape\relax
|
|
\fontshape\swdefault\selectfont}
|
|
\let\swdefault\@undefined % for rollback
|
|
\newcommand\swdefault{sw}
|
|
\DeclareRobustCommand\sscshape
|
|
{\not@math@alphabet\sscshape\relax
|
|
\fontshape\sscdefault\selectfont}
|
|
\let\sscdefault\@undefined % for rollback
|
|
\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\reserved@a{#3}%
|
|
\ifx\reserved@a\@empty
|
|
\edef\f@shape{#2}%
|
|
\else
|
|
\maybe@load@fontshape
|
|
\edef\reserved@a{\f@encoding /\f@family /\f@series/#1}%
|
|
\ifcsname \reserved@a\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}%
|
|
}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\DeclareFontSeriesChangeRule}{Series change rules}%
|
|
|
|
\DeclareRobustCommand\fontseries[1]{\edef\f@series{#1}}
|
|
\DeclareRobustCommand\fontshape [1]{\edef\f@shape{#1}}
|
|
\let\fontseriesforce\@undefined
|
|
\let\fontshapeforce\@undefined
|
|
|
|
\let\DeclareFontSeriesChangeRule\@undefined
|
|
\let\merge@font@series\@undefined
|
|
\let\merge@font@series@\@undefined
|
|
\let\@font@shape@subst@warning\@undefined
|
|
\let\maybe@load@fontshape\@undefined
|
|
\let\set@target@series\@undefined
|
|
\let\series@maybe@drop@one@m\@undefined
|
|
\let\series@drop@one@m\@undefined
|
|
\let\DeclareFontShapeChangeRule\@undefined
|
|
\let\merge@font@shape\@undefined
|
|
\let\merge@font@shape@\@undefined
|
|
\let\normalshape\@undefined
|
|
\let\ulcshape\@undefined
|
|
\let\ulcdefault\@undefined
|
|
\let\swshape\@undefined
|
|
\let\swdefault\@undefined
|
|
\let\sscshape\@undefined
|
|
\let\sscdefault\@undefined
|
|
\let\normalshape\@undefined
|
|
|
|
\let\reinstall@nfss@defs\relax
|
|
\EndIncludeInRelease
|
|
%%% 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.
|
|
\IncludeInRelease{2020/02/02}%
|
|
{\@font@aliasinfo}{alias size function}%
|
|
\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'}%
|
|
}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\@font@aliasinfo}{alias size function}%
|
|
\let\s@fct@alias\@undefined
|
|
\let\@font@aliasinfo\@undefined
|
|
|
|
\EndIncludeInRelease
|
|
%%% From File: ltfsscmp.dtx
|
|
%% Copyright (C) 1989-1995 Frank Mittelbach and Rainer Sch\"opf,
|
|
%% all rights reserved.
|
|
\IncludeInRelease{2015/01/01}{\new@fontshape}%
|
|
{NFSS version1 commands}%
|
|
\let\new@fontshape\@undefined
|
|
\let\warn@rel@i\@undefined
|
|
\let\scan@fontshape\@undefined
|
|
\let\scan@@fontshape\@undefined
|
|
\let\subst@fontshape\@undefined
|
|
\let\extra@def\@undefined
|
|
\let\default@mextra\@undefined
|
|
\let\preload@sizes\@undefined
|
|
\let\err@rel@i\@undefined
|
|
\let\newmathalphabet\@undefined
|
|
\let\newmathalphabet@\@undefined
|
|
\let\newmathalphabet@@@\@undefined
|
|
\let\if@no@font@opt\@undefined
|
|
\let\@no@font@optfalse\@undefined
|
|
\let\define@mathalphabet\@undefined
|
|
\let\define@mathgroup\@undefined
|
|
\let\addtoversion\@undefined
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}{\new@fontshape}%
|
|
{NFSS version1 commands}%
|
|
\gdef\new@fontshape#1#2#3#4{%
|
|
\warn@rel@i\new@fontshape\DeclareFontShape
|
|
\expandafter\scan@fontshape\@gobble#4<\@nil><<%
|
|
\DeclareFontShape U{#1}{#2}{#3}\reserved@f}%
|
|
\@onlypreamble\new@fontshape
|
|
\gdef\warn@rel@i#1#2{%
|
|
\@font@warning{*** NFSS release 1 command
|
|
\noexpand#1found\MessageBreak
|
|
*** Update by using release 2 command
|
|
\string#2.\MessageBreak
|
|
*** Recovery is probably possible}%
|
|
}%
|
|
\@onlypreamble\warn@rel@i
|
|
\gdef\scan@fontshape{%
|
|
\let\reserved@f\@empty
|
|
\let\reserved@e\@empty % holds last info
|
|
\scan@@fontshape
|
|
}%
|
|
\@onlypreamble\scan@fontshape
|
|
\gdef\scan@@fontshape#1>#2#3<{%
|
|
\ifx\@nil#1%
|
|
\edef\reserved@f{\reserved@f\reserved@e}%
|
|
\else
|
|
\def\reserved@b{#1}% nick names
|
|
\def\reserved@c{#3}%
|
|
\in@{ at}{#3}%
|
|
\ifin@
|
|
\in@{pt}{#3}% not a proof but a good chance
|
|
\ifin@
|
|
\def\reserved@a##1 at##2pt##3\@nil{%
|
|
\def\reserved@b{##2}%
|
|
\def\reserved@c{##1}%
|
|
}%
|
|
\reserved@a#3\@nil
|
|
\fi
|
|
\fi
|
|
\ifnum 0<0#2
|
|
\edef\reserved@d{subf*\reserved@c}%
|
|
\ifcase #2\or
|
|
\or
|
|
\else
|
|
\errmessage{*** What's this? NFSS release 0? ***}%
|
|
\fi
|
|
\else
|
|
\edef\reserved@d{#2\reserved@c}%
|
|
\fi
|
|
\ifx\reserved@d\reserved@e
|
|
\edef\reserved@f{\reserved@f<\reserved@b>}%
|
|
\else
|
|
\edef\reserved@f{\reserved@f\reserved@e<\reserved@b>}%add old info
|
|
\let\reserved@e\reserved@d
|
|
\fi
|
|
\expandafter\scan@@fontshape
|
|
\fi
|
|
}%
|
|
\@onlypreamble\scan@@fontshape
|
|
\gdef\subst@fontshape#1#2#3#4#5#6{%
|
|
\warn@rel@i\subst@fontshape\DeclareFontShape
|
|
\DeclareFontShape{U}{#1}{#2}{#3}{<->sub*#4/#5/#6}{}}%
|
|
\@onlypreamble\subst@fontshape
|
|
\gdef\extra@def#1#2#3{%
|
|
\warn@rel@i\extra@def\DeclareFontFamily
|
|
\DeclareFontFamily{U}{#1}{}%
|
|
}%
|
|
\@onlypreamble\extra@def
|
|
\gdef\default@mextra{%
|
|
\warn@rel@i\default@mextra\DeclareFontEncodingDefaults
|
|
\DeclareFontEncodingDefaults\relax
|
|
}%
|
|
\@onlypreamble\default@mextra
|
|
\gdef\preload@sizes{%
|
|
\warn@rel@i\preload@sizes\DeclarePreloadSizes
|
|
\DeclarePreloadSizes U%
|
|
}%
|
|
\@onlypreamble\preload@sizes
|
|
\gdef\err@rel@i#1#2{%
|
|
\@latex@error{*** NFSS release 1 command \noexpand#1found%
|
|
^^J*** Recovery not possible. Use \string#2}%
|
|
{The new release of NFSS doesn't support the
|
|
\noexpand#1command^^Jany longer.
|
|
Please upgrade your file to the syntax of NFSS
|
|
release 2^^Jusing the \noexpand#2command.}%
|
|
\batchmode\input.\relax
|
|
}%
|
|
\@onlypreamble\err@rel@i
|
|
\gdef\newmathalphabet{%
|
|
\if@no@font@opt
|
|
\@latex@error{*** NFSS release 1 command
|
|
\noexpand\newmathalphabet found%
|
|
^^J \space*** Automatic recovery not possible.%
|
|
^^J \space*** TYPE H for Help%
|
|
}%
|
|
{Please look at the file usrguide.tex for hints on
|
|
how to resolve this problem.}%
|
|
\else
|
|
\warn@rel@i\newmathalphabet\DeclareMathAlphabet
|
|
\fi
|
|
\@ifstar\newmathalphabet@@@
|
|
\newmathalphabet@@}%
|
|
\gdef\newmathalphabet@@#1{\DeclareMathAlphabet#1{U}{}{}{}}%
|
|
\gdef\newmathalphabet@@@#1#2#3#4{%
|
|
\DeclareMathAlphabet{#1}{U}{#2}{#3}{#4}}%
|
|
\@onlypreamble\newmathalphabet
|
|
\@onlypreamble\newmathalphabet@@
|
|
\@onlypreamble\newmathalphabet@@@
|
|
\global\let\if@no@font@opt\iftrue
|
|
\gdef\@no@font@optfalse{\let\if@no@font@opt\iffalse}%
|
|
\gdef\define@mathalphabet{%
|
|
\err@rel@i\define@mathalphabet\DeclareMathAlphabet
|
|
}%
|
|
\@onlypreamble\define@mathalphabet
|
|
\gdef\define@mathgroup{%
|
|
\err@rel@i\define@mathgroup\DeclareSymbolFont
|
|
}%
|
|
\@onlypreamble\define@mathgroup
|
|
\def\addtoversion#1#2{%
|
|
\warn@rel@i\addtoversion\SetMathAlphabet
|
|
\SetMathAlphabet#2{#1}{U}}%
|
|
\@onlypreamble\addtoversion
|
|
\EndIncludeInRelease
|
|
%%% From File: ltpageno.dtx
|
|
%%% From File: ltxref.dtx
|
|
\IncludeInRelease{2020/10/01}%
|
|
{\refstepcounter}{Add \@currentcounter}%
|
|
\def\refstepcounter#1{\stepcounter{#1}%
|
|
\edef\@currentcounter{#1}%
|
|
\protected@edef\@currentlabel
|
|
{\csname p@#1\expandafter\endcsname\csname the#1\endcsname}%
|
|
}
|
|
\def\labelformat#1{\expandafter\def\csname p@#1\endcsname##1}
|
|
\DeclareRobustCommand\Ref[1]{\protected@edef\@tempa{\ref{#1}}%
|
|
\expandafter\MakeUppercase\@tempa}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2019/10/01}%
|
|
{\refstepcounter}{Add \labelformat and \Ref}%
|
|
\def\refstepcounter#1{\stepcounter{#1}%
|
|
\protected@edef\@currentlabel
|
|
{\csname p@#1\expandafter\endcsname\csname the#1\endcsname}%
|
|
}
|
|
\def\labelformat#1{\expandafter\def\csname p@#1\endcsname##1}
|
|
\DeclareRobustCommand\Ref[1]{\protected@edef\@tempa{\ref{#1}}%
|
|
\expandafter\MakeUppercase\@tempa}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\refstepcounter}{Add \labelformat and \Ref}%
|
|
|
|
\def\refstepcounter#1{\stepcounter{#1}%
|
|
\protected@edef\@currentlabel
|
|
{\csname p@#1\endcsname\csname the#1\endcsname}%
|
|
}
|
|
\let\labelformat\@undefined
|
|
\let\Ref\@undefined
|
|
|
|
\EndIncludeInRelease
|
|
%%% From File: ltmiscen.dtx
|
|
\IncludeInRelease{2018/12/01}%
|
|
{\protected@file@percent}{Mask line endings}%
|
|
\protected\def\protected@file@percent{}
|
|
|
|
\catcode`\^^A=9
|
|
\long\gdef\add@percent@to@temptokena
|
|
#1\protected@file@percent#2\add@percent@to@temptokena
|
|
{\expandafter\ifx\expandafter X\detokenize{#2}X\expandafter\dont@add@percent@to@temptokena\else
|
|
\expandafter\do@add@percent@to@temptokena\fi{#1}}
|
|
\long\def\dont@add@percent@to@temptokena#1{%
|
|
\@temptokena\expandafter{#1}}
|
|
\begingroup
|
|
\catcode`\%=12
|
|
\catcode`\^^A=14
|
|
\long\gdef\do@add@percent@to@temptokena#1{\@temptokena\expandafter{#1%^^A
|
|
}}
|
|
\endgroup
|
|
\long\def\@writefile#1#2{%
|
|
\@ifundefined{tf@#1}\relax
|
|
{%
|
|
\add@percent@to@temptokena
|
|
\@empty#2\protected@file@percent
|
|
\add@percent@to@temptokena
|
|
\immediate\write\csname tf@#1\endcsname{\the\@temptokena}%
|
|
}%
|
|
}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\protected@file@percent}{Mask line endings}%
|
|
\let\protected@file@percent\@undefined
|
|
\let\add@percent@to@temptokena\@undefined
|
|
\let\do@add@percent@to@temptokena\@undefined
|
|
\let\dont@add@percent@to@temptokena\@undefined
|
|
\long\def\@writefile#1#2{%
|
|
\@ifundefined{tf@#1}\relax
|
|
{\@temptokena{#2}%
|
|
\immediate\write\csname tf@#1\endcsname{\the\@temptokena}%
|
|
}%
|
|
}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2019/10/01}%
|
|
{\begin}{Making \begin/\end robust}%
|
|
\DeclareRobustCommand\begin[1]{%
|
|
\@ifundefined{#1}%
|
|
{\def\reserved@a{\@latex@error{Environment #1 undefined}\@eha}}%
|
|
{\def\reserved@a{\def\@currenvir{#1}%
|
|
\edef\@currenvline{\on@line}%
|
|
\csname #1\endcsname}}%
|
|
\@ignorefalse
|
|
\begingroup\@endpefalse\reserved@a}
|
|
\edef\end
|
|
{\unexpanded{%
|
|
\romannumeral
|
|
\ifx\protect\@typeset@protect
|
|
\expandafter %1
|
|
\expandafter %2
|
|
\expandafter %1
|
|
\expandafter %3 expands the \csname inside \end<space>
|
|
\expandafter %1
|
|
\expandafter %2 expands \end<space>
|
|
\expandafter %1 expands the \else
|
|
\z@
|
|
\else
|
|
\expandafter\z@\expandafter\protect
|
|
\fi
|
|
}%
|
|
\expandafter\noexpand\csname end \endcsname
|
|
}
|
|
\@namedef{end }#1{%
|
|
\csname end#1\endcsname\@checkend{#1}%
|
|
\expandafter\endgroup\if@endpe\@doendpe\fi
|
|
\if@ignore\@ignorefalse\ignorespaces\fi}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\begin}{Making \begin/\end robust}%
|
|
\kernel@make@fragile\begin
|
|
\kernel@make@fragile\end
|
|
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2020/02/02}%
|
|
{\@centercr}{Make robust}%
|
|
\protected\def\@centercr{\ifhmode \unskip\else \@nolnerr\fi
|
|
\par\@ifstar{\nobreak\@xcentercr}\@xcentercr}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\@centercr}{Make robust}%
|
|
|
|
\def\@centercr{\ifhmode \unskip\else \@nolnerr\fi
|
|
\par\@ifstar{\nobreak\@xcentercr}\@xcentercr}
|
|
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2020/10/01}%
|
|
{\@icentercr}{centering, etc support calc}%
|
|
\def\@icentercr[#1]{\@vspace@calcify{#1}\ignorespaces}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\@icentercr}{centering, etc support calc}%
|
|
|
|
\def\@icentercr[#1]{\vskip #1\ignorespaces}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2020/10/01}%
|
|
{\centering}{Set finaldhypendemerits}%
|
|
\DeclareRobustCommand\centering{%
|
|
\let\\\@centercr
|
|
\rightskip\@flushglue\leftskip\@flushglue
|
|
\finalhyphendemerits=\z@
|
|
\parindent\z@\parfillskip\z@skip}
|
|
\DeclareRobustCommand\raggedright{%
|
|
\let\\\@centercr\@rightskip\@flushglue \rightskip\@rightskip
|
|
\finalhyphendemerits=\z@
|
|
\leftskip\z@skip
|
|
\parindent\z@}
|
|
\DeclareRobustCommand\raggedleft{%
|
|
\let\\\@centercr
|
|
\rightskip\z@skip\leftskip\@flushglue
|
|
\finalhyphendemerits=\z@
|
|
\parindent\z@\parfillskip\z@skip}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2019/10/01}%
|
|
{\centering}{Make commands robust}%
|
|
|
|
\DeclareRobustCommand\centering{%
|
|
\let\\\@centercr
|
|
\rightskip\@flushglue\leftskip\@flushglue
|
|
\parindent\z@\parfillskip\z@skip}
|
|
\DeclareRobustCommand\raggedright{%
|
|
\let\\\@centercr\@rightskip\@flushglue \rightskip\@rightskip
|
|
\leftskip\z@skip
|
|
\parindent\z@}
|
|
\DeclareRobustCommand\raggedleft{%
|
|
\let\\\@centercr
|
|
\rightskip\z@skip\leftskip\@flushglue
|
|
\parindent\z@\parfillskip\z@skip}
|
|
\EndIncludeInRelease
|
|
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\centering}{Make commands robust}%
|
|
|
|
\kernel@make@fragile\centering
|
|
\kernel@make@fragile\raggedright
|
|
\kernel@make@fragile\raggedleft
|
|
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2017-04-15}{\@verbatim}%
|
|
{Disable hyphenation in verbatim}%
|
|
\def\@verbatim{\trivlist \item\relax
|
|
\if@minipage\else\vskip\parskip\fi
|
|
\leftskip\@totalleftmargin\rightskip\z@skip
|
|
\parindent\z@\parfillskip\@flushglue\parskip\z@skip
|
|
\@@par
|
|
\language\l@nohyphenation
|
|
\@tempswafalse
|
|
\def\par{%
|
|
\if@tempswa
|
|
\leavevmode \null \@@par\penalty\interlinepenalty
|
|
\else
|
|
\@tempswatrue
|
|
\ifhmode\@@par\penalty\interlinepenalty\fi
|
|
\fi}%
|
|
\let\do\@makeother \dospecials
|
|
\obeylines \verbatim@font \@noligs
|
|
\everypar \expandafter{\the\everypar \unpenalty}%
|
|
}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000-00-00}{\@verbatim}%
|
|
{Disable hyphenation in verbatim}%
|
|
\def\@verbatim{\trivlist \item\relax
|
|
\if@minipage\else\vskip\parskip\fi
|
|
\leftskip\@totalleftmargin\rightskip\z@skip
|
|
\parindent\z@\parfillskip\@flushglue\parskip\z@skip
|
|
\@@par
|
|
\@tempswafalse
|
|
\def\par{%
|
|
\if@tempswa
|
|
\leavevmode \null \@@par\penalty\interlinepenalty
|
|
\else
|
|
\@tempswatrue
|
|
\ifhmode\@@par\penalty\interlinepenalty\fi
|
|
\fi}%
|
|
\let\do\@makeother \dospecials
|
|
\obeylines \verbatim@font \@noligs
|
|
\hyphenchar\font\m@ne
|
|
\everypar \expandafter{\the\everypar \unpenalty}%
|
|
}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2018/12/01}%
|
|
{\verbvisiblespace}{Setup visible space for \verb}%
|
|
\DeclareRobustCommand\asciispace{\char 32 }
|
|
\ifx\Umathcode\@undefined
|
|
\let\verbvisiblespace\asciispace % Pdftex version
|
|
\else
|
|
\DeclareRobustCommand\verbvisiblespace
|
|
{\leavevmode{\usefont{OT1}{cmtt}{m}{n}\asciispace}} % xetex/luatex version
|
|
\fi
|
|
|
|
\def\@setupverbvisiblespace{%
|
|
\ifx\verbvisiblespace\asciispace
|
|
\let\@xobeysp\asciispace
|
|
\else
|
|
\setbox\z@\hbox{x}%
|
|
\setbox\@verbvisiblespacebox\hbox to\wd\z@{\hss\verbvisiblespace\hss}%
|
|
\def\@xobeysp{\leavevmode\copy\@verbvisiblespacebox}%
|
|
\fi
|
|
}
|
|
|
|
\newbox\@verbvisiblespacebox
|
|
\@namedef{verbatim*}{\@verbatim
|
|
\@setupverbvisiblespace
|
|
\frenchspacing\@vobeyspaces\@sxverbatim}
|
|
\expandafter\let\csname endverbatim*\endcsname =\endverbatim
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\verbvisiblespace}{Setup visible space for \verb}%
|
|
|
|
\@namedef{verbatim*}{\@verbatim\@sxverbatim}
|
|
|
|
\let\asciispace \@undefined
|
|
\let\verbvisiblespace \@undefined
|
|
\let\@setupverbvisiblespace\@undefined
|
|
\let\@verbvisiblespacebox \@undefined
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2020/10/01}%
|
|
{\@sverb}{Drop spaces before \verb delimiter}%
|
|
\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
|
|
\@latex@error{\noexpand\verb illegal in command argument}\@ehc}%
|
|
\aftergroup\verb@balance@group
|
|
\lowercase{\let~\verb@egroup}%
|
|
\ifnum\catcode`\ =\active
|
|
\else \@setupverbvisiblespace \@vobeyspaces \fi
|
|
}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2018/12/01}%
|
|
{\@sverb}{Setup visible space for \verb}%
|
|
|
|
\def\@sverb#1{%
|
|
\catcode`#1\active
|
|
\lccode`\~`#1%
|
|
\gdef\verb@balance@group{\verb@egroup
|
|
\@latex@error{\noexpand\verb illegal in command argument}\@ehc}%
|
|
\aftergroup\verb@balance@group
|
|
\lowercase{\let~\verb@egroup}%
|
|
\ifnum\catcode`\ =\active
|
|
\else \@setupverbvisiblespace \@vobeyspaces \fi
|
|
}
|
|
\let\@@sverb\@undefined
|
|
\EndIncludeInRelease
|
|
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\@sverb}{Setup visible space for \verb}%
|
|
\def\@sverb#1{%
|
|
\catcode`#1\active
|
|
\lccode`\~`#1%
|
|
\gdef\verb@balance@group{\verb@egroup
|
|
\@latex@error{\noexpand\verb illegal in command argument}\@ehc}%
|
|
\aftergroup\verb@balance@group
|
|
\lowercase{\let~\verb@egroup}}%
|
|
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2017-04-15}{\verb}%
|
|
{Disable hyphenation in verb}%
|
|
\def\verb{\relax\ifmmode\hbox\else\leavevmode\null\fi
|
|
\bgroup
|
|
\verb@eol@error \let\do\@makeother \dospecials
|
|
\verbatim@font\@noligs
|
|
\language\l@nohyphenation
|
|
\@ifstar\@sverb\@verb}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000-00-00}{\verb}%
|
|
{Disable hyphenation in verb}%
|
|
\def\verb{\relax\ifmmode\hbox\else\leavevmode\null\fi
|
|
\bgroup
|
|
\verb@eol@error \let\do\@makeother \dospecials
|
|
\verbatim@font\@noligs
|
|
\@ifstar\@sverb\@verb}
|
|
\EndIncludeInRelease
|
|
\ifx\directlua\@undefined\else
|
|
\IncludeInRelease{2015/10/01}
|
|
{\newluafunction}{LuaTeX}%
|
|
\ifnum\luatexversion<60 %
|
|
\wlog{***************************************************}
|
|
\wlog{* LuaTeX version too old for ltluatex support *}
|
|
\wlog{***************************************************}
|
|
\expandafter\endinput
|
|
\fi
|
|
\long\def\@gobble#1{}
|
|
\long\def\@firstofone#1{#1}
|
|
\ifx\e@alloc@attribute@count\@undefined
|
|
\countdef\e@alloc@attribute@count=258
|
|
\fi
|
|
\def\newattribute#1{%
|
|
\e@alloc\attribute\attributedef
|
|
\e@alloc@attribute@count\m@ne\e@alloc@top#1%
|
|
}
|
|
\e@alloc@attribute@count=\z@
|
|
\def\setattribute#1#2{#1=\numexpr#2\relax}
|
|
\def\unsetattribute#1{#1=-"7FFFFFFF\relax}
|
|
\ifx\e@alloc@ccodetable@count\@undefined
|
|
\countdef\e@alloc@ccodetable@count=259
|
|
\fi
|
|
\def\newcatcodetable#1{%
|
|
\e@alloc\catcodetable\chardef
|
|
\e@alloc@ccodetable@count\m@ne{"8000}#1%
|
|
\initcatcodetable\allocationnumber
|
|
}
|
|
\e@alloc@ccodetable@count=\z@
|
|
\newcatcodetable\catcodetable@initex
|
|
\newcatcodetable\catcodetable@string
|
|
\begingroup
|
|
\def\setrangecatcode#1#2#3{%
|
|
\ifnum#1>#2 %
|
|
\expandafter\@gobble
|
|
\else
|
|
\expandafter\@firstofone
|
|
\fi
|
|
{%
|
|
\catcode#1=#3 %
|
|
\expandafter\setrangecatcode\expandafter
|
|
{\number\numexpr#1 + 1\relax}{#2}{#3}
|
|
}%
|
|
}
|
|
\@firstofone{%
|
|
\catcodetable\catcodetable@initex
|
|
\catcode0=12 %
|
|
\catcode13=12 %
|
|
\catcode37=12 %
|
|
\setrangecatcode{65}{90}{12}%
|
|
\setrangecatcode{97}{122}{12}%
|
|
\catcode92=12 %
|
|
\catcode127=12 %
|
|
\savecatcodetable\catcodetable@string
|
|
\endgroup
|
|
}%
|
|
\newcatcodetable\catcodetable@latex
|
|
\newcatcodetable\catcodetable@atletter
|
|
\begingroup
|
|
\def\parseunicodedataI#1;#2;#3;#4\relax{%
|
|
\parseunicodedataII#1;#3;#2 First>\relax
|
|
}%
|
|
\def\parseunicodedataII#1;#2;#3 First>#4\relax{%
|
|
\ifx\relax#4\relax
|
|
\expandafter\parseunicodedataIII
|
|
\else
|
|
\expandafter\parseunicodedataIV
|
|
\fi
|
|
{#1}#2\relax%
|
|
}%
|
|
\def\parseunicodedataIII#1#2#3\relax{%
|
|
\ifnum 0%
|
|
\if L#21\fi
|
|
\if M#21\fi
|
|
>0 %
|
|
\catcode"#1=11 %
|
|
\fi
|
|
}%
|
|
\def\parseunicodedataIV#1#2#3\relax{%
|
|
\read\unicoderead to \unicodedataline
|
|
\if L#2%
|
|
\count0="#1 %
|
|
\expandafter\parseunicodedataV\unicodedataline\relax
|
|
\fi
|
|
}%
|
|
\def\parseunicodedataV#1;#2\relax{%
|
|
\loop
|
|
\unless\ifnum\count0>"#1 %
|
|
\catcode\count0=11 %
|
|
\advance\count0 by 1 %
|
|
\repeat
|
|
}%
|
|
\def\storedpar{\par}%
|
|
\chardef\unicoderead=\numexpr\count16 + 1\relax
|
|
\openin\unicoderead=UnicodeData.txt %
|
|
\loop\unless\ifeof\unicoderead %
|
|
\read\unicoderead to \unicodedataline
|
|
\unless\ifx\unicodedataline\storedpar
|
|
\expandafter\parseunicodedataI\unicodedataline\relax
|
|
\fi
|
|
\repeat
|
|
\closein\unicoderead
|
|
\@firstofone{%
|
|
\catcode64=12 %
|
|
\savecatcodetable\catcodetable@latex
|
|
\catcode64=11 %
|
|
\savecatcodetable\catcodetable@atletter
|
|
}
|
|
\endgroup
|
|
\ifx\e@alloc@luafunction@count\@undefined
|
|
\countdef\e@alloc@luafunction@count=260
|
|
\fi
|
|
\def\newluafunction{%
|
|
\e@alloc\luafunction\e@alloc@chardef
|
|
\e@alloc@luafunction@count\m@ne\e@alloc@top
|
|
}
|
|
\e@alloc@luafunction@count=\z@
|
|
\ifx\e@alloc@whatsit@count\@undefined
|
|
\countdef\e@alloc@whatsit@count=261
|
|
\fi
|
|
\def\newwhatsit#1{%
|
|
\e@alloc\whatsit\e@alloc@chardef
|
|
\e@alloc@whatsit@count\m@ne\e@alloc@top#1%
|
|
}
|
|
\e@alloc@whatsit@count=\z@
|
|
\ifx\e@alloc@bytecode@count\@undefined
|
|
\countdef\e@alloc@bytecode@count=262
|
|
\fi
|
|
\def\newluabytecode#1{%
|
|
\e@alloc\luabytecode\e@alloc@chardef
|
|
\e@alloc@bytecode@count\m@ne\e@alloc@top#1%
|
|
}
|
|
\e@alloc@bytecode@count=\z@
|
|
|
|
\ifx\e@alloc@luachunk@count\@undefined
|
|
\countdef\e@alloc@luachunk@count=263
|
|
\fi
|
|
\def\newluachunkname#1{%
|
|
\e@alloc\luachunk\e@alloc@chardef
|
|
\e@alloc@luachunk@count\m@ne\e@alloc@top#1%
|
|
{\escapechar\m@ne
|
|
\directlua{lua.name[\the\allocationnumber]="\string#1"}}%
|
|
}
|
|
\e@alloc@luachunk@count=\z@
|
|
\begingroup
|
|
\attributedef\attributezero=0 %
|
|
\chardef \charzero =0 %
|
|
\countdef \CountZero =0 %
|
|
\dimendef \dimenzero =0 %
|
|
\mathchardef \mathcharzero =0 %
|
|
\muskipdef \muskipzero =0 %
|
|
\skipdef \skipzero =0 %
|
|
\toksdef \tokszero =0 %
|
|
\directlua{require("ltluatex")}
|
|
\endgroup
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}
|
|
{\newluafunction}{LuaTeX}%
|
|
\let\e@alloc@attribute@count\@undefined
|
|
\let\newattribute\@undefined
|
|
\let\setattribute\@undefined
|
|
\let\unsetattribute\@undefined
|
|
\let\e@alloc@ccodetable@count\@undefined
|
|
\let\newcatcodetable\@undefined
|
|
\let\catcodetable@initex\@undefined
|
|
\let\catcodetable@string\@undefined
|
|
\let\catcodetable@latex\@undefined
|
|
\let\catcodetable@atletter\@undefined
|
|
\let\e@alloc@luafunction@count\@undefined
|
|
\let\newluafunction\@undefined
|
|
\let\e@alloc@luafunction@count\@undefined
|
|
\let\newwhatsit\@undefined
|
|
\let\e@alloc@whatsit@count\@undefined
|
|
\let\newluabytecode\@undefined
|
|
\let\e@alloc@bytecode@count\@undefined
|
|
\let\newluachunkname\@undefined
|
|
\let\e@alloc@luachunk@count\@undefined
|
|
\directlua{luatexbase.uninstall()}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2017/01/01}%
|
|
{\fontencoding}{TU in everyjob}%
|
|
\fontencoding{TU}\let\encodingdefault\f@encoding
|
|
\ifx\directlua\@undefined\else
|
|
\directlua{%
|
|
if xpcall(function ()%
|
|
require('luaotfload-main')%
|
|
end,texio.write_nl) then %
|
|
local _void = luaotfload.main ()%
|
|
else %
|
|
texio.write_nl('Error in luaotfload: reverting to OT1')%
|
|
tex.print('\string\\def\string\\encodingdefault{OT1}')%
|
|
end %
|
|
}%
|
|
\let\f@encoding\encodingdefault
|
|
\expandafter\let\csname ver@luaotfload.sty\endcsname\fmtversion
|
|
\fi
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\fontencoding}{TU in everyjob}%
|
|
\fontencoding{OT1}\let\encodingdefault\f@encoding
|
|
\EndIncludeInRelease
|
|
\fi
|
|
%%% From File: ltexpl.dtx
|
|
\IncludeInRelease{2020/10/01}%
|
|
{expl3}{Pre-load expl3}%
|
|
\expandafter\ifx\csname tex\string _let:D\endcsname\relax
|
|
\expandafter\@firstofone
|
|
\else
|
|
\GenericInfo{}{Skipping: expl3 code already part of the format}%
|
|
\expandafter\@gobble
|
|
\fi
|
|
{%
|
|
\IfFileExists{expl3.ltx}
|
|
{%
|
|
\ifnum0%
|
|
\ifdefined\pdffilesize 1\fi
|
|
\ifdefined\filesize 1\fi
|
|
\ifdefined\luatexversion\ifnum\luatexversion>94 1\fi\fi
|
|
\ifdefined\kanjiskip 1\fi
|
|
>0 %
|
|
\expandafter\@firstofone
|
|
\else
|
|
\@latex@error{%
|
|
LaTeX requires the e-TeX primitives and additional\MessageBreak
|
|
functionality available in the engines:\MessageBreak
|
|
- pdfTeX v1.40\MessageBreak
|
|
- XeTeX v0.99992\MessageBreak
|
|
- LuaTeX v0.95\MessageBreak
|
|
- e-(u)pTeX mid-2012\MessageBreak
|
|
or later%
|
|
}\@ehd \expandafter\@gobble
|
|
\fi
|
|
}
|
|
{%
|
|
\@latex@error{LaTeX requires expl3}\@ehd
|
|
\@gobble
|
|
}%
|
|
{%
|
|
\input expl3.ltx
|
|
\ifdefined\NewDocumentCommand
|
|
\else
|
|
\IfFileExists{xparse.ltx}
|
|
{\input xparse.ltx }
|
|
{}%
|
|
\fi
|
|
}%
|
|
}
|
|
\EndIncludeInRelease
|
|
|
|
\IncludeInRelease{2020/02/02}%
|
|
{expl3}{Pre-load expl3}%
|
|
\IfFileExists{expl3.ltx}
|
|
{%
|
|
\ifnum0%
|
|
\ifdefined\pdffilesize 1\fi
|
|
\ifdefined\filesize 1\fi
|
|
\ifdefined\luatexversion\ifnum\luatexversion>94 1\fi\fi
|
|
>0 %
|
|
\else
|
|
\message{Skipping expl3-dependent extensions}
|
|
\expandafter\@gobbletwo
|
|
\fi
|
|
}
|
|
{%
|
|
\message{Skipping expl3-dependent extensions}%
|
|
\@gobbletwo
|
|
}%
|
|
\input{expl3.ltx}
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2020/10/01}%
|
|
{\@expl@tl@trim@spaces@apply@@nN}
|
|
{l3 macro for use in include}%
|
|
\ExplSyntaxOn
|
|
\cs_new_eq:NN \@expl@tl@trim@spaces@apply@@nN \tl_trim_spaces_apply:nN
|
|
\ExplSyntaxOff
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\@expl@tl@trim@spaces@apply@@nN}
|
|
{l3 macro for use in include}%
|
|
|
|
\let\@expl@tl@trim@spaces@apply@@nN\@undefined
|
|
|
|
\EndIncludeInRelease
|
|
%%% From File: ltfinal.dtx
|
|
\IncludeInRelease{2015/01/01}%
|
|
{\newmarks}{Extended Allocation}%
|
|
\ifx\marks\@undefined\else
|
|
\def\newmarks{%
|
|
\e@alloc\marks \e@alloc@chardef{\count256}\m@ne\e@alloc@top}
|
|
\fi
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\newmarks}{Extended Allocation}%
|
|
\let\newmarks\@undefined
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2015/01/01}%
|
|
{\newXeTeXintercharclass}{Extended Allocation}%
|
|
\ifx\XeTeXcharclass\@undefined
|
|
\else
|
|
\ifdim\the\XeTeXversion\XeTeXrevision\p@>0.99993\p@
|
|
\chardef\e@alloc@intercharclass@top=4095
|
|
\else
|
|
\chardef\e@alloc@intercharclass@top=255
|
|
\fi
|
|
\def\newXeTeXintercharclass{%
|
|
\e@alloc\XeTeXcharclass
|
|
\chardef\xe@alloc@intercharclass\m@ne\e@alloc@intercharclass@top}
|
|
\fi
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\newXeTeXintercharclass}{Extended Allocation}%
|
|
\ifx\XeTeXcharclass\@undefined
|
|
\else
|
|
\def\xe@alloc@#1#2#3#4#5{\global\advance#1\@ne
|
|
\xe@ch@ck#1#4#2%
|
|
\allocationnumber#1%
|
|
\global#3#5\allocationnumber
|
|
\wlog{\string#5=\string#2\the\allocationnumber}}
|
|
\def\xe@ch@ck#1#2#3{%
|
|
\ifnum#1<#2\else
|
|
\errmessage{No room for a new #3}%
|
|
\fi}
|
|
\def\newXeTeXintercharclass{%
|
|
\xe@alloc@\xe@alloc@intercharclass
|
|
\XeTeXcharclass\chardef\@cclv}
|
|
\fi
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2016/02/01}%
|
|
{\xe@alloc@intercharclass}{Start of XeTeX class allocator}%
|
|
\ifx\XeTeXcharclass\@undefined
|
|
\else
|
|
\countdef\xe@alloc@intercharclass=257
|
|
\xe@alloc@intercharclass=\z@
|
|
\fi
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2015/01/01}%
|
|
{\xe@alloc@intercharclass}{Start of XeTeX class allocator}%
|
|
\ifx\XeTeXcharclass\@undefined
|
|
\else
|
|
\xe@alloc@intercharclass=\thr@@
|
|
\fi
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\xe@alloc@intercharclass}{Start of XeTeX class allocator}%
|
|
\ifx\XeTeXcharclass\@undefined
|
|
\else
|
|
\newcount\xe@alloc@intercharclass
|
|
\xe@alloc@intercharclass=\thr@@
|
|
\fi
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2016/02/01}%
|
|
{\XeTeXintercharclasses}{XeTeX character classes}%
|
|
\ifx\XeTeXinterchartoks\undefined
|
|
\else
|
|
\begingroup
|
|
\chardef\XeTeXcharclassID = 0 %
|
|
\chardef\XeTeXcharclassOP = 0 %
|
|
\chardef\XeTeXcharclassCL = 0 %
|
|
\chardef\XeTeXcharclassEX = 0 %
|
|
\chardef\XeTeXcharclassIS = 0 %
|
|
\chardef\XeTeXcharclassNS = 0 %
|
|
\chardef\XeTeXcharclassCM = 0 %
|
|
\input{load-unicode-xetex-classes}
|
|
\endgroup
|
|
\global\let\xtxHanGlue\undefined
|
|
\global\let\xtxHanSpace\undefined
|
|
\global\XeTeXinterchartoks 0 1 = {}
|
|
\global\XeTeXinterchartoks 0 2 = {}
|
|
\global\XeTeXinterchartoks 0 3 = {}
|
|
\global\XeTeXinterchartoks 1 0 = {}
|
|
\global\XeTeXinterchartoks 2 0 = {}
|
|
\global\XeTeXinterchartoks 3 0 = {}
|
|
\global\XeTeXinterchartoks 1 1 = {}
|
|
\global\XeTeXinterchartoks 1 2 = {}
|
|
\global\XeTeXinterchartoks 1 3 = {}
|
|
\global\XeTeXinterchartoks 2 1 = {}
|
|
\global\XeTeXinterchartoks 2 2 = {}
|
|
\global\XeTeXinterchartoks 2 3 = {}
|
|
\global\XeTeXinterchartoks 3 1 = {}
|
|
\global\XeTeXinterchartoks 3 2 = {}
|
|
\global\XeTeXinterchartoks 3 3 = {}
|
|
\fi
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\XeTeXintercharclasses}{XeTeX character classes}%
|
|
\ifx\XeTeXinterchartoks\undefined
|
|
\else
|
|
\input{load-unicode-xetex-classes}
|
|
\gdef\xtxHanGlue{\hskip0pt plus 0.1em\relax}
|
|
\gdef\xtxHanSpace{\hskip0.2em plus 0.2em minus 0.1em\relax}
|
|
\global\XeTeXinterchartoks 0 1 = {\xtxHanSpace}
|
|
\global\XeTeXinterchartoks 0 2 = {\xtxHanSpace}
|
|
\global\XeTeXinterchartoks 0 3 = {\nobreak\xtxHanSpace}
|
|
\global\XeTeXinterchartoks 1 0 = {\xtxHanSpace}
|
|
\global\XeTeXinterchartoks 2 0 = {\nobreak\xtxHanSpace}
|
|
\global\XeTeXinterchartoks 3 0 = {\xtxHanSpace}
|
|
\global\XeTeXinterchartoks 1 1 = {\xtxHanGlue}
|
|
\global\XeTeXinterchartoks 1 2 = {\xtxHanGlue}
|
|
\global\XeTeXinterchartoks 1 3 = {\nobreak\xtxHanGlue}
|
|
\global\XeTeXinterchartoks 2 1 = {\nobreak\xtxHanGlue}
|
|
\global\XeTeXinterchartoks 2 2 = {\nobreak\xtxHanGlue}
|
|
\global\XeTeXinterchartoks 2 3 = {\xtxHanGlue}
|
|
\global\XeTeXinterchartoks 3 1 = {\xtxHanGlue}
|
|
\global\XeTeXinterchartoks 3 2 = {\xtxHanGlue}
|
|
\global\XeTeXinterchartoks 3 3 = {\nobreak\xtxHanGlue}
|
|
\fi
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2017/04/15}%
|
|
{\document@default@language}{Save language for hyphenation}%
|
|
\let\document@default@language\m@ne
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\document@default@language}{Save language for hyphenation}%
|
|
\let\document@default@language\@undefined
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2018/04/01}%
|
|
{\UTFviii@invalid}{UTF-8 default}%
|
|
\ifnum0%
|
|
\ifx\Umathchar\@undefined\else 1\fi
|
|
\ifx\mubyte\@undefined\else 1\fi
|
|
\ifx\charsubdef\@undefined\else 1\fi
|
|
=\z@
|
|
\def\saved@space@catcode{10}
|
|
\let\@inpenc@test\relax
|
|
\def\IeC{%
|
|
\ifx\protect\@typeset@protect
|
|
\expandafter\@firstofone
|
|
\else
|
|
\noexpand\IeC
|
|
\fi
|
|
}
|
|
\@tempcnta=1
|
|
\loop
|
|
\catcode\@tempcnta=13 %
|
|
\advance\@tempcnta\@ne %
|
|
\ifnum\@tempcnta<32 %
|
|
\repeat %
|
|
\catcode0=15 % null
|
|
\catcode9=10 % tab
|
|
\catcode10=12 % ctrl J
|
|
\catcode12=13 % ctrl L
|
|
\catcode13=5 % newline
|
|
\@tempcnta=128
|
|
\loop
|
|
\catcode\@tempcnta=13
|
|
\advance\@tempcnta\@ne
|
|
\ifnum\@tempcnta<256
|
|
\repeat
|
|
\def\UseRawInputEncoding{%
|
|
\let\inputencodingname\@undefined % revert
|
|
\let\DeclareFontEncoding@\DeclareFontEncoding@saved % revert
|
|
\let\DeclareUnicodeCharacter\@undefined % revert
|
|
\@tempcnta=1
|
|
\loop
|
|
\catcode\@tempcnta=15 %
|
|
\advance\@tempcnta\@ne %
|
|
\ifnum\@tempcnta<32 %
|
|
\repeat %
|
|
\catcode0=15 % null
|
|
\catcode9=10 % tab
|
|
\catcode10=12 % ctrl J
|
|
\catcode12=13 % ctrl L
|
|
\catcode13=5 % newline
|
|
\@tempcnta=128
|
|
\loop
|
|
\catcode\@tempcnta=12
|
|
\advance\@tempcnta\@ne
|
|
\ifnum\@tempcnta<256
|
|
\repeat
|
|
}
|
|
\let\DeclareFontEncoding@saved\DeclareFontEncoding@
|
|
\edef\inputencodingname{utf8}%
|
|
\input{utf8.def}
|
|
\let\UTFviii@undefined@err@@\UTFviii@undefined@err
|
|
\let\UTFviii@invalid@err@@\UTFviii@invalid@err
|
|
\let\UTFviii@two@octets@@\UTFviii@two@octets
|
|
\let\UTFviii@three@octets@@\UTFviii@three@octets
|
|
\let\UTFviii@four@octets@@\UTFviii@four@octets
|
|
\let\@inpenc@test\@undefined
|
|
\let\saved@space@catcode\@undefined
|
|
\else
|
|
\@tempcnta=0
|
|
\loop
|
|
\catcode\@tempcnta=15 %
|
|
\advance\@tempcnta\@ne %
|
|
\ifnum\@tempcnta<32 %
|
|
\repeat %
|
|
\catcode0=15 % null
|
|
\catcode9=10 % tab
|
|
\catcode10=12 % ctrl J
|
|
\catcode12=13 % ctrl L
|
|
\catcode13=5 % newline
|
|
\let\UseRawInputEncoding\relax
|
|
\fi
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\UTFviii@invalid}{UTF-8 default}%
|
|
\let\UTFviii@two@octets@combine\@undefined
|
|
\let\UTFviii@three@octets@combine\@undefined
|
|
\let\UTFviii@four@octets@combine\@undefined
|
|
\let\UTFviii@two@octets@string\@undefined
|
|
\let\UTFviii@three@octets@string\@undefined
|
|
\let\UTFviii@four@octets@string\@undefined
|
|
\let\UTFviii@two@octets@noexpand\@undefined
|
|
\let\UTFviii@three@octets@noexpand\@undefined
|
|
\let\UTFviii@four@octets@noexpand\@undefined
|
|
\@tempcnta=0
|
|
\loop
|
|
\catcode\@tempcnta=15
|
|
\advance\@tempcnta\@ne
|
|
\ifnum\@tempcnta<32
|
|
\repeat %
|
|
\catcode9=10 % tab
|
|
\catcode10=12 % ctrl J
|
|
\catcode12=13 % ctrl L
|
|
\catcode13=5 % newline
|
|
\@tempcnta=128
|
|
\loop
|
|
\catcode\@tempcnta=12
|
|
\advance\@tempcnta\@ne
|
|
\ifnum\@tempcnta<256
|
|
\repeat
|
|
\let\IeC\@undefined
|
|
\def\DeclareFontEncoding@#1#2#3{%
|
|
\expandafter
|
|
\ifx\csname T@#1\endcsname\relax
|
|
\def\cdp@elt{\noexpand\cdp@elt}%
|
|
\xdef\cdp@list{\cdp@list\cdp@elt{#1}%
|
|
{\default@family}{\default@series}%
|
|
{\default@shape}}%
|
|
\expandafter\let\csname#1-cmd\endcsname\@changed@cmd
|
|
\else
|
|
\@font@info{Redeclaring font encoding #1}%
|
|
\fi
|
|
\global\@namedef{T@#1}{#2}%
|
|
\global\@namedef{M@#1}{\default@M#3}%
|
|
\xdef\LastDeclaredEncoding{#1}%
|
|
}
|
|
\let\UseRawInputEncoding\@undefined
|
|
\let\DeclareFontEncoding@saved\@undefined
|
|
\let\inputencodingname\@undefined
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{2020/10/01}%
|
|
{\ShowHook}{The hook management}%
|
|
\input lthooks.ltx
|
|
\input ltshipout.ltx
|
|
\input ltfilehook.ltx
|
|
\EndIncludeInRelease
|
|
\IncludeInRelease{0000/00/00}%
|
|
{\ShowHook}{The hook management}%
|
|
|
|
|
|
\DeclareRobustCommand*\begin[1]{%
|
|
\@ifundefined{#1}%
|
|
{\def\reserved@a{\@latex@error{Environment #1 undefined}\@eha}}%
|
|
{\def\reserved@a{\def\@currenvir{#1}%
|
|
\edef\@currenvline{\on@line}%
|
|
\csname #1\endcsname}}%
|
|
\@ignorefalse
|
|
\begingroup\@endpefalse\reserved@a}
|
|
|
|
\@namedef{end }#1{%
|
|
\csname end#1\endcsname\@checkend{#1}%
|
|
\expandafter\endgroup\if@endpe\@doendpe\fi
|
|
\if@ignore\@ignorefalse\ignorespaces\fi}
|
|
|
|
\DeclareDocumentCommand \NewHook {m}{}
|
|
\DeclareDocumentCommand \NewReversedHook {m}{}
|
|
\DeclareDocumentCommand \NewMirroredHookPair {mm}{}
|
|
|
|
\DeclareDocumentCommand \AddToHookNext {m+m}{}
|
|
\DeclareDocumentCommand \RemoveFromHook {mo}{}
|
|
\def \UseHook #1{}
|
|
\def \UseOneTimeHook #1{}
|
|
\def \ShowHook #1{}
|
|
\let \DebugHookOn \@empty
|
|
\let \DebugHookOff\@empty
|
|
|
|
\DeclareDocumentCommand \DeclareHookRule {mmmm}{}
|
|
\DeclareDocumentCommand \DeclareDefaultHookRule {mmm}{}
|
|
\DeclareDocumentCommand \ClearHookRule {mmm}{}
|
|
\DeclareExpandableDocumentCommand \IfHookExistTF {mmm}{#3}
|
|
\DeclareExpandableDocumentCommand \IfHookEmptyTF {mmm}{#2}
|
|
|
|
\DeclareRobustCommand\AtBeginDocument{\g@addto@macro\@begindocumenthook}
|
|
\DeclareRobustCommand\AtEndDocument{\g@addto@macro\@enddocumenthook}
|
|
|
|
\let\AtBeginEnvironment \@undefined
|
|
\let\AtEndEnvironment \@undefined
|
|
\let\BeforeBeginEnvironment \@undefined
|
|
\let\AfterEndEnvironment \@undefined
|
|
|
|
\def\@pushfilename{%
|
|
\@expl@push@filename@@
|
|
\xdef\@currnamestack{%
|
|
{\@currname}%
|
|
{\@currext}%
|
|
{\the\catcode`\@}%
|
|
\@currnamestack}%
|
|
\@expl@push@filename@aux@@}
|
|
\def\@popfilename{\expandafter\@p@pfilename\@currnamestack\@nil
|
|
\@expl@pop@filename@@}
|
|
|
|
|
|
% next goes away again when etoolbox is updated ...
|
|
\expandafter\let\csname ver@etoolbox.sty\endcsname\@undefined
|
|
|
|
\def\document{\endgroup
|
|
\@expl@sys@load@backend@@
|
|
\ifx\@unusedoptionlist\@empty\else
|
|
\@latex@warning@no@line{Unused global option(s):^^J%
|
|
\@spaces[\@unusedoptionlist]}%
|
|
\fi
|
|
\@colht\textheight
|
|
\@colroom\textheight \vsize\textheight
|
|
\columnwidth\textwidth
|
|
\@clubpenalty\clubpenalty
|
|
\if@twocolumn
|
|
\advance\columnwidth -\columnsep
|
|
\divide\columnwidth\tw@ \hsize\columnwidth \@firstcolumntrue
|
|
\fi
|
|
\hsize\columnwidth \linewidth\hsize
|
|
\begingroup\@floatplacement\@dblfloatplacement
|
|
\makeatletter\let\@writefile\@gobbletwo
|
|
\global \let \@multiplelabels \relax
|
|
\@input{\jobname.aux}%
|
|
\endgroup
|
|
\if@filesw
|
|
\immediate\openout\@mainaux\jobname.aux
|
|
\immediate\write\@mainaux{\relax}%
|
|
\fi
|
|
\process@table
|
|
\let\glb@currsize\@empty % Force math initialization.
|
|
\normalsize
|
|
\everypar{}%
|
|
\ifx\normalsfcodes\@empty
|
|
\ifnum\sfcode`\.=\@m
|
|
\let\normalsfcodes\frenchspacing
|
|
\else
|
|
\let\normalsfcodes\nonfrenchspacing
|
|
\fi
|
|
\fi
|
|
\ifx\document@default@language\m@ne
|
|
\chardef\document@default@language\language
|
|
\fi
|
|
\@noskipsecfalse
|
|
\let \@refundefined \relax
|
|
\let\AtBeginDocument\@firstofone
|
|
\@begindocumenthook
|
|
\ifdim\topskip<1sp\global\topskip 1sp\relax\fi
|
|
\global\@maxdepth\maxdepth
|
|
\global\let\@begindocumenthook\@undefined
|
|
\ifx\@listfiles\@undefined
|
|
\global\let\@filelist\relax
|
|
\global\let\@addtofilelist\@gobble
|
|
\fi
|
|
\gdef\do##1{\global\let ##1\@notprerr}%
|
|
\@preamblecmds
|
|
\global\let \@nodocument \relax
|
|
\global\let\do\noexpand
|
|
\ignorespaces}
|
|
|
|
\def\enddocument{%
|
|
\let\AtEndDocument\@firstofone
|
|
\@enddocumenthook
|
|
\@checkend{document}%
|
|
\clearpage
|
|
\begingroup
|
|
\if@filesw
|
|
\immediate\closeout\@mainaux
|
|
\let\@setckpt\@gobbletwo
|
|
\let\@newl@bel\@testdef
|
|
\@tempswafalse
|
|
\makeatletter \@@input\jobname.aux
|
|
\fi
|
|
\@dofilelist
|
|
\ifdim \font@submax >\fontsubfuzz\relax
|
|
\@font@warning{Size substitutions with differences\MessageBreak
|
|
up to \font@submax\space have occurred.\@gobbletwo}%
|
|
\fi
|
|
\@defaultsubs
|
|
\@refundefined
|
|
\if@filesw
|
|
\ifx \@multiplelabels \relax
|
|
\if@tempswa
|
|
\@latex@warning@no@line{Label(s) may have changed.
|
|
Rerun to get cross-references right}%
|
|
\fi
|
|
\else
|
|
\@multiplelabels
|
|
\fi
|
|
\fi
|
|
\endgroup
|
|
\deadcycles\z@\@@end}
|
|
|
|
\expandafter\let\csname ver@atveryend.sty\endcsname\@undefined
|
|
\let\AfterLastShipout \@undefined
|
|
\let\AtVeryEndDocument \@undefined
|
|
\let\AtEndAfterFileList \@undefined
|
|
\let\AtVeryVeryEnd \@undefined
|
|
\let\BeforeClearDocument \@undefined
|
|
|
|
|
|
\expandafter\let\expandafter\shipout\csname tex_shipout:D\endcsname
|
|
|
|
\let \ShipoutBox\@undefined
|
|
\let \ReadonlyShipoutCounter \@undefined
|
|
\let \c@totalpages \@undefined
|
|
\let \thetotalpages \@undefined
|
|
|
|
\let \DiscardShipoutBox \@undefined
|
|
\let \DebugShipoutOn \@undefined
|
|
\let \DebugShipoutOff \@undefined
|
|
|
|
\DeclareRobustCommand \AtBeginDvi [1]{%
|
|
\global \setbox \@begindvibox
|
|
\vbox{\unvbox \@begindvibox #1}%
|
|
}
|
|
|
|
\let \AtBeginShipout \@undefined
|
|
\let \AtBeginShipoutNext \@undefined
|
|
|
|
\let \AtBeginShipoutFirst \@undefined
|
|
|
|
\let \ShipoutBoxHeight \@undefined
|
|
\let \ShipoutBoxDepth \@undefined
|
|
\let \ShipoutBoxWidth \@undefined
|
|
|
|
\let \AtBeginShipoutDiscard \@undefined
|
|
|
|
\let \AtBeginShipoutAddToBox \@undefined
|
|
\let \AtBeginShipoutAddToBoxForeground \@undefined
|
|
\let \AtBeginShipoutUpperLeft \@undefined
|
|
\let \AtBeginShipoutUpperLeftForeground \@undefined
|
|
|
|
\expandafter\let\csname ver@atbegshi.sty\endcsname \@undefined
|
|
|
|
\let \EveryShipout \@undefined
|
|
\let \AtNextShipout \@undefined
|
|
\expandafter \let \csname ver@everyshi.sty\endcsname \@undefined
|
|
|
|
\let \AtEndDvi \@undefined
|
|
\expandafter\let \csname ver@atenddvi.sty\endcsname \@undefined
|
|
|
|
\AtBeginDocument{\reinstall@nfss@defs\init@series@setup}
|
|
|
|
\EndIncludeInRelease
|
|
\endinput
|
|
%%
|
|
%% End of file `latexrelease.sty'.
|
|
|