diff options
Diffstat (limited to 'Master/texmf-dist/tex/generic/oberdiek/thepdfnumber.sty')
-rw-r--r-- | Master/texmf-dist/tex/generic/oberdiek/thepdfnumber.sty | 601 |
1 files changed, 601 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/generic/oberdiek/thepdfnumber.sty b/Master/texmf-dist/tex/generic/oberdiek/thepdfnumber.sty new file mode 100644 index 00000000000..dcb7eaf0f98 --- /dev/null +++ b/Master/texmf-dist/tex/generic/oberdiek/thepdfnumber.sty @@ -0,0 +1,601 @@ +%% +%% This is file `thepdfnumber.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% thepdfnumber.dtx (with options: `package') +%% +%% This is a generated file. +%% +%% Project: thepdfnumber +%% Version: 2011/11/24 v1.0 +%% +%% Copyright (C) 2011 by +%% Heiko Oberdiek <heiko.oberdiek at googlemail.com> +%% +%% 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 +%% http://www.latex-project.org/lppl/lppl-1-3c.txt +%% and the latest version of this license is in +%% http://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". +%% +%% This Current Maintainer of this work is Heiko Oberdiek. +%% +%% 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 thepdfnumber.dtx +%% and the derived files +%% thepdfnumber.sty, thepdfnumber.pdf, thepdfnumber.ins, thepdfnumber.drv, +%% thepdfnumber-test1.tex, thepdfnumber-test2.tex, +%% thepdfnumber-test3.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@thepdfnumber.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{thepdfnumber}{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@thepdfnumber.sty\endcsname +\ProvidesPackage{thepdfnumber}% + [2011/11/24 v1.0 Print PDF numbers with minimal digits (HO)]% +\begingroup\catcode61\catcode48\catcode32=10\relax% + \catcode13=5 % ^^M + \endlinechar=13 % + \catcode123=1 % { + \catcode125=2 % } + \catcode64=11 % @ + \def\x{\endgroup + \expandafter\edef\csname ThPdNu@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\ThPdNu@AtEnd{% + \ThPdNu@AtEnd + \catcode#1=\the\catcode#1\relax + }% + \catcode#1=#2\relax +} +\TMP@EnsureCode{33}{12}% ! +\TMP@EnsureCode{36}{3}% $ +\TMP@EnsureCode{38}{4}% & +\TMP@EnsureCode{42}{12}% * +\TMP@EnsureCode{43}{12}% + +\TMP@EnsureCode{45}{12}% - +\TMP@EnsureCode{46}{12}% . +\TMP@EnsureCode{60}{12}% < +\TMP@EnsureCode{62}{12}% > +\TMP@EnsureCode{96}{12}% ` +\edef\ThPdNu@AtEnd{\ThPdNu@AtEnd\noexpand\endinput} +\def\ThPdNu@FIN{\thepdfnumber@ErrorEndMarker} +\def\ThPdNu@space{ } +\chardef\ThPdNu@zero=0 % +\chardef\ThPdNu@one=1 % +\long\def\ThPdNu@firstoftwo#1#2{#1} +\long\def\ThPdNu@secondoftwo#1#2{#2} +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname detokenize\endcsname\relax + \catcode`\&=14 % + \catcode`\$=9 % +\else + \catcode`\&=9 % + \catcode`\$=14 % +\fi +\def\thepdfnumber#1{% + \romannumeral +& \iftrue\expandafter\ThPdNu@State@Plus\expandafter\fi +& \detokenize\expandafter{#1}% +& \ThPdNu@FIN +$ \ifx\ThPdNu@FIN#1\ThPdNu@FIN +$ \expandafter\ThPdNu@firstoftwo +$ \else +$ \expandafter\ThPdNu@secondoftwo +$ \fi +$ {% +$ \ThPdNu@zero +$ 0\thepdfnumber@ErrorUnexpectedEnd +$ }{% +$ \iftrue\expandafter\ThPdNu@State@Plus\expandafter\fi#1\ThPdNu@FIN +$ }% +} +\def\ThPdNu@State@Plus#1\fi#2{% + \fi + \ifcase\ifx\ThPdNu@FIN#2% + 0% +& \else\ifx-#2% +$ \else\ifnum`#2=45 % - + 1% + \else\ifx0#2% + 2% + \else\ifnum`#2>48 % + \ifnum`#2<58 % + 3% + \else + 9% + \fi +& \else\ifx.#2% +$ \else\ifnum`#2=46 % . + 4% +& \else\ifx+#2% +$ \else\ifnum`#2=43 % + + 5% + \else + 9% + \fi\fi\fi\fi\fi\fi\ThPdNu@space + \expandafter\ThPdNu@zero + \expandafter0% + \expandafter\thepdfnumber@ErrorUnexpectedEnd + \or + \ThPdNu@State@Minus + \or + \ThPdNu@State@SkipZeros!% + \or + \ThPdNu@State@Int!#2!% + \or + \ThPdNu@State@Dot!\ThPdNu@zero*\ThPdNu@zero!!% + \or + \ThPdNu@State@Plus + \else + \ThPdNu@ReturnError{0}% + \fi +} +\def\ThPdNu@State@Minus#1\fi#2{% + \fi + \ifcase\ifx\ThPdNu@FIN#2% + 0% + \else\ifx0#2% + 1% + \else\ifnum`#2>48 % + \ifnum`#2<58 % + 2% + \else + 9% + \fi +& \else\ifx.#2% +$ \else\ifnum`#2=46 % . + 3% +& \else\ifx-#2% +$ \else\ifnum`#2=45 % - + 4% +& \else\ifx+#2% +$ \else\ifnum`#2=43 % + + 5% + \else + 9% + \fi\fi\fi\fi\fi\fi\ThPdNu@space + \expandafter\ThPdNu@zero + \expandafter0% + \expandafter\thepdfnumber@ErrorUnexpectedEnd + \or + \ThPdNu@State@SkipZeros-!% + \or + \ThPdNu@State@Int-!#2!% + \or + \ThPdNu@State@Dot-!\ThPdNu@zero*\ThPdNu@zero!!% + \or + \ThPdNu@State@Plus + \or + \ThPdNu@State@Minus + \else + \ThPdNu@ReturnError{0}% + \fi +} +\def\ThPdNu@ReturnError#1#2\fi#3\ThPdNu@FIN{% + \fi + \ThPdNu@zero + #1% + \thepdfnumber@ErrorInvalidToken +} +\def\ThPdNu@State@SkipZeros#1!#2\fi#3{% + \fi + \ifcase\ifx\ThPdNu@FIN#3% + 0% + \else\ifx0#3% + 1% + \else\ifnum`#3>48 % + \ifnum`#3<58 % + 2% + \else + 9% + \fi +& \else\ifx.#3% +$ \else\ifnum`#3=46 % . + 3% + \else + 9% + \fi\fi\fi\fi\ThPdNu@space + \expandafter\ThPdNu@zero + \expandafter0% + \or + \ThPdNu@State@SkipZeros#1!% + \or + \ThPdNu@State@Int#1!#3!% + \or + \ThPdNu@State@Dot#1!\ThPdNu@zero*\ThPdNu@zero!!% + \else + \ThPdNu@ReturnError{0}% + \fi +} +\def\ThPdNu@State@Int#1!#2!#3\fi#4{% + \fi + \ifcase\ifx\ThPdNu@FIN#4% + 0% + \else\ifnum`#4>47 % + \ifnum`#4<58 % + 1% + \else + 9% + \fi +& \else\ifx.#4% +$ \else\ifnum`#4=46 % . + 2% + \else + 9% + \fi\fi\fi\ThPdNu@space + \ThPdNu@ReturnInt{#1#2}% + \or + \ThPdNu@State@Int#1!#2#4!% + \or + \ThPdNu@State@Dot#1!\ThPdNu@one#2*\ThPdNu@zero!!% + \else + \ThPdNu@ReturnError{#1#2}% + \fi +} +\def\ThPdNu@ReturnInt#1#2\fi{% + \fi + \ThPdNu@zero + #1% +} +\def\ThPdNu@State@Dot#1*#2#3!#4!#5\fi#6{% + \fi + \ifcase\ifx\ThPdNu@FIN#6% + 0% + \else\ifnum`#6>48 % + \ifnum`#6<58 % + 1% + \else + 9% + \fi + \else\ifx0#6% + 2% + \else + 9% + \fi\fi\fi\ThPdNu@space + \ThPdNu@ReturnNumber#1*#2#3!% + \or + \ThPdNu@State@Dot#1*\ThPdNu@one#3#4#6!!% + \or + \ThPdNu@State@DotZero#1*#2#3!#4#6!% + \else + \ThPdNu@ReturnNumberInvalid#1*#2#3!% + \fi +} +\def\ThPdNu@State@DotZero#1*#2#3!#4!#5\fi#6{% + \fi + \ifcase\ifx\ThPdNu@FIN#6% + 0% + \else\ifnum`#6>48 % + \ifnum`#6<58 % + 1% + \else + 9% + \fi + \else\ifx0#6% + 2% + \else + 9% + \fi\fi\fi\ThPdNu@space + \ThPdNu@ReturnNumber#1*#2#3!% + \or + \ThPdNu@State@Dot#1*\ThPdNu@one#3#4#6!!% + \or + \ThPdNu@State@DotZero#1*#2#3!#4#6!% + \else + \ThPdNu@ReturnNumber#1*#2#3!% + \fi +} +\def\ThPdNu@ReturnNumber#1!#2#3*#4#5!#6\fi{% + \fi + \ifcase#2% + \expandafter\ThPdNu@firstoftwo + \else + \expandafter\ThPdNu@secondoftwo + \fi + {% + \ifcase#4% + \expandafter\ThPdNu@firstoftwo + \else + \expandafter\ThPdNu@secondoftwo + \fi + {\ThPdNu@zero 0}% + {\ThPdNu@zero #1.#5}% + }{% + \ifcase#4% + \expandafter\ThPdNu@firstoftwo + \else + \expandafter\ThPdNu@secondoftwo + \fi + {\ThPdNu@zero #1#3}% + {\ThPdNu@zero #1#3.#5}% + }% +} +\def\ThPdNu@ReturnNumberInvalid#1*#2!#3\fi#4\ThPdNu@FIN{% + \fi + \iftrue\ThPdNu@ReturnNumber#1*#2!\fi + \thepdfnumber@ErrorInvalidToken +} +\def\thepdfnumberNormZeroOne#1{% + \romannumeral +& \iftrue\expandafter\ThPbNu@StateN@Plus\expandafter\fi +& \detokenize\expandafter{#1}% +& \ThPdNu@FIN +$ \ifx\ThPdNu@FIN#1\ThPdNu@FIN +$ \expandafter\ThPdNu@firstoftwo +$ \else +$ \expandafter\ThPdNu@secondoftwo +$ \fi +$ {% +$ \ThPdNu@zero +$ 0\thepdfnumber@ErrorUnexpectedEnd +$ }{% +$ \iftrue\expandafter\ThPbNu@StateN@Plus\expandafter\fi#1\ThPdNu@FIN +$ }% +} +\def\ThPbNu@StateN@Plus#1\fi#2{% + \fi + \ifcase\ifx\ThPdNu@FIN#2% + 0% +& \else\ifx-#2% +$ \else\ifnum`#2=45 % - + 1% + \else\ifx0#2% + 2% + \else\ifnum`#2>48 % + \ifnum`#2<58 % + 3% + \else + 9% + \fi +& \else\ifx.#2% +$ \else\ifnum`#2=46 % . + 4% +& \else\ifx+#2% +$ \else\ifnum`#2=43 % + + 5% + \else + 9% + \fi\fi\fi\fi\fi\fi\ThPdNu@space + \expandafter\ThPdNu@zero + \expandafter0% + \expandafter\thepdfnumber@ErrorUnexpectedEnd + \or + \ThPbNu@StateN@Minus + \or + \ThPbNu@StateN@SkipZeros + \or + \ThPdNu@ReturnAndSkip{1}% + \or + \ThPbNu@StateN@Dot\ThPdNu@zero!!% + \or + \ThPbNu@StateN@Plus + \else + \ThPdNu@ReturnError{0}% + \fi +} +\def\ThPbNu@StateN@Minus#1\fi#2{% + \fi + \ifcase\ifx\ThPdNu@FIN#2% + 0% + \else\ifnum`#2>47 % + \ifnum`#2<58 % + 1% + \else + 9% + \fi +& \else\ifx.#2% +$ \else\ifnum`#2=46 % . + 1% +& \else\ifx-#2% +$ \else\ifnum`#2=45 % - + 2% +& \else\ifx+#2% +$ \else\ifnum`#2=43 % + + 3% + \else + 9% + \fi\fi\fi\fi\fi\ThPdNu@space + \expandafter\ThPdNu@zero + \expandafter0% + \expandafter\thepdfnumber@ErrorUnexpectedEnd + \or + \ThPdNu@ReturnAndSkip{0}% + \or + \ThPbNu@StateN@Plus + \or + \ThPbNu@StateN@Minus + \else + \ThPdNu@ReturnError{0}% + \fi +} +\def\ThPdNu@ReturnAndSkip#1#2\fi#3\ThPdNu@FIN{% + \fi + \ThPdNu@zero + #1% +} +\def\ThPbNu@StateN@SkipZeros#1\fi#2{% + \fi + \ifcase\ifx\ThPdNu@FIN#2% + 0% + \else\ifx0#2% + 1% + \else\ifnum`#2>48 % + \ifnum`#2<58 % + 2% + \else + 9% + \fi +& \else\ifx.#2% +$ \else\ifnum`#2=46 % . + 3% + \else + 9% + \fi\fi\fi\fi\ThPdNu@space + \expandafter\ThPdNu@zero + \expandafter0% + \or + \ThPbNu@StateN@SkipZeros% + \or + \ThPdNu@ReturnAndSkip{1}% + \or + \ThPbNu@StateN@Dot\ThPdNu@zero!!% + \else + \ThPdNu@ReturnError{0}% + \fi +} +\def\ThPbNu@StateN@Dot#1#2!#3!#4\fi#5{% + \fi + \ifcase\ifx\ThPdNu@FIN#5% + 0% + \else\ifnum`#5>48 % + \ifnum`#5<58 % + 1% + \else + 9% + \fi + \else\ifx0#5% + 2% + \else + 9% + \fi\fi\fi\ThPdNu@space + \ThPdNu@ReturnFracNumber#1#2!% + \or + \ThPbNu@StateN@Dot\ThPdNu@one#2#3#5!!% + \or + \ThPbNu@StateN@DotZero#1#2!#3#5!% + \else + \ThPdNu@ReturnFracNumberInvalid#1#2!% + \fi +} +\def\ThPbNu@StateN@DotZero#1#2!#3!#4\fi#5{% + \fi + \ifcase\ifx\ThPdNu@FIN#5% + 0% + \else\ifnum`#5>48 % + \ifnum`#5<58 % + 1% + \else + 9% + \fi + \else\ifx0#5% + 2% + \else + 9% + \fi\fi\fi\ThPdNu@space + \ThPdNu@ReturnFracNumber#1#2!% + \or + \ThPbNu@StateN@Dot\ThPdNu@one#2#3#5!!% + \or + \ThPbNu@StateN@DotZero#1#2!#3#5!% + \else + \ThPdNu@ReturnFracNumberInvalid#1#2!% + \fi +} +\def\ThPdNu@ReturnFracNumber#1#2!#3\fi{% + \fi + \ifcase#1% + \expandafter\ThPdNu@firstoftwo + \else + \expandafter\ThPdNu@secondoftwo + \fi + {\ThPdNu@zero 0}% + {\ThPdNu@zero .#2}% +} +\def\ThPdNu@ReturnFracNumberInvalid#1!#2\fi#3\ThPdNu@FIN{% + \fi + \iftrue\ThPdNu@ReturnFracNumber#1!\fi + \thepdfnumber@ErrorInvalidToken +} +\ThPdNu@AtEnd% +\endinput +%% +%% End of file `thepdfnumber.sty'. |