summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex')
-rw-r--r--Master/texmf-dist/tex/latex/fmtcount/fc-english.def345
-rw-r--r--Master/texmf-dist/tex/latex/fmtcount/fc-french.def572
-rw-r--r--Master/texmf-dist/tex/latex/fmtcount/fc-portuges.def323
-rw-r--r--Master/texmf-dist/tex/latex/fmtcount/fc-spanish.def266
-rw-r--r--Master/texmf-dist/tex/latex/fmtcount/fmtcount.sty223
5 files changed, 1008 insertions, 721 deletions
diff --git a/Master/texmf-dist/tex/latex/fmtcount/fc-english.def b/Master/texmf-dist/tex/latex/fmtcount/fc-english.def
index 4ee468d0dc5..2acb6582348 100644
--- a/Master/texmf-dist/tex/latex/fmtcount/fc-english.def
+++ b/Master/texmf-dist/tex/latex/fmtcount/fc-english.def
@@ -26,37 +26,37 @@
%% Right bracket \] Circumflex \^ Underscore \_
%% Grave accent \` Left brace \{ Vertical bar \|
%% Right brace \} Tilde \~}
-\ProvidesFile{fc-english}[2005/04/29]
-\newcommand{\@ordinalMenglish}[1]{%
+\ProvidesFile{fc-english}[2007/04/20]
+\newcommand*{\@ordinalMenglish}[2]{%
+\def\@fc@ord{}%
\@orgargctr=#1\relax
\@ordinalctr=#1%
\@modulo{\@ordinalctr}{100}%
-\ifnum\@ordinalctr=11
-\the\@orgargctr\fmtord{th}%
+\ifnum\@ordinalctr=11\relax
+ \def\@fc@ord{th}%
\else
-\ifnum\@ordinalctr=12
-\the\@orgargctr\fmtord{th}%
-\else
-\ifnum\@ordinalctr=13
-\the\@orgargctr\fmtord{th}%
-\else
-\@modulo{\@ordinalctr}{10}%
-\ifcase\@ordinalctr
-\the\@orgargctr\fmtord{th}% case 0
-\or \the\@orgargctr\fmtord{st}% case 1
-\or \the\@orgargctr\fmtord{nd}% case 2
-\or \the\@orgargctr\fmtord{rd}% case 3
-\else
-\the\@orgargctr\fmtord{th}% default case
-\fi
-\fi
-\fi
-\fi
+ \ifnum\@ordinalctr=12\relax
+ \def\@fc@ord{th}%
+ \else
+ \ifnum\@ordinalctr=13\relax
+ \def\@fc@ord{th}%
+ \else
+ \@modulo{\@ordinalctr}{10}%
+ \ifcase\@ordinalctr
+ \def\@fc@ord{th}% case 0
+ \or \def\@fc@ord{st}% case 1
+ \or \def\@fc@ord{nd}% case 2
+ \or \def\@fc@ord{rd}% case 3
+ \else
+ \def\@fc@ord{th}% default case
+ \fi
+ \fi
+ \fi
+\fi
+\edef#2{\number#1\relax\noexpand\fmtord{\@fc@ord}}%
}
\let\@ordinalFenglish=\@ordinalMenglish
-\providecommand{\andname}{and}
-
-\newcommand{\@@unitstringenglish}[1]{%
+\newcommand*{\@@unitstringenglish}[1]{%
\ifcase#1\relax
zero%
\or one%
@@ -70,8 +70,7 @@ zero%
\or nine%
\fi
}
-
-\newcommand{\@@tenstringenglish}[1]{%
+\newcommand*{\@@tenstringenglish}[1]{%
\ifcase#1\relax
\or ten%
\or twenty%
@@ -84,8 +83,7 @@ zero%
\or ninety%
\fi
}
-
-\newcommand{\@@teenstringenglish}[1]{%
+\newcommand*{\@@teenstringenglish}[1]{%
\ifcase#1\relax
ten%
\or eleven%
@@ -99,8 +97,7 @@ ten%
\or nineteen%
\fi
}
-
-\newcommand{\@@Unitstringenglish}[1]{%
+\newcommand*{\@@Unitstringenglish}[1]{%
\ifcase#1\relax
Zero%
\or One%
@@ -114,8 +111,7 @@ Zero%
\or Nine%
\fi
}
-
-\newcommand{\@@Tenstringenglish}[1]{%
+\newcommand*{\@@Tenstringenglish}[1]{%
\ifcase#1\relax
\or Ten%
\or Twenty%
@@ -128,8 +124,7 @@ Zero%
\or Ninety%
\fi
}
-
-\newcommand{\@@Teenstringenglish}[1]{%
+\newcommand*{\@@Teenstringenglish}[1]{%
\ifcase#1\relax
Ten%
\or Eleven%
@@ -143,8 +138,7 @@ Ten%
\or Nineteen%
\fi
}
-
-\newcommand{\@@numberstringenglish}[1]{%
+\newcommand*{\@@numberstringenglish}[2]{%
\ifnum#1>99999
\PackageError{fmtcount}{Out of range}%
{This macro only works for values less than 100000}%
@@ -156,70 +150,96 @@ you can try typing "minus" first, and then pass the modulus of
this number}%
\fi
\fi
+\def#2{}%
\@strctr=#1\relax \divide\@strctr by 1000\relax
\ifnum\@strctr>9
-\divide\@strctr by 10
-\ifnum\@strctr>1
-\@tenstring{\@strctr}%
-\@strctr=#1 \divide\@strctr by 1000\relax
-\@modulo{\@strctr}{10}%
-\ifnum\@strctr>0 -\@unitstring{\@strctr}\fi
-\else
-\@strctr=#1\relax
-\divide\@strctr by 1000
-\@modulo{\@strctr}{10}%
-\@teenstring{\@strctr}%
-\fi
-\ \@thousand%
+ \divide\@strctr by 10
+ \ifnum\@strctr>1\relax
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\@tenstring{\@strctr}}%
+ \@strctr=#1 \divide\@strctr by 1000\relax
+ \@modulo{\@strctr}{10}%
+ \ifnum\@strctr>0\relax
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr-\@unitstring{\@strctr}}%
+ \fi
+ \else
+ \@strctr=#1\relax
+ \divide\@strctr by 1000\relax
+ \@modulo{\@strctr}{10}%
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\@teenstring{\@strctr}}%
+ \fi
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\ \@thousand}%
\else
-\ifnum\@strctr>0 \@unitstring{\@strctr}\ \@thousand\fi
+ \ifnum\@strctr>0\relax
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\@unitstring{\@strctr}\ \@thousand}%
+ \fi
\fi
\@strctr=#1\relax \@modulo{\@strctr}{1000}%
\divide\@strctr by 100
-\ifnum\@strctr>0
-\ifnum#1>1000 \ \fi\@unitstring{\@strctr}\ \@hundred%
+\ifnum\@strctr>0\relax
+ \ifnum#1>1000\relax
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\ }%
+ \fi
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\@unitstring{\@strctr}\ \@hundred}%
\fi
\@strctr=#1\relax \@modulo{\@strctr}{100}%
-\ifnum#1>100 \ifnum\@strctr>0 \ \andname\ \fi\fi
-\ifnum\@strctr>19
-\divide\@strctr by 10
-\@tenstring{\@strctr}%
-\@strctr=#1\relax \@modulo{\@strctr}{10}%
-\ifnum\@strctr>0
--\@unitstring{\@strctr}%
-\fi
+\ifnum#1>100\relax
+ \ifnum\@strctr>0\relax
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\ \@andname\ }%
+ \fi
+\fi
+\ifnum\@strctr>19\relax
+ \divide\@strctr by 10\relax
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\@tenstring{\@strctr}}%
+ \@strctr=#1\relax \@modulo{\@strctr}{10}%
+ \ifnum\@strctr>0\relax
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr-\@unitstring{\@strctr}}%
+ \fi
\else
-\ifnum\@strctr<10
-\ifnum\@strctr=0
-\ifnum#1<100 \@unitstring{\@strctr}\fi
-\else
-\@unitstring{\@strctr}%
-\fi
-\else
-\@modulo{\@strctr}{10}%
-\@teenstring{\@strctr}%
-\fi
+ \ifnum\@strctr<10\relax
+ \ifnum\@strctr=0\relax
+ \ifnum#1<100\relax
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\@unitstring{\@strctr}}%
+ \fi
+ \else
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\@unitstring{\@strctr}}%
+ \fi
+ \else
+ \@modulo{\@strctr}{10}%
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\@teenstring{\@strctr}}%
+ \fi
\fi
}
-
-\newcommand{\@numberstringMenglish}[1]{%
+\DeclareRobustCommand{\@numberstringMenglish}[2]{%
\let\@unitstring=\@@unitstringenglish
\let\@teenstring=\@@teenstringenglish
\let\@tenstring=\@@tenstringenglish
\def\@hundred{hundred}\def\@thousand{thousand}%
-\@@numberstringenglish{#1}}
-
+\def\@andname{and}%
+\@@numberstringenglish{#1}{#2}%
+}
\let\@numberstringFenglish=\@numberstringMenglish
-
-\newcommand{\@NumberstringMenglish}[1]{%
+\newcommand*{\@NumberstringMenglish}[2]{%
\let\@unitstring=\@@Unitstringenglish
\let\@teenstring=\@@Teenstringenglish
\let\@tenstring=\@@Tenstringenglish
\def\@hundred{Hundred}\def\@thousand{Thousand}%
-\@@numberstringenglish{#1}}
-
+\def\@andname{and}%
+\@@numberstringenglish{#1}{#2}}
\let\@NumberstringFenglish=\@NumberstringMenglish
-\newcommand{\@@unitthstringenglish}[1]{%
+\newcommand*{\@@unitthstringenglish}[1]{%
\ifcase#1\relax
zeroth%
\or first%
@@ -233,8 +253,7 @@ zeroth%
\or ninth%
\fi
}
-
-\newcommand{\@@tenthstringenglish}[1]{%
+\newcommand*{\@@tenthstringenglish}[1]{%
\ifcase#1\relax
\or tenth%
\or twentieth%
@@ -247,8 +266,7 @@ zeroth%
\or ninetieth%
\fi
}
-
-\newcommand{\@@teenthstringenglish}[1]{%
+\newcommand*{\@@teenthstringenglish}[1]{%
\ifcase#1\relax
tenth%
\or eleventh%
@@ -262,8 +280,7 @@ tenth%
\or nineteenth%
\fi
}
-
-\newcommand{\@@Unitthstringenglish}[1]{%
+\newcommand*{\@@Unitthstringenglish}[1]{%
\ifcase#1\relax
Zeroth%
\or First%
@@ -277,8 +294,7 @@ Zeroth%
\or Ninth%
\fi
}
-
-\newcommand{\@@Tenthstringenglish}[1]{%
+\newcommand*{\@@Tenthstringenglish}[1]{%
\ifcase#1\relax
\or Tenth%
\or Twentieth%
@@ -291,8 +307,7 @@ Zeroth%
\or Ninetieth%
\fi
}
-
-\newcommand{\@@Teenthstringenglish}[1]{%
+\newcommand*{\@@Teenthstringenglish}[1]{%
\ifcase#1\relax
Tenth%
\or Eleventh%
@@ -306,8 +321,7 @@ Tenth%
\or Nineteenth%
\fi
}
-
-\newcommand{\@@ordinalstringenglish}[1]{%
+\newcommand*{\@@ordinalstringenglish}[2]{%
\@strctr=#1\relax
\ifnum#1>99999
\PackageError{fmtcount}{Out of range}%
@@ -319,88 +333,129 @@ Tenth%
you can try typing "minus" first, and then pass the modulus of
this number}%
\fi
+\def#2{}%
\fi
\@strctr=#1\relax \divide\@strctr by 1000\relax
-\ifnum\@strctr>9
-\divide\@strctr by 10
-\ifnum\@strctr>1\relax
- \@tenstring{\@strctr}%
- \@strctr=#1\relax
- \divide\@strctr by 1000\relax
- \@modulo{\@strctr}{10}%
- \ifnum\@strctr>0 -\@unitstring{\@strctr}\fi
-\else
- \@strctr=#1\relax \divide\@strctr by 1000\relax
- \@modulo{\@strctr}{10}%
- \@teenstring{\@strctr}%
-\fi
-\@strctr=#1\relax \@modulo{\@strctr}{1000}%
-\ifnum\@strctr=0\ \@thousandth\else\ \@thousand \fi
+\ifnum\@strctr>9\relax
+ \divide\@strctr by 10
+ \ifnum\@strctr>1\relax
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr\@tenstring{\@strctr}}%
+ \@strctr=#1\relax
+ \divide\@strctr by 1000\relax
+ \@modulo{\@strctr}{10}%
+ \ifnum\@strctr>0\relax
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr-\@unitstring{\@strctr}}%
+ \fi
+ \else
+ \@strctr=#1\relax \divide\@strctr by 1000\relax
+ \@modulo{\@strctr}{10}%
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr\@teenstring{\@strctr}}%
+ \fi
+ \@strctr=#1\relax \@modulo{\@strctr}{1000}%
+ \ifnum\@strctr=0\relax
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr\ \@thousandth}%
+ \else
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr\ \@thousand}%
+ \fi
\else
-\ifnum\@strctr>0\relax
-\@unitstring{\@strctr}%
-\@strctr=#1\relax \@modulo{\@strctr}{1000}%
-\ifnum\@strctr=0\ \@thousandth\else\ \@thousand\fi
-\fi
+ \ifnum\@strctr>0\relax
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr\@unitstring{\@strctr}}%
+ \@strctr=#1\relax \@modulo{\@strctr}{1000}%
+ \let\@@fc@ordstr#2\relax
+ \ifnum\@strctr=0\relax
+ \edef#2{\@@fc@ordstr\ \@thousandth}%
+ \else
+ \edef#2{\@@fc@ordstr\ \@thousand}%
+ \fi
+ \fi
\fi
\@strctr=#1\relax \@modulo{\@strctr}{1000}%
\divide\@strctr by 100
-\ifnum\@strctr>0
-\ifnum#1>1000 \ \fi\@unitstring{\@strctr}%
-\@strctr=#1\relax \@modulo{\@strctr}{100}%
-\ifnum\@strctr=0\ \@hundredth\else\ \@hundred\fi
+\ifnum\@strctr>0\relax
+ \ifnum#1>1000\relax
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr\ }%
+ \fi
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr\@unitstring{\@strctr}}%
+ \@strctr=#1\relax \@modulo{\@strctr}{100}%
+ \let\@@fc@ordstr#2\relax
+ \ifnum\@strctr=0\relax
+ \edef#2{\@@fc@ordstr\ \@hundredth}%
+ \else
+ \edef#2{\@@fc@ordstr\ \@hundred}%
+ \fi
\fi
\@strctr=#1\relax \@modulo{\@strctr}{100}%
-\ifnum#1>100 \ifnum\@strctr>0\ and \fi\fi
-\ifnum\@strctr>19
-\@tmpstrctr=\@strctr
-\divide\@strctr by 10
-\@modulo{\@tmpstrctr}{10}%
-\ifnum\@tmpstrctr=0 \@tenthstring{\@strctr}\else \@tenstring{\@strctr}\fi
-\@strctr=#1\relax \@modulo{\@strctr}{10}%
-\ifnum\@strctr>0
--\@unitthstring{\@strctr}%
-\fi
-\else
-\ifnum\@strctr<10
-\ifnum\@strctr=0
-\ifnum#1<100 \@unitthstring{\@strctr}\fi
+\ifnum#1>100\relax
+ \ifnum\@strctr>0\relax
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr\ \@andname\ }%
+ \fi
+\fi
+\ifnum\@strctr>19\relax
+ \@tmpstrctr=\@strctr
+ \divide\@strctr by 10\relax
+ \@modulo{\@tmpstrctr}{10}%
+ \let\@@fc@ordstr#2\relax
+ \ifnum\@tmpstrctr=0\relax
+ \edef#2{\@@fc@ordstr\@tenthstring{\@strctr}}%
+ \else
+ \edef#2{\@@fc@ordstr\@tenstring{\@strctr}}%
+ \fi
+ \@strctr=#1\relax \@modulo{\@strctr}{10}%
+ \ifnum\@strctr>0\relax
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr-\@unitthstring{\@strctr}}%
+ \fi
\else
-\@unitthstring{\@strctr}%
-\fi
-\else
-\@modulo{\@strctr}{10}%
-\@teenthstring{\@strctr}%
-\fi
+ \ifnum\@strctr<10\relax
+ \ifnum\@strctr=0\relax
+ \ifnum#1<100\relax
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr\@unitthstring{\@strctr}}%
+ \fi
+ \else
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr\@unitthstring{\@strctr}}%
+ \fi
+ \else
+ \@modulo{\@strctr}{10}%
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr\@teenthstring{\@strctr}}%
+ \fi
\fi
}
-
-\newcommand{\@ordinalstringMenglish}[1]{%
+\DeclareRobustCommand{\@ordinalstringMenglish}[2]{%
\let\@unitthstring=\@@unitthstringenglish
\let\@teenthstring=\@@teenthstringenglish
\let\@tenthstring=\@@tenthstringenglish
\let\@unitstring=\@@unitstringenglish
\let\@teenstring=\@@teenstringenglish
\let\@tenstring=\@@tenstringenglish
+\def\@andname{and}%
\def\@hundred{hundred}\def\@thousand{thousand}%
\def\@hundredth{hundredth}\def\@thousandth{thousandth}%
-\@@ordinalstringenglish{#1}}
-
+\@@ordinalstringenglish{#1}{#2}}
\let\@ordinalstringFenglish=\@ordinalstringMenglish
-
-\newcommand{\@OrdinalstringMenglish}[1]{%
+\DeclareRobustCommand{\@OrdinalstringMenglish}[2]{%
\let\@unitthstring=\@@Unitthstringenglish
\let\@teenthstring=\@@Teenthstringenglish
\let\@tenthstring=\@@Tenthstringenglish
\let\@unitstring=\@@Unitstringenglish
\let\@teenstring=\@@Teenstringenglish
\let\@tenstring=\@@Tenstringenglish
+\def\@andname{and}%
\def\@hundred{Hundred}\def\@thousand{Thousand}%
\def\@hundredth{Hundredth}\def\@thousandth{Thousandth}%
-\@@ordinalstringenglish{#1}}
-
+\@@ordinalstringenglish{#1}{#2}}
\let\@OrdinalstringFenglish=\@OrdinalstringMenglish
-
\endinput
%%
%% End of file `fc-english.def'.
diff --git a/Master/texmf-dist/tex/latex/fmtcount/fc-french.def b/Master/texmf-dist/tex/latex/fmtcount/fc-french.def
index f3a10c8fd81..eed31b8a63a 100644
--- a/Master/texmf-dist/tex/latex/fmtcount/fc-french.def
+++ b/Master/texmf-dist/tex/latex/fmtcount/fc-french.def
@@ -26,8 +26,28 @@
%% Right bracket \] Circumflex \^ Underscore \_
%% Grave accent \` Left brace \{ Vertical bar \|
%% Right brace \} Tilde \~}
-\ProvidesFile{fc-french.def}[2005/04/29]
-\newcommand{\@@unitstringfrench}[1]{%
+\ProvidesFile{fc-french.def}[2007/04/20]
+\newcommand*{\@ordinalMfrench}[2]{%
+\iffmtord@abbrv
+ \edef#2{\number#1\relax\noexpand\fmtord{e}}%
+\else
+ \ifnum#1=1\relax
+ \edef#2{\number#1\relax\noexpand\fmtord{er}}%
+ \else
+ \edef#2{\number#1\relax\noexpand\fmtord{eme}}%
+ \fi
+\fi}
+\newcommand*{\@ordinalFfrench}[2]{%
+\iffmtord@abbrv
+ \edef#2{\number#1\relax\noexpand\fmtord{e}}%
+\else
+ \ifnum#1=1\relax
+ \edef#2{\number#1\relax\noexpand\fmtord{ere}}%
+ \else
+ \edef#2{\number#1\relax\noexpand\fmtord{eme}}%
+ \fi
+\fi}
+\newcommand*{\@@unitstringfrench}[1]{%
\ifcase#1\relax
zero%
\or un%
@@ -41,15 +61,13 @@ zero%
\or neuf%
\fi
}
-
-\newcommand{\@@unitstringFfrench}[1]{%
+\newcommand*{\@@unitstringFfrench}[1]{%
\ifnum#1=1\relax
une%
\else\@@unitstringfrench{#1}%
\fi
}
-
-\newcommand{\@@tenstringfrench}[1]{%
+\newcommand*{\@@tenstringfrench}[1]{%
\ifcase#1\relax
\or dix%
\or vingt%
@@ -63,8 +81,7 @@ une%
\or cent%
\fi
}
-
-\newcommand{\@@teenstringfrench}[1]{%
+\newcommand*{\@@teenstringfrench}[1]{%
\ifcase#1\relax
dix%
\or onze%
@@ -78,8 +95,7 @@ dix%
\or dix-neuf%
\fi
}
-
-\newcommand{\@@seventiesfrench}[1]{%
+\newcommand*{\@@seventiesfrench}[1]{%
\@tenstring{6}%
\ifnum#1=1\relax
\ \@andname\
@@ -88,8 +104,7 @@ dix%
\fi
\@teenstring{#1}%
}
-
-\newcommand{\@@eightiesfrench}[1]{%
+\newcommand*{\@@eightiesfrench}[1]{%
\@unitstring{4}-\@tenstring{2}%
\ifnum#1>0
-\@unitstring{#1}%
@@ -97,33 +112,28 @@ dix%
s%
\fi
}
-
-\newcommand{\@@ninetiesfrench}[1]{%
+\newcommand*{\@@ninetiesfrench}[1]{%
\@unitstring{4}-\@tenstring{2}-\@teenstring{#1}%
}
-
-\newcommand{\@@seventiesfrenchswiss}[1]{%
+\newcommand*{\@@seventiesfrenchswiss}[1]{%
\@tenstring{7}%
\ifnum#1=1\ \@andname\ \fi
\ifnum#1>1-\fi
\ifnum#1>0\@unitstring{#1}\fi
}
-
-\newcommand{\@@eightiesfrenchswiss}[1]{%
+\newcommand*{\@@eightiesfrenchswiss}[1]{%
\@tenstring{8}%
\ifnum#1=1\ \@andname\ \fi
\ifnum#1>1-\fi
\ifnum#1>0\@unitstring{#1}\fi
}
-
-\newcommand{\@@ninetiesfrenchswiss}[1]{%
+\newcommand*{\@@ninetiesfrenchswiss}[1]{%
\@tenstring{9}%
\ifnum#1=1\ \@andname\ \fi
\ifnum#1>1-\fi
\ifnum#1>0\@unitstring{#1}\fi
}
-
-\newcommand{\@@Unitstringfrench}[1]{%
+\newcommand*{\@@Unitstringfrench}[1]{%
\ifcase#1\relax
Zero%
\or Un%
@@ -137,15 +147,13 @@ Zero%
\or Neuf%
\fi
}
-
-\newcommand{\@@UnitstringFfrench}[1]{%
+\newcommand*{\@@UnitstringFfrench}[1]{%
\ifnum#1=1\relax
Une%
\else \@@Unitstringfrench{#1}%
\fi
}
-
-\newcommand{\@@Tenstringfrench}[1]{%
+\newcommand*{\@@Tenstringfrench}[1]{%
\ifcase#1\relax
\or Dix%
\or Vingt%
@@ -159,8 +167,7 @@ Une%
\or Cent%
\fi
}
-
-\newcommand{\@@Teenstringfrench}[1]{%
+\newcommand*{\@@Teenstringfrench}[1]{%
\ifcase#1\relax
Dix%
\or Onze%
@@ -174,8 +181,7 @@ Dix%
\or Dix-Neuf%
\fi
}
-
-\newcommand{\@numberstringMfrenchswiss}[1]{%
+\DeclareRobustCommand{\@numberstringMfrenchswiss}[2]{%
\let\@unitstring=\@@unitstringfrench
\let\@teenstring=\@@teenstringfrench
\let\@tenstring=\@@tenstringfrench
@@ -184,9 +190,8 @@ Dix%
\let\@nineties=\@@ninetiesfrenchswiss
\def\@hundred{cent}\def\@thousand{mille}%
\def\@andname{et}%
-\@@numberstringfrench{#1}}
-
-\newcommand{\@numberstringMfrenchfrance}[1]{%
+\@@numberstringfrench{#1}{#2}}
+\DeclareRobustCommand{\@numberstringMfrenchfrance}[2]{%
\let\@unitstring=\@@unitstringfrench
\let\@teenstring=\@@teenstringfrench
\let\@tenstring=\@@tenstringfrench
@@ -195,9 +200,8 @@ Dix%
\let\@nineties=\@@ninetiesfrench
\def\@hundred{cent}\def\@thousand{mille}%
\def\@andname{et}%
-\@@numberstringfrench{#1}}
-
-\newcommand{\@numberstringMfrenchbelgian}[1]{%
+\@@numberstringfrench{#1}{#2}}
+\DeclareRobustCommand{\@numberstringMfrenchbelgian}[2]{%
\let\@unitstring=\@@unitstringfrench
\let\@teenstring=\@@teenstringfrench
\let\@tenstring=\@@tenstringfrench
@@ -206,11 +210,9 @@ Dix%
\let\@nineties=\@@ninetiesfrench
\def\@hundred{cent}\def\@thousand{mille}%
\def\@andname{et}%
-\@@numberstringfrench{#1}}
-
+\@@numberstringfrench{#1}{#2}}
\let\@numberstringMfrench=\@numberstringMfrenchfrance
-
-\newcommand{\@numberstringFfrenchswiss}[1]{%
+\DeclareRobustCommand{\@numberstringFfrenchswiss}[2]{%
\let\@unitstring=\@@unitstringFfrench
\let\@teenstring=\@@teenstringfrench
\let\@tenstring=\@@tenstringfrench
@@ -219,9 +221,8 @@ Dix%
\let\@nineties=\@@ninetiesfrenchswiss
\def\@hundred{cent}\def\@thousand{mille}%
\def\@andname{et}%
-\@@numberstringfrench{#1}}
-
-\newcommand{\@numberstringFfrenchfrance}[1]{%
+\@@numberstringfrench{#1}{#2}}
+\DeclareRobustCommand{\@numberstringFfrenchfrance}[2]{%
\let\@unitstring=\@@unitstringFfrench
\let\@teenstring=\@@teenstringfrench
\let\@tenstring=\@@tenstringfrench
@@ -230,9 +231,8 @@ Dix%
\let\@nineties=\@@ninetiesfrench
\def\@hundred{cent}\def\@thousand{mille}%
\def\@andname{et}%
-\@@numberstringfrench{#1}}
-
-\newcommand{\@numberstringFfrenchbelgian}[1]{%
+\@@numberstringfrench{#1}{#2}}
+\DeclareRobustCommand{\@numberstringFfrenchbelgian}[2]{%
\let\@unitstring=\@@unitstringFfrench
\let\@teenstring=\@@teenstringfrench
\let\@tenstring=\@@tenstringfrench
@@ -241,11 +241,9 @@ Dix%
\let\@nineties=\@@ninetiesfrench
\def\@hundred{cent}\def\@thousand{mille}%
\def\@andname{et}%
-\@@numberstringfrench{#1}}
-
+\@@numberstringfrench{#1}{#2}}
\let\@numberstringFfrench=\@numberstringFfrenchfrance
-
-\newcommand{\@NumberstringMfrenchswiss}[1]{%
+\DeclareRobustCommand{\@NumberstringMfrenchswiss}[2]{%
\let\@unitstring=\@@Unitstringfrench
\let\@teenstring=\@@Teenstringfrench
\let\@tenstring=\@@Tenstringfrench
@@ -254,9 +252,8 @@ Dix%
\let\@nineties=\@@ninetiesfrenchswiss
\def\@hundred{Cent}\def\@thousand{Mille}%
\def\@andname{et}%
-\@@numberstringfrench{#1}}
-
-\newcommand{\@NumberstringMfrenchfrance}[1]{%
+\@@numberstringfrench{#1}{#2}}
+\DeclareRobustCommand{\@NumberstringMfrenchfrance}[2]{%
\let\@unitstring=\@@Unitstringfrench
\let\@teenstring=\@@Teenstringfrench
\let\@tenstring=\@@Tenstringfrench
@@ -265,9 +262,8 @@ Dix%
\let\@nineties=\@@ninetiesfrench
\def\@hundred{Cent}\def\@thousand{Mille}%
\def\@andname{et}%
-\@@numberstringfrench{#1}}
-
-\newcommand{\@NumberstringMfrenchbelgian}[1]{%
+\@@numberstringfrench{#1}{#2}}
+\DeclareRobustCommand{\@NumberstringMfrenchbelgian}[2]{%
\let\@unitstring=\@@Unitstringfrench
\let\@teenstring=\@@Teenstringfrench
\let\@tenstring=\@@Tenstringfrench
@@ -276,11 +272,9 @@ Dix%
\let\@nineties=\@@ninetiesfrench
\def\@hundred{Cent}\def\@thousand{Mille}%
\def\@andname{et}%
-\@@numberstringfrench{#1}}
-
+\@@numberstringfrench{#1}{#2}}
\let\@NumberstringMfrench=\@NumberstringMfrenchfrance
-
-\newcommand{\@NumberstringFfrenchswiss}[1]{%
+\DeclareRobustCommand{\@NumberstringFfrenchswiss}[2]{%
\let\@unitstring=\@@UnitstringFfrench
\let\@teenstring=\@@Teenstringfrench
\let\@tenstring=\@@Tenstringfrench
@@ -289,9 +283,8 @@ Dix%
\let\@nineties=\@@ninetiesfrenchswiss
\def\@hundred{Cent}\def\@thousand{Mille}%
\def\@andname{et}%
-\@@numberstringfrench{#1}}
-
-\newcommand{\@NumberstringFfrenchfrance}[1]{%
+\@@numberstringfrench{#1}{#2}}
+\DeclareRobustCommand{\@NumberstringFfrenchfrance}[2]{%
\let\@unitstring=\@@UnitstringFfrench
\let\@teenstring=\@@Teenstringfrench
\let\@tenstring=\@@Tenstringfrench
@@ -300,9 +293,8 @@ Dix%
\let\@nineties=\@@ninetiesfrench
\def\@hundred{Cent}\def\@thousand{Mille}%
\def\@andname{et}%
-\@@numberstringfrench{#1}}
-
-\newcommand{\@NumberstringFfrenchbelgian}[1]{%
+\@@numberstringfrench{#1}{#2}}
+\DeclareRobustCommand{\@NumberstringFfrenchbelgian}[2]{%
\let\@unitstring=\@@UnitstringFfrench
\let\@teenstring=\@@Teenstringfrench
\let\@tenstring=\@@Tenstringfrench
@@ -311,13 +303,11 @@ Dix%
\let\@nineties=\@@ninetiesfrench
\def\@hundred{Cent}\def\@thousand{Mille}%
\def\@andname{et}%
-\@@numberstringfrench{#1}}
-
+\@@numberstringfrench{#1}{#2}}
\let\@NumberstringFfrench=\@NumberstringFfrenchfrance
-
-\newcommand{\@ordinalstringMfrenchswiss}[1]{%
+\DeclareRobustCommand{\@ordinalstringMfrenchswiss}[2]{%
\ifnum#1=1\relax
-premier%
+\def#2{premier}%
\else
\let\@unitthstring=\@@unitthstringfrench
\let\@unitstring=\@@unitstringfrench
@@ -334,12 +324,11 @@ premier%
\def\@hundredth{centi\`eme}\def\@hundred{cent}%
\def\@thousandth{mili\`eme}\def\@thousand{mille}%
\def\@andname{et}%
-\@@ordinalstringfrench{#1}%
+\@@ordinalstringfrench{#1}{#2}%
\fi}
-
-\newcommand{\@ordinalstringMfrenchfrance}[1]{%
+\DeclareRobustCommand{\@ordinalstringMfrenchfrance}[2]{%
\ifnum#1=1\relax
-premier%
+\def#2{premier}%
\else
\let\@unitthstring=\@@unitthstringfrench
\let\@unitstring=\@@unitstringfrench
@@ -357,12 +346,11 @@ premier%
\def\@hundredth{centi\`eme}\def\@hundred{cent}%
\def\@thousandth{mili\`eme}\def\@thousand{mille}%
\def\@andname{et}%
-\@@ordinalstringfrench{#1}%
+\@@ordinalstringfrench{#1}{#2}%
\fi}
-
-\newcommand{\@ordinalstringMfrenchbelgian}[1]{%
+\DeclareRobustCommand{\@ordinalstringMfrenchbelgian}[2]{%
\ifnum#1=1\relax
-premier%
+\def#2{premier}%
\else
\let\@unitthstring=\@@unitthstringfrench
\let\@unitstring=\@@unitstringfrench
@@ -380,14 +368,12 @@ premier%
\def\@hundredth{centi\`eme}\def\@hundred{cent}%
\def\@thousandth{mili\`eme}\def\@thousand{mille}%
\def\@andname{et}%
-\@@ordinalstringfrench{#1}%
+\@@ordinalstringfrench{#1}{#2}%
\fi}
-
\let\@ordinalstringMfrench=\@ordinalstringMfrenchfrance
-
-\newcommand{\@ordinalstringFfrenchswiss}[1]{%
+\DeclareRobustCommand{\@ordinalstringFfrenchswiss}[2]{%
\ifnum#1=1\relax
-premi\`ere%
+\def#2{premi\`ere}%
\else
\let\@unitthstring=\@@unitthstringfrench
\let\@unitstring=\@@unitstringFfrench
@@ -404,12 +390,11 @@ premi\`ere%
\def\@hundredth{centi\`eme}\def\@hundred{cent}%
\def\@thousandth{mili\`eme}\def\@thousand{mille}%
\def\@andname{et}%
-\@@ordinalstringfrench{#1}%
+\@@ordinalstringfrench{#1}{#2}%
\fi}
-
-\newcommand{\@ordinalstringFfrenchfrance}[1]{%
+\DeclareRobustCommand{\@ordinalstringFfrenchfrance}[2]{%
\ifnum#1=1\relax
-premi\`ere%
+\def#2{premi\`ere}%
\else
\let\@unitthstring=\@@unitthstringfrench
\let\@unitstring=\@@unitstringFfrench
@@ -427,12 +412,11 @@ premi\`ere%
\def\@hundredth{centi\`eme}\def\@hundred{cent}%
\def\@thousandth{mili\`eme}\def\@thousand{mille}%
\def\@andname{et}%
-\@@ordinalstringfrench{#1}%
+\@@ordinalstringfrench{#1}{#2}%
\fi}
-
-\newcommand{\@ordinalstringFfrenchbelgian}[1]{%
+\DeclareRobustCommand{\@ordinalstringFfrenchbelgian}[2]{%
\ifnum#1=1\relax
-premi\`ere%
+\def#2{premi\`ere}%
\else
\let\@unitthstring=\@@unitthstringfrench
\let\@unitstring=\@@unitstringFfrench
@@ -450,14 +434,12 @@ premi\`ere%
\def\@hundredth{centi\`eme}\def\@hundred{cent}%
\def\@thousandth{mili\`eme}\def\@thousand{mille}%
\def\@andname{et}%
-\@@ordinalstringfrench{#1}%
+\@@ordinalstringfrench{#1}{#2}%
\fi}
-
\let\@ordinalstringFfrench=\@ordinalstringFfrenchfrance
-
-\newcommand{\@OrdinalstringMfrenchswiss}[1]{%
+\DeclareRobustCommand{\@OrdinalstringMfrenchswiss}[2]{%
\ifnum#1=1\relax
-Premi\`ere%
+\def#2{Premi\`ere}%
\else
\let\@unitthstring=\@@Unitthstringfrench
\let\@unitstring=\@@Unitstringfrench
@@ -474,12 +456,11 @@ Premi\`ere%
\def\@hundredth{Centi\`eme}\def\@hundred{Cent}%
\def\@thousandth{Mili\`eme}\def\@thousand{Mille}%
\def\@andname{et}%
-\@@ordinalstringfrench{#1}%
+\@@ordinalstringfrench{#1}{#2}%
\fi}
-
-\newcommand{\@OrdinalstringMfrenchfrance}[1]{%
+\DeclareRobustCommand{\@OrdinalstringMfrenchfrance}[2]{%
\ifnum#1=1\relax
-Premi\`ere%
+\def#2{Premi\`ere}%
\else
\let\@unitthstring=\@@Unitthstringfrench
\let\@unitstring=\@@Unitstringfrench
@@ -497,12 +478,11 @@ Premi\`ere%
\def\@hundredth{Centi\`eme}\def\@hundred{Cent}%
\def\@thousandth{Mili\`eme}\def\@thousand{Mille}%
\def\@andname{et}%
-\@@ordinalstringfrench{#1}%
+\@@ordinalstringfrench{#1}{#2}%
\fi}
-
-\newcommand{\@OrdinalstringMfrenchbelgian}[1]{%
+\DeclareRobustCommand{\@OrdinalstringMfrenchbelgian}[2]{%
\ifnum#1=1\relax
-Premi\`ere%
+\def#2{Premi\`ere}%
\else
\let\@unitthstring=\@@Unitthstringfrench
\let\@unitstring=\@@Unitstringfrench
@@ -520,14 +500,12 @@ Premi\`ere%
\def\@hundredth{Centi\`eme}\def\@hundred{Cent}%
\def\@thousandth{Mili\`eme}\def\@thousand{Mille}%
\def\@andname{et}%
-\@@ordinalstringfrench{#1}%
+\@@ordinalstringfrench{#1}{#2}%
\fi}
-
\let\@OrdinalstringMfrench=\@OrdinalstringMfrenchfrance
-
-\newcommand{\@OrdinalstringFfrenchswiss}[1]{%
+\DeclareRobustCommand{\@OrdinalstringFfrenchswiss}[2]{%
\ifnum#1=1\relax
-Premi\`ere%
+\def#2{Premi\`ere}%
\else
\let\@unitthstring=\@@Unitthstringfrench
\let\@unitstring=\@@UnitstringFfrench
@@ -544,12 +522,11 @@ Premi\`ere%
\def\@hundredth{Centi\`eme}\def\@hundred{Cent}%
\def\@thousandth{Mili\`eme}\def\@thousand{Mille}%
\def\@andname{et}%
-\@@ordinalstringfrench{#1}%
+\@@ordinalstringfrench{#1}{#2}%
\fi}
-
-\newcommand{\@OrdinalstringFfrenchfrance}[1]{%
+\DeclareRobustCommand{\@OrdinalstringFfrenchfrance}[2]{%
\ifnum#1=1\relax
-Premi\`ere%
+\def#2{Premi\`ere}%
\else
\let\@unitthstring=\@@Unitthstringfrench
\let\@unitstring=\@@UnitstringFfrench
@@ -567,12 +544,11 @@ Premi\`ere%
\def\@hundredth{Centi\`eme}\def\@hundred{Cent}%
\def\@thousandth{Mili\`eme}\def\@thousand{Mille}%
\def\@andname{et}%
-\@@ordinalstringfrench{#1}%
+\@@ordinalstringfrench{#1}{#2}%
\fi}
-
-\newcommand{\@OrdinalstringFfrenchbelgian}[1]{%
+\DeclareRobustCommand{\@OrdinalstringFfrenchbelgian}[2]{%
\ifnum#1=1\relax
-Premi\`ere%
+\def#2{Premi\`ere}%
\else
\let\@unitthstring=\@@Unitthstringfrench
\let\@unitstring=\@@UnitstringFfrench
@@ -590,26 +566,10 @@ Premi\`ere%
\def\@hundredth{Centi\`eme}\def\@hundred{Cent}%
\def\@thousandth{Mili\`eme}\def\@thousand{Mille}%
\def\@andname{et}%
-\@@ordinalstringfrench{#1}%
+\@@ordinalstringfrench{#1}{#2}%
\fi}
-
\let\@OrdinalstringFfrench=\@OrdinalstringFfrenchfrance
-
-\newcommand{\@ordinalMfrench}[1]{%
-\iffmtord@abbrv
-#1\fmtord{e}%
-\else
-#1\ifnum#1=1\fmtord{er}\else\fmtord{eme}\fi
-\fi}
-
-\newcommand{\@ordinalFfrench}[1]{%
-\iffmtord@abbrv
-#1\fmtord{e}%
-\else
-#1\ifnum#1=1\fmtord{ere}\else\fmtord{eme}\fi
-\fi}
-
-\newcommand{\@@unitthstringfrench}[1]{%
+\newcommand*{\@@unitthstringfrench}[1]{%
\ifcase#1\relax
zero%
\or uni\`eme%
@@ -623,8 +583,7 @@ zero%
\or neuvi\`eme%
\fi
}
-
-\newcommand{\@@tenthstringfrench}[1]{%
+\newcommand*{\@@tenthstringfrench}[1]{%
\ifcase#1\relax
\or dixi\`eme%
\or vingti\`eme%
@@ -637,8 +596,7 @@ zero%
\or nonenti\`eme%
\fi
}
-
-\newcommand{\@@teenthstringfrench}[1]{%
+\newcommand*{\@@teenthstringfrench}[1]{%
\ifcase#1\relax
dixi\`eme%
\or onzi\`eme%
@@ -652,8 +610,7 @@ dixi\`eme%
\or dix-neuvi\`eme%
\fi
}
-
-\newcommand{\@@seventiethsfrenchswiss}[1]{%
+\newcommand*{\@@seventiethsfrenchswiss}[1]{%
\ifcase#1\relax
\@tenthstring{7}%
\or
@@ -661,8 +618,7 @@ dixi\`eme%
\else
\@tenstring{7}-\@unitthstring{#1}%
\fi}
-
-\newcommand{\@@eightiethsfrenchswiss}[1]{%
+\newcommand*{\@@eightiethsfrenchswiss}[1]{%
\ifcase#1\relax
\@tenthstring{8}%
\or
@@ -670,8 +626,7 @@ dixi\`eme%
\else
\@tenstring{8}-\@unitthstring{#1}%
\fi}
-
-\newcommand{\@@ninetiethsfrenchswiss}[1]{%
+\newcommand*{\@@ninetiethsfrenchswiss}[1]{%
\ifcase#1\relax
\@tenthstring{9}%
\or
@@ -679,8 +634,7 @@ dixi\`eme%
\else
\@tenstring{9}-\@unitthstring{#1}%
\fi}
-
-\newcommand{\@@seventiethsfrench}[1]{%
+\newcommand*{\@@seventiethsfrench}[1]{%
\ifnum#1=0\relax
\@tenstring{6}%
-%
@@ -690,8 +644,7 @@ dixi\`eme%
\fi
\@teenthstring{#1}%
}
-
-\newcommand{\@@eightiethsfrench}[1]{%
+\newcommand*{\@@eightiethsfrench}[1]{%
\ifnum#1>0\relax
\@unitstring{4}-\@tenstring{2}%
-\@unitthstring{#1}%
@@ -699,12 +652,10 @@ dixi\`eme%
\@unitstring{4}-\@tenthstring{2}%
\fi
}
-
-\newcommand{\@@ninetiethsfrench}[1]{%
+\newcommand*{\@@ninetiethsfrench}[1]{%
\@unitstring{4}-\@tenstring{2}-\@teenthstring{#1}%
}
-
-\newcommand{\@@Unitthstringfrench}[1]{%
+\newcommand*{\@@Unitthstringfrench}[1]{%
\ifcase#1\relax
Zero%
\or Uni\`eme%
@@ -718,8 +669,7 @@ Zero%
\or Neuvi\`eme%
\fi
}
-
-\newcommand{\@@Tenthstringfrench}[1]{%
+\newcommand*{\@@Tenthstringfrench}[1]{%
\ifcase#1\relax
\or Dixi\`eme%
\or Vingti\`eme%
@@ -732,8 +682,7 @@ Zero%
\or Nonenti\`eme%
\fi
}
-
-\newcommand{\@@Teenthstringfrench}[1]{%
+\newcommand*{\@@Teenthstringfrench}[1]{%
\ifcase#1\relax
Dixi\`eme%
\or Onzi\`eme%
@@ -747,8 +696,7 @@ Dixi\`eme%
\or Dix-Neuvi\`eme%
\fi
}
-
-\newcommand{\@@numberstringfrench}[1]{%
+\newcommand*{\@@numberstringfrench}[2]{%
\ifnum#1>99999
\PackageError{fmtcount}{Out of range}%
{This macro only works for values less than 100000}%
@@ -760,101 +708,142 @@ you can try typing "minus" first, and then pass the modulus of
this number}%
\fi
\fi
+\def#2{}%
\@strctr=#1\relax \divide\@strctr by 1000\relax
-\ifnum\@strctr>9
+\ifnum\@strctr>9\relax
\@tmpstrctr=\@strctr
- \divide\@strctr by 10
- \ifnum\@strctr>1
+ \divide\@strctr by 10\relax
+ \ifnum\@strctr>1\relax
\ifthenelse{\(\@strctr>6\)\and\(\@strctr<10\)}{%
\@modulo{\@tmpstrctr}{10}%
\ifnum\@strctr<8\relax
- \@seventies{\@tmpstrctr}%
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\@seventies{\@tmpstrctr}}%
\else
\ifnum\@strctr<9\relax
- \@eighties{\@tmpstrctr}%
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\@eighties{\@tmpstrctr}}%
\else
- \ifnum\@strctr<10\@nineties{\@tmpstrctr}\fi
+ \ifnum\@strctr<10\relax
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\@nineties{\@tmpstrctr}}%
+ \fi
\fi
\fi
}{%
- \@tenstring{\@strctr}%
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\@tenstring{\@strctr}}%
\@strctr=#1\relax
\divide\@strctr by 1000\relax
\@modulo{\@strctr}{10}%
\ifnum\@strctr>0\relax
- \ \@unitstring{\@strctr}%
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\ \@unitstring{\@strctr}}%
\fi
}%
\else
\@strctr=#1\relax
\divide\@strctr by 1000
\@modulo{\@strctr}{10}%
- \@teenstring{\@strctr}%
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\@teenstring{\@strctr}}%
\fi
- \ \@thousand%
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\ \@thousand}%
\else
- \ifnum\@strctr>0
- \ifnum\@strctr>1\@unitstring{\@strctr}\ \fi
- \@thousand
+ \ifnum\@strctr>0\relax
+ \ifnum\@strctr>1\relax
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\@unitstring{\@strctr}\ }%
+ \fi
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\@thousand}%
\fi
\fi
\@strctr=#1\relax \@modulo{\@strctr}{1000}%
\divide\@strctr by 100
\ifnum\@strctr>0\relax
- \ifnum#1>1000 \ \fi
+ \ifnum#1>1000\relax
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\ }%
+ \fi
\@tmpstrctr=#1\relax
\@modulo{\@tmpstrctr}{1000}\relax
\ifnum\@tmpstrctr=100\relax
- \@tenstring{10}\relax
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\@tenstring{10}}%
\else
- \ifnum\@strctr>1\@unitstring{\@strctr}\ \fi
- \@hundred
+ \ifnum\@strctr>1\relax
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\@unitstring{\@strctr}\ }%
+ \fi
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\@hundred}%
\fi
\fi
\@strctr=#1\relax \@modulo{\@strctr}{100}%
\ifnum#1>100\relax
\ifnum\@strctr>0\relax
-\ % \ \@andname\
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\ }%
\else
- \ifnum\@tmpstrctr>0s\fi%
+ \ifnum\@tmpstrctr>0\relax
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr s}%
+ \fi%
\fi
\fi
-\ifnum\@strctr>19
-\@tmpstrctr=\@strctr
-\divide\@strctr by 10
-\ifthenelse{\@strctr>6}{%
-\@modulo{\@tmpstrctr}{10}%
-\ifnum\@strctr<8
-\@seventies{\@tmpstrctr}%
-\else
-\ifnum\@strctr<9
-\@eighties{\@tmpstrctr}%
-\else
-\@nineties{\@tmpstrctr}%
-\fi
-\fi
-}{%
-\@tenstring{\@strctr}%
-\@strctr=#1\relax \@modulo{\@strctr}{10}%
-\ifnum\@strctr>0\relax
- \ifnum\@strctr=1\ \@andname\ \else-\fi
- \@unitstring{\@strctr}%
-\fi
-}%
-\else
-\ifnum\@strctr<10
-\ifnum\@strctr=0
-\ifnum#1<100 \@unitstring{\@strctr}\fi
-\else%(>0,<10)
-\@unitstring{\@strctr}%
-\fi
-\else%>10
-\@modulo{\@strctr}{10}%
-\@teenstring{\@strctr}%
-\fi
+\ifnum\@strctr>19\relax
+ \@tmpstrctr=\@strctr
+ \divide\@strctr by 10\relax
+ \ifthenelse{\@strctr>6}{%
+ \@modulo{\@tmpstrctr}{10}%
+ \ifnum\@strctr<8\relax
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\@seventies{\@tmpstrctr}}%
+ \else
+ \ifnum\@strctr<9\relax
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\@eighties{\@tmpstrctr}}%
+ \else
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\@nineties{\@tmpstrctr}}%
+ \fi
+ \fi
+ }{%
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\@tenstring{\@strctr}}%
+ \@strctr=#1\relax \@modulo{\@strctr}{10}%
+ \ifnum\@strctr>0\relax
+ \let\@@fc@numstr#2\relax
+ \ifnum\@strctr=1\relax
+ \edef#2{\@@fc@numstr\ \@andname\ }%
+ \else
+ \edef#2{\@@fc@numstr-}%
+ \fi
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\@unitstring{\@strctr}}%
+ \fi
+ }%
+\else
+ \ifnum\@strctr<10\relax
+ \ifnum\@strctr=0\relax
+ \ifnum#1<100\relax
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\@unitstring{\@strctr}}%
+ \fi
+ \else%(>0,<10)
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\@unitstring{\@strctr}}%
+ \fi
+ \else%>10
+ \@modulo{\@strctr}{10}%
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\@teenstring{\@strctr}}%
+ \fi
\fi
}
-\newcommand{\@@ordinalstringfrench}[1]{%
+\newcommand*{\@@ordinalstringfrench}[2]{%
\ifnum#1>99999
\PackageError{fmtcount}{Out of range}%
{This macro only works for values less than 100000}%
@@ -866,6 +855,7 @@ you can try typing "minus" first, and then pass the modulus of
this number}%
\fi
\fi
+\def#2{}%
\@strctr=#1\relax \divide\@strctr by 1000\relax
\ifnum\@strctr>9
\@tmpstrctr=\@strctr
@@ -874,85 +864,137 @@ this number}%
\ifthenelse{\@strctr>6}{%
\@modulo{\@tmpstrctr}{10}%
\ifnum\@strctr=7\relax
- \@seventies{\@tmpstrctr}%
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr\@seventies{\@tmpstrctr}}%
\else
\ifnum\@strctr=8\relax
- \@eighties{\@tmpstrctr}%
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr\@eighties{\@tmpstrctr}}%
\else
- \@nineties{\@tmpstrctr}%
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr\@nineties{\@tmpstrctr}}%
\fi
\fi
}{%
- \@tenstring{\@strctr}%
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr\@tenstring{\@strctr}}%
\@strctr=#1\relax
\divide\@strctr by 1000\relax
\@modulo{\@strctr}{10}%
- \ifnum\@strctr=1\ \@andname\fi
- \ifnum\@strctr>0\ \@unitstring{\@strctr}\fi
+ \ifnum\@strctr=1\relax
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr\ \@andname}%
+ \fi
+ \ifnum\@strctr>0\relax
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr\ \@unitstring{\@strctr}}%
+ \fi
}%
\else
\@strctr=#1\relax
\divide\@strctr by 1000\relax
\@modulo{\@strctr}{10}%
- \@teenstring{\@strctr}%
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr\@teenstring{\@strctr}}%
\fi
\@strctr=#1\relax \@modulo{\@strctr}{1000}%
- \ifnum\@strctr=0\ \@thousandth\else\ \@thousand \fi
+ \ifnum\@strctr=0\relax
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr\ \@thousandth}%
+ \else
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr\ \@thousand}%
+ \fi
\else
\ifnum\@strctr>0\relax
- \@unitstring{\@strctr}%
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr\@unitstring{\@strctr}}%
\@strctr=#1\relax \@modulo{\@strctr}{1000}%
- \ifnum\@strctr=0\ \@thousandth\else\ \@thousand\fi
+ \ifnum\@strctr=0\relax
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr\ \@thousandth}%
+ \else
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr\ \@thousand}%
+ \fi
\fi
\fi
\@strctr=#1\relax \@modulo{\@strctr}{1000}%
-\divide\@strctr by 100
-\ifnum\@strctr>0
-\ifnum#1>1000 \ \fi\@unitstring{\@strctr}%
-\@strctr=#1\relax \@modulo{\@strctr}{100}%
-\ifnum\@strctr=0\ \@hundredth\else\ \@hundred\fi
+\divide\@strctr by 100\relax
+\ifnum\@strctr>0\relax
+ \ifnum#1>1000\relax
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr\ }%
+ \fi
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr\@unitstring{\@strctr}}%
+ \@strctr=#1\relax \@modulo{\@strctr}{100}%
+ \let\@@fc@ordstr#2\relax
+ \ifnum\@strctr=0\relax
+ \edef#2{\@@fc@ordstr\ \@hundredth}%
+ \else
+ \edef#2{\@@fc@ordstr\ \@hundred}%
+ \fi
\fi
\@tmpstrctr=\@strctr
\@strctr=#1\relax \@modulo{\@strctr}{100}%
\ifnum#1>100\relax
-\ifnum\@strctr>0\ \@andname\ \fi\fi
-\ifnum\@strctr>19
-\@tmpstrctr=\@strctr
-\divide\@strctr by 10
-\@modulo{\@tmpstrctr}{10}%
-\ifthenelse{\@strctr>6}{%
-\ifnum\@strctr=7\relax
-\@seventieths{\@tmpstrctr}%
-\else
-\ifnum\@strctr=8\relax
-\@eightieths{\@tmpstrctr}%
-\else
-\@ninetieths{\@tmpstrctr}%
-\fi
-\fi
-}{%
-\ifnum\@tmpstrctr=0\relax
- \@tenthstring{\@strctr}%
-\else
- \@tenstring{\@strctr}%
-\fi
-\@strctr=#1\relax \@modulo{\@strctr}{10}%
-\ifnum\@strctr=1\ \@andname\fi
-\ifnum\@strctr>0
-\ \@unitthstring{\@strctr}%
-\fi
-}%
-\else
-\ifnum\@strctr<10
-\ifnum\@strctr=0
-\ifnum#1<100 \@unitthstring{\@strctr}\fi
-\else
-\@unitthstring{\@strctr}%
-\fi
-\else
-\@modulo{\@strctr}{10}%
-\@teenthstring{\@strctr}%
+ \ifnum\@strctr>0\relax
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr\ \@andname\ }%
+ \fi
\fi
+\ifnum\@strctr>19\relax
+ \@tmpstrctr=\@strctr
+ \divide\@strctr by 10\relax
+ \@modulo{\@tmpstrctr}{10}%
+ \ifthenelse{\@strctr>6}{%
+ \ifnum\@strctr=7\relax
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr\@seventieths{\@tmpstrctr}}%
+ \else
+ \ifnum\@strctr=8\relax
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr\@eightieths{\@tmpstrctr}}%
+ \else
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr\@ninetieths{\@tmpstrctr}}%
+ \fi
+ \fi
+ }{%
+ \ifnum\@tmpstrctr=0\relax
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr\@tenthstring{\@strctr}}%
+ \else
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr\@tenstring{\@strctr}}%
+ \fi
+ \@strctr=#1\relax \@modulo{\@strctr}{10}%
+ \ifnum\@strctr=1\relax
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr\ \@andname}%
+ \fi
+ \ifnum\@strctr>0\relax
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr\ \@unitthstring{\@strctr}}%
+ \fi
+ }%
+\else
+ \ifnum\@strctr<10\relax
+ \ifnum\@strctr=0\relax
+ \ifnum#1<100\relax
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr\@unitthstring{\@strctr}}%
+ \fi
+ \else
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr\@unitthstring{\@strctr}}%
+ \fi
+ \else
+ \@modulo{\@strctr}{10}%
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr\@teenthstring{\@strctr}}%
+ \fi
\fi
}
\endinput
diff --git a/Master/texmf-dist/tex/latex/fmtcount/fc-portuges.def b/Master/texmf-dist/tex/latex/fmtcount/fc-portuges.def
index 8a18ff3a74d..7f77a013c15 100644
--- a/Master/texmf-dist/tex/latex/fmtcount/fc-portuges.def
+++ b/Master/texmf-dist/tex/latex/fmtcount/fc-portuges.def
@@ -26,13 +26,25 @@
%% Right bracket \] Circumflex \^ Underscore \_
%% Grave accent \` Left brace \{ Vertical bar \|
%% Right brace \} Tilde \~}
-\ProvidesFile{fc-portuges.def}[2005/04/29]
-\newcommand{\@@unitstringportuges}[1]{%
+\ProvidesFile{fc-portuges.def}[2007/04/20]
+\newcommand*{\@ordinalMportuges}[2]{%
+\ifnum#1=0\relax
+ \edef#2{\number#1}%
+\else
+ \edef#2{\number#1\relax\noexpand\fmtord{o}}%
+\fi}
+\newcommand*{\@ordinalFportuges}[2]{%
+\ifnum#1=0\relax
+ \edef#2{\number#1}%
+\else
+ \edef#2{\number#1\relax\noexpand\fmtord{a}}%
+\fi}
+\newcommand*{\@@unitstringportuges}[1]{%
\ifcase#1\relax
zero%
\or um%
\or dois%
-\or tr\`es%
+\or tr\^es%
\or quatro%
\or cinco%
\or seis%
@@ -41,13 +53,12 @@ zero%
\or nove%
\fi
}
-
-\newcommand{\@@unitstringFportuges}[1]{%
+\newcommand*{\@@unitstringFportuges}[1]{%
\ifcase#1\relax
zero%
\or uma%
\or duas%
-\or tr\`es%
+\or tr\^es%
\or quatro%
\or cinco%
\or seis%
@@ -56,8 +67,7 @@ zero%
\or nove%
\fi
}
-
-\newcommand{\@@tenstringportuges}[1]{%
+\newcommand*{\@@tenstringportuges}[1]{%
\ifcase#1\relax
\or dez%
\or vinte%
@@ -71,8 +81,7 @@ zero%
\or cem%
\fi
}
-
-\newcommand{\@@teenstringportuges}[1]{%
+\newcommand*{\@@teenstringportuges}[1]{%
\ifcase#1\relax
dez%
\or onze%
@@ -86,8 +95,7 @@ dez%
\or dezenove%
\fi
}
-
-\newcommand{\@@hundredstringportuges}[1]{%
+\newcommand*{\@@hundredstringportuges}[1]{%
\ifcase#1\relax
\or cento%
\or duzentos%
@@ -99,10 +107,9 @@ dez%
\or oitocentos%
\or novecentos%
\fi}
-
-\newcommand{\@@hundredstringFportuges}[1]{%
+\newcommand*{\@@hundredstringFportuges}[1]{%
\ifcase#1\relax
-\or centa%
+\or cento%
\or duzentas%
\or trezentas%
\or quatrocentas%
@@ -112,13 +119,12 @@ dez%
\or oitocentas%
\or novecentas%
\fi}
-
-\newcommand{\@@Unitstringportuges}[1]{%
+\newcommand*{\@@Unitstringportuges}[1]{%
\ifcase#1\relax
Zero%
\or Um%
\or Dois%
-\or Tr\`es%
+\or Tr\^es%
\or Quatro%
\or Cinco%
\or Seis%
@@ -127,13 +133,12 @@ Zero%
\or Nove%
\fi
}
-
-\newcommand{\@@UnitstringFportuges}[1]{%
+\newcommand*{\@@UnitstringFportuges}[1]{%
\ifcase#1\relax
Zera%
\or Uma%
\or Duas%
-\or Tr\`es%
+\or Tr\^es%
\or Quatro%
\or Cinco%
\or Seis%
@@ -142,8 +147,7 @@ Zera%
\or Nove%
\fi
}
-
-\newcommand{\@@Tenstringportuges}[1]{%
+\newcommand*{\@@Tenstringportuges}[1]{%
\ifcase#1\relax
\or Dez%
\or Vinte%
@@ -157,8 +161,7 @@ Zera%
\or Cem%
\fi
}
-
-\newcommand{\@@Teenstringportuges}[1]{%
+\newcommand*{\@@Teenstringportuges}[1]{%
\ifcase#1\relax
Dez%
\or Onze%
@@ -172,8 +175,7 @@ Dez%
\or Dezenove%
\fi
}
-
-\newcommand{\@@Hundredstringportuges}[1]{%
+\newcommand*{\@@Hundredstringportuges}[1]{%
\ifcase#1\relax
\or Cento%
\or Duzentos%
@@ -185,10 +187,9 @@ Dez%
\or Oitocentos%
\or Novecentos%
\fi}
-
-\newcommand{\@@HundredstringFportuges}[1]{%
+\newcommand*{\@@HundredstringFportuges}[1]{%
\ifcase#1\relax
-\or Centa%
+\or Cento%
\or Duzentas%
\or Trezentas%
\or Quatrocentas%
@@ -198,85 +199,71 @@ Dez%
\or Oitocentas%
\or Novecentas%
\fi}
-
-\newcommand{\@numberstringMportuges}[1]{%
+\DeclareRobustCommand{\@numberstringMportuges}[2]{%
\let\@unitstring=\@@unitstringportuges
\let\@teenstring=\@@teenstringportuges
\let\@tenstring=\@@tenstringportuges
\let\@hundredstring=\@@hundredstringportuges
\def\@hundred{cem}\def\@thousand{mil}%
\def\@andname{e}%
-\@@numberstringportuges{#1}}
-
-\newcommand{\@numberstringFportuges}[1]{%
+\@@numberstringportuges{#1}{#2}}
+\DeclareRobustCommand{\@numberstringFportuges}[2]{%
\let\@unitstring=\@@unitstringFportuges
\let\@teenstring=\@@teenstringportuges
\let\@tenstring=\@@tenstringportuges
\let\@hundredstring=\@@hundredstringFportuges
\def\@hundred{cem}\def\@thousand{mil}%
\def\@andname{e}%
-\@@numberstringportuges{#1}}
-
-\newcommand{\@NumberstringMportuges}[1]{%
+\@@numberstringportuges{#1}{#2}}
+\DeclareRobustCommand{\@NumberstringMportuges}[2]{%
\let\@unitstring=\@@Unitstringportuges
\let\@teenstring=\@@Teenstringportuges
\let\@tenstring=\@@Tenstringportuges
\let\@hundredstring=\@@Hundredstringportuges
\def\@hundred{Cem}\def\@thousand{Mil}%
\def\@andname{e}%
-\@@numberstringportuges{#1}}
-
-\newcommand{\@NumberstringFportuges}[1]{%
+\@@numberstringportuges{#1}{#2}}
+\DeclareRobustCommand{\@NumberstringFportuges}[2]{%
\let\@unitstring=\@@UnitstringFportuges
\let\@teenstring=\@@Teenstringportuges
\let\@tenstring=\@@Tenstringportuges
\let\@hundredstring=\@@HundredstringFportuges
\def\@hundred{Cem}\def\@thousand{Mil}%
\def\@andname{e}%
-\@@numberstringportuges{#1}}
-
-\newcommand{\@ordinalstringMportuges}[1]{%
+\@@numberstringportuges{#1}{#2}}
+\DeclareRobustCommand{\@ordinalstringMportuges}[2]{%
\let\@unitthstring=\@@unitthstringportuges
\let\@unitstring=\@@unitstringportuges
\let\@teenthstring=\@@teenthstringportuges
\let\@tenthstring=\@@tenthstringportuges
\let\@hundredthstring=\@@hundredthstringportuges
\def\@thousandth{mil\'esimo}%
-\@@ordinalstringportuges{#1}}
-
-\newcommand{\@ordinalstringFportuges}[1]{%
+\@@ordinalstringportuges{#1}{#2}}
+\DeclareRobustCommand{\@ordinalstringFportuges}[2]{%
\let\@unitthstring=\@@unitthstringFportuges
\let\@unitstring=\@@unitstringFportuges
\let\@teenthstring=\@@teenthstringportuges
\let\@tenthstring=\@@tenthstringFportuges
\let\@hundredthstring=\@@hundredthstringFportuges
\def\@thousandth{mil\'esima}%
-\@@ordinalstringportuges{#1}}
-
-\newcommand{\@OrdinalstringMportuges}[1]{%
+\@@ordinalstringportuges{#1}{#2}}
+\DeclareRobustCommand{\@OrdinalstringMportuges}[2]{%
\let\@unitthstring=\@@Unitthstringportuges
\let\@unitstring=\@@Unitstringportuges
\let\@teenthstring=\@@teenthstringportuges
\let\@tenthstring=\@@Tenthstringportuges
\let\@hundredthstring=\@@Hundredthstringportuges
\def\@thousandth{Mil\'esimo}%
-\@@ordinalstringportuges{#1}}
-
-\newcommand{\@OrdinalstringFportuges}[1]{%
+\@@ordinalstringportuges{#1}{#2}}
+\DeclareRobustCommand{\@OrdinalstringFportuges}[2]{%
\let\@unitthstring=\@@UnitthstringFportuges
\let\@unitstring=\@@UnitstringFportuges
\let\@teenthstring=\@@teenthstringportuges
\let\@tenthstring=\@@TenthstringFportuges
\let\@hundredthstring=\@@HundredthstringFportuges
\def\@thousandth{Mil\'esima}%
-\@@ordinalstringportuges{#1}}
-
-\newcommand{\@ordinalMportuges}[1]{%
-#1\ifnum#1=0\else\fmtord{o}\fi}
-\newcommand{\@ordinalFportuges}[1]{%
-#1\ifnum#1=0\else\fmtord{a}\fi}
-
-\newcommand{\@@unitthstringportuges}[1]{%
+\@@ordinalstringportuges{#1}{#2}}
+\newcommand*{\@@unitthstringportuges}[1]{%
\ifcase#1\relax
zero%
\or primeiro%
@@ -290,8 +277,7 @@ zero%
\or nono%
\fi
}
-
-\newcommand{\@@tenthstringportuges}[1]{%
+\newcommand*{\@@tenthstringportuges}[1]{%
\ifcase#1\relax
\or d\'ecimo%
\or vig\'esimo%
@@ -304,14 +290,12 @@ zero%
\or nonag\'esimo%
\fi
}
-
-\newcommand{\@@teenthstringportuges}[1]{%
+\newcommand*{\@@teenthstringportuges}[1]{%
\@tenthstring{1}%
\ifnum#1>0\relax
-\@unitthstring{#1}%
\fi}
-
-\newcommand{\@@hundredthstringportuges}[1]{%
+\newcommand*{\@@hundredthstringportuges}[1]{%
\ifcase#1\relax
\or cent\'esimo%
\or ducent\'esimo%
@@ -323,8 +307,7 @@ zero%
\or octingent\'esimo%
\or nongent\'esimo%
\fi}
-
-\newcommand{\@@unitthstringFportuges}[1]{%
+\newcommand*{\@@unitthstringFportuges}[1]{%
\ifcase#1\relax
zero%
\or primeira%
@@ -338,8 +321,7 @@ zero%
\or nona%
\fi
}
-
-\newcommand{\@@tenthstringFportuges}[1]{%
+\newcommand*{\@@tenthstringFportuges}[1]{%
\ifcase#1\relax
\or d\'ecima%
\or vig\'esima%
@@ -352,8 +334,7 @@ zero%
\or nonag\'esima%
\fi
}
-
-\newcommand{\@@hundredthstringFportuges}[1]{%
+\newcommand*{\@@hundredthstringFportuges}[1]{%
\ifcase#1\relax
\or cent\'esima%
\or ducent\'esima%
@@ -365,8 +346,7 @@ zero%
\or octingent\'esima%
\or nongent\'esima%
\fi}
-
-\newcommand{\@@Unitthstringportuges}[1]{%
+\newcommand*{\@@Unitthstringportuges}[1]{%
\ifcase#1\relax
Zero%
\or Primeiro%
@@ -380,8 +360,7 @@ Zero%
\or Nono%
\fi
}
-
-\newcommand{\@@Tenthstringportuges}[1]{%
+\newcommand*{\@@Tenthstringportuges}[1]{%
\ifcase#1\relax
\or D\'ecimo%
\or Vig\'esimo%
@@ -394,8 +373,7 @@ Zero%
\or Nonag\'esimo%
\fi
}
-
-\newcommand{\@@Hundredthstringportuges}[1]{%
+\newcommand*{\@@Hundredthstringportuges}[1]{%
\ifcase#1\relax
\or Cent\'esimo%
\or Ducent\'esimo%
@@ -407,8 +385,7 @@ Zero%
\or Octingent\'esimo%
\or Nongent\'esimo%
\fi}
-
-\newcommand{\@@UnitthstringFportuges}[1]{%
+\newcommand*{\@@UnitthstringFportuges}[1]{%
\ifcase#1\relax
Zera%
\or Primeira%
@@ -422,8 +399,7 @@ Zera%
\or Nona%
\fi
}
-
-\newcommand{\@@TenthstringFportuges}[1]{%
+\newcommand*{\@@TenthstringFportuges}[1]{%
\ifcase#1\relax
\or D\'ecima%
\or Vig\'esima%
@@ -436,8 +412,7 @@ Zera%
\or Nonag\'esima%
\fi
}
-
-\newcommand{\@@HundredthstringFportuges}[1]{%
+\newcommand*{\@@HundredthstringFportuges}[1]{%
\ifcase#1\relax
\or Cent\'esima%
\or Ducent\'esima%
@@ -449,7 +424,7 @@ Zera%
\or Octingent\'esima%
\or Nongent\'esima%
\fi}
-\newcommand{\@@numberstringportuges}[1]{%
+\newcommand*{\@@numberstringportuges}[2]{%
\ifnum#1>99999
\PackageError{fmtcount}{Out of range}%
{This macro only works for values less than 100000}%
@@ -461,63 +436,102 @@ you can try typing "minus" first, and then pass the modulus of
this number}%
\fi
\fi
+\def#2{}%
\@strctr=#1\relax \divide\@strctr by 1000\relax
\ifnum\@strctr>9
\divide\@strctr by 10
- \ifnum\@strctr>1
- \@tenstring{\@strctr}%
+ \ifnum\@strctr>1\relax
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\@tenstring{\@strctr}}%
\@strctr=#1 \divide\@strctr by 1000\relax
\@modulo{\@strctr}{10}%
\ifnum\@strctr>0
- \ifnum\@strctr=1\ \@andname\fi
- \ \@unitstring{\@strctr}%
+ \ifnum\@strctr=1\relax
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\ \@andname}%
+ \fi
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\ \@unitstring{\@strctr}}%
\fi
\else
\@strctr=#1\relax
\divide\@strctr by 1000\relax
\@modulo{\@strctr}{10}%
- \@teenstring{\@strctr}%
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\@teenstring{\@strctr}}%
\fi
- \ \@thousand%
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\ \@thousand}%
\else
- \ifnum\@strctr>0
- \ifnum\@strctr>1\@unitstring{\@strctr}\ \fi
- \@thousand
+ \ifnum\@strctr>0\relax
+ \ifnum\@strctr>1\relax
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\@unitstring{\@strctr}\ }%
+ \fi
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\@thousand}%
\fi
\fi
\@strctr=#1\relax \@modulo{\@strctr}{1000}%
-\divide\@strctr by 100
-\ifnum\@strctr>0
-\ifnum#1>1000 \ \fi
-\@tmpstrctr=#1\relax
-\@modulo{\@tmpstrctr}{1000}%
-\ifnum\@tmpstrctr=100\@tenstring{10}\else\@hundredstring{\@strctr}\fi%
+\divide\@strctr by 100\relax
+\ifnum\@strctr>0\relax
+ \ifnum#1>1000 \relax
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\ }%
+ \fi
+ \@tmpstrctr=#1\relax
+ \@modulo{\@tmpstrctr}{1000}%
+ \let\@@fc@numstr#2\relax
+ \ifnum\@tmpstrctr=100\relax
+ \edef#2{\@@fc@numstr\@tenstring{10}}%
+ \else
+ \edef#2{\@@fc@numstr\@hundredstring{\@strctr}}%
+ \fi%
\fi
\@strctr=#1\relax \@modulo{\@strctr}{100}%
-\ifnum#1>100 \ifnum\@strctr>0\ \@andname\ \fi\fi
-\ifnum\@strctr>19
-\divide\@strctr by 10
-\@tenstring{\@strctr}%
-\@strctr=#1\relax \@modulo{\@strctr}{10}%
-\ifnum\@strctr>0
-\ifnum\@strctr=1\ \@andname\else\ifnum#1>100\ \@andname\fi\fi
-\ \@unitstring{\@strctr}%
+\ifnum#1>100\relax
+ \ifnum\@strctr>0\relax
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\ \@andname\ }%
+ \fi
\fi
+\ifnum\@strctr>19\relax
+ \divide\@strctr by 10\relax
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\@tenstring{\@strctr}}%
+ \@strctr=#1\relax \@modulo{\@strctr}{10}%
+ \ifnum\@strctr>0
+ \ifnum\@strctr=1\relax
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\ \@andname}%
+ \else
+ \ifnum#1>100\relax
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\ \@andname}%
+ \fi
+ \fi
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\ \@unitstring{\@strctr}}%
+ \fi
\else
-\ifnum\@strctr<10
-\ifnum\@strctr=0
-\ifnum#1<100 \@unitstring{\@strctr}\fi
-\else%(>0,<10)
-\@unitstring{\@strctr}%
-\fi
-\else%>10
-\@modulo{\@strctr}{10}%
-\@teenstring{\@strctr}%
-\fi
+ \ifnum\@strctr<10\relax
+ \ifnum\@strctr=0\relax
+ \ifnum#1<100\relax
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\@unitstring{\@strctr}}%
+ \fi
+ \else%(>0,<10)
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\@unitstring{\@strctr}}%
+ \fi
+ \else%>10
+ \@modulo{\@strctr}{10}%
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\@teenstring{\@strctr}}%
+ \fi
\fi
}
-
-\newcommand{\@@ordinalstringportuges}[1]{%
+\newcommand*{\@@ordinalstringportuges}[2]{%
\@strctr=#1\relax
\ifnum#1>99999
\PackageError{fmtcount}{Out of range}%
@@ -529,6 +543,7 @@ this number}%
you can try typing "minus" first, and then pass the modulus of
this number}%
\else
+\def#2{}%
\ifnum\@strctr>999\relax
\divide\@strctr by 1000\relax
\ifnum\@strctr>1\relax
@@ -536,43 +551,67 @@ this number}%
\@tmpstrctr=\@strctr
\ifnum\@strctr<20
\@modulo{\@tmpstrctr}{10}%
- \@teenthstring{\@tmpstrctr}
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr\@teenthstring{\@tmpstrctr}}%
\else
\divide\@tmpstrctr by 10\relax
- \@tenthstring{\@tmpstrctr}
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr\@tenthstring{\@tmpstrctr}}%
\@tmpstrctr=\@strctr
\@modulo{\@tmpstrctr}{10}%
- \ifnum\@tmpstrctr>0\@unitthstring{\@tmpstrctr} \fi
+ \ifnum\@tmpstrctr>0\relax
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr\@unitthstring{\@tmpstrctr}}%
+ \fi
\fi
\else
- \@unitstring{\@strctr}
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr\@unitstring{\@strctr}}%
\fi
\fi
- \@thousandth
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr\@thousandth}%
\fi
\@strctr=#1\relax
\@modulo{\@strctr}{1000}%
\ifnum\@strctr>99\relax
-\@tmpstrctr=\@strctr
-\divide\@tmpstrctr by 100\relax
-\ifnum#1>1000-\fi
-\@hundredthstring{\@tmpstrctr}%
+ \@tmpstrctr=\@strctr
+ \divide\@tmpstrctr by 100\relax
+ \ifnum#1>1000\relax
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr-}%
+ \fi
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr\@hundredthstring{\@tmpstrctr}}%
\fi
\@modulo{\@strctr}{100}%
-\ifnum#1>99\ifnum\@strctr>0-\fi\fi
+\ifnum#1>99\relax
+ \ifnum\@strctr>0\relax
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr-}%
+ \fi
+\fi
\ifnum\@strctr>9\relax
-\@tmpstrctr=\@strctr
-\divide\@tmpstrctr by 10\relax
-\@tenthstring{\@tmpstrctr}%
-\@tmpstrctr=\@strctr
-\@modulo{\@tmpstrctr}{10}%
-\ifnum\@tmpstrctr>0-\@unitthstring{\@tmpstrctr}\fi
-\else
-\ifnum\@strctr=0\relax
-\ifnum#1=0\@unitstring{0}\fi
+ \@tmpstrctr=\@strctr
+ \divide\@tmpstrctr by 10\relax
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr\@tenthstring{\@tmpstrctr}}%
+ \@tmpstrctr=\@strctr
+ \@modulo{\@tmpstrctr}{10}%
+ \ifnum\@tmpstrctr>0\relax
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr-\@unitthstring{\@tmpstrctr}}%
+ \fi
\else
-\@unitthstring{\@strctr}%
-\fi
+ \ifnum\@strctr=0\relax
+ \ifnum#1=0\relax
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr\@unitstring{0}}%
+ \fi
+ \else
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr\@unitthstring{\@strctr}}%
+ \fi
\fi
\fi
\fi
diff --git a/Master/texmf-dist/tex/latex/fmtcount/fc-spanish.def b/Master/texmf-dist/tex/latex/fmtcount/fc-spanish.def
index b0315393ae2..04ac0992327 100644
--- a/Master/texmf-dist/tex/latex/fmtcount/fc-spanish.def
+++ b/Master/texmf-dist/tex/latex/fmtcount/fc-spanish.def
@@ -26,7 +26,11 @@
%% Right bracket \] Circumflex \^ Underscore \_
%% Grave accent \` Left brace \{ Vertical bar \|
%% Right brace \} Tilde \~}
-\ProvidesFile{fc-spanish.def}[2005/04/29]
+\ProvidesFile{fc-spanish.def}[2007/04/20]
+\newcommand{\@ordinalMspanish}[2]{%
+\edef#2{\number#1\relax\noexpand\fmtord{o}}}
+\newcommand{\@ordinalFspanish}[2]{%
+\edef#2{\number#1\relax\noexpand\fmtord{a}}}
\newcommand{\@@unitstringspanish}[1]{%
\ifcase#1\relax
cero%
@@ -41,7 +45,6 @@ cero%
\or nueve%
\fi
}
-
\newcommand{\@@unitstringFspanish}[1]{%
\ifcase#1\relax
cera%
@@ -56,7 +59,6 @@ cera%
\or nueve%
\fi
}
-
\newcommand{\@@tenstringspanish}[1]{%
\ifcase#1\relax
\or diez%
@@ -71,7 +73,6 @@ cera%
\or cien%
\fi
}
-
\newcommand{\@@teenstringspanish}[1]{%
\ifcase#1\relax
diez%
@@ -86,7 +87,6 @@ diez%
\or diecinueve%
\fi
}
-
\newcommand{\@@twentystringspanish}[1]{%
\ifcase#1\relax
veinte%
@@ -100,7 +100,6 @@ veinte%
\or veintiocho%
\or veintinueve%
\fi}
-
\newcommand{\@@twentystringFspanish}[1]{%
\ifcase#1\relax
veinte%
@@ -114,7 +113,6 @@ veinte%
\or veintiocho%
\or veintinueve%
\fi}
-
\newcommand{\@@hundredstringspanish}[1]{%
\ifcase#1\relax
\or ciento%
@@ -127,7 +125,6 @@ veinte%
\or ochocientos%
\or novecientos%
\fi}
-
\newcommand{\@@hundredstringFspanish}[1]{%
\ifcase#1\relax
\or cienta%
@@ -140,7 +137,6 @@ veinte%
\or ochocientas%
\or novecientas%
\fi}
-
\newcommand{\@@Unitstringspanish}[1]{%
\ifcase#1\relax
Cero%
@@ -155,7 +151,6 @@ Cero%
\or Nueve%
\fi
}
-
\newcommand{\@@UnitstringFspanish}[1]{%
\ifcase#1\relax
Cera%
@@ -170,7 +165,6 @@ Cera%
\or Nueve%
\fi
}
-
\newcommand{\@@Tenstringspanish}[1]{%
\ifcase#1\relax
\or Diez%
@@ -185,7 +179,6 @@ Cera%
\or Cien%
\fi
}
-
\newcommand{\@@Teenstringspanish}[1]{%
\ifcase#1\relax
Diez%
@@ -200,7 +193,6 @@ Diez%
\or Diecinueve%
\fi
}
-
\newcommand{\@@Twentystringspanish}[1]{%
\ifcase#1\relax
Veinte%
@@ -214,7 +206,6 @@ Veinte%
\or Veintiocho%
\or Veintinueve%
\fi}
-
\newcommand{\@@TwentystringFspanish}[1]{%
\ifcase#1\relax
Veinte%
@@ -228,7 +219,6 @@ Veinte%
\or Veintiocho%
\or Veintinueve%
\fi}
-
\newcommand{\@@Hundredstringspanish}[1]{%
\ifcase#1\relax
\or Ciento%
@@ -241,7 +231,6 @@ Veinte%
\or Ochocientos%
\or Novecientos%
\fi}
-
\newcommand{\@@HundredstringFspanish}[1]{%
\ifcase#1\relax
\or Cienta%
@@ -254,8 +243,7 @@ Veinte%
\or Ochocientas%
\or Novecientas%
\fi}
-
-\newcommand{\@numberstringMspanish}[1]{%
+\DeclareRobustCommand{\@numberstringMspanish}[2]{%
\let\@unitstring=\@@unitstringspanish
\let\@teenstring=\@@teenstringspanish
\let\@tenstring=\@@tenstringspanish
@@ -263,9 +251,8 @@ Veinte%
\let\@hundredstring=\@@hundredstringspanish
\def\@hundred{cien}\def\@thousand{mil}%
\def\@andname{y}%
-\@@numberstringspanish{#1}}
-
-\newcommand{\@numberstringFspanish}[1]{%
+\@@numberstringspanish{#1}{#2}}
+\DeclareRobustCommand{\@numberstringFspanish}[2]{%
\let\@unitstring=\@@unitstringFspanish
\let\@teenstring=\@@teenstringspanish
\let\@tenstring=\@@tenstringspanish
@@ -273,9 +260,8 @@ Veinte%
\let\@hundredstring=\@@hundredstringFspanish
\def\@hundred{cien}\def\@thousand{mil}%
\def\@andname{y}%
-\@@numberstringspanish{#1}}
-
-\newcommand{\@NumberstringMspanish}[1]{%
+\@@numberstringspanish{#1}{#2}}
+\DeclareRobustCommand{\@NumberstringMspanish}[2]{%
\let\@unitstring=\@@Unitstringspanish
\let\@teenstring=\@@Teenstringspanish
\let\@tenstring=\@@Tenstringspanish
@@ -283,9 +269,8 @@ Veinte%
\let\@hundredstring=\@@Hundredstringspanish
\def\@andname{y}%
\def\@hundred{Cien}\def\@thousand{Mil}%
-\@@numberstringspanish{#1}}
-
-\newcommand{\@NumberstringFspanish}[1]{%
+\@@numberstringspanish{#1}{#2}}
+\DeclareRobustCommand{\@NumberstringFspanish}[2]{%
\let\@unitstring=\@@UnitstringFspanish
\let\@teenstring=\@@Teenstringspanish
\let\@tenstring=\@@Tenstringspanish
@@ -293,47 +278,39 @@ Veinte%
\let\@hundredstring=\@@HundredstringFspanish
\def\@andname{y}%
\def\@hundred{Cien}\def\@thousand{Mil}%
-\@@numberstringspanish{#1}}
-
-\newcommand{\@ordinalstringMspanish}[1]{%
+\@@numberstringspanish{#1}{#2}}
+\DeclareRobustCommand{\@ordinalstringMspanish}[2]{%
\let\@unitthstring=\@@unitthstringspanish
\let\@unitstring=\@@unitstringspanish
\let\@teenthstring=\@@teenthstringspanish
\let\@tenthstring=\@@tenthstringspanish
\let\@hundredthstring=\@@hundredthstringspanish
\def\@thousandth{mil\'esimo}%
-\@@ordinalstringspanish{#1}}
-
-\newcommand{\@ordinalstringFspanish}[1]{%
+\@@ordinalstringspanish{#1}{#2}}
+\DeclareRobustCommand{\@ordinalstringFspanish}[2]{%
\let\@unitthstring=\@@unitthstringFspanish
\let\@unitstring=\@@unitstringFspanish
\let\@teenthstring=\@@teenthstringFspanish
\let\@tenthstring=\@@tenthstringFspanish
\let\@hundredthstring=\@@hundredthstringFspanish
\def\@thousandth{mil\'esima}%
-\@@ordinalstringspanish{#1}}
-
-\newcommand{\@OrdinalstringMspanish}[1]{%
+\@@ordinalstringspanish{#1}{#2}}
+\DeclareRobustCommand{\@OrdinalstringMspanish}[2]{%
\let\@unitthstring=\@@Unitthstringspanish
\let\@unitstring=\@@Unitstringspanish
\let\@teenthstring=\@@Teenthstringspanish
\let\@tenthstring=\@@Tenthstringspanish
\let\@hundredthstring=\@@Hundredthstringspanish
\def\@thousandth{Mil\'esimo}%
-\@@ordinalstringspanish{#1}}
-
-\newcommand{\@OrdinalstringFspanish}[1]{%
+\@@ordinalstringspanish{#1}{#2}}
+\DeclareRobustCommand{\@OrdinalstringFspanish}[2]{%
\let\@unitthstring=\@@UnitthstringFspanish
\let\@unitstring=\@@UnitstringFspanish
\let\@teenthstring=\@@TeenthstringFspanish
\let\@tenthstring=\@@TenthstringFspanish
\let\@hundredthstring=\@@HundredthstringFspanish
\def\@thousandth{Mil\'esima}%
-\@@ordinalstringspanish{#1}}
-
-\newcommand{\@ordinalMspanish}[1]{#1\fmtord{o}}
-\newcommand{\@ordinalFspanish}[1]{#1\fmtord{a}}
-
+\@@ordinalstringspanish{#1}{#2}}
\newcommand{\@@unitthstringspanish}[1]{%
\ifcase#1\relax
cero%
@@ -348,7 +325,6 @@ cero%
\or noveno%
\fi
}
-
\newcommand{\@@tenthstringspanish}[1]{%
\ifcase#1\relax
\or d\'ecimo%
@@ -362,7 +338,6 @@ cero%
\or nonag\'esimo%
\fi
}
-
\newcommand{\@@teenthstringspanish}[1]{%
\ifcase#1\relax
d\'ecimo%
@@ -377,7 +352,6 @@ d\'ecimo%
\or decimonoveno%
\fi
}
-
\newcommand{\@@hundredthstringspanish}[1]{%
\ifcase#1\relax
\or cent\'esimo%
@@ -390,7 +364,6 @@ d\'ecimo%
\or octingent\'esimo%
\or noningent\'esimo%
\fi}
-
\newcommand{\@@unitthstringFspanish}[1]{%
\ifcase#1\relax
cera%
@@ -405,7 +378,6 @@ cera%
\or novena%
\fi
}
-
\newcommand{\@@tenthstringFspanish}[1]{%
\ifcase#1\relax
\or d\'ecima%
@@ -419,7 +391,6 @@ cera%
\or nonag\'esima%
\fi
}
-
\newcommand{\@@teenthstringFspanish}[1]{%
\ifcase#1\relax
d\'ecima%
@@ -434,7 +405,6 @@ d\'ecima%
\or decimonovena%
\fi
}
-
\newcommand{\@@hundredthstringFspanish}[1]{%
\ifcase#1\relax
\or cent\'esima%
@@ -447,7 +417,6 @@ d\'ecima%
\or octingent\'esima%
\or noningent\'esima%
\fi}
-
\newcommand{\@@Unitthstringspanish}[1]{%
\ifcase#1\relax
Cero%
@@ -462,7 +431,6 @@ Cero%
\or Noveno%
\fi
}
-
\newcommand{\@@Tenthstringspanish}[1]{%
\ifcase#1\relax
\or D\'ecimo%
@@ -476,7 +444,6 @@ Cero%
\or Nonag\'esimo%
\fi
}
-
\newcommand{\@@Teenthstringspanish}[1]{%
\ifcase#1\relax
D\'ecimo%
@@ -491,7 +458,6 @@ D\'ecimo%
\or Decimonoveno%
\fi
}
-
\newcommand{\@@Hundredthstringspanish}[1]{%
\ifcase#1\relax
\or Cent\'esimo%
@@ -504,7 +470,6 @@ D\'ecimo%
\or Octingent\'esimo%
\or Noningent\'esimo%
\fi}
-
\newcommand{\@@UnitthstringFspanish}[1]{%
\ifcase#1\relax
Cera%
@@ -519,7 +484,6 @@ Cera%
\or Novena%
\fi
}
-
\newcommand{\@@TenthstringFspanish}[1]{%
\ifcase#1\relax
\or D\'ecima%
@@ -533,7 +497,6 @@ Cera%
\or Nonag\'esima%
\fi
}
-
\newcommand{\@@TeenthstringFspanish}[1]{%
\ifcase#1\relax
D\'ecima%
@@ -548,7 +511,6 @@ D\'ecima%
\or Decimonovena%
\fi
}
-
\newcommand{\@@HundredthstringFspanish}[1]{%
\ifcase#1\relax
\or Cent\'esima%
@@ -562,7 +524,7 @@ D\'ecima%
\or Noningent\'esima%
\fi}
-\newcommand{\@@numberstringspanish}[1]{%
+\newcommand{\@@numberstringspanish}[2]{%
\ifnum#1>99999
\PackageError{fmtcount}{Out of range}%
{This macro only works for values less than 100000}%
@@ -574,64 +536,96 @@ you can try typing "minus" first, and then pass the modulus of
this number}%
\fi
\fi
+\def#2{}%
\@strctr=#1\relax \divide\@strctr by 1000\relax
\ifnum\@strctr>9
\divide\@strctr by 10
\ifnum\@strctr>1
- \@tenstring{\@strctr}%
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\@tenstring{\@strctr}}%
\@strctr=#1 \divide\@strctr by 1000\relax
\@modulo{\@strctr}{10}%
- \ifnum\@strctr>0\ \@andname\ \@unitstring{\@strctr}\fi
+ \ifnum\@strctr>0\relax
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\ \@andname\ \@unitstring{\@strctr}}%
+ \fi
\else
\@strctr=#1\relax
\divide\@strctr by 1000\relax
\@modulo{\@strctr}{10}%
- \@teenstring{\@strctr}%
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\@teenstring{\@strctr}}%
\fi
- \ \@thousand%
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\ \@thousand}%
\else
- \ifnum\@strctr>0
- \ifnum\@strctr>1\@unitstring{\@strctr}\ \fi
- \@thousand
+ \ifnum\@strctr>0\relax
+ \ifnum\@strctr>1\relax
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\@unitstring{\@strctr}\ }%
+ \fi
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\@thousand}%
\fi
\fi
\@strctr=#1\relax \@modulo{\@strctr}{1000}%
-\divide\@strctr by 100
-\ifnum\@strctr>0
-\ifnum#1>1000\ \fi
-\@tmpstrctr=#1\relax
-\@modulo{\@tmpstrctr}{1000}%
-\ifnum\@tmpstrctr=100\@tenstring{10}\else\@hundredstring{\@strctr}\fi%
+\divide\@strctr by 100\relax
+\ifnum\@strctr>0\relax
+ \ifnum#1>1000\relax
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\ }%
+ \fi
+ \@tmpstrctr=#1\relax
+ \@modulo{\@tmpstrctr}{1000}%
+ \ifnum\@tmpstrctr=100\relax
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\@tenstring{10}}%
+ \else
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\@hundredstring{\@strctr}}%
+ \fi
\fi
\@strctr=#1\relax \@modulo{\@strctr}{100}%
-\ifnum#1>100 \ifnum\@strctr>0\ \@andname\ \fi\fi
-\ifnum\@strctr>29
-\divide\@strctr by 10
-\@tenstring{\@strctr}%
-\@strctr=#1\relax \@modulo{\@strctr}{10}%
-\ifnum\@strctr>0
-\ \@andname\ \@unitstring{\@strctr}%
-\fi
-\else
-\ifnum\@strctr<10
-\ifnum\@strctr=0
-\ifnum#1<100 \@unitstring{\@strctr}\fi
-\else
-\@unitstring{\@strctr}%
+\ifnum#1>100\relax
+ \ifnum\@strctr>0\relax
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\ \@andname\ }%
+ \fi
\fi
+\ifnum\@strctr>29\relax
+ \divide\@strctr by 10\relax
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\@tenstring{\@strctr}}%
+ \@strctr=#1\relax \@modulo{\@strctr}{10}%
+ \ifnum\@strctr>0\relax
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\ \@andname\ \@unitstring{\@strctr}}%
+ \fi
\else
-\ifnum\@strctr>19
-\@modulo{\@strctr}{10}%
-\@twentystring{\@strctr}%
-\else
-\@modulo{\@strctr}{10}%
-\@teenstring{\@strctr}%
-\fi
-\fi
+ \ifnum\@strctr<10\relax
+ \ifnum\@strctr=0\relax
+ \ifnum#1<100\relax
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\@unitstring{\@strctr}}%
+ \fi
+ \else
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\@unitstring{\@strctr}}%
+ \fi
+ \else
+ \ifnum\@strctr>19\relax
+ \@modulo{\@strctr}{10}%
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\@twentystring{\@strctr}}%
+ \else
+ \@modulo{\@strctr}{10}%
+ \let\@@fc@numstr#2\relax
+ \edef#2{\@@fc@numstr\@teenstring{\@strctr}}%
+ \fi
+ \fi
\fi
}
-
-\newcommand{\@@ordinalstringspanish}[1]{%
+\newcommand{\@@ordinalstringspanish}[2]{%
\@strctr=#1\relax
\ifnum#1>99999
\PackageError{fmtcount}{Out of range}%
@@ -643,6 +637,7 @@ this number}%
you can try typing "minus" first, and then pass the modulus of
this number}%
\else
+\def#2{}%
\ifnum\@strctr>999\relax
\divide\@strctr by 1000\relax
\ifnum\@strctr>1\relax
@@ -650,48 +645,73 @@ this number}%
\@tmpstrctr=\@strctr
\ifnum\@strctr<20
\@modulo{\@tmpstrctr}{10}%
- \@teenthstring{\@tmpstrctr}
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr\@teenthstring{\@tmpstrctr}}%
\else
\divide\@tmpstrctr by 10\relax
- \@tenthstring{\@tmpstrctr}
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr\@tenthstring{\@tmpstrctr}}%
\@tmpstrctr=\@strctr
\@modulo{\@tmpstrctr}{10}%
- \ifnum\@tmpstrctr>0\@unitthstring{\@tmpstrctr} \fi
+ \ifnum\@tmpstrctr>0\relax
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr\@unitthstring{\@tmpstrctr}}%
+ \fi
\fi
\else
- \@unitstring{\@strctr}
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr\@unitstring{\@strctr}}%
\fi
\fi
- \@thousandth
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr\@thousandth}%
\fi
\@strctr=#1\relax
\@modulo{\@strctr}{1000}%
\ifnum\@strctr>99\relax
-\@tmpstrctr=\@strctr
-\divide\@tmpstrctr by 100\relax
-\ifnum#1>1000\ \fi
-\@hundredthstring{\@tmpstrctr}%
+ \@tmpstrctr=\@strctr
+ \divide\@tmpstrctr by 100\relax
+ \ifnum#1>1000\relax
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr\ }%
+ \fi
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr\@hundredthstring{\@tmpstrctr}}%
\fi
\@modulo{\@strctr}{100}%
-\ifnum#1>99\ifnum\@strctr>0\ \fi\fi
+\ifnum#1>99\relax
+ \ifnum\@strctr>0\relax
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr\ }%
+ \fi
+\fi
\ifnum\@strctr>19\relax
-\@tmpstrctr=\@strctr
-\divide\@tmpstrctr by 10\relax
-\@tenthstring{\@tmpstrctr}%
-\@tmpstrctr=\@strctr
-\@modulo{\@tmpstrctr}{10}%
-\ifnum\@tmpstrctr>0\ \@unitthstring{\@tmpstrctr}\fi
-\else
-\ifnum\@strctr>9
-\@modulo{\@strctr}{10}%
-\@teenthstring{\@strctr}%
-\else
-\ifnum\@strctr=0\relax
-\ifnum#1=0\@unitstring{0}\fi
+ \@tmpstrctr=\@strctr
+ \divide\@tmpstrctr by 10\relax
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr\@tenthstring{\@tmpstrctr}}%
+ \@tmpstrctr=\@strctr
+ \@modulo{\@tmpstrctr}{10}%
+ \ifnum\@tmpstrctr>0\relax
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr\ \@unitthstring{\@tmpstrctr}}%
+ \fi
\else
-\@unitthstring{\@strctr}%
-\fi
-\fi
+ \ifnum\@strctr>9\relax
+ \@modulo{\@strctr}{10}%
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr\@teenthstring{\@strctr}}%
+ \else
+ \ifnum\@strctr=0\relax
+ \ifnum#1=0\relax
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr\@unitstring{0}}%
+ \fi
+ \else
+ \let\@@fc@ordstr#2\relax
+ \edef#2{\@@fc@ordstr\@unitthstring{\@strctr}}%
+ \fi
+ \fi
\fi
\fi
\fi
diff --git a/Master/texmf-dist/tex/latex/fmtcount/fmtcount.sty b/Master/texmf-dist/tex/latex/fmtcount/fmtcount.sty
index 9ca97952fb5..61a1428756a 100644
--- a/Master/texmf-dist/tex/latex/fmtcount/fmtcount.sty
+++ b/Master/texmf-dist/tex/latex/fmtcount/fmtcount.sty
@@ -27,7 +27,7 @@
%% Grave accent \` Left brace \{ Vertical bar \|
%% Right brace \} Tilde \~}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{fmtcount}[2007/01/06 v1.06]
+\ProvidesPackage{fmtcount}[2007/04/20 v1.09]
\RequirePackage{ifthen}
\RequirePackage{keyval}
\providecommand{\fmtord}[1]{\textsuperscript{#1}}
@@ -318,86 +318,217 @@ or `user'}}}
\space already defined use \string\FCordinal \space instead.}}
\newcommand{\ordinalnum}[1]{\@ifnextchar[{\@ordinalnum{#1}}{%
\@ordinalnum{#1}[m]}}
-
-\def\@ordinalnum#1[#2]{%
+\def\@ordinalnum#1[#2]{{%
\ifthenelse{\equal{#2}{f}}{%
-\protect\@ordinalF{#1}}{%
+\protect\@ordinalF{#1}{\@fc@ordstr}}{%
\ifthenelse{\equal{#2}{m}}{}{%
\PackageError{fmtcount}{Invalid gender option `#2'}{%
Available options are m or f}}%
-\protect\@ordinalM{#1}}}
-
+\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]{%
+\def\@ordinal@string#1[#2]{{%
\ifthenelse{\equal{#2}{f}}{%
-\protect\@ordinalstringF{#1}}{%
+\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}}}
-
+\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]{%
+\def\@Ordinal@string#1[#2]{{%
\ifthenelse{\equal{#2}{f}}{%
-\protect\@OrdinalstringF{#1}}{%
+\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}}}
-
+\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]{%
+\def\@number@string#1[#2]{{%
\ifthenelse{\equal{#2}{f}}{%
-\protect\@numberstringF{#1}}{%
+\protect\@numberstringF{#1}{\@fc@numstr}}{%
\ifthenelse{\equal{#2}{m}}{}{%
-\PackageError{fmtcount}{Invalid gender option `#2' to
-\string\numberstring}{Available options are m or f}}%
-\protect\@numberstringM{#1}}}
-
+\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]{%
+\def\@Number@string#1[#2]{{%
\ifthenelse{\equal{#2}{f}}{%
-\protect\@NumberstringF{#1}}{%
+\protect\@NumberstringF{#1}{\@fc@numstr}}{%
\ifthenelse{\equal{#2}{m}}{}{%
-\PackageError{fmtcount}{Invalid gender option `#2' to
-\string\Numberstring}{Available options are m or f}}%
-\protect\@NumberstringM{#1}}}
-
-\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}}
+\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{@ordinalenglish}{\input{fc-english.def}}{}
+\@ifundefined{@ordinalMenglish}{\input{fc-english.def}}{}
\def\@ordinalstringM{\@ordinalstringMenglish}
\let\@ordinalstringF=\@ordinalstringMenglish
\def\@OrdinalstringM{\@OrdinalstringMenglish}