From aa1776c78dfdb456e2228fbceaa886e64e36174c Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 2 May 2012 21:50:45 +0000 Subject: oberdiek (1may12) git-svn-id: svn://tug.org/texlive/trunk@26177 c570f23f-e606-0410-a88d-b1316a301751 --- .../tex/generic/oberdiek/hobsub-generic.sty | 370 ++++++++++++++++++--- 1 file changed, 326 insertions(+), 44 deletions(-) (limited to 'Master/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty') diff --git a/Master/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty b/Master/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty index 96665d7caac..f30d2b0243d 100644 --- a/Master/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty +++ b/Master/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty @@ -39,9 +39,9 @@ %% This is a generated file. %% %% Project: hobsub -%% Version: 2011/04/23 v1.4 +%% Version: 2012/04/25 v1.12 %% -%% Copyright (C) 2011 by +%% Copyright (C) 2011, 2012 by %% Heiko Oberdiek %% %% This work may be distributed and/or modified under the @@ -132,7 +132,7 @@ \fi \expandafter\x\csname ver@hobsub-generic.sty\endcsname \ProvidesPackage{hobsub-generic}% - [2011/04/23 v1.4 Bundle oberdiek, subset generic (HO)]% + [2012/04/25 v1.12 Bundle oberdiek, subset generic (HO)]% \begingroup\catcode61\catcode48\catcode32=10\relax% \catcode13=5 % ^^M \endlinechar=13 % @@ -256,11 +256,11 @@ \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname ProvidesPackage\endcsname\relax \immediate\write-1{% - Package: hobsub 2011/04/23 v1.4 Subsetting bundle oberdiek (HO)% + Package: hobsub 2012/04/25 v1.12 Construct package bundles (HO)% }% \else \ProvidesPackage{hobsub}% - [2011/04/23 v1.4 Subsetting bundle oberdiek (HO)]% + [2012/04/25 v1.12 Construct package bundles (HO)]% \fi \endinput @@ -332,7 +332,7 @@ \fi \expandafter\x\csname ver@infwarerr.sty\endcsname \ProvidesPackage{infwarerr}% - [2010/04/08 v1.3 Providing info/warning/message (HO)]% + [2010/04/08 v1.3 Providing info/warning/error messages (HO)]% \begingroup\catcode61\catcode48\catcode32=10\relax% \catcode13=5 % ^^M \endlinechar=13 % @@ -616,7 +616,7 @@ \fi \expandafter\x\csname ver@ltxcmds.sty\endcsname \ProvidesPackage{ltxcmds}% - [2011/04/18 v1.20 LaTeX kernel commands for general use (HO)]% + [2011/11/09 v1.22 LaTeX kernel commands for general use (HO)]% \begingroup\catcode61\catcode48\catcode32=10\relax% \catcode13=5 % ^^M \endlinechar=13 % @@ -728,16 +728,30 @@ \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@car#1#2\@nil{#1} -\long\def\ltx@cdr#1#2\@nil{#2} \long\def\ltx@carzero#1\@nil{}% -\long\def\ltx@cdrzero#1\@nil{#1}% +\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@cdrtwo#1#2#3\@nil{#3} +\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@cdrthree#1#2#3#4\@nil{#4} +\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@cdrfour#1#2#3#4#5\@nil{#5} +\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% @@ -757,12 +771,22 @@ \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{% -\romannumeral0% -\expandafter\expandafter\expandafter\LTXcmds@CdrNum +\romannumeral% +\expandafter\expandafter\expandafter\ltx@cdrzero +\expandafter\expandafter\expandafter\ltx@zero \ltx@GobbleNum{#1}% } -\long\def\LTXcmds@CdrNum#1\@nil{ #1}% \long\def\ltx@ReturnAfterFi#1\fi{\fi#1} \long\def\ltx@ReturnAfterElseFi#1\else#2\fi{\fi#1} \def\ltx@empty{} @@ -988,6 +1012,36 @@ \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 @@ -1497,7 +1551,7 @@ $ \next \fi \expandafter\x\csname ver@ifvtex.sty\endcsname \ProvidesPackage{ifvtex}% - [2010/03/01 v1.5 Switches for detecting VTeX and its modes (HO)]% + [2010/03/01 v1.5 Detect VTeX and its facilities (HO)]% \begingroup\catcode61\catcode48\catcode32=10\relax% \catcode13=5 % ^^M \endlinechar=13 % @@ -1722,7 +1776,7 @@ $ \next \fi \expandafter\x\csname ver@intcalc.sty\endcsname \ProvidesPackage{intcalc}% - [2007/09/27 v1.1 Expandable integer calculations (HO)]% + [2007/09/27 v1.1 Expandable calculations with integers (HO)]% \begingroup\catcode61\catcode48\catcode32=10\relax% \catcode13=5 % ^^M \endlinechar=13 % @@ -3646,7 +3700,7 @@ $ \next \fi \expandafter\x\csname ver@etexcmds.sty\endcsname \ProvidesPackage{etexcmds}% - [2011/02/16 v1.5 Prefix for e-TeX command names (HO)]% + [2011/02/16 v1.5 Avoid name clashes with e-TeX commands (HO)]% \begingroup\catcode61\catcode48\catcode32=10\relax% \catcode13=5 % ^^M \endlinechar=13 % @@ -3895,7 +3949,7 @@ $ \next \fi \expandafter\x\csname ver@kvsetkeys.sty\endcsname \ProvidesPackage{kvsetkeys}% - [2011/04/07 v1.13 Key value parser (HO)]% + [2012/04/25 v1.16 Key value parser (HO)]% \begingroup\catcode61\catcode48\catcode32=10\relax% \catcode13=5 % ^^M \endlinechar=13 % @@ -3931,7 +3985,9 @@ $ \next \TMP@EnsureCode{36}{3}% $ \TMP@EnsureCode{38}{4}% & \TMP@EnsureCode{39}{12}% ' +\TMP@EnsureCode{43}{12}% + \TMP@EnsureCode{44}{12}% , +\TMP@EnsureCode{45}{12}% - \TMP@EnsureCode{46}{12}% . \TMP@EnsureCode{47}{12}% / \TMP@EnsureCode{91}{12}% [ @@ -3992,11 +4048,11 @@ $ \expandafter\endgroup \begingroup \toks@{,#1,}% \KVS@Comma -\KVS@SpaceComma{ }% +\KVS@SpaceComma \KVS@CommaSpace \KVS@CommaComma \KVS@Equals -\KVS@SpaceEquals{ }% +\KVS@SpaceEquals \KVS@EqualsSpace \xdef\KVS@Global{\the\toks@}% \endgroup @@ -4006,7 +4062,7 @@ $ \expandafter\endgroup \begingroup \toks@{,#1,}% \KVS@Comma -\KVS@SpaceComma{ }% +\KVS@SpaceComma \KVS@CommaSpace \KVS@CommaComma \xdef\KVS@Global{\the\toks@}% @@ -4029,15 +4085,17 @@ $ \expandafter\endgroup }% }% } -\long\def\KVS@SpaceComma#1{% +\def\KVS@SpaceComma#1{% +\def\KVS@SpaceComma{% \expandafter\KVS@@SpaceComma\the\toks@#1,\KVS@Nil +}% } +\KVS@SpaceComma{ } \long\def\KVS@@SpaceComma#1 ,#2\KVS@Nil{% \KVS@IfEmpty{#2}{% \toks@{#1}% }{% -\toks@{#1,#2}% -\expandafter\KVS@@SpaceComma\the\toks@\KVS@Nil +\KVS@@SpaceComma#1,#2\KVS@Nil }% } \def\KVS@CommaSpace{% @@ -4047,18 +4105,17 @@ $ \expandafter\endgroup \KVS@IfEmpty{#2}{% \toks@{#1}% }{% -\toks@{#1,#2}% -\expandafter\KVS@@CommaSpace\the\toks@\KVS@Nil +\KVS@@CommaSpace#1,#2\KVS@Nil }% } \def\KVS@CommaComma{% \expandafter\KVS@@CommaComma\the\toks@,\KVS@Nil } \long\def\KVS@@CommaComma#1,,#2\KVS@Nil{% -\toks@{#1,#2}% \KVS@IfEmpty{#2}{% +\toks@{#1,}% (!) }{% -\expandafter\KVS@@CommaComma\the\toks@\KVS@Nil +\KVS@@CommaComma#1,#2\KVS@Nil }% } \begingroup @@ -4087,15 +4144,17 @@ $ \expandafter\endgroup }% }% } -\long\def\KVS@SpaceEquals#1{% +\def\KVS@SpaceEquals#1{% +\def\KVS@SpaceEquals{% \expandafter\KVS@@SpaceEquals\the\toks@#1=\KVS@Nil +}% } +\KVS@SpaceEquals{ } \long\def\KVS@@SpaceEquals#1 =#2\KVS@Nil{% \KVS@IfEmpty{#2}{% \toks@{#1}% }{% -\toks@{#1=#2}% -\expandafter\KVS@@SpaceEquals\the\toks@\KVS@Nil +\KVS@@SpaceEquals#1=#2\KVS@Nil }% } \def\KVS@EqualsSpace{% @@ -4105,8 +4164,7 @@ $ \expandafter\endgroup \KVS@IfEmpty{#2}{% \toks@{#1}% }{% -\toks@{#1=#2}% -\expandafter\KVS@@EqualsSpace\the\toks@\KVS@Nil +\KVS@@EqualsSpace#1=#2\KVS@Nil }% } \long\def\kv@parse#1{% @@ -4175,6 +4233,13 @@ $ \let\kv@value\KVS@Global \def\comma@break{% \let\KVS@MaybeBreak\KVS@break } +\def\kv@handled@false{% +\let\ifkv@handled@\iffalse +} +\def\kv@handled@true{% +\let\ifkv@handled@\iftrue +} +\kv@handled@true \def\kv@processor@default#1#2{% \begingroup \csname @safe@activestrue\endcsname @@ -4185,6 +4250,7 @@ $ \let\kv@value\KVS@Global \KVS@temp } \long\def\KVS@ProcessorDefault#1#2#3{% +\def\kv@fam{#1}% & \unless\ifcsname KV@#1@#2\endcsname $ \begingroup\expandafter\expandafter\expandafter\endgroup $ \expandafter\ifx\csname KV@#1@#2\endcsname\relax @@ -4193,8 +4259,13 @@ $ \begingroup\expandafter\expandafter\expandafter\endgroup $ \expandafter\ifx\csname KVS@#1@handler\endcsname\relax \kv@error@unknownkey{#1}{#2}% \else +\kv@handled@true \csname KVS@#1@handler\endcsname{#2}{#3}% \relax +\ifkv@handled@ +\else +\kv@error@unknownkey{#1}{#2}% +\fi \fi \else \ifx\kv@value\relax @@ -4211,6 +4282,66 @@ $ \expandafter\ifx\csname KV@#1@#2@default\endcsname\relax \fi \fi } +\def\kv@processor@known#1#2#3{% +\begingroup +\csname @safe@activestrue\endcsname +\let\ifincsname\iftrue +\edef\KVS@temp{\endgroup +\noexpand\KVS@ProcessorKnown{#1}\noexpand#2{#3}% +}% +\KVS@temp +} +\long\def\KVS@ProcessorKnown#1#2#3#4{% +\def\kv@fam{#1}% +& \unless\ifcsname KV@#1@#3\endcsname +$ \begingroup\expandafter\expandafter\expandafter\endgroup +$ \expandafter\ifx\csname KV@#1@#3\endcsname\relax +& \unless\ifcsname KVS@#1@handler\endcsname +$ \begingroup\expandafter\expandafter\expandafter\endgroup +$ \expandafter\ifx\csname KVS@#1@handler\endcsname\relax +\KVS@AddUnhandled#2{#3}{#4}% +\else +\kv@handled@true +\csname KVS@#1@handler\endcsname{#3}{#4}% +\relax +\ifkv@handled@ +\else +\KVS@AddUnhandled#2{#3}{#4}% +\fi +\fi +\else +\ifx\kv@value\relax +& \unless\ifcsname KV@#1@#2@default\endcsname +$ \begingroup\expandafter\expandafter\expandafter\endgroup +$ \expandafter\ifx\csname KV@#1@#3@default\endcsname\relax +\kv@error@novalue{#1}{#3}% +\else +\csname KV@#1@#3@default\endcsname +\relax +\fi +\else +\csname KV@#1@#3\endcsname{#4}% +\fi +\fi +} +\long\def\KVS@AddUnhandled#1#2#3{% +& \edef#1{% +& \ifx#1\KVS@empty +& \else +& \etex@unexpanded{#1},% +& \fi +& \etex@unexpanded{{#2}={#3}}% +& }% +$ \begingroup +$ \ifx#1\KVS@empty +$ \toks@{{#2}={#3}}% +$ \else +$ \toks@\expandafter{#1,{#2}={#3}}% +$ \fi +$ \xdef\KVS@Global{\the\toks@}% +$ \endgroup +$ \let#1\KVS@Global +} \long\def\kv@set@family@handler#1#2{% \begingroup \csname @safe@activestrue\endcsname @@ -4218,6 +4349,13 @@ $ \expandafter\ifx\csname KV@#1@#2@default\endcsname\relax \expandafter\endgroup \expandafter\def\csname KVS@#1@handler\endcsname##1##2{#2}% } +\long\def\kv@unset@family@handler#1#2{% +\begingroup +\csname @safe@activestrue\endcsname +\let\ifincsname\iftrue +\expandafter\endgroup +\expandafter\let\csname KVS@#1@handler\endcsname\@UnDeFiNeD +} \def\kv@error@novalue{% \kv@error@generic{No value specified for}% } @@ -4237,6 +4375,49 @@ $ \expandafter\ifx\csname KV@#1@#2@default\endcsname\relax \long\def\kvsetkeys#1#2{% \kv@parse{#2}{\kv@processor@default{#1}}% } +\def\kvsetkeys@expandafter#1#2{% +\expandafter\kv@parse\expandafter{#2}{% +\kv@processor@default{#1}% +}% +} +\def\KVS@cmd{0}% +\def\KVS@cmd@inc{% +& \edef\KVS@cmd{\the\numexpr\KVS@cmd+1}% +$ \begingroup +$ \count255=\KVS@cmd\relax +$ \advance\count255 by 1\relax +$ \edef\x{\endgroup +$ \noexpand\def\noexpand\KVS@cmd{\number\count255}% +$ }% +$ \x +} +\def\KVS@cmd@dec{% +& \edef\KVS@cmd{\the\numexpr\KVS@cmd-1}% +$ \begingroup +$ \count255=\KVS@cmd\relax +$ \advance\count255 by -1\relax +$ \edef\x{\endgroup +$ \noexpand\def\noexpand\KVS@cmd{\number\count255}% +$ }% +$ \x +} +\def\KVS@empty{} +\def\kvsetknownkeys{% +\expandafter +\KVS@setknownkeys\csname KVS@cmd\KVS@cmd\endcsname{}% +} +\long\def\KVS@setknownkeys#1#2#3#4#5{% +\let#1\KVS@empty +\KVS@cmd@inc +#2\kv@parse#2{#5}{\kv@processor@known{#3}#1}% +\KVS@cmd@dec +\let#4=#1% +} +\def\kvsetknownkeys@expandafter{% +\expandafter +\KVS@setknownkeys +\csname KVS@cmd\KVS@cmd\endcsname\expandafter +} \KVS@AtEnd% \endinput @@ -4308,7 +4489,7 @@ $ \expandafter\ifx\csname KV@#1@#2@default\endcsname\relax \fi \expandafter\x\csname ver@kvdefinekeys.sty\endcsname \ProvidesPackage{kvdefinekeys}% - [2011/04/07 v1.3 Defining keys (HO)]% + [2011/04/07 v1.3 Define keys (HO)]% \begingroup\catcode61\catcode48\catcode32=10\relax% \catcode13=5 % ^^M \endlinechar=13 % @@ -4571,7 +4752,7 @@ $ \expandafter\ifx\csname KV@#1@#2@default\endcsname\relax \fi \expandafter\x\csname ver@pdftexcmds.sty\endcsname \ProvidesPackage{pdftexcmds}% - [2011/04/22 v0.16 Utilities of pdfTeX for LuaTeX (HO)]% + [2011/11/29 v0.20 Utility functions of pdfTeX for LuaTeX (HO)]% \begingroup\catcode61\catcode48\catcode32=10\relax% \catcode13=5 % ^^M \endlinechar=13 % @@ -4717,6 +4898,17 @@ $ \expandafter\ifx\csname KV@#1@#2@default\endcsname\relax \def\pdf@system#{% \immediate\write18% }% +\def\pdftexcmds@temp#1{% +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname pdf#1\endcsname\relax +\pdftexcmds@nopdftex +\else +\expandafter\let\csname pdf@#1\expandafter\endcsname +\csname pdf#1\endcsname +\fi +}% +\pdftexcmds@temp{resettimer}% +\pdftexcmds@temp{elapsedtime}% \fi \ifluatex \ifnum\luatexversion<36 % @@ -4774,7 +4966,8 @@ $ \expandafter\ifx\csname KV@#1@#2@default\endcsname\relax \endgroup \let\pdf@primitive\@undefined \@PackageInfoNoLine{pdftexcmds}{% -\string\pdf@primitive disabled, because\MessageBreak +\string\pdf@primitive\space disabled, % + because\MessageBreak \string\pdfprimitive\space is broken until pdfTeX 1.40.4% }% \begingroup @@ -4944,8 +5137,23 @@ $ \expandafter\ifx\csname KV@#1@#2@default\endcsname\relax \pdftexcmds@directlua{% require("oberdiek.pdftexcmds")% } +\ifnum\luatexversion>37 % +\ifnum0% +\pdftexcmds@directlua{% + if status.ini_version then % + tex.write("1")% + end% +}>0 % +\everyjob\expandafter{% +\the\everyjob +\pdftexcmds@directlua{% + require("oberdiek.pdftexcmds")% +}% +}% +\fi +\fi \begingroup -\def\x{2011/04/22 v0.16}% +\def\x{2011/11/29 v0.20}% \ltx@onelevel@sanitize\x \edef\y{% \pdftexcmds@directlua{% @@ -5092,6 +5300,54 @@ $ \expandafter\ifx\csname KV@#1@#2@default\endcsname\relax oberdiek.pdftexcmds.filemdfivesum("\luaescapestring{#1}")% }% }% +\let\pdftexcmds@temp=Y% +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname protected\endcsname\relax +\pdftexcmds@directlua0{% + if tex.enableprimitives then % + tex.enableprimitives('', {'protected'})% + end% +}% +\fi +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname protected\endcsname\relax +\let\pdftexcmds@temp=N% +\fi +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname numexpr\endcsname\relax +\pdftexcmds@directlua0{% + if tex.enableprimitives then % + tex.enableprimitives('', {'numexpr'})% + end% +}% +\fi +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname numexpr\endcsname\relax +\let\pdftexcmds@temp=N% +\fi +\ifx\pdftexcmds@temp N% +\@PackageWarningNoLine{pdftexcmds}{% + Definitions of \ltx@backslashchar pdf@resettimer and% +\MessageBreak +\ltx@backslashchar pdf@elapsedtime are skipped, because% +\MessageBreak + e-TeX's \ltx@backslashchar protected or % +\ltx@backslashchar numexpr are missing% +}% +\else +\protected\def\pdf@resettimer{% +\pdftexcmds@directlua0{% + oberdiek.pdftexcmds.resettimer()% +}% +}% +\protected\def\pdf@elapsedtime{% +\numexpr +\pdftexcmds@directlua0{% + oberdiek.pdftexcmds.elapsedtime()% +}% +\relax +}% +\fi \ifnum\luatexversion<68 % \else \def\pdf@shellescape{% @@ -5204,7 +5460,7 @@ $ \expandafter\ifx\csname KV@#1@#2@default\endcsname\relax \fi \expandafter\x\csname ver@pdfescape.sty\endcsname \ProvidesPackage{pdfescape}% - [2011/04/04 v1.12 Provides string conversions (HO)]% + [2011/11/25 v1.13 Implements pdfTeX's escape features (HO)]% \begingroup\catcode61\catcode48\catcode32=10\relax% \catcode13=5 % ^^M \endlinechar=13 % @@ -5239,6 +5495,8 @@ $ \expandafter\ifx\csname KV@#1@#2@default\endcsname\relax } \TMP@EnsureCode\catcode{0}{12}% ^^@ \TMP@EnsureCode\catcode{34}{12}% " +\TMP@EnsureCode\catcode{36}{3}% $ +\TMP@EnsureCode\catcode{38}{4}% & \TMP@EnsureCode\catcode{39}{12}% ' \TMP@EnsureCode\catcode{42}{12}% * \TMP@EnsureCode\catcode{45}{12}% - @@ -5536,12 +5794,35 @@ $ \expandafter\ifx\csname KV@#1@#2@default\endcsname\relax } \def\PE@OctII#1#2{% \ifcase\PE@TestOctDigit#2% -\def\PE@next{\PE@OctAll{#1#2}}% +\def\PE@next{\PE@OctIII#1#2}% \else \def\PE@next{\PE@OctAll{#1}#2}% \fi \PE@next } +\ltx@IfUndefined{numexpr}{% +\catcode`\$=9 % +\catcode`\&=14 % +}{% +\catcode`\$=14 % +\catcode`\&=9 % +} +\def\PE@OctIII#1#2#3{% +\ifnum#1<4 % +\def\PE@next{\PE@OctAll{#1#2#3}}% +\else +$ \count\ltx@cclv#1 % +$ \advance\count\ltx@cclv -4 % +\edef\PE@next{% +\noexpand\PE@OctAll{% +$ \the\count\ltx@cclv +& \the\numexpr#1-4\relax +#2#3% +}% +}% +\fi +\PE@next +} \def\PE@OctAll#1{% \uccode\ltx@zero='#1\relax \uppercase{% @@ -5917,7 +6198,7 @@ $ \expandafter\ifx\csname KV@#1@#2@default\endcsname\relax \fi \expandafter\x\csname ver@bigintcalc.sty\endcsname \ProvidesPackage{bigintcalc}% - [2011/01/30 v1.2 Expandable big integer calculations (HO)]% + [2012/04/08 v1.3 Expandable calculations on big integers (HO)]% \begingroup\catcode61\catcode48\catcode32=10\relax% \catcode13=5 % ^^M \endlinechar=13 % @@ -5998,6 +6279,7 @@ $ \expandafter\ifx\csname KV@#1@#2@default\endcsname\relax }% \TMP@RequirePackage{pdftexcmds}[2007/11/11]% \else +\RequirePackage{pdftexcmds}[2007/11/11]% \fi \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname pdf@escapehex\endcsname\relax @@ -7704,7 +7986,7 @@ $ \BIC@Temp 9{18\or27\or36\or45\or54\or63\or72\or81}% \fi \expandafter\x\csname ver@bitset.sty\endcsname \ProvidesPackage{bitset}% - [2011/01/30 v1.1 Data type bit set (HO)]% + [2011/01/30 v1.1 Handle bit-vector datatype (HO)]% \begingroup\catcode61\catcode48\catcode32=10\relax% \catcode13=5 % ^^M \endlinechar=13 % @@ -9114,7 +9396,7 @@ $ \BIC@Temp 9{18\or27\or36\or45\or54\or63\or72\or81}% \fi \expandafter\x\csname ver@uniquecounter.sty\endcsname \ProvidesPackage{uniquecounter}% - [2011/01/30 v1.2 Provides unlimited unique counter (HO)]% + [2011/01/30 v1.2 Provide unlimited unique counter (HO)]% \begingroup\catcode61\catcode48\catcode32=10\relax% \catcode13=5 % ^^M \endlinechar=13 % -- cgit v1.2.3