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.
752 lines
18 KiB
752 lines
18 KiB
%%
|
|
%% This is file `ltxcmds.sty',
|
|
%% generated with the docstrip utility.
|
|
%%
|
|
%% The original source files were:
|
|
%%
|
|
%% ltxcmds.dtx (with options: `package')
|
|
%%
|
|
%% This is a generated file.
|
|
%%
|
|
%% Project: ltxcmds
|
|
%% Version: 2019/12/15 v1.24
|
|
%%
|
|
%% Copyright (C)
|
|
%% 2009-2011 Heiko Oberdiek
|
|
%% 2016-2019 Oberdiek Package Support Group
|
|
%%
|
|
%% This work 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. This version of this license is in
|
|
%% https://www.latex-project.org/lppl/lppl-1-3c.txt
|
|
%% and the latest version of this license is in
|
|
%% https://www.latex-project.org/lppl.txt
|
|
%% and version 1.3 or later is part of all distributions of
|
|
%% LaTeX version 2005/12/01 or later.
|
|
%%
|
|
%% This work has the LPPL maintenance status "maintained".
|
|
%%
|
|
%% The Current Maintainers of this work are
|
|
%% Heiko Oberdiek and the Oberdiek Package Support Group
|
|
%% https://github.com/ho-tex/ltxcmds/issues
|
|
%%
|
|
%%
|
|
%% The Base Interpreter refers to any `TeX-Format',
|
|
%% because some files are installed in TDS:tex/generic//.
|
|
%%
|
|
%% This work consists of the main source file ltxcmds.dtx
|
|
%% and the derived files
|
|
%% ltxcmds.sty, ltxcmds.pdf, ltxcmds.ins, ltxcmds.drv,
|
|
%% ltxcmds-test1.tex, ltxcmds-test-gobble.tex,
|
|
%% ltxcmds-test-ifempty.tex, ltxcmds-test-zapspace.tex,
|
|
%% ltxcmds-test-ifboxempty.tex, ltxcmds-test-nextchar.tex,
|
|
%% ltxcmds-test-carcdr.tex.
|
|
%%
|
|
\begingroup\catcode61\catcode48\catcode32=10\relax%
|
|
\catcode13=5 % ^^M
|
|
\endlinechar=13 %
|
|
\catcode35=6 % #
|
|
\catcode39=12 % '
|
|
\catcode44=12 % ,
|
|
\catcode45=12 % -
|
|
\catcode46=12 % .
|
|
\catcode58=12 % :
|
|
\catcode64=11 % @
|
|
\catcode123=1 % {
|
|
\catcode125=2 % }
|
|
\expandafter\let\expandafter\x\csname ver@ltxcmds.sty\endcsname
|
|
\ifx\x\relax % plain-TeX, first loading
|
|
\else
|
|
\def\empty{}%
|
|
\ifx\x\empty % LaTeX, first loading,
|
|
% variable is initialized, but \ProvidesPackage not yet seen
|
|
\else
|
|
\expandafter\ifx\csname PackageInfo\endcsname\relax
|
|
\def\x#1#2{%
|
|
\immediate\write-1{Package #1 Info: #2.}%
|
|
}%
|
|
\else
|
|
\def\x#1#2{\PackageInfo{#1}{#2, stopped}}%
|
|
\fi
|
|
\x{ltxcmds}{The package is already loaded}%
|
|
\aftergroup\endinput
|
|
\fi
|
|
\fi
|
|
\endgroup%
|
|
\begingroup\catcode61\catcode48\catcode32=10\relax%
|
|
\catcode13=5 % ^^M
|
|
\endlinechar=13 %
|
|
\catcode35=6 % #
|
|
\catcode39=12 % '
|
|
\catcode40=12 % (
|
|
\catcode41=12 % )
|
|
\catcode44=12 % ,
|
|
\catcode45=12 % -
|
|
\catcode46=12 % .
|
|
\catcode47=12 % /
|
|
\catcode58=12 % :
|
|
\catcode64=11 % @
|
|
\catcode91=12 % [
|
|
\catcode93=12 % ]
|
|
\catcode123=1 % {
|
|
\catcode125=2 % }
|
|
\expandafter\ifx\csname ProvidesPackage\endcsname\relax
|
|
\def\x#1#2#3[#4]{\endgroup
|
|
\immediate\write-1{Package: #3 #4}%
|
|
\xdef#1{#4}%
|
|
}%
|
|
\else
|
|
\def\x#1#2[#3]{\endgroup
|
|
#2[{#3}]%
|
|
\ifx#1\@undefined
|
|
\xdef#1{#3}%
|
|
\fi
|
|
\ifx#1\relax
|
|
\xdef#1{#3}%
|
|
\fi
|
|
}%
|
|
\fi
|
|
\expandafter\x\csname ver@ltxcmds.sty\endcsname
|
|
\ProvidesPackage{ltxcmds}%
|
|
[2019/12/15 v1.24 LaTeX kernel commands for general use (HO)]%
|
|
\begingroup\catcode61\catcode48\catcode32=10\relax%
|
|
\catcode13=5 % ^^M
|
|
\endlinechar=13 %
|
|
\catcode123=1 % {
|
|
\catcode125=2 % }
|
|
\catcode64=11 % @
|
|
\def\x{\endgroup
|
|
\expandafter\edef\csname LTXcmds@AtEnd\endcsname{%
|
|
\endlinechar=\the\endlinechar\relax
|
|
\catcode13=\the\catcode13\relax
|
|
\catcode32=\the\catcode32\relax
|
|
\catcode35=\the\catcode35\relax
|
|
\catcode61=\the\catcode61\relax
|
|
\catcode64=\the\catcode64\relax
|
|
\catcode123=\the\catcode123\relax
|
|
\catcode125=\the\catcode125\relax
|
|
}%
|
|
}%
|
|
\x\catcode61\catcode48\catcode32=10\relax%
|
|
\catcode13=5 % ^^M
|
|
\endlinechar=13 %
|
|
\catcode35=6 % #
|
|
\catcode64=11 % @
|
|
\catcode123=1 % {
|
|
\catcode125=2 % }
|
|
\def\TMP@EnsureCode#1#2{%
|
|
\edef\LTXcmds@AtEnd{%
|
|
\LTXcmds@AtEnd
|
|
\catcode#1=\the\catcode#1\relax
|
|
}%
|
|
\catcode#1=#2\relax
|
|
}
|
|
\TMP@EnsureCode{36}{3}% $
|
|
\TMP@EnsureCode{38}{4}% &
|
|
\TMP@EnsureCode{40}{12}% (
|
|
\TMP@EnsureCode{41}{12}% )
|
|
\TMP@EnsureCode{45}{12}% -
|
|
\TMP@EnsureCode{46}{12}% .
|
|
\TMP@EnsureCode{47}{12}% /
|
|
\TMP@EnsureCode{60}{12}% <
|
|
\TMP@EnsureCode{62}{12}% >
|
|
\TMP@EnsureCode{91}{12}% [
|
|
\TMP@EnsureCode{96}{12}% `
|
|
\TMP@EnsureCode{93}{12}% ]
|
|
\TMP@EnsureCode{94}{12}% ^ (superscript) (!)
|
|
\TMP@EnsureCode{124}{12}% |
|
|
\edef\LTXcmds@AtEnd{\LTXcmds@AtEnd\noexpand\endinput}
|
|
\chardef\ltx@zero=0 %
|
|
\chardef\ltx@one=1 %
|
|
\chardef\ltx@two=2 %
|
|
\chardef\ltx@active=13 %
|
|
\chardef\ltx@cclv=255 %
|
|
\def\ltx@minusone{%
|
|
-\ltx@one
|
|
}
|
|
\toksdef\ltx@LocToksA=0 %
|
|
\toksdef\ltx@LocToksB=2 %
|
|
\toksdef\ltx@LocToksC=4 %
|
|
\toksdef\ltx@LocToksD=6 %
|
|
\toksdef\ltx@LocToksE=8 %
|
|
\toksdef\ltx@GlobToksA=1 %
|
|
\toksdef\ltx@GlobToksB=3 %
|
|
\toksdef\ltx@GlobToksC=5 %
|
|
\toksdef\ltx@GlobToksD=7 %
|
|
\toksdef\ltx@GlobToksE=9 %
|
|
\dimendef\ltx@LocDimenA=0 %
|
|
\dimendef\ltx@LocDimenB=2 %
|
|
\dimendef\ltx@LocDimenC=4 %
|
|
\dimendef\ltx@LocDimenD=6 %
|
|
\dimendef\ltx@LocDimenE=8 %
|
|
\dimendef\ltx@GlobDimenA=1 %
|
|
\dimendef\ltx@GlobDimenB=3 %
|
|
\dimendef\ltx@GlobDimenC=5 %
|
|
\dimendef\ltx@GlobDimenD=7 %
|
|
\dimendef\ltx@GlobDimenE=9 %
|
|
\skipdef\ltx@LocSkipA=0 %
|
|
\skipdef\ltx@LocSkipB=2 %
|
|
\skipdef\ltx@LocSkipC=4 %
|
|
\skipdef\ltx@LocSkipD=6 %
|
|
\skipdef\ltx@LocSkipE=8 %
|
|
\skipdef\ltx@GlobSkipA=1 %
|
|
\skipdef\ltx@GlobSkipB=3 %
|
|
\skipdef\ltx@GlobSkipC=5 %
|
|
\skipdef\ltx@GlobSkipD=7 %
|
|
\skipdef\ltx@GlobSkipE=9 %
|
|
\long\def\ltx@gobble#1{}
|
|
\long\def\ltx@gobbletwo#1#2{}
|
|
\long\def\ltx@gobblethree#1#2#3{}
|
|
\long\def\ltx@gobblefour#1#2#3#4{}
|
|
\def\ltx@GobbleNum#1{%
|
|
\romannumeral
|
|
\csname ltx@zero%
|
|
\expandafter\LTXcmds@GobbleNum
|
|
\romannumeral\LTXcmds@num{#1}000{m\endcsname}%
|
|
}
|
|
\def\LTXcmds@GobbleNum#1{%
|
|
\csname LTXcmds@G#1\LTXcmds@GobbleNum
|
|
}
|
|
\long\def\LTXcmds@Gm#1{%
|
|
\endcsname
|
|
}
|
|
\long\def\ltx@firstofone#1{#1}
|
|
\long\def\ltx@firstoftwo#1#2{#1}
|
|
\long\def\ltx@secondoftwo#1#2{#2}
|
|
\long\def\ltx@firstofthree#1#2#3{#1}
|
|
\long\def\ltx@secondofthree#1#2#3{#2}
|
|
\long\def\ltx@thirdofthree#1#2#3{#3}%
|
|
\long\def\ltx@firstoffour#1#2#3#4{#1}
|
|
\long\def\ltx@secondoffour#1#2#3#4{#2}
|
|
\long\def\ltx@thirdoffour#1#2#3#4{#3}%
|
|
\long\def\ltx@fourthoffour#1#2#3#4{#4}%
|
|
\long\def\ltx@carzero#1\@nil{}%
|
|
\long\def\LTXcmds@cdrzero#1\@nil{#1}
|
|
\def\ltx@cdrzero{%
|
|
\romannumeral\LTXcmds@cdrzero\ltx@zero
|
|
}
|
|
\long\def\ltx@car#1#2\@nil{#1}
|
|
\long\def\ltx@cdr#1{%
|
|
\romannumeral\LTXcmds@cdrzero\ltx@zero
|
|
}
|
|
\long\def\ltx@cartwo#1#2#3\@nil{#1#2}
|
|
\long\def\ltx@carsecond#1#2#3\@nil{#2}
|
|
\long\def\ltx@cdrtwo#1#2{%
|
|
\romannumeral\LTXcmds@cdrzero\ltx@zero
|
|
}
|
|
\long\def\ltx@carthree#1#2#3#4\@nil{#1#2#3}
|
|
\long\def\ltx@carthird#1#2#3#4\@nil{#3}
|
|
\long\def\ltx@cdrthree#1#2#3{%
|
|
\romannumeral\LTXcmds@cdrzero\ltx@zero
|
|
}
|
|
\long\def\ltx@carfour#1#2#3#4#5\@nil{#1#2#3#4}
|
|
\long\def\ltx@carfourth#1#2#3#4#5\@nil{#4}
|
|
\long\def\ltx@cdrfour#1#2#3#4{%
|
|
\romannumeral\LTXcmds@cdrzero\ltx@zero
|
|
}
|
|
\def\ltx@CarNum#1{%
|
|
\romannumeral
|
|
\csname LTXcmds@CarNumFinish%
|
|
\expandafter\LTXcmds@CarNum
|
|
\romannumeral\LTXcmds@num{#1}000{x\endcsname}%
|
|
}
|
|
\def\LTXcmds@CarNum#1{%
|
|
\csname LTXcmds@C#1\LTXcmds@CarNum
|
|
}
|
|
\long\def\LTXcmds@Cm#1#2{%
|
|
\endcsname{#1#2}%
|
|
}
|
|
\def\LTXcmds@Cx#1{%
|
|
\endcsname{}%
|
|
}
|
|
\long\def\LTXcmds@CarNumFinish#1#2\@nil{%
|
|
\ltx@zero
|
|
#1%
|
|
}
|
|
\def\ltx@CarNumth#1{%
|
|
\romannumeral
|
|
\expandafter\expandafter\expandafter
|
|
\LTXcmds@CarNumth
|
|
\ltx@GobbleNum{#1}{}%
|
|
}
|
|
\long\def\LTXcmds@CarNumth#1#2\@nil{%
|
|
\ltx@zero
|
|
#1%
|
|
}
|
|
\def\ltx@CdrNum#1{%
|
|
\romannumeral%
|
|
\expandafter\expandafter\expandafter\ltx@cdrzero
|
|
\expandafter\expandafter\expandafter\ltx@zero
|
|
\ltx@GobbleNum{#1}%
|
|
}
|
|
\long\def\ltx@ReturnAfterFi#1\fi{\fi#1}
|
|
\long\def\ltx@ReturnAfterElseFi#1\else#2\fi{\fi#1}
|
|
\def\ltx@empty{}
|
|
\def\ltx@space{ }
|
|
\begingroup
|
|
\lccode`0=`\%\relax
|
|
\lowercase{\endgroup
|
|
\def\ltx@percentchar{0}%
|
|
}
|
|
\begingroup
|
|
\lccode`0=`\\\relax
|
|
\lowercase{\endgroup
|
|
\def\ltx@backslashchar{0}%
|
|
}
|
|
\begingroup
|
|
\lccode`0=`\#\relax
|
|
\lowercase{\endgroup
|
|
\def\ltx@hashchar{0}%
|
|
}
|
|
\begingroup
|
|
\lccode`0=`\{\relax
|
|
\lowercase{\endgroup
|
|
\def\ltx@leftbracechar{0}%
|
|
}
|
|
\begingroup
|
|
\lccode`0=`\}\relax
|
|
\lowercase{\endgroup
|
|
\def\ltx@rightbracechar{0}%
|
|
}
|
|
\def\ltx@newif#1{%
|
|
\begingroup
|
|
\escapechar=-1 %
|
|
\expandafter\endgroup
|
|
\expandafter\LTXcmds@newif\string#1\@nil
|
|
}
|
|
\begingroup
|
|
\escapechar=-1 %
|
|
\expandafter\endgroup
|
|
\expandafter\def\expandafter\LTXcmds@newif\string\if#1\@nil{%
|
|
\expandafter\edef\csname#1true\endcsname{%
|
|
\let
|
|
\expandafter\noexpand\csname if#1\endcsname
|
|
\noexpand\iftrue
|
|
}%
|
|
\expandafter\edef\csname#1false\endcsname{%
|
|
\let
|
|
\expandafter\noexpand\csname if#1\endcsname
|
|
\noexpand\iffalse
|
|
}%
|
|
\csname#1false\endcsname
|
|
}
|
|
\def\ltx@newglobalif#1{%
|
|
\begingroup
|
|
\escapechar=-1 %
|
|
\expandafter\endgroup
|
|
\expandafter\LTXcmds@newglobalif\string#1\@nil
|
|
}
|
|
\begingroup
|
|
\escapechar=-1 %
|
|
\expandafter\endgroup
|
|
\expandafter
|
|
\def\expandafter\LTXcmds@newglobalif\string\if#1\@nil{%
|
|
\expandafter\edef\csname#1true\endcsname{%
|
|
\global\let
|
|
\expandafter\noexpand\csname if#1\endcsname
|
|
\noexpand\iftrue
|
|
}%
|
|
\expandafter\edef\csname#1false\endcsname{%
|
|
\global\let
|
|
\expandafter\noexpand\csname if#1\endcsname
|
|
\noexpand\iffalse
|
|
}%
|
|
\csname#1false\endcsname
|
|
}
|
|
\def\ltx@LocalExpandAfter{%
|
|
\begingroup
|
|
\expandafter\expandafter\expandafter
|
|
\endgroup
|
|
\expandafter
|
|
}
|
|
\ltx@LocalExpandAfter
|
|
\ifx\csname ifcsname\endcsname\relax
|
|
\def\ltx@ifundefined#1{%
|
|
\expandafter\ifx\csname #1\endcsname\relax
|
|
\expandafter\ltx@firstoftwo
|
|
\else
|
|
\expandafter\ltx@secondoftwo
|
|
\fi
|
|
}%
|
|
\def\ltx@IfUndefined#1{%
|
|
\begingroup\expandafter\expandafter\expandafter\endgroup
|
|
\expandafter\ifx\csname #1\endcsname\relax
|
|
\expandafter\ltx@firstoftwo
|
|
\else
|
|
\expandafter\ltx@secondoftwo
|
|
\fi
|
|
}%
|
|
\expandafter\ltx@gobble
|
|
\else
|
|
\expandafter\ltx@firstofone
|
|
\fi
|
|
{%
|
|
\def\ltx@ifundefined#1{%
|
|
\ifcsname #1\endcsname
|
|
\expandafter\ifx\csname #1\endcsname\relax
|
|
\expandafter\expandafter\expandafter\ltx@firstoftwo
|
|
\else
|
|
\expandafter\expandafter\expandafter\ltx@secondoftwo
|
|
\fi
|
|
\else
|
|
\expandafter\ltx@firstoftwo
|
|
\fi
|
|
}%
|
|
\let\ltx@IfUndefined\ltx@ifundefined
|
|
}
|
|
\def\ltx@RemovePrefix#1>{}
|
|
\def\ltx@StripPrefix{%
|
|
\expandafter\ltx@RemovePrefix
|
|
}
|
|
\def\ltx@onelevel@sanitize#1{%
|
|
\edef#1{%
|
|
\expandafter
|
|
\ltx@RemovePrefix\meaning#1%
|
|
}%
|
|
}
|
|
\def\ltx@clsextension{cls}
|
|
\def\ltx@pkgextension{sty}
|
|
\def\ltx@iffileloaded#1{%
|
|
\ltx@ifundefined{ver@#1}\ltx@secondoftwo\ltx@firstoftwo
|
|
}
|
|
\def\ltx@ifclassloaded#1{%
|
|
\ltx@iffileloaded{#1.\ltx@clsextension}%
|
|
}
|
|
\def\ltx@ifpackageloaded#1{%
|
|
\ltx@iffileloaded{#1.\ltx@pkgextension}%
|
|
}
|
|
\def\ltx@iffilelater#1#2{%
|
|
\ltx@iffileloaded{#1}{%
|
|
\expandafter\LTXcmds@IfLater\expandafter{%
|
|
\number
|
|
\expandafter\expandafter\expandafter\LTXcmds@ParseVersion
|
|
\expandafter\expandafter\expandafter{%
|
|
\csname ver@#1\endcsname
|
|
}%
|
|
\expandafter}\expandafter{%
|
|
\number
|
|
\expandafter\LTXcmds@ParseVersion\expandafter{#2}%
|
|
}%
|
|
}\ltx@secondoftwo
|
|
}
|
|
\def\LTXcmds@IfLater#1#2{%
|
|
\ifcase 0%
|
|
\ifnum#1<19940101 %
|
|
\else
|
|
\ifnum#2<19940101 %
|
|
\else
|
|
\ifnum#2>#1 %
|
|
\else
|
|
1%
|
|
\fi
|
|
\fi
|
|
\fi
|
|
\ltx@space
|
|
\expandafter\ltx@secondoftwo
|
|
\else
|
|
\expandafter\ltx@firstoftwo
|
|
\fi
|
|
}
|
|
\def\ltx@ifclasslater#1{%
|
|
\ltx@iffilelater{#1.\ltx@clsextension}%
|
|
}
|
|
\def\ltx@ifpackagelater#1{%
|
|
\ltx@iffilelater{#1.\ltx@pkgextension}%
|
|
}
|
|
\ltx@IfUndefined{pdfmatch}{%
|
|
\def\LTXcmds@ParseVersion#1{%
|
|
\LTXcmds@@ParseVersion#10000/00/00\@nil
|
|
}%
|
|
\def\LTXcmds@@ParseVersion#1#2#3#4/#5#6/#7#8#9\@nil{%
|
|
#1#2#3#4#5#6#7#8%
|
|
}%
|
|
}{%
|
|
\def\LTXcmds@ParseVersion#1{%
|
|
\ifnum\pdfmatch{%
|
|
^%
|
|
(199[4-9]|[2-9][0-9][0-9][0-9])/%
|
|
(0[1-9]|1[0-2])/%
|
|
(0[1-9]|[1-2][0-9]|3[0-1])%
|
|
}{#1}=1 %
|
|
\ltx@StripPrefix\pdflastmatch1 %
|
|
\ltx@StripPrefix\pdflastmatch2 %
|
|
\ltx@StripPrefix\pdflastmatch3 %
|
|
\else
|
|
0%
|
|
\fi
|
|
}%
|
|
}
|
|
\long\def\ltx@GlobalAppendToMacro#1#2{%
|
|
\ifx\ltx@undefined#1%
|
|
\let#1\ltx@empty
|
|
\else
|
|
\ifx\relax#1%
|
|
\let#1\ltx@empty
|
|
\fi
|
|
\fi
|
|
\begingroup
|
|
\ltx@LocToksA\expandafter{#1#2}%
|
|
\xdef#1{\the\ltx@LocToksA}%
|
|
\endgroup
|
|
}
|
|
\long\def\ltx@LocalAppendToMacro#1#2{%
|
|
\global\let\LTXcmds@gtemp#1%
|
|
\ifx\ltx@undefined\LTXcmds@gtemp
|
|
\global\let\LTXcmds@gtemp\ltx@empty
|
|
\else
|
|
\ifx\relax\LTXcmds@gtemp
|
|
\global\letLTXcmds@gtemp\ltx@empty
|
|
\fi
|
|
\fi
|
|
\begingroup
|
|
\ltx@LocToksA\expandafter{\LTXcmds@gtemp#2}%
|
|
\xdef\LTXcmds@gtemp{\the\ltx@LocToksA}%
|
|
\endgroup
|
|
\let#1\LTXcmds@gtemp
|
|
}
|
|
\long\def\ltx@GlobalPrependToMacro#1#2{%
|
|
\ifx\ltx@undefined#1%
|
|
\let#1\ltx@empty
|
|
\else
|
|
\ifx\relax#1%
|
|
\let#1\ltx@empty
|
|
\fi
|
|
\fi
|
|
\begingroup
|
|
\ltx@LocToksA{#2}%
|
|
\ltx@LocToksB\expandafter{#1}%
|
|
\xdef#1{\the\ltx@LocToksA\the\ltx@LocToksB}%
|
|
\endgroup
|
|
}
|
|
\long\def\ltx@LocalPrependToMacro#1#2{%
|
|
\global\let\LTXcmds@gtemp#1%
|
|
\ifx\ltx@undefined\LTXcmds@gtemp
|
|
\global\let\LTXcmds@gtemp\ltx@empty
|
|
\else
|
|
\ifx\relax\LTXcmds@gtemp
|
|
\global\letLTXcmds@gtemp\ltx@empty
|
|
\fi
|
|
\fi
|
|
\begingroup
|
|
\ltx@LocToksA{#2}%
|
|
\ltx@LocToksB\expandafter{\LTXcmds@gtemp}%
|
|
\xdef\LTXcmds@gtemp{\the\ltx@LocToksA\the\ltx@LocToksB}%
|
|
\endgroup
|
|
\let#1\LTXcmds@gtemp
|
|
}
|
|
\long\def\ltx@ifnextchar#1#2#3{%
|
|
\begingroup
|
|
\let\LTXcmds@CharToken= #1\relax
|
|
\ltx@LocToksA{\endgroup#2}%
|
|
\ltx@LocToksB{\endgroup#3}%
|
|
\futurelet\LTXcmds@LetToken\LTXcmds@ifnextchar
|
|
}
|
|
\def\LTXcmds@ifnextchar{%
|
|
\ifx\LTXcmds@LetToken\LTXcmds@CharToken
|
|
\the\expandafter\ltx@LocToksA
|
|
\else
|
|
\expandafter
|
|
\ifx\csname LTXcmds@LetToken\endcsname\LTXcmds@SpaceToken
|
|
\expandafter\expandafter\expandafter\LTXcmds@@ifnextchar
|
|
\else
|
|
\the\expandafter\expandafter\expandafter\ltx@LocToksB
|
|
\fi
|
|
\fi
|
|
}
|
|
\def\LTXcmds@@ifnextchar{%
|
|
\expandafter\futurelet
|
|
\expandafter\LTXcmds@LetToken
|
|
\expandafter\LTXcmds@ifnextchar
|
|
\romannumeral-`\.%
|
|
}
|
|
\ltx@firstofone{\let\LTXcmds@SpaceToken= } %
|
|
\long\def\ltx@ifnextchar@nospace#1#2#3{%
|
|
\begingroup
|
|
\let\LTXcmds@CharToken= #1\relax
|
|
\ltx@LocToksA{\endgroup#2}%
|
|
\ltx@LocToksB{\endgroup#3}%
|
|
\futurelet\LTXcmds@LetToken\LTXcmds@ifnextchar@nospace
|
|
}
|
|
\def\LTXcmds@ifnextchar@nospace{%
|
|
\the
|
|
\ifx\LTXcmds@LetToken\LTXcmds@CharToken
|
|
\expandafter\ltx@LocToksA
|
|
\else
|
|
\expandafter\ltx@LocToksB
|
|
\fi
|
|
}
|
|
\ltx@IfUndefined{quitvmode}{%
|
|
\ltx@IfUndefined{leavevmode}{%
|
|
\ltx@IfUndefined{voidb@x}{%
|
|
\ltx@IfUndefined{newbox}{%
|
|
\def\ltx@leavevmode{%
|
|
\begingroup
|
|
\setbox\ltx@zero=\hbox{}%
|
|
\begingroup
|
|
\setbox\ltx@zero=\hbox{\box\ltx@zero}%
|
|
\endgroup
|
|
\unhbox\ltx@zero
|
|
\endgroup
|
|
}%
|
|
}{%
|
|
\csname newbox\endcsname\LTXcmds@VoidBox
|
|
\ifvoid\LTXcmds@VoidBox
|
|
\else
|
|
\setbox\LTXcmds@VoidBox=\hbox{}%
|
|
\begingroup
|
|
\setbox\LTXcmds@VoidBox=\hbox{\box\LTXcmds@VoidBox}%
|
|
\endgroup
|
|
\fi
|
|
\def\ltx@leavevmode{\unhbox\LTXcmds@VoidBox}%
|
|
}%
|
|
}{%
|
|
\def\ltx@leavevmode{\unhbox\voidb@x}%
|
|
}%
|
|
}{%
|
|
\let\ltx@leavevmode\leavevmode
|
|
}%
|
|
}{%
|
|
\let\ltx@leavevmode\quitvmode
|
|
}
|
|
\def\ltx@mbox{%
|
|
\ltx@leavevmode
|
|
\hbox
|
|
}
|
|
\ltx@IfUndefined{numexpr}{%
|
|
\def\LTXcmds@num#1{%
|
|
\expandafter\ltx@firstofone\expandafter{%
|
|
\number#1%
|
|
}%
|
|
}%
|
|
}{%
|
|
\def\LTXcmds@num#1{%
|
|
\expandafter\ltx@firstofone\expandafter{%
|
|
\the\numexpr#1%
|
|
}%
|
|
}%
|
|
}
|
|
\ltx@IfUndefined{detokenize}{%
|
|
\def\LTXcmds@temp#1{%
|
|
\long\def\ltx@ifempty##1{%
|
|
\romannumeral0%
|
|
\iffalse{\fi
|
|
\expandafter\ltx@gobble\expandafter{%
|
|
\expandafter{\string##1}%
|
|
\expandafter\ltx@gobble\string
|
|
}%
|
|
\expandafter\ltx@firstofthree\expandafter
|
|
{\iffalse}\fi
|
|
\expandafter#1\ltx@secondoftwo
|
|
}%
|
|
\expandafter#1\ltx@firstoftwo
|
|
}%
|
|
\long\def\ltx@ifblank##1{%
|
|
\romannumeral0%
|
|
\iffalse{\fi
|
|
\expandafter\expandafter\expandafter\ltx@gobble
|
|
\expandafter\expandafter\expandafter{%
|
|
\expandafter\expandafter\expandafter{%
|
|
\expandafter\string\ltx@gobble##1.%
|
|
}%
|
|
\expandafter\ltx@gobble\string
|
|
}%
|
|
\expandafter\ltx@firstofthree\expandafter
|
|
{\iffalse}\fi
|
|
\expandafter#1\ltx@secondoftwo
|
|
}%
|
|
\expandafter#1\ltx@firstoftwo
|
|
}%
|
|
}%
|
|
\LTXcmds@temp{ }%
|
|
}{%
|
|
\long\def\ltx@ifempty#1{%
|
|
\romannumeral%
|
|
\csname
|
|
LTXcmds@ifempty%
|
|
\ifcat$\detokenize{#1}$%
|
|
@%
|
|
\fi
|
|
\endcsname
|
|
}%
|
|
\long\def\LTXcmds@ifempty@#1#2{0 #1}%
|
|
\long\def\LTXcmds@ifempty#1#2{0 #2}%
|
|
\long\def\ltx@ifblank#1{%
|
|
\romannumeral%
|
|
\csname
|
|
LTXcmds@ifempty%
|
|
\ifcat$\detokenize\expandafter{\ltx@gobble#1.}$%
|
|
@%
|
|
\fi
|
|
\endcsname
|
|
}%
|
|
}
|
|
\long\def\ltx@zapspace#1{%
|
|
\romannumeral
|
|
\LTXcmds@zapspace\ltx@zero#1 \@nil
|
|
}
|
|
\long\def\LTXcmds@zapspace#1 #2\@nil{%
|
|
\ltx@ifempty{#2}{%
|
|
#1%
|
|
}{%
|
|
\LTXcmds@zapspace#1#2\@nil
|
|
}%
|
|
}
|
|
\ltx@IfUndefined{lastnodetype}{%
|
|
\catcode`\$=9 %
|
|
\catcode`\&=14 %
|
|
}{%
|
|
\catcode`\$=14 %
|
|
\catcode`\&=9 %
|
|
}
|
|
\def\ltx@IfBoxEmpty#1{%
|
|
\ifvoid#1\relax
|
|
\expandafter\ltx@secondoftwo
|
|
\else
|
|
& \begingroup
|
|
& \setbox\ltx@zero=\ifhbox#1\hbox\else\vbox\fi{%
|
|
& \ifhmode\unhcopy\else\unvcopy\fi#1\relax
|
|
& \expandafter
|
|
& }%
|
|
& \expandafter\endgroup
|
|
& \ifnum\lastnodetype<\ltx@zero
|
|
& \expandafter\expandafter\expandafter\ltx@firstoftwo
|
|
& \else
|
|
& \expandafter\expandafter\expandafter\ltx@secondoftwo
|
|
& \fi
|
|
$ \begingroup
|
|
$ \setbox\ltx@zero=\ifhbox#1\hbox\else\vbox\fi{%
|
|
$ \penalty\ltx@one
|
|
$ \ifhmode\unhcopy\else\unvcopy\fi#1\relax
|
|
$ \expandafter
|
|
$ }%
|
|
$ \ifnum\lastpenalty=\ltx@one
|
|
$ \endgroup
|
|
$ \begingroup
|
|
$ \setbox\ltx@zero=\ifhbox#1\hbox\else\vbox\fi{%
|
|
$ \penalty\ltx@two
|
|
$ \ifhmode\unhcopy\else\unvcopy\fi#1\relax
|
|
$ \expandafter
|
|
$ }%
|
|
$ \ifnum\lastpenalty=\ltx@two
|
|
$ \def\next{\endgroup\expandafter\ltx@firstoftwo}%
|
|
$ \else
|
|
$ \def\next{\endgroup\expandafter\ltx@secondoftwo}%
|
|
$ \fi
|
|
$ \else
|
|
$ \def\next{\endgroup\expandafter\ltx@secondoftwo}%
|
|
$ \fi
|
|
$ \next
|
|
\fi
|
|
}
|
|
\def\ltx@IfBoxVoidOrEmpty#1{%
|
|
\ifvoid#1\relax
|
|
\expandafter\ltx@thirdoffour
|
|
\fi
|
|
\ltx@IfBoxEmpty{#1}%
|
|
}
|
|
\LTXcmds@AtEnd%
|
|
%% \section{Installation}
|
|
\endinput
|
|
%%
|
|
%% End of file `ltxcmds.sty'.
|
|
|