summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/fmtcount/fmtcount.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/fmtcount/fmtcount.sty')
-rw-r--r--Master/texmf-dist/tex/latex/fmtcount/fmtcount.sty701
1 files changed, 701 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/fmtcount/fmtcount.sty b/Master/texmf-dist/tex/latex/fmtcount/fmtcount.sty
new file mode 100644
index 00000000000..5b4748b6599
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/fmtcount/fmtcount.sty
@@ -0,0 +1,701 @@
+%%
+%% This is file `fmtcount.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% fmtcount.dtx (with options: `fmtcount.sty,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 \~}
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{fmtcount}[2007/07/20 v1.3]
+\RequirePackage{ifthen}
+\RequirePackage{keyval}
+\providecommand*{\fmtord}[1]{\textsuperscript{#1}}
+\newcount\c@padzeroesN
+\c@padzeroesN=1\relax
+\providecommand*{\padzeroes}[1][17]{\c@padzeroesN=#1}
+\@ifundefined{l@english}{}{\input{fc-english.def}}
+\@ifundefined{l@UKenglish}{}{\input{fc-UKenglish.def}}
+\@ifundefined{l@british}{}{\input{fc-british.def}}
+\@ifundefined{l@USenglish}{}{\input{fc-USenglish.def}}
+\@ifundefined{l@spanish}{}{\input{fc-spanish.def}}
+\@ifundefined{l@portuges}{}{\input{fc-portuges.def}}
+\@ifundefined{l@french}{}{\input{fc-french.def}}
+\@ifundefined{l@german}{%
+\@ifundefined{l@ngerman}{}{\input{fc-german.def}}}{%
+\input{fc-german.def}}
+\def\fmtcount@french{france}
+\define@key{fmtcount}{french}[france]{%
+\@ifundefined{datefrench}{%
+\PackageError{fmtcount}{Language `french' not defined}{You need
+to load babel before loading fmtcount}}{
+\ifthenelse{\equal{#1}{france}
+ \or\equal{#1}{swiss}
+ \or\equal{#1}{belgian}}{%
+ \def\fmtcount@french{#1}}{%
+\PackageError{fmtcount}{Invalid value `#1' to french key}
+{Option `french' can only take the values `france',
+`belgian' or `swiss'}}
+}}
+\define@key{fmtcount}{fmtord}{%
+\ifthenelse{\equal{#1}{level}
+ \or\equal{#1}{raise}
+ \or\equal{#1}{user}}{
+ \def\fmtcount@fmtord{#1}}{%
+\PackageError{fmtcount}{Invalid value `#1' to fmtord key}
+{Option `fmtord' can only take the values `level', `raise'
+or `user'}}}
+\newif\iffmtord@abbrv
+\fmtord@abbrvfalse
+\define@key{fmtcount}{abbrv}[true]{%
+\ifthenelse{\equal{#1}{true}\or\equal{#1}{false}}{
+ \csname fmtord@abbrv#1\endcsname}{%
+\PackageError{fmtcount}{Invalid value `#1' to fmtord key}
+{Option `fmtord' can only take the values `true' or
+`false'}}}
+\newcommand*{\fmtcountsetoptions}[1]{%
+\def\fmtcount@fmtord{}%
+\setkeys{fmtcount}{#1}%
+\@ifundefined{datefrench}{}{%
+\edef\@ordinalstringMfrench{\noexpand
+\csname @ordinalstringMfrench\fmtcount@french\noexpand\endcsname}%
+\edef\@ordinalstringFfrench{\noexpand
+\csname @ordinalstringFfrench\fmtcount@french\noexpand\endcsname}%
+\edef\@OrdinalstringMfrench{\noexpand
+\csname @OrdinalstringMfrench\fmtcount@french\noexpand\endcsname}%
+\edef\@OrdinalstringFfrench{\noexpand
+\csname @OrdinalstringFfrench\fmtcount@french\noexpand\endcsname}%
+\edef\@numberstringMfrench{\noexpand
+\csname @numberstringMfrench\fmtcount@french\noexpand\endcsname}%
+\edef\@numberstringFfrench{\noexpand
+\csname @numberstringFfrench\fmtcount@french\noexpand\endcsname}%
+\edef\@NumberstringMfrench{\noexpand
+\csname @NumberstringMfrench\fmtcount@french\noexpand\endcsname}%
+\edef\@NumberstringFfrench{\noexpand
+\csname @NumberstringFfrench\fmtcount@french\noexpand\endcsname}%
+}%
+\ifthenelse{\equal{\fmtcount@fmtord}{level}}{%
+\renewcommand{\fmtord}[1]{##1}}{%
+\ifthenelse{\equal{\fmtcount@fmtord}{raise}}{%
+\renewcommand{\fmtord}[1]{\textsuperscript{##1}}}{%
+}}
+}
+\InputIfFileExists{fmtcount.cfg}{%
+\typeout{Using configuration file fmtcount.cfg}}{%
+\typeout{No configuration file fmtcount.cfg found.}}
+\DeclareOption{level}{\def\fmtcount@fmtord{level}%
+\def\fmtord#1{#1}}
+\DeclareOption{raise}{\def\fmtcount@fmtord{raise}%
+\def\fmtord#1{\textsuperscript{#1}}}
+\ProcessOptions
+\newcount\@DT@modctr
+\def\@modulo#1#2{%
+\@DT@modctr=#1\relax
+\divide \@DT@modctr by #2\relax
+\multiply \@DT@modctr by #2\relax
+\advance #1 by -\@DT@modctr}
+\newcount\@ordinalctr
+\newcount\@orgargctr
+\newcount\@strctr
+\newcount\@tmpstrctr
+\newif\if@DT@padzeroes
+\newcount\@DT@loopN
+\newcount\@DT@X
+\newcommand*{\@binary}[1]{%
+\@DT@padzeroestrue
+\@DT@loopN=17\relax
+\@strctr=\@DT@loopN
+\whiledo{\@strctr<\c@padzeroesN}{0\advance\@strctr by 1}%
+\@strctr=65536\relax
+\@DT@X=#1\relax
+\loop
+\@DT@modctr=\@DT@X
+\divide\@DT@modctr by \@strctr
+\ifthenelse{\boolean{@DT@padzeroes} \and \(\@DT@modctr=0\) \and \(\@DT@loopN>\c@padzeroesN\)}{}{\the\@DT@modctr}%
+\ifnum\@DT@modctr=0\else\@DT@padzeroesfalse\fi
+\multiply\@DT@modctr by \@strctr
+\advance\@DT@X by -\@DT@modctr
+\divide\@strctr by 2\relax
+\advance\@DT@loopN by -1\relax
+\ifnum\@strctr>1
+\repeat
+\the\@DT@X}
+
+\let\binarynum=\@binary
+\newcommand*{\@octal}[1]{%
+\ifnum#1>32768
+\PackageError{fmtcount}{Value of counter too large for \protect\@octal}{Maximum value 32768}
+\else
+\@DT@padzeroestrue
+\@DT@loopN=6\relax
+\@strctr=\@DT@loopN
+\whiledo{\@strctr<\c@padzeroesN}{0\advance\@strctr by 1}%
+\@strctr=32768\relax
+\@DT@X=#1\relax
+\loop
+\@DT@modctr=\@DT@X
+\divide\@DT@modctr by \@strctr
+\ifthenelse{\boolean{@DT@padzeroes} \and \(\@DT@modctr=0\) \and \(\@DT@loopN>\c@padzeroesN\)}{}{\the\@DT@modctr}%
+\ifnum\@DT@modctr=0\else\@DT@padzeroesfalse\fi
+\multiply\@DT@modctr by \@strctr
+\advance\@DT@X by -\@DT@modctr
+\divide\@strctr by 8\relax
+\advance\@DT@loopN by -1\relax
+\ifnum\@strctr>1
+\repeat
+\the\@DT@X
+\fi}
+\let\octalnum=\@octal
+\newcommand*{\@@hexadecimal}[1]{\ifcase#10\or1\or2\or3\or4\or5\or
+6\or7\or8\or9\or a\or b\or c\or d\or e\or f\fi}
+
+\newcommand*{\@hexadecimal}[1]{%
+\@DT@padzeroestrue
+\@DT@loopN=5\relax
+\@strctr=\@DT@loopN
+\whiledo{\@strctr<\c@padzeroesN}{0\advance\@strctr by 1}%
+\@strctr=65536\relax
+\@DT@X=#1\relax
+\loop
+\@DT@modctr=\@DT@X
+\divide\@DT@modctr by \@strctr
+\ifthenelse{\boolean{@DT@padzeroes}\and\(\@DT@modctr=0\)\and
+\(\@DT@loopN>\c@padzeroesN\)}{}{\@@hexadecimal\@DT@modctr}%
+\ifnum\@DT@modctr=0\else\@DT@padzeroesfalse\fi
+\multiply\@DT@modctr by \@strctr
+\advance\@DT@X by -\@DT@modctr
+\divide\@strctr by 16\relax
+\advance\@DT@loopN by -1\relax
+\ifnum\@strctr>1
+\repeat
+\@@hexadecimal\@DT@X}
+
+\let\hexadecimalnum=\@hexadecimal
+\newcommand*{\@@Hexadecimal}[1]{\ifcase#10\or1\or2\or3\or4\or5\or6\or
+7\or8\or9\or A\or B\or C\or D\or E\or F\fi}
+
+\newcommand*{\@Hexadecimal}[1]{%
+\@DT@padzeroestrue
+\@DT@loopN=5\relax
+\@strctr=\@DT@loopN
+\whiledo{\@strctr<\c@padzeroesN}{0\advance\@strctr by 1}%
+\@strctr=65536\relax
+\@DT@X=#1\relax
+\loop
+\@DT@modctr=\@DT@X
+\divide\@DT@modctr by \@strctr
+\ifthenelse{\boolean{@DT@padzeroes} \and \(\@DT@modctr=0\) \and \(\@DT@loopN>\c@padzeroesN\)}{}{\@@Hexadecimal\@DT@modctr}%
+\ifnum\@DT@modctr=0\else\@DT@padzeroesfalse\fi
+\multiply\@DT@modctr by \@strctr
+\advance\@DT@X by -\@DT@modctr
+\divide\@strctr by 16\relax
+\advance\@DT@loopN by -1\relax
+\ifnum\@strctr>1
+\repeat
+\@@Hexadecimal\@DT@X}
+
+\let\Hexadecimalnum=\@Hexadecimal
+\newcommand*{\@aaalph}[1]{%
+\@DT@loopN=#1\relax
+\advance\@DT@loopN by -1\relax
+\divide\@DT@loopN by 26\relax
+\@DT@modctr=\@DT@loopN
+\multiply\@DT@modctr by 26\relax
+\@DT@X=#1\relax
+\advance\@DT@X by -1\relax
+\advance\@DT@X by -\@DT@modctr
+\advance\@DT@loopN by 1\relax
+\advance\@DT@X by 1\relax
+\loop
+\@alph\@DT@X
+\advance\@DT@loopN by -1\relax
+\ifnum\@DT@loopN>0
+\repeat
+}
+
+\let\aaalphnum=\@aaalph
+\newcommand*{\@AAAlph}[1]{%
+\@DT@loopN=#1\relax
+\advance\@DT@loopN by -1\relax
+\divide\@DT@loopN by 26\relax
+\@DT@modctr=\@DT@loopN
+\multiply\@DT@modctr by 26\relax
+\@DT@X=#1\relax
+\advance\@DT@X by -1\relax
+\advance\@DT@X by -\@DT@modctr
+\advance\@DT@loopN by 1\relax
+\advance\@DT@X by 1\relax
+\loop
+\@Alph\@DT@X
+\advance\@DT@loopN by -1\relax
+\ifnum\@DT@loopN>0
+\repeat
+}
+
+\let\AAAlphnum=\@AAAlph
+\newcommand*{\@abalph}[1]{%
+\ifnum#1>17576\relax
+\PackageError{fmtcount}{Value of counter too large for
+\protect\@abalph}{Maximum value 17576}%
+\else
+\@DT@padzeroestrue
+\@strctr=17576\relax
+\@DT@X=#1\relax
+\advance\@DT@X by -1\relax
+\loop
+\@DT@modctr=\@DT@X
+\divide\@DT@modctr by \@strctr
+\ifthenelse{\boolean{@DT@padzeroes}\and
+\(\@DT@modctr=1\)}{}{\@alph\@DT@modctr}%
+\ifnum\@DT@modctr=1\else\@DT@padzeroesfalse\fi
+\multiply\@DT@modctr by \@strctr
+\advance\@DT@X by -\@DT@modctr
+\divide\@strctr by 26\relax
+\ifnum\@strctr>1
+\repeat
+\advance\@DT@X by 1\relax
+\@alph\@DT@X
+\fi}
+
+\let\abalphnum=\@abalph
+\newcommand*{\@ABAlph}[1]{%
+\ifnum#1>17576\relax
+\PackageError{fmtcount}{Value of counter too large for
+\protect\@ABAlph}{Maximum value 17576}%
+\else
+\@DT@padzeroestrue
+\@strctr=17576\relax
+\@DT@X=#1\relax
+\advance\@DT@X by -1\relax
+\loop
+\@DT@modctr=\@DT@X
+\divide\@DT@modctr by \@strctr
+\ifthenelse{\boolean{@DT@padzeroes}\and
+\(\@DT@modctr=1\)}{}{\@Alph\@DT@modctr}%
+\ifnum\@DT@modctr=1\else\@DT@padzeroesfalse\fi
+\multiply\@DT@modctr by \@strctr
+\advance\@DT@X by -\@DT@modctr
+\divide\@strctr by 26\relax
+\ifnum\@strctr>1
+\repeat
+\advance\@DT@X by 1\relax
+\@Alph\@DT@X
+\fi}
+
+\let\ABAlphnum=\@ABAlph
+\def\@fmtc@count#1#2\relax{%
+\if\relax#1
+\else
+\advance\@strctr by 1\relax
+\@fmtc@count#2\relax
+\fi}
+\newcommand{\@decimal}[1]{%
+\@strctr=0\relax
+\expandafter\@fmtc@count\number#1\relax
+\@DT@loopN=\c@padzeroesN
+\advance\@DT@loopN by -\@strctr
+\ifnum\@DT@loopN>0\relax
+\@strctr=0\relax
+\whiledo{\@strctr < \@DT@loopN}{0\advance\@strctr by 1}%
+\fi
+\number#1\relax
+}
+
+\let\decimalnum=\@decimal
+\newcommand{\FCordinal}[1]{%
+\expandafter\protect\expandafter\ordinalnum{%
+\expandafter\the\csname c@#1\endcsname}}
+\@ifundefined{ordinal}{\let\ordinal\FCordinal}{%
+\PackageWarning{fmtcount}{\string\ordinal
+\space already defined use \string\FCordinal \space instead.}}
+\newcommand*{\ordinalnum}[1]{\@ifnextchar[{\@ordinalnum{#1}}{%
+\@ordinalnum{#1}[m]}}
+\def\@ordinalnum#1[#2]{{%
+\ifthenelse{\equal{#2}{f}}{%
+ \protect\@ordinalF{#1}{\@fc@ordstr}%
+ }{%
+ \ifthenelse{\equal{#2}{n}}{%
+ \protect\@ordinalN{#1}{\@fc@ordstr}%
+ }{%
+ \ifthenelse{\equal{#2}{m}}{}{%
+ \PackageError{fmtcount}{Invalid gender option `#2'}{%
+ Available options are m, f or n}%
+ }%
+ \protect\@ordinalM{#1}{\@fc@ordstr}%
+ }%
+ }%
+\@fc@ordstr
+}}
+\newcommand*{\storeordinal}[2]{%
+\expandafter\protect\expandafter\storeordinalnum{#1}{%
+\expandafter\the\csname c@#2\endcsname}}
+\newcommand*{\storeordinalnum}[2]{%
+\@ifnextchar[{\@storeordinalnum{#1}{#2}}{%
+\@storeordinalnum{#1}{#2}[m]}}
+\def\@storeordinalnum#1#2[#3]{%
+\ifthenelse{\equal{#3}{f}}{%
+\protect\@ordinalF{#2}{\@fc@ord}}{%
+\ifthenelse{\equal{#3}{n}}{%
+\protect\@ordinalN{#2}{\@fc@ord}}{%
+\ifthenelse{\equal{#3}{m}}{}{%
+\PackageError{fmtcount}{Invalid gender option `#3'}{%
+Available options are m or f}}%
+\protect\@ordinalM{#2}{\@fc@ord}}}%
+\expandafter\let\csname @fcs@#1\endcsname\@fc@ord}
+\newcommand*{\FMCuse}[1]{\csname @fcs@#1\endcsname}
+\newcommand*{\ordinalstring}[1]{%
+\expandafter\protect\expandafter\ordinalstringnum{%
+\expandafter\the\csname c@#1\endcsname}}
+\newcommand{\ordinalstringnum}[1]{%
+\@ifnextchar[{\@ordinal@string{#1}}{\@ordinal@string{#1}[m]}}
+\def\@ordinal@string#1[#2]{{%
+\ifthenelse{\equal{#2}{f}}{%
+\protect\@ordinalstringF{#1}{\@fc@ordstr}}{%
+\ifthenelse{\equal{#2}{n}}{%
+\protect\@ordinalstringN{#1}{\@fc@ordstr}}{%
+\ifthenelse{\equal{#2}{m}}{}{%
+\PackageError{fmtcount}{Invalid gender option `#2' to
+\string\ordinalstring}{Available options are m, f or f}}%
+\protect\@ordinalstringM{#1}{\@fc@ordstr}}}\@fc@ordstr}}
+\newcommand*{\storeordinalstring}[2]{%
+\expandafter\protect\expandafter\storeordinalstringnum{#1}{%
+\expandafter\the\csname c@#2\endcsname}}
+\newcommand*{\storeordinalstringnum}[2]{%
+\@ifnextchar[{\@store@ordinal@string{#1}{#2}}{%
+\@store@ordinal@string{#1}{#2}[m]}}
+\def\@store@ordinal@string#1#2[#3]{%
+\ifthenelse{\equal{#3}{f}}{%
+\protect\@ordinalstringF{#2}{\@fc@ordstr}}{%
+\ifthenelse{\equal{#3}{n}}{%
+\protect\@ordinalstringN{#2}{\@fc@ordstr}}{%
+\ifthenelse{\equal{#3}{m}}{}{%
+\PackageError{fmtcount}{Invalid gender option `#3' to
+\string\ordinalstring}{Available options are m, f or n}}%
+\protect\@ordinalstringM{#2}{\@fc@ordstr}}}%
+\expandafter\let\csname @fcs@#1\endcsname\@fc@ordstr}
+\newcommand*{\Ordinalstring}[1]{%
+\expandafter\protect\expandafter\Ordinalstringnum{%
+\expandafter\the\csname c@#1\endcsname}}
+\newcommand*{\Ordinalstringnum}[1]{%
+\@ifnextchar[{\@Ordinal@string{#1}}{\@Ordinal@string{#1}[m]}}
+\def\@Ordinal@string#1[#2]{{%
+\ifthenelse{\equal{#2}{f}}{%
+\protect\@OrdinalstringF{#1}{\@fc@ordstr}}{%
+\ifthenelse{\equal{#2}{n}}{%
+\protect\@OrdinalstringN{#1}{\@fc@ordstr}}{%
+\ifthenelse{\equal{#2}{m}}{}{%
+\PackageError{fmtcount}{Invalid gender option `#2'}{%
+Available options are m, f or n}}%
+\protect\@OrdinalstringM{#1}{\@fc@ordstr}}}\@fc@ordstr}}
+\newcommand*{\storeOrdinalstring}[2]{%
+\expandafter\protect\expandafter\storeOrdinalstringnum{#1}{%
+\expandafter\the\csname c@#2\endcsname}}
+\newcommand*{\storeOrdinalstringnum}[2]{%
+\@ifnextchar[{\@store@Ordinal@string{#1}{#2}}{%
+\@store@Ordinal@string{#1}{#2}[m]}}
+\def\@store@Ordinal@string#1#2[#3]{%
+\ifthenelse{\equal{#3}{f}}{%
+\protect\@OrdinalstringF{#2}{\@fc@ordstr}}{%
+\ifthenelse{\equal{#3}{n}}{%
+\protect\@OrdinalstringN{#2}{\@fc@ordstr}}{%
+\ifthenelse{\equal{#3}{m}}{}{%
+\PackageError{fmtcount}{Invalid gender option `#3'}{%
+Available options are m or f}}%
+\protect\@OrdinalstringM{#2}{\@fc@ordstr}}}%
+\expandafter\let\csname @fcs@#1\endcsname\@fc@ordstr}
+\newcommand*{\storeORDINALstring}[2]{%
+\expandafter\protect\expandafter\storeORDINALstringnum{#1}{%
+\expandafter\the\csname c@#2\endcsname}}
+\newcommand*{\storeORDINALstringnum}[2]{%
+\@ifnextchar[{\@store@ORDINAL@string{#1}{#2}}{%
+\@store@ORDINAL@string{#1}{#2}[m]}}
+\def\@store@ORDINAL@string#1#2[#3]{%
+\ifthenelse{\equal{#3}{f}}{%
+\protect\@ordinalstringF{#2}{\@fc@ordstr}}{%
+\ifthenelse{\equal{#3}{n}}{%
+\protect\@ordinalstringN{#2}{\@fc@ordstr}}{%
+\ifthenelse{\equal{#3}{m}}{}{%
+\PackageError{fmtcount}{Invalid gender option `#3'}{%
+Available options are m or f}}%
+\protect\@ordinalstringM{#2}{\@fc@ordstr}}}%
+\expandafter\edef\csname @fcs@#1\endcsname{%
+\noexpand\MakeUppercase{\@fc@ordstr}}}
+\newcommand*{\ORDINALstring}[1]{%
+\expandafter\protect\expandafter\ORDINALstringnum{%
+\expandafter\the\csname c@#1\endcsname}}
+\newcommand*{\ORDINALstringnum}[1]{%
+\@ifnextchar[{\@ORDINAL@string{#1}}{\@ORDINAL@string{#1}[m]}}
+\def\@ORDINAL@string#1[#2]{{%
+\ifthenelse{\equal{#2}{f}}{%
+\protect\@ordinalstringF{#1}{\@fc@ordstr}}{%
+\ifthenelse{\equal{#2}{n}}{%
+\protect\@ordinalstringN{#1}{\@fc@ordstr}}{%
+\ifthenelse{\equal{#2}{m}}{}{%
+\PackageError{fmtcount}{Invalid gender option `#2'}{%
+Available options are m, f or n}}%
+\protect\@ordinalstringM{#1}{\@fc@ordstr}}}%
+\MakeUppercase{\@fc@ordstr}}}
+\newcommand*{\storenumberstring}[2]{%
+\expandafter\protect\expandafter\storenumberstringnum{#1}{%
+\expandafter\the\csname c@#2\endcsname}}
+\newcommand{\storenumberstringnum}[2]{%
+\@ifnextchar[{\@store@number@string{#1}{#2}}{%
+\@store@number@string{#1}{#2}[m]}}
+\def\@store@number@string#1#2[#3]{%
+\ifthenelse{\equal{#3}{f}}{%
+\protect\@numberstringF{#2}{\@fc@numstr}}{%
+\ifthenelse{\equal{#3}{n}}{%
+\protect\@numberstringN{#2}{\@fc@numstr}}{%
+\ifthenelse{\equal{#3}{m}}{}{%
+\PackageError{fmtcount}{Invalid gender option `#3'}{%
+Available options are m, f or n}}%
+\protect\@numberstringM{#2}{\@fc@numstr}}}%
+\expandafter\let\csname @fcs@#1\endcsname\@fc@numstr}
+\newcommand*{\numberstring}[1]{%
+\expandafter\protect\expandafter\numberstringnum{%
+\expandafter\the\csname c@#1\endcsname}}
+\newcommand*{\numberstringnum}[1]{%
+\@ifnextchar[{\@number@string{#1}}{\@number@string{#1}[m]}%
+}
+\def\@number@string#1[#2]{{%
+\ifthenelse{\equal{#2}{f}}{%
+\protect\@numberstringF{#1}{\@fc@numstr}}{%
+\ifthenelse{\equal{#2}{n}}{%
+\protect\@numberstringN{#1}{\@fc@numstr}}{%
+\ifthenelse{\equal{#2}{m}}{}{%
+\PackageError{fmtcount}{Invalid gender option `#2'}{%
+Available options are m, f or n}}%
+\protect\@numberstringM{#1}{\@fc@numstr}}}\@fc@numstr}}
+\newcommand*{\storeNumberstring}[2]{%
+\expandafter\protect\expandafter\storeNumberstringnum{#1}{%
+\expandafter\the\csname c@#2\endcsname}}
+\newcommand{\storeNumberstringnum}[2]{%
+\@ifnextchar[{\@store@Number@string{#1}{#2}}{%
+\@store@Number@string{#1}{#2}[m]}}
+\def\@store@Number@string#1#2[#3]{%
+\ifthenelse{\equal{#3}{f}}{%
+\protect\@NumberstringF{#2}{\@fc@numstr}}{%
+\ifthenelse{\equal{#3}{n}}{%
+\protect\@NumberstringN{#2}{\@fc@numstr}}{%
+\ifthenelse{\equal{#3}{m}}{}{%
+\PackageError{fmtcount}{Invalid gender option `#3'}{%
+Available options are m, f or n}}%
+\protect\@NumberstringM{#2}{\@fc@numstr}}}%
+\expandafter\let\csname @fcs@#1\endcsname\@fc@numstr}
+\newcommand*{\Numberstring}[1]{%
+\expandafter\protect\expandafter\Numberstringnum{%
+\expandafter\the\csname c@#1\endcsname}}
+\newcommand*{\Numberstringnum}[1]{%
+\@ifnextchar[{\@Number@string{#1}}{\@Number@string{#1}[m]}}
+\def\@Number@string#1[#2]{{%
+\ifthenelse{\equal{#2}{f}}{%
+\protect\@NumberstringF{#1}{\@fc@numstr}}{%
+\ifthenelse{\equal{#2}{n}}{%
+\protect\@NumberstringN{#1}{\@fc@numstr}}{%
+\ifthenelse{\equal{#2}{m}}{}{%
+\PackageError{fmtcount}{Invalid gender option `#2'}{%
+Available options are m, f or n}}%
+\protect\@NumberstringM{#1}{\@fc@numstr}}}\@fc@numstr}}
+\newcommand{\storeNUMBERstring}[2]{%
+\expandafter\protect\expandafter\storeNUMBERstringnum{#1}{%
+\expandafter\the\csname c@#2\endcsname}}
+\newcommand{\storeNUMBERstringnum}[2]{%
+\@ifnextchar[{\@store@NUMBER@string{#1}{#2}}{%
+\@store@NUMBER@string{#1}{#2}[m]}}
+\def\@store@NUMBER@string#1#2[#3]{%
+\ifthenelse{\equal{#3}{f}}{%
+\protect\@numberstringF{#2}{\@fc@numstr}}{%
+\ifthenelse{\equal{#3}{n}}{%
+\protect\@numberstringN{#2}{\@fc@numstr}}{%
+\ifthenelse{\equal{#3}{m}}{}{%
+\PackageError{fmtcount}{Invalid gender option `#3'}{%
+Available options are m or f}}%
+\protect\@numberstringM{#2}{\@fc@numstr}}}%
+\expandafter\edef\csname @fcs@#1\endcsname{%
+\noexpand\MakeUppercase{\@fc@numstr}}}
+\newcommand*{\NUMBERstring}[1]{%
+\expandafter\protect\expandafter\NUMBERstringnum{%
+\expandafter\the\csname c@#1\endcsname}}
+\newcommand*{\NUMBERstringnum}[1]{%
+\@ifnextchar[{\@NUMBER@string{#1}}{\@NUMBER@string{#1}[m]}}
+\def\@NUMBER@string#1[#2]{{%
+\ifthenelse{\equal{#2}{f}}{%
+\protect\@numberstringF{#1}{\@fc@numstr}}{%
+\ifthenelse{\equal{#2}{n}}{%
+\protect\@numberstringN{#1}{\@fc@numstr}}{%
+\ifthenelse{\equal{#2}{m}}{}{%
+\PackageError{fmtcount}{Invalid gender option `#2'}{%
+Available options are m, f or n}}%
+\protect\@numberstringM{#1}{\@fc@numstr}}}%
+\MakeUppercase{\@fc@numstr}}}
+\providecommand*{\binary}[1]{%
+\expandafter\protect\expandafter\@binary{%
+\expandafter\the\csname c@#1\endcsname}}
+\providecommand*{\aaalph}[1]{%
+\expandafter\protect\expandafter\@aaalph{%
+\expandafter\the\csname c@#1\endcsname}}
+\providecommand*{\AAAlph}[1]{%
+\expandafter\protect\expandafter\@AAAlph{%
+\expandafter\the\csname c@#1\endcsname}}
+\providecommand*{\abalph}[1]{%
+\expandafter\protect\expandafter\@abalph{%
+\expandafter\the\csname c@#1\endcsname}}
+\providecommand*{\ABAlph}[1]{%
+\expandafter\protect\expandafter\@ABAlph{%
+\expandafter\the\csname c@#1\endcsname}}
+\providecommand*{\hexadecimal}[1]{%
+\expandafter\protect\expandafter\@hexadecimal{%
+\expandafter\the\csname c@#1\endcsname}}
+\providecommand*{\Hexadecimal}[1]{%
+\expandafter\protect\expandafter\@Hexadecimal{%
+\expandafter\the\csname c@#1\endcsname}}
+\providecommand*{\octal}[1]{%
+\expandafter\protect\expandafter\@octal{%
+\expandafter\the\csname c@#1\endcsname}}
+\providecommand*{\decimal}[1]{%
+\expandafter\protect\expandafter\@decimal{%
+\expandafter\the\csname c@#1\endcsname}}
+\def\@setdef@ultfmtcount{
+\@ifundefined{@ordinalMenglish}{\input{fc-english.def}}{}
+\def\@ordinalstringM{\@ordinalstringMenglish}
+\let\@ordinalstringF=\@ordinalstringMenglish
+\let\@ordinalstringN=\@ordinalstringMenglish
+\def\@OrdinalstringM{\@OrdinalstringMenglish}
+\let\@OrdinalstringF=\@OrdinalstringMenglish
+\let\@OrdinalstringN=\@OrdinalstringMenglish
+\def\@numberstringM{\@numberstringMenglish}
+\let\@numberstringF=\@numberstringMenglish
+\let\@numberstringN=\@numberstringMenglish
+\def\@NumberstringM{\@NumberstringMenglish}
+\let\@NumberstringF=\@NumberstringMenglish
+\let\@NumberstringN=\@NumberstringMenglish
+\def\@ordinalM{\@ordinalMenglish}
+\let\@ordinalF=\@ordinalM
+\let\@ordinalN=\@ordinalM
+}
+\def\@set@mulitling@fmtcount{%
+\def\@numberstringM{\@ifundefined{@numberstringM\languagename}{%
+\PackageError{fmtcount}{No support for language '\languagename'}{%
+The fmtcount package currently does not support language
+'\languagename' for command \string\@numberstringM}}{%
+\csname @numberstringM\languagename\endcsname}}%
+\def\@numberstringF{\@ifundefined{@numberstringF\languagename}{%
+\PackageError{fmtcount}{No support for language '\languagename'}{%
+The fmtcount package currently does not support language
+'\languagename' for command \string\@numberstringF}}{%
+\csname @numberstringF\languagename\endcsname}}%
+\def\@numberstringN{\@ifundefined{@numberstringN\languagename}{%
+\PackageError{fmtcount}{No support for language '\languagename'}{%
+The fmtcount package currently does not support language
+'\languagename' for command \string\@numberstringN}}{%
+\csname @numberstringN\languagename\endcsname}}%
+\def\@NumberstringM{\@ifundefined{@NumberstringM\languagename}{%
+\PackageError{fmtcount}{No support for language '\languagename'}{%
+The fmtcount package currently does not support language
+'\languagename' for command \string\@NumberstringM}}{%
+\csname @NumberstringM\languagename\endcsname}}%
+\def\@NumberstringF{\@ifundefined{@NumberstringF\languagename}{%
+\PackageError{fmtcount}{No support for language '\languagename'}{%
+The fmtcount package currently does not support language
+'\languagename' for command \string\@NumberstringF}}{%
+\csname @NumberstringF\languagename\endcsname}}%
+\def\@NumberstringN{\@ifundefined{@NumberstringN\languagename}{%
+\PackageError{fmtcount}{No support for language '\languagename'}{%
+The fmtcount package currently does not support language
+'\languagename' for command \string\@NumberstringN}}{%
+\csname @NumberstringN\languagename\endcsname}}%
+\def\@ordinalM{\@ifundefined{@ordinalM\languagename}{%
+\PackageError{fmtcount}{No support for language '\languagename'}{%
+The fmtcount package currently does not support language
+'\languagename' for command \string\@ordinalM}}{%
+\csname @ordinalM\languagename\endcsname}}%
+\def\@ordinalF{\@ifundefined{@ordinalF\languagename}{%
+\PackageError{fmtcount}{No support for language '\languagename'}{%
+The fmtcount package currently does not support language
+'\languagename' for command \string\@ordinalF}}{%
+\csname @ordinalF\languagename\endcsname}}%
+\def\@ordinalN{\@ifundefined{@ordinalN\languagename}{%
+\PackageError{fmtcount}{No support for language '\languagename'}{%
+The fmtcount package currently does not support language
+'\languagename' for command \string\@ordinalN}}{%
+\csname @ordinalN\languagename\endcsname}}%
+\def\@ordinalstringM{\@ifundefined{@ordinalstringM\languagename}{%
+\PackageError{fmtcount}{No support for language '\languagename'}{%
+The fmtcount package currently does not support language
+'\languagename' for command \string\@ordinalstringM}}{%
+\csname @ordinalstringM\languagename\endcsname}}%
+\def\@ordinalstringF{\@ifundefined{@ordinalstringF\languagename}{%
+\PackageError{fmtcount}{No support for language '\languagename'}{%
+The fmtcount package currently does not support language
+'\languagename' for command \string\@ordinalstringF}}{%
+\csname @ordinalstringF\languagename\endcsname}}%
+\def\@ordinalstringN{\@ifundefined{@ordinalstringN\languagename}{%
+\PackageError{fmtcount}{No support for language '\languagename'}{%
+The fmtcount package currently does not support language
+'\languagename' for command \string\@ordinalstringN}}{%
+\csname @ordinalstringN\languagename\endcsname}}%
+\def\@OrdinalstringM{\@ifundefined{@OrdinalstringM\languagename}{%
+\PackageError{fmtcount}{No support for language '\languagename'}{%
+The fmtcount package currently does not support language
+'\languagename' for command \string\@OrdinalstringM}}{%
+\csname @OrdinalstringM\languagename\endcsname}}%
+\def\@OrdinalstringF{\@ifundefined{@OrdinalstringF\languagename}{%
+\PackageError{fmtcount}{No support for language '\languagename'}{%
+The fmtcount package currently does not support language
+'\languagename' for command \string\@OrdinalstringF}}{%
+\csname @OrdinalstringF\languagename\endcsname}}%
+\def\@OrdinalstringN{\@ifundefined{@OrdinalstringN\languagename}{%
+\PackageError{fmtcount}{No support for language '\languagename'}{%
+The fmtcount package currently does not support language
+'\languagename' for command \string\@OrdinalstringN}}{%
+\csname @OrdinalstringN\languagename\endcsname}}
+}
+\@ifpackageloaded{babel}{%
+\ifthenelse{\equal{\languagename}{nohyphenation}\or
+\equal{languagename}{english}}{\@setdef@ultfmtcount}{%
+\@set@mulitling@fmtcount}
+}{%
+\@ifpackageloaded{ngerman}{%
+\@ifundefined{@numberstringMgerman}{%
+\input{fc-german.def}}{}\@set@mulitling@fmtcount}{%
+\@setdef@ultfmtcount}}
+\let\@ordinal=\@ordinalM
+\let\@ordinalstring=\@ordinalstringM
+\let\@Ordinalstring=\@OrdinalstringM
+\let\@numberstring=\@numberstringM
+\let\@Numberstring=\@NumberstringM
+\endinput
+%%
+%% End of file `fmtcount.sty'.