%% %% This is file `fc-german.def', %% generated with the docstrip utility. %% %% The original source files were: %% %% fmtcount.dtx (with options: `fc-german.def,package') %% %% fmtcount.dtx %% Copyright 2007 Nicola Talbot %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 %% of this license of (at your option) any later version. %% 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'. %% %% The Current Maintainer of this work is Nicola Talbot. %% %% This work consists of the files fmtcount.dtx and fmtcount.ins and the derived files fc-british.def, fc-english.def, fc-french.def, fc-german.def, fc-portuges.def, fc-spanish.def, fc-UKenglish.def, fc-USenglish.def, fmtcount.sty, fmtcount.perl. %% %% \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 \~} \ProvidesFile{fc-german.def}[2007/06/14] \newcommand{\@ordinalMgerman}[2]{% \edef#2{\number#1\relax.}} \newcommand{\@ordinalFgerman}[2]{% \edef#2{\number#1\relax.}} \newcommand{\@ordinalNgerman}[2]{% \edef#2{\number#1\relax.}} \newcommand{\@@unitstringgerman}[1]{% \ifcase#1% null% \or ein% \or zwei% \or drei% \or vier% \or f\"unf% \or sechs% \or sieben% \or acht% \or neun% \fi } \newcommand{\@@tenstringgerman}[1]{% \ifcase#1% \or zehn% \or zwanzig% \or drei{\ss}ig% \or vierzig% \or f\"unfzig% \or sechzig% \or siebzig% \or achtzig% \or neunzig% \or einhundert% \fi } \providecommand*{\einhundert}{einhundert} \providecommand*{\eintausend}{eintausend} \newcommand{\@@teenstringgerman}[1]{% \ifcase#1% zehn% \or elf% \or zw\"olf% \or dreizehn% \or vierzehn% \or f\"unfzehn% \or sechzehn% \or siebzehn% \or achtzehn% \or neunzehn% \fi } \DeclareRobustCommand{\@numberstringMgerman}[2]{% \let\@unitstring=\@@unitstringgerman \let\@teenstring=\@@teenstringgerman \let\@tenstring=\@@tenstringgerman \@@numberstringgerman{#1}{#2}} \let\@numberstringFgerman=\@numberstringMgerman \let\@numberstringNgerman=\@numberstringMgerman \DeclareRobustCommand{\@NumberstringMgerman}[2]{% \@numberstringMgerman{#1}{\@@num@str}% \edef#2{\noexpand\MakeUppercase\@@num@str}} \let\@NumberstringFgerman=\@NumberstringMgerman \let\@NumberstringNgerman=\@NumberstringMgerman \DeclareRobustCommand{\@ordinalstringMgerman}[2]{% \let\@unitthstring=\@@unitthstringMgerman \let\@teenthstring=\@@teenthstringMgerman \let\@tenthstring=\@@tenthstringMgerman \let\@unitstring=\@@unitstringgerman \let\@teenstring=\@@teenstringgerman \let\@tenstring=\@@tenstringgerman \def\@thousandth{tausendster}% \def\@hundredth{hundertster}% \@@ordinalstringgerman{#1}{#2}} \DeclareRobustCommand{\@ordinalstringFgerman}[2]{% \let\@unitthstring=\@@unitthstringFgerman \let\@teenthstring=\@@teenthstringFgerman \let\@tenthstring=\@@tenthstringFgerman \let\@unitstring=\@@unitstringgerman \let\@teenstring=\@@teenstringgerman \let\@tenstring=\@@tenstringgerman \def\@thousandth{tausendste}% \def\@hundredth{hundertste}% \@@ordinalstringgerman{#1}{#2}} \DeclareRobustCommand{\@ordinalstringNgerman}[2]{% \let\@unitthstring=\@@unitthstringNgerman \let\@teenthstring=\@@teenthstringNgerman \let\@tenthstring=\@@tenthstringNgerman \let\@unitstring=\@@unitstringgerman \let\@teenstring=\@@teenstringgerman \let\@tenstring=\@@tenstringgerman \def\@thousandth{tausendstes}% \def\@hundredth{hunderstes}% \@@ordinalstringgerman{#1}{#2}} \DeclareRobustCommand{\@OrdinalstringMgerman}[2]{% \@ordinalstringMgerman{#1}{\@@num@str}% \edef#2{\protect\MakeUppercase\@@num@str}} \DeclareRobustCommand{\@OrdinalstringFgerman}[2]{% \@ordinalstringFgerman{#1}{\@@num@str}% \edef#2{\protect\MakeUppercase\@@num@str}} \DeclareRobustCommand{\@OrdinalstringNgerman}[2]{% \@ordinalstringNgerman{#1}{\@@num@str}% \edef#2{\protect\MakeUppercase\@@num@str}} \newcommand{\@@unitthstringMgerman}[1]{% \ifcase#1% nullter% \or erster% \or zweiter% \or dritter% \or vierter% \or f\"unter% \or sechster% \or siebter% \or achter% \or neunter% \fi } \newcommand{\@@tenthstringMgerman}[1]{% \ifcase#1% \or zehnter% \or zwanzigster% \or drei{\ss}igster% \or vierzigster% \or f\"unfzigster% \or sechzigster% \or siebzigster% \or achtzigster% \or neunzigster% \fi } \newcommand{\@@teenthstringMgerman}[1]{% \ifcase#1% zehnter% \or elfter% \or zw\"olfter% \or dreizehnter% \or vierzehnter% \or f\"unfzehnter% \or sechzehnter% \or siebzehnter% \or achtzehnter% \or neunzehnter% \fi } \newcommand{\@@unitthstringFgerman}[1]{% \ifcase#1% nullte% \or erste% \or zweite% \or dritte% \or vierte% \or f\"unfte% \or sechste% \or siebte% \or achte% \or neunte% \fi } \newcommand{\@@tenthstringFgerman}[1]{% \ifcase#1% \or zehnte% \or zwanzigste% \or drei{\ss}igste% \or vierzigste% \or f\"unfzigste% \or sechzigste% \or siebzigste% \or achtzigste% \or neunzigste% \fi } \newcommand{\@@teenthstringFgerman}[1]{% \ifcase#1% zehnte% \or elfte% \or zw\"olfte% \or dreizehnte% \or vierzehnte% \or f\"unfzehnte% \or sechzehnte% \or siebzehnte% \or achtzehnte% \or neunzehnte% \fi } \newcommand{\@@unitthstringNgerman}[1]{% \ifcase#1% nulltes% \or erstes% \or zweites% \or drittes% \or viertes% \or f\"unte% \or sechstes% \or siebtes% \or achtes% \or neuntes% \fi } \newcommand{\@@tenthstringNgerman}[1]{% \ifcase#1% \or zehntes% \or zwanzigstes% \or drei{\ss}igstes% \or vierzigstes% \or f\"unfzigstes% \or sechzigstes% \or siebzigstes% \or achtzigstes% \or neunzigstes% \fi } \newcommand{\@@teenthstringNgerman}[1]{% \ifcase#1% zehntes% \or elftes% \or zw\"olftes% \or dreizehntes% \or vierzehntes% \or f\"unfzehntes% \or sechzehntes% \or siebzehntes% \or achtzehntes% \or neunzehntes% \fi } \newcommand{\@@numberunderhundredgerman}[2]{% \ifnum#1<10\relax \ifnum#1>0\relax \let\@@fc@numstr#2\relax \edef#2{\@@fc@numstr\@unitstring{#1}}% \fi \else \@tmpstrctr=#1\relax \@modulo{\@tmpstrctr}{10}% \ifnum#1<20\relax \let\@@fc@numstr#2\relax \edef#2{\@@fc@numstr\@teenstring{\@tmpstrctr}}% \else \ifnum\@tmpstrctr=0\relax \else \let\@@fc@numstr#2\relax \edef#2{\@@fc@numstr\@unitstring{\@tmpstrctr}und}% \fi \@tmpstrctr=#1\relax \divide\@tmpstrctr by 10\relax \let\@@fc@numstr#2\relax \edef#2{\@@fc@numstr\@tenstring{\@tmpstrctr}}% \fi \fi } \newcommand{\@@numberstringgerman}[2]{% \ifnum#1>99999\relax \PackageError{fmtcount}{Out of range}% {This macro only works for values less than 100000}% \else \ifnum#1<0\relax \PackageError{fmtcount}{Negative numbers not permitted}% {This macro does not work for negative numbers, however you can try typing "minus" first, and then pass the modulus of this number}% \fi \fi \def#2{}% \@strctr=#1\relax \divide\@strctr by 1000\relax \ifnum\@strctr>1\relax \@@numberunderhundredgerman{\@strctr}{#2}% \let\@@fc@numstr#2\relax \edef#2{\@@fc@numstr tausend}% \else \ifnum\@strctr=1\relax \let\@@fc@numstr#2\relax \edef#2{\@@fc@numstr\eintausend}% \fi \fi \@strctr=#1\relax \@modulo{\@strctr}{1000}% \divide\@strctr by 100\relax \ifnum\@strctr>1\relax \let\@@fc@numstr#2\relax \edef#2{\@@fc@numstr\@unitstring{\@strctr}hundert}% \else \ifnum\@strctr=1\relax \ifnum#1>1000\relax \let\@@fc@numstr#2\relax \edef#2{\@@fc@numstr einhundert}% \else \let\@@fc@numstr#2\relax \edef#2{\@@fc@numstr\einhundert}% \fi \fi \fi \@strctr=#1\relax \@modulo{\@strctr}{100}% \ifnum#1=0\relax \def#2{null}% \else \ifnum\@strctr=1\relax \let\@@fc@numstr#2\relax \edef#2{\@@fc@numstr eins}% \else \@@numberunderhundredgerman{\@strctr}{#2}% \fi \fi } \newcommand{\@@numberunderhundredthgerman}[2]{% \ifnum#1<10\relax \let\@@fc@numstr#2\relax \edef#2{\@@fc@numstr\@unitthstring{#1}}% \else \@tmpstrctr=#1\relax \@modulo{\@tmpstrctr}{10}% \ifnum#1<20\relax \let\@@fc@numstr#2\relax \edef#2{\@@fc@numstr\@teenthstring{\@tmpstrctr}}% \else \ifnum\@tmpstrctr=0\relax \else \let\@@fc@numstr#2\relax \edef#2{\@@fc@numstr\@unitstring{\@tmpstrctr}und}% \fi \@tmpstrctr=#1\relax \divide\@tmpstrctr by 10\relax \let\@@fc@numstr#2\relax \edef#2{\@@fc@numstr\@tenthstring{\@tmpstrctr}}% \fi \fi } \newcommand{\@@ordinalstringgerman}[2]{% \ifnum#1>99999\relax \PackageError{fmtcount}{Out of range}% {This macro only works for values less than 100000}% \else \ifnum#1<0\relax \PackageError{fmtcount}{Negative numbers not permitted}% {This macro does not work for negative numbers, however you can try typing "minus" first, and then pass the modulus of this number}% \fi \fi \def#2{}% \@strctr=#1\relax \divide\@strctr by 1000\relax \ifnum\@strctr>1\relax \@@numberunderhundredgerman{\@strctr}{#2}% \let\@@fc@numstr#2\relax % is that it, or is there more? \@tmpstrctr=#1\relax \@modulo{\@tmpstrctr}{1000}% \ifnum\@tmpstrctr=0\relax \edef#2{\@@fc@numstr\@thousandth}% \else \edef#2{\@@fc@numstr tausend}% \fi \else \ifnum\@strctr=1\relax \ifnum#1=1000\relax \let\@@fc@numstr#2\relax \edef#2{\@@fc@numstr\@thousandth}% \else \let\@@fc@numstr#2\relax \edef#2{\@@fc@numstr\eintausend}% \fi \fi \fi \@strctr=#1\relax \@modulo{\@strctr}{1000}% \divide\@strctr by 100\relax \ifnum\@strctr>1\relax \let\@@fc@numstr#2\relax % is that it, or is there more? \@tmpstrctr=#1\relax \@modulo{\@tmpstrctr}{100}% \ifnum\@tmpstrctr=0\relax \ifnum\@strctr=1\relax \edef#2{\@@fc@numstr\@hundredth}% \else \edef#2{\@@fc@numstr\@unitstring{\@strctr}\@hundredth}% \fi \else \edef#2{\@@fc@numstr\@unitstring{\@strctr}hundert}% \fi \else \ifnum\@strctr=1\relax \@tmpstrctr=#1\relax \@modulo{\@tmpstrctr}{100}% \ifnum\@tmpstrctr=0\relax \let\@@fc@numstr#2\relax \edef#2{\@@fc@numstr\@hundredth}% \else \ifnum#1>1000\relax \let\@@fc@numstr#2\relax \edef#2{\@@fc@numstr einhundert}% \else \let\@@fc@numstr#2\relax \edef#2{\@@fc@numstr\einhundert}% \fi \fi \fi \fi \@strctr=#1\relax \@modulo{\@strctr}{100}% \ifthenelse{\@strctr=0 \and #1>0}{}{% \@@numberunderhundredthgerman{\@strctr}{#2}% }% } \let\@ordinalMngerman=\@ordinalMgerman \let\@ordinalFngerman=\@ordinalFgerman \let\@ordinalNngerman=\@ordinalNgerman \let\@numberstringMngerman=\@numberstringMgerman \let\@numberstringFngerman=\@numberstringFgerman \let\@numberstringNngerman=\@numberstringNgerman \let\@NumberstringMngerman=\@NumberstringMgerman \let\@NumberstringFngerman=\@NumberstringFgerman \let\@NumberstringNngerman=\@NumberstringNgerman \let\@ordinalstringMngerman=\@ordinalstringMgerman \let\@ordinalstringFngerman=\@ordinalstringFgerman \let\@ordinalstringNngerman=\@ordinalstringNgerman \let\@OrdinalstringMngerman=\@OrdinalstringMgerman \let\@OrdinalstringFngerman=\@OrdinalstringFgerman \let\@OrdinalstringNngerman=\@OrdinalstringNgerman \endinput %% %% End of file `fc-german.def'.