%PDF- %PDF-
| Direktori : /proc/self/root/data/old/usr/share/texlive/texmf-dist/tex/latex/fmtcount/ |
| Current File : //proc/self/root/data/old/usr/share/texlive/texmf-dist/tex/latex/fmtcount/fc-german.def |
%%
%% 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 2012 Nicola Talbot and Vincent Belaïche
%%
%% 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 and Vincent Belaïche.
%%
%% This work consists of the files fmtcount.dtx and fmtcount.ins and the derived files fcnumparser.sty, fcprefix.sty, fmtcount.sty, fc-american.def, fc-british.def, fc-english.def, fc-francais.def, fc-french.def, fc-frenchb.def, fc-german.def, fc-germanb.def, fc-italian.def, fc-ngerman.def, fc-ngermanb.def, fc-portuges.def, fc-spanish.def, fc-UKenglish.def, fc-USenglish.def.
%%
%% \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 \~}
%%\subsection{Prefixes}
%%\label{sec:latin-prefixes}
%%
%%\begin{definition}[\DescribeMacro{\latinnumeralstring}]
%%\cs{latinnumeralstring}\marg{counter}\oarg{prefix options}
%%\end{definition}
%%
%%\begin{definition}[\DescribeMacro{\latinnumeralstringnum}]
%%\cs{latinnumeralstringnum}\marg{number}\oarg{prefix options}
%%\end{definition}
\ProvidesFCLanguage{german}[2012/06/18]
\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 eins%
\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\expandonce\@@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{\noexpand\MakeUppercase\expandonce\@@num@str}%
}
\DeclareRobustCommand{\@OrdinalstringFgerman}[2]{%
\@ordinalstringFgerman{#1}{\@@num@str}%
\edef#2{\noexpand\MakeUppercase\expandonce\@@num@str}%
}
\DeclareRobustCommand{\@OrdinalstringNgerman}[2]{%
\@ordinalstringNgerman{#1}{\@@num@str}%
\edef#2{\noexpand\MakeUppercase\expandonce\@@num@str}%
}
\newcommand{\@@unitthstringMgerman}[1]{%
\ifcase#1%
nullter%
\or erster%
\or zweiter%
\or dritter%
\or vierter%
\or f\"unfter%
\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\"unftes%
\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
\eappto#2{\@unitstring{#1}}%
\fi
\else
\@tmpstrctr=#1\relax
\@modulo{\@tmpstrctr}{10}%
\ifnum#1<20\relax
\eappto#2{\@teenstring{\@tmpstrctr}}%
\else
\ifnum\@tmpstrctr=0\relax
\else
\eappto#2{\@unitstring{\@tmpstrctr}und}%
\fi
\@tmpstrctr=#1\relax
\divide\@tmpstrctr by 10\relax
\eappto#2{\@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}%
\appto#2{tausend}%
\else
\ifnum\@strctr=1\relax
\eappto#2{\eintausend}%
\fi
\fi
\@strctr=#1\relax
\@modulo{\@strctr}{1000}%
\divide\@strctr by 100\relax
\ifnum\@strctr>1\relax
\eappto#2{\@unitstring{\@strctr}hundert}%
\else
\ifnum\@strctr=1\relax
\ifnum#1>1000\relax
\appto#2{einhundert}%
\else
\eappto#2{\einhundert}%
\fi
\fi
\fi
\@strctr=#1\relax
\@modulo{\@strctr}{100}%
\ifnum#1=0\relax
\def#2{null}%
\else
\ifnum\@strctr=1\relax
\appto#2{eins}%
\else
\@@numberunderhundredgerman{\@strctr}{#2}%
\fi
\fi
}
\newcommand{\@@numberunderhundredthgerman}[2]{%
\ifnum#1<10\relax
\eappto#2{\@unitthstring{#1}}%
\else
\@tmpstrctr=#1\relax
\@modulo{\@tmpstrctr}{10}%
\ifnum#1<20\relax
\eappto#2{\@teenthstring{\@tmpstrctr}}%
\else
\ifnum\@tmpstrctr=0\relax
\else
\eappto#2{\@unitstring{\@tmpstrctr}und}%
\fi
\@tmpstrctr=#1\relax
\divide\@tmpstrctr by 10\relax
\eappto#2{\@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}%
\@tmpstrctr=#1\relax \@modulo{\@tmpstrctr}{1000}%
\ifnum\@tmpstrctr=0\relax
\eappto#2{\@thousandth}%
\else
\appto#2{tausend}%
\fi
\else
\ifnum\@strctr=1\relax
\ifnum#1=1000\relax
\eappto#2{\@thousandth}%
\else
\eappto#2{\eintausend}%
\fi
\fi
\fi
\@strctr=#1\relax
\@modulo{\@strctr}{1000}%
\divide\@strctr by 100\relax
\ifnum\@strctr>1\relax
\@tmpstrctr=#1\relax \@modulo{\@tmpstrctr}{100}%
\ifnum\@tmpstrctr=0\relax
\ifnum\@strctr=1\relax
\eappto#2{\@hundredth}%
\else
\eappto#2{\@unitstring{\@strctr}\@hundredth}%
\fi
\else
\eappto#2{\@unitstring{\@strctr}hundert}%
\fi
\else
\ifnum\@strctr=1\relax
\@tmpstrctr=#1\relax \@modulo{\@tmpstrctr}{100}%
\ifnum\@tmpstrctr=0\relax
\eappto#2{\@hundredth}%
\else
\ifnum#1>1000\relax
\appto#2{einhundert}%
\else
\eappto#2{\einhundert}%
\fi
\fi
\fi
\fi
\@strctr=#1\relax
\@modulo{\@strctr}{100}%
\ifthenelse{\@strctr=0 \and #1>0}{}{%
\@@numberunderhundredthgerman{\@strctr}{#2}%
}%
}
\FCloadlang{germanb}
\endinput
%%
%% End of file `fc-german.def'.