%% %% This is file `fmtcount.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% fmtcount.dtx (with options: `fmtcount.sty,package') %% Copyright (C) 2007 Nicola Talbot, all rights reserved. %% If you modify this file, you must change its name first. %% You are NOT ALLOWED to distribute this file alone. You are NOT %% ALLOWED to take money for the distribution or use of either this %% file or a changed version, except for a nominal charge for copying %% etc. %% \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/04/20 v1.09] \RequirePackage{ifthen} \RequirePackage{keyval} \providecommand{\fmtord}[1]{\textsuperscript{#1}} \newcount\c@padzeroesN \c@padzeroesN=1\relax \providecommand{\padzeroes}[1][17]{\c@padzeroesN=#1} \@ifundefined{dateenglish}{}{\input{fc-english.def}} \@ifundefined{datespanish}{}{\input{fc-spanish.def}} \@ifundefined{dateportuges}{}{\input{fc-portuges.def}} \@ifundefined{datefrench}{}{\input{fc-french.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\or6\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 \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 \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}{m}}{}{% \PackageError{fmtcount}{Invalid gender option `#2'}{% Available options are m or f}}% \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}{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}{m}}{}{% \PackageError{fmtcount}{Invalid gender option `#2' to \string\ordinalstring}{Available options are m 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}{m}}{}{% \PackageError{fmtcount}{Invalid gender option `#3' to \string\ordinalstring}{Available options are m or f}}% \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}{m}}{}{% \PackageError{fmtcount}{Invalid gender option `#2'}{% Available options are m 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}{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}{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}{m}}{}{% \PackageError{fmtcount}{Invalid gender option `#2'}{% Available options are m or f}}% \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}{m}}{}{% \PackageError{fmtcount}{Invalid gender option `#3'}{% Available options are m or f}}% \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}{m}}{}{% \PackageError{fmtcount}{Invalid gender option `#2'}{% Available options are m or f}}% \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}{m}}{}{% \PackageError{fmtcount}{Invalid gender option `#3'}{% Available options are m or f}}% \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}{m}}{}{% \PackageError{fmtcount}{Invalid gender option `#2'}{% Available options are m or f}}% \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}{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}{m}}{}{% \PackageError{fmtcount}{Invalid gender option `#2'}{% Available options are m or f}}% \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 \def\@OrdinalstringM{\@OrdinalstringMenglish} \let\@OrdinalstringF=\@OrdinalstringMenglish \def\@numberstringM{\@numberstringMenglish} \let\@numberstringF=\@numberstringMenglish \def\@NumberstringM{\@NumberstringMenglish} \let\@NumberstringF=\@NumberstringMenglish \def\@ordinalM{\@ordinalMenglish} \let\@ordinalF=\@ordinalM} \@ifpackageloaded{babel}{ \ifthenelse{\equal{\languagename}{nohyphenation}\or\equal{languagename}{english}}{\@setdef@ultfmtcount}{ \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\@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\@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\@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\@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}} }}{% \@setdef@ultfmtcount} \let\@ordinal=\@ordinalM \let\@ordinalstring=\@ordinalstringM \let\@Ordinalstring=\@OrdinalstringM \let\@numberstring=\@numberstringM \let\@Numberstring=\@NumberstringM \endinput %% %% End of file `fmtcount.sty'.