summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2019-12-17 23:21:23 +0000
committerKarl Berry <karl@freefriends.org>2019-12-17 23:21:23 +0000
commitc8b55eda8a17bb408bac6d4de98af3dbd1e3cd4a (patch)
tree72e60c6acef7decb34ca0d6a8e158ab928da09f2 /Master/texmf-dist/tex/generic
parentd005d02253cdbf48af14887a8eab1dacb8f51479 (diff)
ltxcmds split from oberdiek (18dec19)
git-svn-id: svn://tug.org/texlive/trunk@53165 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic')
-rw-r--r--Master/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty752
1 files changed, 752 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty b/Master/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty
new file mode 100644
index 00000000000..2cc5f77c3ed
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty
@@ -0,0 +1,752 @@
+%%
+%% 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'.