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.sty1554
1 files changed, 1002 insertions, 552 deletions
diff --git a/Master/texmf-dist/tex/latex/fmtcount/fmtcount.sty b/Master/texmf-dist/tex/latex/fmtcount/fmtcount.sty
index cc1dfb7819c..e5bf3e772e8 100644
--- a/Master/texmf-dist/tex/latex/fmtcount/fmtcount.sty
+++ b/Master/texmf-dist/tex/latex/fmtcount/fmtcount.sty
@@ -7,7 +7,7 @@
%% fmtcount.dtx (with options: `fmtcount.sty,package')
%%
%% fmtcount.dtx
-%% Copyright 2009 Nicola Talbot
+%% Copyright 2012 Nicola Talbot
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3
@@ -21,7 +21,7 @@
%%
%% The Current Maintainer of this work is Nicola Talbot.
%%
-%% This work consists of the files fmtcount.dtx and fmtcount.ins and the derived files fmtcount.sty, fc-british.def, fc-english.def, fc-french.def, fc-german.def, fc-italian.def, fc-portuges.def, fc-spanish.def, fc-UKenglish.def, fc-USenglish.def, fmtcount.perl, fc-lang.tex, fc-samp.tex.
+%% 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
@@ -38,96 +38,152 @@
%% 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}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{fmtcount}[2009/10/02 v1.31]
+\ProvidesPackage{fmtcount}[2012/06/18 v2.0]
\RequirePackage{ifthen}
\RequirePackage{keyval}
+\RequirePackage{etoolbox}
\RequirePackage{amsgen}
\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}}
-\@ifundefined{l@italian}{}{\input{fc-italian.def}}
+\newcommand*{\FCloadlang}[1]{%
+ \@FC@iflangloaded{#1}{}%
+ {%
+ \input{fc-#1.def}%
+ }%
+}
+\newcommand{\@FC@iflangloaded}[3]{%
+ \ifcsundef{ver@fc-#1.def}{#3}{#2}%
+}
+\newcommand*{\ProvidesFCLanguage}[1]{%
+ \ProvidesFile{fc-#1.def}%
+}
+\newcommand*{\@fc@loadifbabelldf}[1]{%
+ \ifcsundef{ver@#1.ldf}{}{\FCloadlang{#1}}%
+}
+\@fc@loadifbabelldf{english}
+\@fc@loadifbabelldf{UKenglish}
+\@fc@loadifbabelldf{british}
+\@fc@loadifbabelldf{USenglish}
+\@fc@loadifbabelldf{american}
+\@fc@loadifbabelldf{spanish}
+\@fc@loadifbabelldf{portuges}
+\@fc@loadifbabelldf{french}
+\@fc@loadifbabelldf{frenchb}
+\@fc@loadifbabelldf{german}%
+\@fc@loadifbabelldf{germanb}%
+\@fc@loadifbabelldf{ngerman}%
+\@fc@loadifbabelldf{ngermanb}%
+\@fc@loadifbabelldf{italian}
\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'}}
-}}
+ \@ifundefined{datefrench}%
+ {%
+ \PackageError{fmtcount}%
+ {Language `french' not defined}%
+ {You need to load babel before loading fmtcount}%
+ }%
+ {%
+ \setkeys{fcfrench}{#1}%
+ }%
+}
\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'}}}
+ \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'}}}
+ \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'}%
+ }%
+}
+\define@key{fmtcount}{prefix}[scale=long]{%
+ \RequirePackage{fmtprefix}%
+ \fmtprefixsetoption{#1}%
+}
\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}%
+ \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}%
+{%
+ \PackageInfo{fmtcount}{Using configuration file fmtcount.cfg}%
}%
-\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}}
+ \def\fmtord#1{#1}}
\DeclareOption{raise}{\def\fmtcount@fmtord{raise}%
-\def\fmtord#1{\textsuperscript{#1}}}
+ \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}
+ \@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
@@ -136,568 +192,962 @@ or `user'}}}
\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}
+ \@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}
+ \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]{%
+ \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}
-
+ \@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]{%
+ \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}
+ \@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
+ \@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
+ \@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}
+ \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}
+ \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}
+ \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\relax}%
-\fi
-\number#1\relax
+ \@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\relax}%
+ \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]{\new@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}%
+ \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]{%
+ \new@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}%
}%
- \protect\@ordinalM{#1}{\@fc@ordstr}%
}%
- }%
-\@fc@ordstr
-}}
+ \@fc@ordstr
+ }%
+}
\newcommand*{\storeordinal}[2]{%
-\expandafter\protect\expandafter\storeordinalnum{#1}{%
-\expandafter\the\csname c@#2\endcsname}}
+ \expandafter\protect\expandafter\storeordinalnum{#1}{%
+ \expandafter\the\csname c@#2\endcsname}%
+}
\newcommand*{\storeordinalnum}[2]{%
-\@ifnextchar[{\@storeordinalnum{#1}{#2}}{%
-\@storeordinalnum{#1}{#2}[m]}}
+ \@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}
+ \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}}
+ \expandafter\protect\expandafter\ordinalstringnum{%
+ \expandafter\the\csname c@#1\endcsname}%
+}
\newcommand{\ordinalstringnum}[1]{%
-\new@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}}
+ \new@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}}
+ \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]}}
+ \@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}
+ \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}}
+ \expandafter\protect\expandafter\Ordinalstringnum{%
+ \expandafter\the\csname c@#1\endcsname}%
+}
\newcommand*{\Ordinalstringnum}[1]{%
-\new@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}}
+ \new@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}}
+ \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]}}
+ \@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}
+ \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}}
+ \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]}}
+ \@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}}}
+ \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}}
+ \expandafter\protect\expandafter\ORDINALstringnum{%
+ \expandafter\the\csname c@#1\endcsname
+ }%
+}
\newcommand*{\ORDINALstringnum}[1]{%
-\new@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}}}
+ \new@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}}
+ \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]}}
+ \@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}
+ \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}}
+ \expandafter\protect\expandafter\numberstringnum{%
+ \expandafter\the\csname c@#1\endcsname}%
+}
\newcommand*{\numberstringnum}[1]{%
-\new@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}}
+ \new@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}}
+ \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]}}
+ \@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}
+ \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}}
+ \expandafter\protect\expandafter\Numberstringnum{%
+ \expandafter\the\csname c@#1\endcsname}%
+}
\newcommand*{\Numberstringnum}[1]{%
-\new@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}}
+ \new@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}}
+ \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]}}
+ \@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}}}
+ \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}}
+ \expandafter\protect\expandafter\NUMBERstringnum{%
+ \expandafter\the\csname c@#1\endcsname}%
+}
\newcommand*{\NUMBERstringnum}[1]{%
-\new@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}}}
+ \new@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}}
+ \expandafter\protect\expandafter\@binary{%
+ \expandafter\the\csname c@#1\endcsname}%
+}
\providecommand*{\aaalph}[1]{%
-\expandafter\protect\expandafter\@aaalph{%
-\expandafter\the\csname c@#1\endcsname}}
+ \expandafter\protect\expandafter\@aaalph{%
+ \expandafter\the\csname c@#1\endcsname}%
+}
\providecommand*{\AAAlph}[1]{%
-\expandafter\protect\expandafter\@AAAlph{%
-\expandafter\the\csname c@#1\endcsname}}
+ \expandafter\protect\expandafter\@AAAlph{%
+ \expandafter\the\csname c@#1\endcsname}%
+}
\providecommand*{\abalph}[1]{%
-\expandafter\protect\expandafter\@abalph{%
-\expandafter\the\csname c@#1\endcsname}}
+ \expandafter\protect\expandafter\@abalph{%
+ \expandafter\the\csname c@#1\endcsname}%
+}
\providecommand*{\ABAlph}[1]{%
-\expandafter\protect\expandafter\@ABAlph{%
-\expandafter\the\csname c@#1\endcsname}}
+ \expandafter\protect\expandafter\@ABAlph{%
+ \expandafter\the\csname c@#1\endcsname}%
+}
\providecommand*{\hexadecimal}[1]{%
-\expandafter\protect\expandafter\@hexadecimal{%
-\expandafter\the\csname c@#1\endcsname}}
+ \expandafter\protect\expandafter\@hexadecimal{%
+ \expandafter\the\csname c@#1\endcsname}%
+}
\providecommand*{\Hexadecimal}[1]{%
-\expandafter\protect\expandafter\@Hexadecimal{%
-\expandafter\the\csname c@#1\endcsname}}
+ \expandafter\protect\expandafter\@Hexadecimal{%
+ \expandafter\the\csname c@#1\endcsname}%
+}
\providecommand*{\octal}[1]{%
-\expandafter\protect\expandafter\@octal{%
-\expandafter\the\csname c@#1\endcsname}}
+ \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
+ \expandafter\protect\expandafter\@decimal{%
+ \expandafter\the\csname c@#1\endcsname}%
+}
+\def\@setdef@ultfmtcount{%
+ \@ifundefined{@ordinalMenglish}{\FCloadlang{english}}{}%
+ \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}}
+ \def\@numberstringM{%
+ \@ifundefined{@numberstringM\languagename}%
+ {%
+ \PackageWarning{fmtcount}%
+ {No support for \string\numberstring\space for
+ language '\languagename'}%
+ \@numberstringMenglish
+ }%
+ {%
+ \csname @numberstringM\languagename\endcsname
+ }%
+ }%
+ \def\@numberstringF{%
+ \@ifundefined{@numberstringF\languagename}%
+ {%
+ \PackageWarning{fmtcount}%
+ {No support for \string\numberstring\space for
+ language '\languagename'}%
+ \@numberstringMenglish
+ }%
+ {%
+ \csname @numberstringF\languagename\endcsname
+ }%
+ }%
+ \def\@numberstringN{%
+ \@ifundefined{@numberstringN\languagename}%
+ {%
+ \PackageWarning{fmtcount}%
+ {No support for \string\numberstring\space for
+ language '\languagename'}%
+ \@numberstringMenglish
+ }%
+ {%
+ \csname @numberstringN\languagename\endcsname
+ }%
+ }%
+ \def\@NumberstringM{%
+ \@ifundefined{@NumberstringM\languagename}%
+ {%
+ \PackageWarning{fmtcount}%
+ {No support for \string\Numberstring\space
+ for language '\languagename'}%
+ \@NumberstringMenglish
+ }%
+ {%
+ \csname @NumberstringM\languagename\endcsname
+ }%
+ }%
+ \def\@NumberstringF{%
+ \@ifundefined{@NumberstringF\languagename}%
+ {%
+ \PackageWarning{fmtcount}%
+ {No support for \string\Numberstring\space
+ for language '\languagename'}%
+ \@NumberstringMenglish
+ }%
+ {%
+ \csname @NumberstringF\languagename\endcsname
+ }%
+ }%
+ \def\@NumberstringN{%
+ \@ifundefined{@NumberstringN\languagename}%
+ {%
+ \PackageWarning{fmtcount}%
+ {No support for \string\Numberstring\space
+ for language '\languagename'}%
+ \@NumberstringMenglish
+ }%
+ {%
+ \csname @NumberstringN\languagename\endcsname
+ }%
+ }%
+ \def\@ordinalM{%
+ \@ifundefined{@ordinalM\languagename}%
+ {%
+ \PackageWarning{fmtcount}%
+ {No support for \string\ordinal\space
+ for language '\languagename'}%
+ \@ordinalMenglish
+ }%
+ {%
+ \csname @ordinalM\languagename\endcsname
+ }%
+ }%
+ \def\@ordinalF{%
+ \@ifundefined{@ordinalF\languagename}%
+ {%
+ \PackageWarning{fmtcount}%
+ {No support for \string\ordinal\space
+ for language '\languagename'}%
+ \@ordinalMenglish
+ }%
+ {%
+ \csname @ordinalF\languagename\endcsname
+ }%
+ }%
+ \def\@ordinalN{%
+ \@ifundefined{@ordinalN\languagename}%
+ {%
+ \PackageWarning{fmtcount}%
+ {No support for \string\ordinal\space
+ for language '\languagename'}%
+ \@ordinalMenglish
+ }%
+ {%
+ \csname @ordinalN\languagename\endcsname
+ }%
+ }%
+ \def\@ordinalstringM{%
+ \@ifundefined{@ordinalstringM\languagename}%
+ {%
+ \PackageWarning{fmtcount}%
+ {No support for \string\ordinalstring\space
+ for language '\languagename'}%
+ \@ordinalstringMenglish
+ }%
+ {%
+ \csname @ordinalstringM\languagename\endcsname
+ }%
+ }%
+ \def\@ordinalstringF{%
+ \@ifundefined{@ordinalstringF\languagename}%
+ {%
+ \PackageWarning{fmtcount}%
+ {No support for \string\ordinalstring\space
+ for language '\languagename'}%
+ \@ordinalstringMenglish
+ }%
+ {%
+ \csname @ordinalstringF\languagename\endcsname
+ }%
+ }%
+ \def\@ordinalstringN{%
+ \@ifundefined{@ordinalstringN\languagename}%
+ {%
+ \PackageWarning{fmtcount}%
+ {No support for \string\ordinalstring\space
+ for language '\languagename'}%
+ \@ordinalstringMenglish
+ }%
+ {%
+ \csname @ordinalstringN\languagename\endcsname
+ }%
+ }%
+ \def\@OrdinalstringM{%
+ \@ifundefined{@OrdinalstringM\languagename}%
+ {%
+ \PackageWarning{fmtcount}%
+ {No support for \string\Ordinalstring\space
+ for language '\languagename'}%
+ \@OrdinalstringMenglish
+ }%
+ {%
+ \csname @OrdinalstringM\languagename\endcsname
+ }%
+ }%
+ \def\@OrdinalstringF{%
+ \@ifundefined{@OrdinalstringF\languagename}%
+ {%
+ \PackageWarning{fmtcount}%
+ {No support for \string\Ordinalstring\space
+ for language '\languagename'}%
+ \@OrdinalstringMenglish
+ }%
+ {%
+ \csname @OrdinalstringF\languagename\endcsname
+ }%
+ }%
+ \def\@OrdinalstringN{%
+ \@ifundefined{@OrdinalstringN\languagename}%
+ {%
+ \PackageWarning{fmtcount}%
+ {No support for \string\Ordinalstring\space
+ for language '\languagename'}%
+ \@OrdinalstringMenglish
+ }%
+ {%
+ \csname @OrdinalstringN\languagename\endcsname
+ }%
+ }%
+}
+\@ifpackageloaded{babel}%
+{%
+ \@set@mulitling@fmtcount
+}%
+{%
+ \@ifpackageloaded{ngerman}%
+ {%
+ \FCloadlang{ngerman}%
+ \@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'.