diff options
author | Karl Berry <karl@freefriends.org> | 2006-01-13 00:05:53 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-01-13 00:05:53 +0000 |
commit | 41f6accf239ea62e4f979c592c6728a616245d9f (patch) | |
tree | 82ddb0e632b70a669169fbeff04a0a83e9604fa5 /Master/texmf-dist/tex/latex/sauerj/zahl2string.sty | |
parent | f5c952da6432767eac2421ed364423601fb9c844 (diff) |
sauerj
git-svn-id: svn://tug.org/texlive/trunk@1291 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/sauerj/zahl2string.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/sauerj/zahl2string.sty | 163 |
1 files changed, 163 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/sauerj/zahl2string.sty b/Master/texmf-dist/tex/latex/sauerj/zahl2string.sty new file mode 100644 index 00000000000..d01da1afad8 --- /dev/null +++ b/Master/texmf-dist/tex/latex/sauerj/zahl2string.sty @@ -0,0 +1,163 @@ +%% +%% This is file `zahl2string.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% zahl2string.dtx (with options: `package') +%% +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{zahl2string} + [2004/11/25 v1.2.1 format a number as german words] +\newcommand{\numstring}[1]{% +\expandafter\@numstring\csname c@#1\endcsname% +} +\newcommand{\Numstring}[1]{% +\expandafter\@Numstring\csname c@#1\endcsname% +} +\newcommand{\ordstring}[1]{% +\expandafter\@ordstring\csname c@#1\endcsname% +} +\newcommand{\Ordstring}[1]{% +\expandafter\@Ordstring\csname c@#1\endcsname% +} +\newcommand{\@numstring}[1]{% +\ns@numstr{#1}\ns@neunzehns{null}{}% +} +\newcommand\@Numstring[1]{% +\expandafter\@@Numstring\expandafter{\number#1}% +} +\DeclareRobustCommand{\@@Numstring}[1]{% +\protected@edef\@tempa{\@numstring{#1}}% +\expandafter\MakeUppercase\@tempa% +} +\newcommand{\@ordstring}[1]{% +\ns@numstr{#1}\ns@neunzehnord{null\-te}{te}% +} +\newcommand{\@Ordstring}[1]{% +\expandafter\@@Ordstring\expandafter{\number#1}% +} +\DeclareRobustCommand{\@@Ordstring}[1]{% +\protected@edef\@tempa{\@ordstring{#1}}% +\expandafter\MakeUppercase\@tempa% +} +\let\numstr\@numstring% +\let\Numstr\@Numstring% +\let\ordstr\@ordstring% +\let\Ordstr\@Ordstring% +\DeclareOption{publicnumstr}{% +\PackageWarning{zahl2string}{Option `publicnumstr' is % +deprecated and will be removed in version 1.3}% +} +\def\ns@numoutofrange#1#2{% +\number#1#2% +} + +\DeclareOption{showrangeerrors}{% +\def\ns@numoutofrange#1#2{% +\PackageError{zahl2string}{The number `#1' is too large % +to be formatted using zahl2string}{The largest possible % +number is 999,999,999.} +}% +} +\ProcessOptions\relax +\def\ns@numstr#1#2#3#4{% +\ifnum\number#1<\@ne% +#3% +\else\ifnum\number#1<1000000000 % +\expandafter\ns@numstring\expandafter{\number#1}#2% +\else% +\ns@numoutofrange{#1}{#4}% +\fi\fi% +} +\def\ns@numstring#1#2{% +\expandafter\ns@@numstring% +\ifcase% +\ifnum#1<10 1% +\else\ifnum#1<100 2% +\else\ifnum#1<\@m 3% +\else\ifnum#1<\@M 4% +\else\ifnum#1<100000 5% +\else\ifnum#1<1000000 6% +\else\ifnum#1<10000000 7% +\else\ifnum#1<100000000 8% +\else9% +\fi\fi\fi\fi\fi\fi\fi\fi % +\or00000000#1% case 1: Add 8 leading zeros +\or0000000#1% case 2: Add 7 leading zeros +\or000000#1% case 3: Add 6 leading zeros +\or00000#1% case 4: Add 5 leading zeros +\or0000#1% case 5: Add 4 leading zeros +\or000#1% case 6: Add 3 leading zeros +\or00#1% case 7: Add 2 leading zeros +\or0#1% case 8: Add 1 leading zero +\or#1% case 9: Add no leading zeros +\or% +\@nil#2% +\fi% +} +\def\ns@@numstring#1#2#3#4#5#6#7\or#8\@nil#9{% +\ifnum#1#2#3>\z@ +\ns@million#1#2#3% +\ifnum#4#5#6>\z@\space\fi% +\fi% +\ifnum#4#5#6>\z@% +\ns@hundred#4#5#6{#1#2#3}{#4#5}\ns@neunzehn% +\ifnum#4#5#6>\@ne\-\fi% +tau\-send% +\ifnum#7>\z@\-\fi% +\fi% +\ns@hundred#7{#4#5#6}1#9% +} +\def\ns@million#1#2#3{% +\ifnum#1#2#3=\@ne% +\ns@hundred#1#2#301\ns@neunzehne% +\space% +Mil\-lion% +\else% +\ns@hundred#1#2#301\ns@neunzehns% +\space% +Mil\-lio\-nen% +\fi% +} +\def\ns@hundred#1#2#3#4#5#6{% +\ifnum#1>\z@% +\ifnum#4#1>\@ne\ns@neunzehn#1\-\fi% +hun\-dert% +\ifnum#2#3>\z@\-\fi% +\fi% +\ifnum#2#3<20 % +\ifnum#5#2#3>\@ne#6{#2#3}\fi% +\else% +\ifnum#3>\z@\ns@neunzehn#3\-und\-\fi% +\ns@neunzig#2% +#60% +\fi% +} +\def\ns@neunzehn#1{% +\ifcase#1\@empty\or ein\or zwei\or drei\or vier\or f\"unf\or sechs\or% +sie\-ben\or acht\or neun\or zehn\or elf\or zw\"olf\or drei\-zehn\or% +vier\-zehn\or f\"unf\-zehn\or sech\-zehn\or sieb\-zehn\or% +acht\-zehn\or neun\-zehn\fi% +} +\def\ns@neunzehns#1{% +\ifcase#1\@empty\or eins\else\ns@neunzehn{#1}\fi% +} +\def\ns@neunzehne#1{% +\ifcase#1\@empty\or ei\-ne\else\ns@neunzehn{#1}\fi% +} +\def\ns@neunzehnord#1{% +\ifcase#1\-ste\or er\-ste\or zwei\-te\or drit\-te\or vier\-te\or% +f\"unf\-te\or sech\-ste\or sieb\-te\or ach\-te\or neun\-te\or% +zehn\-te\or elf\-te\or zw\"olf\-te\or drei\-zehn\-te\or% +vier\-zehn\-te\or f\"unf\-zehn\-te\or sech\-zehn\-te\or% +sieb\-zehn\-te\or acht\-zehn\-te\or neun\-zehn\-te\fi% +} +\def\ns@neunzig#1{% +\ifcase#1\or\or zwan\-zig\or drei\ss ig\or vier\-zig\or% +f\"unf\-zig\or sech\-zig\or sieb\-zig\or acht\-zig\or% +neun\-zig\fi% +} +\endinput +%% +%% End of file `zahl2string.sty'. |