diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/oberdiek/alphalph.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/oberdiek/alphalph.sty | 198 |
1 files changed, 198 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/oberdiek/alphalph.sty b/Master/texmf-dist/tex/latex/oberdiek/alphalph.sty new file mode 100644 index 00000000000..047bff393c6 --- /dev/null +++ b/Master/texmf-dist/tex/latex/oberdiek/alphalph.sty @@ -0,0 +1,198 @@ +%% +%% This is file `alphalph.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% alphalph.dtx (with options: `package') +%% +%% This file is part of the package `alphalph' for use with LaTeX2e. +%% +%% Function: Selecting shipout output pages. +%% +%% Copyright (C) 1999 Heiko Oberdiek. +%% +%% This program can be redistributed and/or modified +%% under the terms of the LaTeX Project Public License +%% distributed from CTAN archives in directory +%% macros/latex/base/lppl.txt; either version 1 of +%% the License, or (at your option) any later version. +%% +%% Please send error reports and suggestions for improvements to +%% Heiko Oberdiek <oberdiek@ruf.uni-freiburg.de>. +%% +\ifx\ProvidesPackage\UnDeFiNeD +\begingroup\def\x#1#2#3[#4]#5{\endgroup\csname fi\endcsname +\immediate\write-1{Package: #3 #4 }}\x +\else +\ProvidesPackage{alphalph}% + [1999/04/13 v1.1 Converting numbers to letters (HO)] +\fi +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +%% +\expandafter\edef\csname aa@atcode\endcsname{\the\catcode`\@ } +\catcode`\@=11 +\long\def\@ReturnAfterElseFi#1\else#2\fi{\fi#1} +\long\def\@ReturnAfterFi#1\fi{\fi#1} +\def\aa@alph#1{% + \ifcase#1% + @% + \or a\or b\or c\or d\or e\or f\or g\or h\or i\or j\or k\or l\or m% + \or n\or o\or p\or q\or r\or s\or t\or u\or v\or w\or x\or y\or z% + \else + @% + \fi +} +\def\aa@Alph#1{% + \ifcase#1% + @% + \or A\or B\or C\or D\or E\or F\or G\or H\or I\or J\or K\or L\or M% + \or N\or O\or P\or Q\or R\or S\or T\or U\or V\or W\or X\or Y\or Z% + \else + @% + \fi +} +\def\alphalph{\aa@callmake\aa@alph} +\def\AlphAlph{\aa@callmake\aa@Alph} +\def\aa@callmake#1#2{% + \expandafter\aa@make\expandafter{\number#2}#1% +} +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname numexpr\endcsname\relax +\def\aa@make#1#2{% + \ifnum#1<1 + \else + \@ReturnAfterFi{% + \aa@process1;#1;1..#2% + }% + \fi +} +\def\aa@process#1;#2;{% + \ifnum#1=#2 + \expandafter\aa@getresult + \else + \@ReturnAfterFi{% + \expandafter\aa@process\number\aa@inc{#1}\aa@alphinc{;#2;}% + }% + \fi +} +\def\aa@getresult#1..#2{% + \aa@@getresult!#2#1..% +} +\def\aa@@getresult#1!#2#3.{% + \ifx\\#3\\% + \@ReturnAfterElseFi{#1}% ready + \else + \@ReturnAfterFi{% + \expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter + \aa@@getresult + \expandafter\expandafter\expandafter\expandafter + #2{#3}#1!#2% + }% + \fi +} +\def\aa@inc#1{% + \ifnum#1<9 + \aa@nextdigit{#1}% + \else + \aa@reverse#1!!% + \fi +} +\def\aa@nextdigit#1{\ifcase#1 1\or2\or3\or4\or5\or6\or7\or8\or9\fi} +\def\aa@reverse#1#2!#3!{% + \ifx\\#2\\% + \aa@addone#1#3!!% + \else + \@ReturnAfterFi{% + \aa@reverse#2!#1#3!% + }% + \fi +} +\def\aa@addone#1#2!#3!{% + \ifnum#1<9 + \expandafter\aa@lastreverse\number\aa@nextdigit#1 #2!#3!% + \else + \@ReturnAfterFi{% + \ifx\\#2\\% + 10#3% + \else + \@ReturnAfterFi{% + \aa@addone#2!0#3!% + }% + \fi + }% + \fi +} +\def\aa@lastreverse#1#2!#3!{% + \ifx\\#2\\% + #1#3% + \else + \@ReturnAfterFi{% + \aa@lastreverse#2!#1#3!% + }% + \fi +} +\def\aa@alphinc#1#2.{% + \ifx\\#2\\% + \@ReturnAfterElseFi{% + #11..% ready + }% + \else + \@ReturnAfterFi{% + \ifnum#2<26 + \@ReturnAfterElseFi{% + \expandafter\aa@alphinclast\expandafter + {\number\aa@inc{#2}}{#1}% + }% + \else + \@ReturnAfterFi{% + \aa@alphinc{#11.}% + }% + \fi + }% + \fi +} +\def\aa@alphinclast#1#2{#2#1.} +\else +\def\aa@make#1#2{% + \ifnum#1<1 + \else + \@ReturnAfterFi{% + \aa@eprocess#1;#2% + }% + \fi +} +\def\aa@eprocess#1;#2{% + \ifnum#1<27 + \@ReturnAfterElseFi{% + #2{#1}% + }% + \else + \@ReturnAfterFi{% + \expandafter\aa@eprocess\number\numexpr(#1-14)/26% + \expandafter\expandafter\expandafter;% + \expandafter\expandafter\expandafter#2% + #2{\numexpr#1-((#1-14)/26)*26}% + }% + \fi +} +\fi +\catcode`\@=\aa@atcode +\endinput +%% +%% End of file `alphalph.sty'. |