summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/fmtcount
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2014-06-19 20:23:47 +0000
committerKarl Berry <karl@freefriends.org>2014-06-19 20:23:47 +0000
commit645977d2a193cba365984822764a2d97c2951249 (patch)
treef2f6d6c5c64e8beef2bca4f81ed57fe8b52f6223 /Master/texmf-dist/source/latex/fmtcount
parenta6a9c8cb6c125f8674dc6c2480c60229f3d9e64d (diff)
fmtcount (19jun14)
git-svn-id: svn://tug.org/texlive/trunk@34318 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/fmtcount')
-rw-r--r--Master/texmf-dist/source/latex/fmtcount/fmtcount.dtx614
-rw-r--r--Master/texmf-dist/source/latex/fmtcount/fmtcount.ins8
2 files changed, 383 insertions, 239 deletions
diff --git a/Master/texmf-dist/source/latex/fmtcount/fmtcount.dtx b/Master/texmf-dist/source/latex/fmtcount/fmtcount.dtx
index bdcb4edbb91..10e9dac5fa3 100644
--- a/Master/texmf-dist/source/latex/fmtcount/fmtcount.dtx
+++ b/Master/texmf-dist/source/latex/fmtcount/fmtcount.dtx
@@ -1,12 +1,12 @@
%\iffalse
-% fmtcount.dtx generated using makedtx version 0.94b (c) Nicola Talbot
+% fmtcount.dtx generated using makedtx version 1.1 (c) Nicola Talbot
% Command line args:
% -src "(.+)\.(sty)=>\1.\2"
% -src "(.+)\.(def)=>\1.\2"
% -doc "fmtcount-manual.tex"
% -author "Nicola Talbot and Vincent Belaïche"
% fmtcount
-% Created on 2013/8/17 16:54
+% Created on 2014/6/18 14:52
%\fi
%\iffalse
%<*package>
@@ -29,7 +29,7 @@
%\fi
% \iffalse
% Doc-Source file to use with LaTeX2e
-% Copyright (C) 2013 Nicola Talbot and Vincent Belaïche, all rights reserved.
+% Copyright (C) 2014 Nicola Talbot and Vincent Belaïche, all rights reserved.
% \fi
% \iffalse
%<*driver>
@@ -52,7 +52,7 @@
pdftitle={fmtcount.sty: Displaying the Values of LaTeX Counters},
pdfkeywords={LaTeX,counter}]{hyperref}
-\CheckSum{9271}
+\CheckSum{9726}
\doxitem{Option}{option}{options}
@@ -71,7 +71,7 @@
% \url{www.dickimaw-books.com}
% \and
% Vincent Bela\"iche}
-% \date{2013-08-17 (version 2.03)\relax
+% \date{2014-06-18 (version 2.04)\relax
%}
% \maketitle
% \tableofcontents
@@ -818,6 +818,9 @@
%There is a FAQ available at:
%\url{http://theoval.cmp.uea.ac.uk/~nlct/latex/packages/faq/}.
%
+%Bug reporting should be done via the Github issue manager at:
+%\url{https://github.com/nlct/fmtcount/issues/}.
+%
%
%
%\StopEventually{}
@@ -1005,7 +1008,7 @@
% \end{macrocode}
% \DescribeMacro\fc@parse@integer@digits Macro \cs{fc@parse@integer@digits} is used to
% \begin{macrocode}
-\@ifundefined{fc@parse@integer@digits}{}{%
+\ifcsundef{fc@parse@integer@digits}{}{%
\PackageError{fcnumparser}{Duplicate definition}{Redefinition of
macro `fc@parse@integer@digits'}}
\def\fc@parse@integer@digits#1#2\fc@nil{%
@@ -1028,7 +1031,7 @@
% number.\newline \DescribeMacro\fc@read@unit \cs{fc@read@unit} just reads one digit and form an integer in
% the range \([0 \intv 9]\). First we check that the macro is not yet defined.
% \begin{macrocode}
-\@ifundefined{fc@read@unit}{}{%
+\ifcsundef{fc@read@unit}{}{%
\PackageError{fcnumparser}{Duplicate definition}{Redefinition of macro `fc@read@unit'}}
% \end{macrocode}
% Arguments as follows:\def\interface{\newline\noindent
@@ -1061,7 +1064,7 @@
% \DescribeMacro\fc@read@hundred Macro \cs{fc@read@hundred} is used to read a pair of digits and form an
% integer in the range \([0 \intv 99]\). First we check that the macro is not yet defined.
% \begin{macrocode}
-\@ifundefined{fc@read@hundred}{}{%
+\ifcsundef{fc@read@hundred}{}{%
\PackageError{fcnumparser}{Duplicate definition}{Redefinition of macro `fc@read@hundred'}}
% \end{macrocode}
% Arguments as follows --- same interface as \cs{fc@read@unit}:\interface
@@ -1084,7 +1087,7 @@
% \DescribeMacro\fc@read@thousand Macro \cs{fc@read@thousand} is used to read a trio of digits and form an
% integer in the range \([0 \intv 999]\). First we check that the macro is not yet defined.
% \begin{macrocode}
-\@ifundefined{fc@read@thousand}{}{%
+\ifcsundef{fc@read@thousand}{}{%
\PackageError{fcnumparser}{Duplicate definition}{Redefinition of macro
`fc@read@thousand'}}
% \end{macrocode}
@@ -1109,7 +1112,7 @@
% \DescribeMacro\fc@read@thousand Macro \cs{fc@read@myriad} is used to read a quatuor of digits and form an
% integer in the range \([0 \intv 9999]\). First we check that the macro is not yet defined.
% \begin{macrocode}
-\@ifundefined{fc@read@myriad}{}{%
+\ifcsundef{fc@read@myriad}{}{%
\PackageError{fcnumparser}{Duplicate definition}{Redefinition of macro
`fc@read@myriad'}}
% \end{macrocode}
@@ -1134,7 +1137,7 @@
% represented by digits \cs{fc@digit@}\meta{$n$}, with \(n\) in some interval, is zero, one, or more than one.
% First we check that the macro is not yet defined.
% \begin{macrocode}
-\@ifundefined{fc@check@nonzeros}{}{%
+\ifcsundef{fc@check@nonzeros}{}{%
\PackageError{fcnumparser}{Duplicate definition}{Redefinition of macro
`fc@check@nonzeros'}}
% \end{macrocode}
@@ -1246,7 +1249,7 @@
% \DescribeMacro\fc@intpart@find@last Macro \cs{fc@intpart@find@last} find the rightmost non zero digit in the
% integer part. First check that the macro is not yet defined.
% \begin{macrocode}
-\@ifundefined{fc@intpart@find@last}{}{%
+\ifcsundef{fc@intpart@find@last}{}{%
\PackageError{fcnumparser}{Duplicate definition}{Redefinition of macro
`fc@intpart@find@last'}}
% \end{macrocode}
@@ -1298,7 +1301,7 @@
% \#3&output macro 2: last word\\
% \end{tabularx}
% \begin{macrocode}
-\@ifundefined{fc@get@last@word}{}{\PackageError{fcnumparser}{Duplicate definition}{Redefinition
+\ifcsundef{fc@get@last@word}{}{\PackageError{fcnumparser}{Duplicate definition}{Redefinition
of macro `fc@get@last@word'}}%
\def\fc@get@last@word#1#2#3{%
{%
@@ -1368,7 +1371,7 @@
% \#3&output macro 2: last letter\\
% \end{tabularx}
% \begin{macrocode}
-\@ifundefined{fc@get@last@letter}{}{\PackageError{fcnumparser}{Duplicate definition}{Redefinition
+\ifcsundef{fc@get@last@letter}{}{\PackageError{fcnumparser}{Duplicate definition}{Redefinition
of macro `fc@get@last@letter'}}%
\def\fc@get@last@letter#1#2#3{%
{%
@@ -1596,7 +1599,7 @@
% this prefix is that of Russ Rowlett I founds its documentation on Alain Lassine's site:
% \url{http://www.alain.be/Boece/grands\_nombres.html}. First check that macro is not yet defined.
% \begin{macrocode}
-\@ifundefined{fc@@latin@cardinal@pefix}{}{%
+\ifcsundef{fc@@latin@cardinal@pefix}{}{%
\PackageError{fmtcount}{Duplicate definition}{Redefinition of macro `fc@@latin@cardinal@pefix'}}
% \end{macrocode}
% Arguments as follows:\newline\noindent
@@ -1771,7 +1774,7 @@
% etc\ldots I found the algorithm to derive this prefix on Alain Lassine's site:
% \url{http://www.alain.be/Boece/nombres\_gargantuesques.html}. First check that the macro is not yet defined.
% \begin{macrocode}
-\@ifundefined{fc@@latin@numeral@pefix}{}{%
+\ifcsundef{fc@@latin@numeral@pefix}{}{%
\PackageError{fmtcount}{Duplicate definition}{Redefinition of macro
`fc@@latin@numeral@pefix'}}
% \end{macrocode}
@@ -2020,7 +2023,7 @@
% This section deals with the code for |fmtcount.sty|
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{fmtcount}[2013/08/17 v2.03]
+\ProvidesPackage{fmtcount}[2014/06/18 v2.04]
\RequirePackage{ifthen}
\RequirePackage{keyval}
\RequirePackage{etoolbox}
@@ -2174,17 +2177,18 @@
% \end{macrocode}
%\end{macro}
%\begin{option}{french}
+%\changes{2.04}{2014-06-18}{swapped second and third arguments}
% \begin{macrocode}
\define@key{fmtcount}{french}[france]{%
- \@ifundefined{datefrench}%
+ \@FC@iflangloaded{french}%
+ {%
+ \setkeys{fcfrench}{#1}%
+ }%
{%
\PackageError{fmtcount}%
{Language `french' not defined}%
{You need to load babel before loading fmtcount}%
}%
- {%
- \setkeys{fcfrench}{#1}%
- }%
}
% \end{macrocode}
%\end{option}
@@ -2242,7 +2246,7 @@
\newcommand*{\fmtcountsetoptions}[1]{%
\def\fmtcount@fmtord{}%
\setkeys{fmtcount}{#1}%
- \@ifundefined{datefrench}{}%
+ \@FC@iflangloaded{french}{\ifcsundef{@ordinalstringMfrench}%
{%
\edef\@ordinalstringMfrench{\noexpand
\csname @ordinalstringMfrench\fmtcount@french\noexpand\endcsname}%
@@ -2260,7 +2264,7 @@
\csname @NumberstringMfrench\fmtcount@french\noexpand\endcsname}%
\edef\@NumberstringFfrench{\noexpand
\csname @NumberstringFfrench\fmtcount@french\noexpand\endcsname}%
- }%
+ }{}}{}%
\ifthenelse{\equal{\fmtcount@fmtord}{level}}%
{%
\renewcommand{\fmtord}[1]{##1}%
@@ -2304,10 +2308,11 @@
% \begin{macrocode}
\ProcessOptions
% \end{macrocode}
-%\begin{macro}{\@modulo}
+%\begin{macro}{\@FCmodulo}
%\begin{definition}
-%\cs{@modulo}\marg{count reg}\marg{n}
+%\cs{@FCmodulo}\marg{count reg}\marg{n}
%\end{definition}
+%\changes{2.04}{2014-06-18}{renamed \cs{@modulo} to \cs{@FCmodulo}}
% Sets the count register to be its value modulo \meta{n}.
% This is used for the
% date, time, ordinal and numberstring commands. (The
@@ -2315,7 +2320,7 @@
% \sty{datetime} package.)
% \begin{macrocode}
\newcount\@DT@modctr
-\def\@modulo#1#2{%
+\newcommand*{\@FCmodulo}[2]{%
\@DT@modctr=#1\relax
\divide \@DT@modctr by #2\relax
\multiply \@DT@modctr by #2\relax
@@ -2657,7 +2662,7 @@
% for \cs{FCordinal} to maintain compatibility with previous
% versions.
% \begin{macrocode}
-\@ifundefined{ordinal}
+\ifcsundef{ordinal}
{\let\ordinal\FCordinal}%
{%
\PackageWarning{fmtcount}%
@@ -3480,7 +3485,7 @@
% sets the macros to use English.
% \begin{macrocode}
\def\@setdef@ultfmtcount{%
- \@ifundefined{@ordinalMenglish}{\FCloadlang{english}}{}%
+ \ifcsundef{@ordinalMenglish}{\FCloadlang{english}}{}%
\def\@ordinalstringM{\@ordinalstringMenglish}%
\let\@ordinalstringF=\@ordinalstringMenglish
\let\@ordinalstringN=\@ordinalstringMenglish
@@ -3761,11 +3766,11 @@
% argument) to an ordinal, and stores the result in the
% second argument, which should be a control sequence.
% \begin{macrocode}
-\gdef\@ordinalMenglish#1#2{%
+\newcommand*\@ordinalMenglish[2]{%
\def\@fc@ord{}%
\@orgargctr=#1\relax
\@ordinalctr=#1%
-\@modulo{\@ordinalctr}{100}%
+\@FCmodulo{\@ordinalctr}{100}%
\ifnum\@ordinalctr=11\relax
\def\@fc@ord{th}%
\else
@@ -3775,7 +3780,7 @@
\ifnum\@ordinalctr=13\relax
\def\@fc@ord{th}%
\else
- \@modulo{\@ordinalctr}{10}%
+ \@FCmodulo{\@ordinalctr}{10}%
\ifcase\@ordinalctr
\def\@fc@ord{th}% case 0
\or \def\@fc@ord{st}% case 1
@@ -3789,6 +3794,7 @@
\fi
\edef#2{\number#1\relax\noexpand\fmtord{\@fc@ord}}%
}%
+\global\let\@ordinalMenglish\@ordinalMenglish
% \end{macrocode}
% There is no gender difference in English, so make feminine and
% neuter the same as the masculine.
@@ -3801,7 +3807,7 @@
% tens. First, the units: the argument should be between 0 and 9
% inclusive.
% \begin{macrocode}
-\gdef\@@unitstringenglish#1{%
+\newcommand*\@@unitstringenglish[1]{%
\ifcase#1\relax
zero%
\or one%
@@ -3815,11 +3821,12 @@
\or nine%
\fi
}%
+\global\let\@@unitstringenglish\@@unitstringenglish
% \end{macrocode}
% Next the tens, again the argument should be between 0 and 9
% inclusive.
% \begin{macrocode}
-\gdef\@@tenstringenglish#1{%
+\newcommand*\@@tenstringenglish[1]{%
\ifcase#1\relax
\or ten%
\or twenty%
@@ -3832,11 +3839,12 @@
\or ninety%
\fi
}%
+\global\let\@@tenstringenglish\@@tenstringenglish
% \end{macrocode}
% Finally the teens, again the argument should be between 0 and 9
% inclusive.
% \begin{macrocode}
-\gdef\@@teenstringenglish#1{%
+\newcommand*\@@teenstringenglish[1]{%
\ifcase#1\relax
ten%
\or eleven%
@@ -3850,10 +3858,11 @@
\or nineteen%
\fi
}%
+\global\let\@@teenstringenglish\@@teenstringenglish
% \end{macrocode}
% As above, but with the initial letter in uppercase. The units:
% \begin{macrocode}
-\gdef\@@Unitstringenglish#1{%
+\newcommand*\@@Unitstringenglish[1]{%
\ifcase#1\relax
Zero%
\or One%
@@ -3867,10 +3876,11 @@
\or Nine%
\fi
}%
+\global\let\@@Unitstringenglish\@@Unitstringenglish
% \end{macrocode}
% The tens:
% \begin{macrocode}
-\gdef\@@Tenstringenglish#1{%
+\newcommand*\@@Tenstringenglish[1]{%
\ifcase#1\relax
\or Ten%
\or Twenty%
@@ -3883,10 +3893,11 @@
\or Ninety%
\fi
}%
+\global\let\@@Tenstringenglish\@@Tenstringenglish
% \end{macrocode}
% The teens:
% \begin{macrocode}
-\gdef\@@Teenstringenglish#1{%
+\newcommand*\@@Teenstringenglish[1]{%
\ifcase#1\relax
Ten%
\or Eleven%
@@ -3900,6 +3911,7 @@
\or Nineteen%
\fi
}%
+\global\let\@@Teenstringenglish\@@Teenstringenglish
% \end{macrocode}
% This has changed in version 1.09, so that it now stores
% the result in the second argument, but doesn't display anything.
@@ -3907,7 +3919,7 @@
% documents created with older versions. (These internal macros are
% not meant for use in documents.)
% \begin{macrocode}
-\gdef\@@numberstringenglish#1#2{%
+\newcommand*\@@numberstringenglish[2]{%
\ifnum#1>99999
\PackageError{fmtcount}{Out of range}%
{This macro only works for values less than 100000}%
@@ -3927,7 +3939,7 @@ this number}%
\let\@@fc@numstr#2\relax
\edef#2{\@@fc@numstr\@tenstring{\@strctr}}%
\@strctr=#1 \divide\@strctr by 1000\relax
- \@modulo{\@strctr}{10}%
+ \@FCmodulo{\@strctr}{10}%
\ifnum\@strctr>0\relax
\let\@@fc@numstr#2\relax
\edef#2{\@@fc@numstr-\@unitstring{\@strctr}}%
@@ -3935,7 +3947,7 @@ this number}%
\else
\@strctr=#1\relax
\divide\@strctr by 1000\relax
- \@modulo{\@strctr}{10}%
+ \@FCmodulo{\@strctr}{10}%
\let\@@fc@numstr#2\relax
\edef#2{\@@fc@numstr\@teenstring{\@strctr}}%
\fi
@@ -3947,7 +3959,7 @@ this number}%
\edef#2{\@@fc@numstr\@unitstring{\@strctr}\ \@thousand}%
\fi
\fi
-\@strctr=#1\relax \@modulo{\@strctr}{1000}%
+\@strctr=#1\relax \@FCmodulo{\@strctr}{1000}%
\divide\@strctr by 100
\ifnum\@strctr>0\relax
\ifnum#1>1000\relax
@@ -3957,7 +3969,7 @@ this number}%
\let\@@fc@numstr#2\relax
\edef#2{\@@fc@numstr\@unitstring{\@strctr}\ \@hundred}%
\fi
-\@strctr=#1\relax \@modulo{\@strctr}{100}%
+\@strctr=#1\relax \@FCmodulo{\@strctr}{100}%
\ifnum#1>100\relax
\ifnum\@strctr>0\relax
\let\@@fc@numstr#2\relax
@@ -3968,7 +3980,7 @@ this number}%
\divide\@strctr by 10\relax
\let\@@fc@numstr#2\relax
\edef#2{\@@fc@numstr\@tenstring{\@strctr}}%
- \@strctr=#1\relax \@modulo{\@strctr}{10}%
+ \@strctr=#1\relax \@FCmodulo{\@strctr}{10}%
\ifnum\@strctr>0\relax
\let\@@fc@numstr#2\relax
\edef#2{\@@fc@numstr-\@unitstring{\@strctr}}%
@@ -3985,12 +3997,13 @@ this number}%
\edef#2{\@@fc@numstr\@unitstring{\@strctr}}%
\fi
\else
- \@modulo{\@strctr}{10}%
+ \@FCmodulo{\@strctr}{10}%
\let\@@fc@numstr#2\relax
\edef#2{\@@fc@numstr\@teenstring{\@strctr}}%
\fi
\fi
}%
+\global\let\@@numberstringenglish\@@numberstringenglish
% \end{macrocode}
% All lower case version, the second argument must be a
% control sequence.
@@ -4016,7 +4029,7 @@ this number}%
% character (except ``and''). The second argument must be a control
% sequence.
% \begin{macrocode}
-\gdef\@NumberstringMenglish#1#2{%
+\newcommand*\@NumberstringMenglish[2]{%
\let\@unitstring=\@@Unitstringenglish
\let\@teenstring=\@@Teenstringenglish
\let\@tenstring=\@@Tenstringenglish
@@ -4024,6 +4037,7 @@ this number}%
\def\@andname{and}%
\@@numberstringenglish{#1}{#2}%
}%
+\global\let\@NumberstringMenglish\@NumberstringMenglish
% \end{macrocode}
% There is no gender in English, so make feminine and neuter the
% same
@@ -4035,7 +4049,7 @@ this number}%
% Define a macro that produces an ordinal as a string. Again, break
% it up into units, teens and tens. First the units:
% \begin{macrocode}
-\gdef\@@unitthstringenglish#1{%
+\newcommand*\@@unitthstringenglish[1]{%
\ifcase#1\relax
zeroth%
\or first%
@@ -4049,10 +4063,11 @@ this number}%
\or ninth%
\fi
}%
+\global\let\@@unitthstringenglish\@@unitthstringenglish
% \end{macrocode}
% Next the tens:
% \begin{macrocode}
-\gdef\@@tenthstringenglish#1{%
+\newcommand*\@@tenthstringenglish[1]{%
\ifcase#1\relax
\or tenth%
\or twentieth%
@@ -4065,10 +4080,11 @@ this number}%
\or ninetieth%
\fi
}%
+\global\let\@@tenthstringenglish\@@tenthstringenglish
% \end{macrocode}
% The teens:
% \begin{macrocode}
-\gdef\@@teenthstringenglish#1{%
+\newcommand*\@@teenthstringenglish[1]{%
\ifcase#1\relax
tenth%
\or eleventh%
@@ -4082,10 +4098,11 @@ this number}%
\or nineteenth%
\fi
}%
+\global\let\@@teenthstringenglish\@@teenthstringenglish
% \end{macrocode}
% As before, but with the first letter in upper case. The units:
% \begin{macrocode}
-\gdef\@@Unitthstringenglish#1{%
+\newcommand*\@@Unitthstringenglish[1]{%
\ifcase#1\relax
Zeroth%
\or First%
@@ -4099,10 +4116,11 @@ this number}%
\or Ninth%
\fi
}%
+\global\let\@@Unitthstringenglish\@@Unitthstringenglish
% \end{macrocode}
% The tens:
% \begin{macrocode}
-\gdef\@@Tenthstringenglish#1{%
+\newcommand*\@@Tenthstringenglish[1]{%
\ifcase#1\relax
\or Tenth%
\or Twentieth%
@@ -4115,10 +4133,11 @@ this number}%
\or Ninetieth%
\fi
}%
+\global\let\@@Tenthstringenglish\@@Tenthstringenglish
% \end{macrocode}
% The teens:
% \begin{macrocode}
-\gdef\@@Teenthstringenglish#1{%
+\newcommand*\@@Teenthstringenglish[1]{%
\ifcase#1\relax
Tenth%
\or Eleventh%
@@ -4132,13 +4151,14 @@ this number}%
\or Nineteenth%
\fi
}%
+\global\let\@@Teenthstringenglish\@@Teenthstringenglish
% \end{macrocode}
% Again, as from version 1.09, this has been changed to take two
% arguments, where the second argument is a control sequence.
% The resulting text is stored in the control sequence, and nothing
% is displayed.
% \begin{macrocode}
-\gdef\@@ordinalstringenglish#1#2{%
+\newcommand*\@@ordinalstringenglish[2]{%
\@strctr=#1\relax
\ifnum#1>99999
\PackageError{fmtcount}{Out of range}%
@@ -4163,18 +4183,18 @@ this number}%
\edef#2{\@@fc@ordstr\@tenstring{\@strctr}}%
\@strctr=#1\relax
\divide\@strctr by 1000\relax
- \@modulo{\@strctr}{10}%
+ \@FCmodulo{\@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}%
+ \@FCmodulo{\@strctr}{10}%
\let\@@fc@ordstr#2\relax
\edef#2{\@@fc@ordstr\@teenstring{\@strctr}}%
\fi
- \@strctr=#1\relax \@modulo{\@strctr}{1000}%
+ \@strctr=#1\relax \@FCmodulo{\@strctr}{1000}%
\ifnum\@strctr=0\relax
\let\@@fc@ordstr#2\relax
\edef#2{\@@fc@ordstr\ \@thousandth}%
@@ -4186,7 +4206,7 @@ this number}%
\ifnum\@strctr>0\relax
\let\@@fc@ordstr#2\relax
\edef#2{\@@fc@ordstr\@unitstring{\@strctr}}%
- \@strctr=#1\relax \@modulo{\@strctr}{1000}%
+ \@strctr=#1\relax \@FCmodulo{\@strctr}{1000}%
\let\@@fc@ordstr#2\relax
\ifnum\@strctr=0\relax
\edef#2{\@@fc@ordstr\ \@thousandth}%
@@ -4195,7 +4215,7 @@ this number}%
\fi
\fi
\fi
-\@strctr=#1\relax \@modulo{\@strctr}{1000}%
+\@strctr=#1\relax \@FCmodulo{\@strctr}{1000}%
\divide\@strctr by 100
\ifnum\@strctr>0\relax
\ifnum#1>1000\relax
@@ -4204,7 +4224,7 @@ this number}%
\fi
\let\@@fc@ordstr#2\relax
\edef#2{\@@fc@ordstr\@unitstring{\@strctr}}%
- \@strctr=#1\relax \@modulo{\@strctr}{100}%
+ \@strctr=#1\relax \@FCmodulo{\@strctr}{100}%
\let\@@fc@ordstr#2\relax
\ifnum\@strctr=0\relax
\edef#2{\@@fc@ordstr\ \@hundredth}%
@@ -4212,7 +4232,7 @@ this number}%
\edef#2{\@@fc@ordstr\ \@hundred}%
\fi
\fi
-\@strctr=#1\relax \@modulo{\@strctr}{100}%
+\@strctr=#1\relax \@FCmodulo{\@strctr}{100}%
\ifnum#1>100\relax
\ifnum\@strctr>0\relax
\let\@@fc@ordstr#2\relax
@@ -4222,14 +4242,14 @@ this number}%
\ifnum\@strctr>19\relax
\@tmpstrctr=\@strctr
\divide\@strctr by 10\relax
- \@modulo{\@tmpstrctr}{10}%
+ \@FCmodulo{\@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}%
+ \@strctr=#1\relax \@FCmodulo{\@strctr}{10}%
\ifnum\@strctr>0\relax
\let\@@fc@ordstr#2\relax
\edef#2{\@@fc@ordstr-\@unitthstring{\@strctr}}%
@@ -4246,12 +4266,13 @@ this number}%
\edef#2{\@@fc@ordstr\@unitthstring{\@strctr}}%
\fi
\else
- \@modulo{\@strctr}{10}%
+ \@FCmodulo{\@strctr}{10}%
\let\@@fc@ordstr#2\relax
\edef#2{\@@fc@ordstr\@teenthstring{\@strctr}}%
\fi
\fi
}%
+\global\let\@@ordinalstringenglish\@@ordinalstringenglish
% \end{macrocode}
% All lower case version. Again, the second argument must be a
% control sequence in which the resulting text is stored.
@@ -4348,9 +4369,9 @@ this number}%
\ProvidesFCLanguage{french}[2012/10/24]%
% \end{macrocode}
% Package \styfmt{fcprefix} is needed to format the prefix \meta{$n$} in \meta{$n$}illion or
-% \meta{$n$}illiard. Big numbers were developped based reference:
+% \meta{$n$}illiard. Big numbers were developped based on reference:
% \uref{http://www.alain.be/boece/noms\_de\_nombre.html}
-% (Package now loaded by \sty{fmtcount})
+% (Package now loaded by \styfmt{fmtcount})
%
% Options for controlling plural mark. First of all we define some temporary macro \cs{fc@french@set@plural}
% in order to factorize code that defines an plural mark option:\newline\noindent
@@ -4984,12 +5005,13 @@ z\'ero%
% \meta{$n$}illiard, \meta{$n$}illion, mil, cent or vingt, whichever is applicable. First check that the macro
% is not yet defined.
% \begin{macrocode}
-\@ifundefined{fc@@do@plural@mark}{}{\PackageError{fmtcount}{Duplicate definition}{Redefinition of macro
+\ifcsundef{fc@@do@plural@mark}{}%
+{\PackageError{fmtcount}{Duplicate definition}{Redefinition of macro
`fc@@do@plural@mark'}}
% \end{macrocode}
% Arguments as follows:\newline
% \begin{tabularx}{\linewidth}{@{}>{\raggedleft\arraybackslash\ttfamily}rX@{}}
-% \#1&plural mark, `s' in general, but for mil it is \cs{fc@frenchoptions@mil@plural@mark1}\\
+% \#1&plural mark, `s' in general, but for mil it is \cs{fc@frenchoptions@mil@plural@mark}\\
% \end{tabularx}
% Implicit arguments as follows:\newline
% \begin{tabularx}{\linewidth}{@{}>{\raggedleft\arraybackslash\ttfamily}rX@{}}
@@ -5044,7 +5066,7 @@ z\'ero%
% \DescribeMacro\fc@@nbrstr@Fpreamble Macro \cs{fc@@nbrstr@Fpreamble} do the necessary preliminaries before
% formatting a cardinal with feminine gender.
% \begin{macrocode}
-\@ifundefined{fc@@nbrstr@Fpreamble}{}{%
+\ifcsundef{fc@@nbrstr@Fpreamble}{}{%
\PackageError{fmtcount}{Duplicate definition}{Redefinition of macro
`fc@@nbrstr@Fpreamble'}}
% \end{macrocode}
@@ -5076,7 +5098,7 @@ z\'ero%
% powers of ten with long scale convention. The long scale convention is correct for French and elsewhere in
% Europe. First we check that the macro is not yet defined.
% \begin{macrocode}
-\@ifundefined{fc@@pot@longscalefrench}{}{%
+\ifcsundef{fc@@pot@longscalefrench}{}{%
\PackageError{fmtcount}{Duplicate definition}{Redefinition of macro
`fc@@pot@longscalefrench'}}
% \end{macrocode}
@@ -5223,7 +5245,7 @@ z\'ero%
% powers of ten with short scale convention. This convention is the US convention and is not correct for
% French and elsewhere in Europe. First we check that the macro is not yet defined.
% \begin{macrocode}
-\@ifundefined{fc@@pot@shortscalefrench}{}{%
+\ifcsundef{fc@@pot@shortscalefrench}{}{%
\PackageError{fmtcount}{Duplicate definition}{Redefinition of macro
`fc@@pot@shortscalefrench'}}
% \end{macrocode}
@@ -5302,7 +5324,7 @@ z\'ero%
% power of tens that are of the form ``million de milliards de milliards'' for \(10^{24}\). First we check
% that the macro is not yet defined.
% \begin{macrocode}
-\@ifundefined{fc@@pot@recursivefrench}{}{%
+\ifcsundef{fc@@pot@recursivefrench}{}{%
\PackageError{fmtcount}{Duplicate definition}{Redefinition of macro
`fc@@pot@recursivefrench'}}
% \end{macrocode}
@@ -5421,7 +5443,7 @@ z\'ero%
% digits with weight \(w' > w+2\) that have already been formatted. First check that the macro is not yet
% defined.
% \begin{macrocode}
-\@ifundefined{fc@muladdfrench}{}{%
+\ifcsundef{fc@muladdfrench}{}{%
\PackageError{fmtcount}{Duplicate definition}{Redefinition of macro
`fc@muladdfrench'}}
% \end{macrocode}
@@ -5515,7 +5537,7 @@ z\'ero%
% \DescribeMacro\fc@lthundredstringfrench Macro \cs{fc@lthundredstringfrench} is used to format a number in
% interval \([0 \intv 99]\). First we check that it is not already defined.
% \begin{macrocode}
-\@ifundefined{fc@lthundredstringfrench}{}{%
+\ifcsundef{fc@lthundredstringfrench}{}{%
\PackageError{fmtcount}{Duplicate definition}{Redefinition of macro
`fc@lthundredstringfrench'}}
% \end{macrocode}
@@ -5618,7 +5640,7 @@ z\'ero%
% \DescribeMacro\fc@ltthousandstringfrench Macro \cs{fc@ltthousandstringfrench} is used to format a number in
% interval \([0 \intv 999]\). First we check that it is not already defined.
% \begin{macrocode}
-\@ifundefined{fc@ltthousandstringfrench}{}{%
+\ifcsundef{fc@ltthousandstringfrench}{}{%
\PackageError{fmtcount}{Duplicate definition}{Redefinition of macro
`fc@ltthousandstringfrench'}}
% \end{macrocode}
@@ -5699,7 +5721,7 @@ z\'ero%
% \DescribeMacro\@@numberstringfrench Macro \cs{@@numberstringfrench} is the main engine for formatting
% cadinal numbers in French. First we check that the control sequence is not yet defined.
% \begin{macrocode}
-\@ifundefined{@@numberstringfrench}{}{%
+\ifcsundef{@@numberstringfrench}{}{%
\PackageError{fmtcount}{Duplicate definition}{Redefinition of macro `@@numberstringfrench'}}
% \end{macrocode}
% Arguments are as follows:\newline\noindent
@@ -5798,7 +5820,7 @@ z\'ero%
% \DescribeMacro\@@ordinalstringfrench Macro \cs{@@ordinalstringfrench} is the main engine for formatting
% ordinal numbers in French. First check it is not yet defined.
% \begin{macrocode}
-\@ifundefined{@@ordinalstringfrench}{}{%
+\ifcsundef{@@ordinalstringfrench}{}{%
\PackageError{fmtcount}{Duplicate definition}{Redefinition of macro
`@@ordinalstringfrench'}}
% \end{macrocode}
@@ -5977,7 +5999,7 @@ z\'ero%
% German definitions (thank you to K. H. Fricke for supplying
% this information)
% \begin{macrocode}
-\ProvidesFCLanguage{german}[2013/08/17]%
+\ProvidesFCLanguage{german}[2014/06/09]%
% \end{macrocode}
% Define macro that converts a number or count register (first
% argument) to an ordinal, and stores the result in the
@@ -6008,10 +6030,10 @@ z\'ero%
% Units (argument must be a number from 0 to 9, 1 on its own (eins)
% is dealt with separately):
% \begin{macrocode}
-\gdef\@@unitstringgerman#1{%
+\newcommand*\@@unitstringgerman[1]{%
\ifcase#1%
null%
- \or eins%
+ \or ein%
\or zwei%
\or drei%
\or vier%
@@ -6022,10 +6044,11 @@ z\'ero%
\or neun%
\fi
}%
+\global\let\@@unitstringgerman\@@unitstringgerman
% \end{macrocode}
% Tens (argument must go from 1 to 10):
% \begin{macrocode}
-\gdef\@@tenstringgerman#1{%
+\newcommand*\@@tenstringgerman[1]{%
\ifcase#1%
\or zehn%
\or zwanzig%
@@ -6039,6 +6062,7 @@ z\'ero%
\or einhundert%
\fi
}%
+\global\let\@@tenstringgerman\@@tenstringgerman
% \end{macrocode}
% |\einhundert| is set to |einhundert| by default, user can
% redefine this command to just |hundert| if required, similarly
@@ -6051,7 +6075,7 @@ z\'ero%
% \end{macrocode}
% Teens:
% \begin{macrocode}
-\gdef\@@teenstringgerman#1{%
+\newcommand*\@@teenstringgerman[1]{%
\ifcase#1%
zehn%
\or elf%
@@ -6065,6 +6089,7 @@ z\'ero%
\or neunzehn%
\fi
}%
+\global\let\@@teenstringgerman\@@teenstringgerman
% \end{macrocode}
% The results are stored in the second argument, but doesn't
% display anything.
@@ -6170,7 +6195,7 @@ z\'ero%
%\changes{2.0}{2012-09-25}{fixed spelling mistake (correction
%provided by Dominik Wa\ss enhoven)}
% \begin{macrocode}
-\gdef\@@unitthstringMgerman#1{%
+\newcommand*\@@unitthstringMgerman[1]{%
\ifcase#1%
nullter%
\or erster%
@@ -6184,10 +6209,11 @@ z\'ero%
\or neunter%
\fi
}%
+\global\let\@@unitthstringMgerman\@@unitthstringMgerman
% \end{macrocode}
% Tens:
% \begin{macrocode}
-\gdef\@@tenthstringMgerman#1{%
+\newcommand*\@@tenthstringMgerman[1]{%
\ifcase#1%
\or zehnter%
\or zwanzigster%
@@ -6200,10 +6226,11 @@ z\'ero%
\or neunzigster%
\fi
}%
+\global\let\@@tenthstringMgerman\@@tenthstringMgerman
% \end{macrocode}
% Teens:
% \begin{macrocode}
-\gdef\@@teenthstringMgerman#1{%
+\newcommand*\@@teenthstringMgerman[1]{%
\ifcase#1%
zehnter%
\or elfter%
@@ -6217,10 +6244,11 @@ z\'ero%
\or neunzehnter%
\fi
}%
+\global\let\@@teenthstringMgerman\@@teenthstringMgerman
% \end{macrocode}
% Units (feminine):
% \begin{macrocode}
-\gdef\@@unitthstringFgerman#1{%
+\newcommand*\@@unitthstringFgerman[1]{%
\ifcase#1%
nullte%
\or erste%
@@ -6234,10 +6262,11 @@ z\'ero%
\or neunte%
\fi
}%
+\global\let\@@unitthstringFgerman\@@unitthstringFgerman
% \end{macrocode}
% Tens (feminine):
% \begin{macrocode}
-\gdef\@@tenthstringFgerman#1{%
+\newcommand*\@@tenthstringFgerman[1]{%
\ifcase#1%
\or zehnte%
\or zwanzigste%
@@ -6250,10 +6279,11 @@ z\'ero%
\or neunzigste%
\fi
}%
+\global\let\@@tenthstringFgerman\@@tenthstringFgerman
% \end{macrocode}
% Teens (feminine)
% \begin{macrocode}
-\gdef\@@teenthstringFgerman#1{%
+\newcommand*\@@teenthstringFgerman[1]{%
\ifcase#1%
zehnte%
\or elfte%
@@ -6267,12 +6297,13 @@ z\'ero%
\or neunzehnte%
\fi
}%
+\global\let\@@teenthstringFgerman\@@teenthstringFgerman
% \end{macrocode}
% Units (neuter):
%\changes{2.0}{2012-09-25}{fixed spelling mistake (correction
%provided by Dominik Wa\ss enhoven)}
% \begin{macrocode}
-\gdef\@@unitthstringNgerman#1{%
+\newcommand*\@@unitthstringNgerman[1]{%
\ifcase#1%
nulltes%
\or erstes%
@@ -6286,10 +6317,11 @@ z\'ero%
\or neuntes%
\fi
}%
+\global\let\@@unitthstringNgerman\@@unitthstringNgerman
% \end{macrocode}
% Tens (neuter):
% \begin{macrocode}
-\gdef\@@tenthstringNgerman#1{%
+\newcommand*\@@tenthstringNgerman[1]{%
\ifcase#1%
\or zehntes%
\or zwanzigstes%
@@ -6302,10 +6334,11 @@ z\'ero%
\or neunzigstes%
\fi
}%
+\global\let\@@tenthstringNgerman\@@tenthstringNgerman
% \end{macrocode}
% Teens (neuter)
% \begin{macrocode}
-\gdef\@@teenthstringNgerman#1{%
+\newcommand*\@@teenthstringNgerman[1]{%
\ifcase#1%
zehntes%
\or elftes%
@@ -6319,20 +6352,21 @@ z\'ero%
\or neunzehntes%
\fi
}%
+\global\let\@@teenthstringNgerman\@@teenthstringNgerman
% \end{macrocode}
% This appends the results to |\#2| for number |\#2| (in range 0 to
% 100.)
% null and eins are dealt with separately in
% |\@@numberstringgerman|.
% \begin{macrocode}
-\gdef\@@numberunderhundredgerman#1#2{%
+\newcommand*\@@numberunderhundredgerman[2]{%
\ifnum#1<10\relax
\ifnum#1>0\relax
\eappto#2{\@unitstring{#1}}%
\fi
\else
\@tmpstrctr=#1\relax
- \@modulo{\@tmpstrctr}{10}%
+ \@FCmodulo{\@tmpstrctr}{10}%
\ifnum#1<20\relax
\eappto#2{\@teenstring{\@tmpstrctr}}%
\else
@@ -6346,12 +6380,13 @@ z\'ero%
\fi
\fi
}%
+\global\let\@@numberunderhundredgerman\@@numberunderhundredgerman
% \end{macrocode}
% This stores the results in the second argument
% (which must be a control
% sequence), but it doesn't display anything.
% \begin{macrocode}
-\gdef\@@numberstringgerman#1#2{%
+\newcommand*\@@numberstringgerman[2]{%
\ifnum#1>99999\relax
\PackageError{fmtcount}{Out of range}%
{This macro only works for values less than 100000}%
@@ -6380,7 +6415,7 @@ z\'ero%
\fi
\fi
\@strctr=#1\relax
-\@modulo{\@strctr}{1000}%
+\@FCmodulo{\@strctr}{1000}%
\divide\@strctr by 100\relax
\ifnum\@strctr>1\relax
% \end{macrocode}
@@ -6406,7 +6441,7 @@ z\'ero%
\fi
\fi
\@strctr=#1\relax
-\@modulo{\@strctr}{100}%
+\@FCmodulo{\@strctr}{100}%
\ifnum#1=0\relax
\def#2{null}%
\else
@@ -6417,15 +6452,16 @@ z\'ero%
\fi
\fi
}%
+\global\let\@@numberstringgerman\@@numberstringgerman
% \end{macrocode}
% As above, but for ordinals
% \begin{macrocode}
-\gdef\@@numberunderhundredthgerman#1#2{%
+\newcommand*\@@numberunderhundredthgerman[2]{%
\ifnum#1<10\relax
\eappto#2{\@unitthstring{#1}}%
\else
\@tmpstrctr=#1\relax
- \@modulo{\@tmpstrctr}{10}%
+ \@FCmodulo{\@tmpstrctr}{10}%
\ifnum#1<20\relax
\eappto#2{\@teenthstring{\@tmpstrctr}}%
\else
@@ -6439,9 +6475,10 @@ z\'ero%
\fi
\fi
}%
+\global\let\@@numberunderhundredthgerman\@@numberunderhundredthgerman
% \end{macrocode}
% \begin{macrocode}
-\gdef\@@ordinalstringgerman#1#2{%
+\newcommand*\@@ordinalstringgerman[2]{%
\ifnum#1>99999\relax
\PackageError{fmtcount}{Out of range}%
{This macro only works for values less than 100000}%
@@ -6463,7 +6500,7 @@ z\'ero%
% \end{macrocode}
% is that it, or is there more?
% \begin{macrocode}
- \@tmpstrctr=#1\relax \@modulo{\@tmpstrctr}{1000}%
+ \@tmpstrctr=#1\relax \@FCmodulo{\@tmpstrctr}{1000}%
\ifnum\@tmpstrctr=0\relax
\eappto#2{\@thousandth}%
\else
@@ -6482,14 +6519,14 @@ z\'ero%
\fi
\fi
\@strctr=#1\relax
-\@modulo{\@strctr}{1000}%
+\@FCmodulo{\@strctr}{1000}%
\divide\@strctr by 100\relax
\ifnum\@strctr>1\relax
% \end{macrocode}
% now dealing with number in range [200,999]
% is that it, or is there more?
% \begin{macrocode}
- \@tmpstrctr=#1\relax \@modulo{\@tmpstrctr}{100}%
+ \@tmpstrctr=#1\relax \@FCmodulo{\@tmpstrctr}{100}%
\ifnum\@tmpstrctr=0\relax
\ifnum\@strctr=1\relax
\eappto#2{\@hundredth}%
@@ -6505,7 +6542,7 @@ z\'ero%
% dealing with number in range [100,199]
% is that it, or is there more?
% \begin{macrocode}
- \@tmpstrctr=#1\relax \@modulo{\@tmpstrctr}{100}%
+ \@tmpstrctr=#1\relax \@FCmodulo{\@tmpstrctr}{100}%
\ifnum\@tmpstrctr=0\relax
\eappto#2{\@hundredth}%
\else
@@ -6518,11 +6555,12 @@ z\'ero%
\fi
\fi
\@strctr=#1\relax
-\@modulo{\@strctr}{100}%
+\@FCmodulo{\@strctr}{100}%
\ifthenelse{\@strctr=0 \and #1>0}{}{%
\@@numberunderhundredthgerman{\@strctr}{#2}%
}%
}%
+\global\let\@@ordinalstringgerman\@@ordinalstringgerman
% \end{macrocode}
% Load fc-germanb.def if not already loaded
% \begin{macrocode}
@@ -6722,29 +6760,31 @@ z\'ero%
% \subsubsection{fc-portuges.def}
% Portuguse definitions
% \begin{macrocode}
-\ProvidesFCLanguage{portuges}[2013/08/17]%
+\ProvidesFCLanguage{portuges}[2014/06/09]%
% \end{macrocode}
% Define macro that converts a number or count register (first
% argument) to an ordinal, and stores the result in the second
% argument, which should be a control sequence. Masculine:
% \begin{macrocode}
-\gdef\@ordinalMportuges#1#2{%
+\newcommand*\@ordinalMportuges[2]{%
\ifnum#1=0\relax
\edef#2{\number#1}%
\else
\edef#2{\number#1\relax\noexpand\fmtord{o}}%
\fi
}%
+\global\let\@ordinalMportuges\@ordinalMportuges
% \end{macrocode}
% Feminine:
% \begin{macrocode}
-\gdef\@ordinalFportuges#1#2{%
+\newcommand*\@ordinalFportuges[2]{%
\ifnum#1=0\relax
\edef#2{\number#1}%
\else
\edef#2{\number#1\relax\noexpand\fmtord{a}}%
\fi
}%
+\global\let\@ordinalFportuges\@ordinalFportuges
% \end{macrocode}
% Make neuter same as masculine:
% \begin{macrocode}
@@ -6754,8 +6794,10 @@ z\'ero%
% split it up into units, tens, teens and hundreds. Units (argument
% must
% be a number from 0 to 9):
+%\changes{2.04}{2014-06-09}{Fixed bug that had incorrect number of
+%parameters specified}
% \begin{macrocode}
-\gdef\@@unitstringportuges#1#2{%
+\newcommand*\@@unitstringportuges[1]{%
\ifcase#1\relax
zero%
\or um%
@@ -6769,10 +6811,11 @@ z\'ero%
\or nove%
\fi
}%
+\global\let\@@unitstringportuges\@@unitstringportuges
% \end{macrocode}
% As above, but for feminine:
% \begin{macrocode}
-\gdef\@@unitstringFportuges#1{%
+\newcommand*\@@unitstringFportuges[1]{%
\ifcase#1\relax
zero%
\or uma%
@@ -6786,10 +6829,11 @@ z\'ero%
\or nove%
\fi
}%
+\global\let\@@unitstringFportuges\@@unitstringFportuges
% \end{macrocode}
% Tens (argument must be a number from 0 to 10):
% \begin{macrocode}
-\gdef\@@tenstringportuges#1{%
+\newcommand*\@@tenstringportuges[1]{%
\ifcase#1\relax
\or dez%
\or vinte%
@@ -6803,10 +6847,11 @@ z\'ero%
\or cem%
\fi
}%
+\global\let\@@tenstringportuges\@@tenstringportuges
% \end{macrocode}
% Teens (argument must be a number from 0 to 9):
% \begin{macrocode}
-\gdef\@@teenstringportuges#1{%
+\newcommand*\@@teenstringportuges[1]{%
\ifcase#1\relax
dez%
\or onze%
@@ -6820,10 +6865,11 @@ z\'ero%
\or dezenove%
\fi
}%
+\global\let\@@teenstringportuges\@@teenstringportuges
% \end{macrocode}
% Hundreds:
% \begin{macrocode}
-\gdef\@@hundredstringportuges#1{%
+\newcommand*\@@hundredstringportuges[1]{%
\ifcase#1\relax
\or cento%
\or duzentos%
@@ -6836,10 +6882,11 @@ z\'ero%
\or novecentos%
\fi
}%
+\global\let\@@hundredstringportuges\@@hundredstringportuges
% \end{macrocode}
% Hundreds (feminine):
% \begin{macrocode}
-\gdef\@@hundredstringFportuges#1{%
+\newcommand*\@@hundredstringFportuges[1]{%
\ifcase#1\relax
\or cento%
\or duzentas%
@@ -6852,10 +6899,11 @@ z\'ero%
\or novecentas%
\fi
}%
+\global\let\@@hundredstringFportuges\@@hundredstringFportuges
% \end{macrocode}
% Units (initial letter in upper case):
% \begin{macrocode}
-\gdef\@@Unitstringportuges#1{%
+\newcommand*\@@Unitstringportuges[1]{%
\ifcase#1\relax
Zero%
\or Um%
@@ -6869,10 +6917,11 @@ z\'ero%
\or Nove%
\fi
}%
+\global\let\@@Unitstringportuges\@@Unitstringportuges
% \end{macrocode}
% As above, but feminine:
% \begin{macrocode}
-\gdef\@@UnitstringFportuges#1{%
+\newcommand*\@@UnitstringFportuges[1]{%
\ifcase#1\relax
Zera%
\or Uma%
@@ -6886,10 +6935,11 @@ z\'ero%
\or Nove%
\fi
}%
+\global\let\@@UnitstringFportuges\@@UnitstringFportuges
% \end{macrocode}
% Tens (with initial letter in upper case):
% \begin{macrocode}
-\gdef\@@Tenstringportuges#1{%
+\newcommand*\@@Tenstringportuges[1]{%
\ifcase#1\relax
\or Dez%
\or Vinte%
@@ -6903,10 +6953,11 @@ z\'ero%
\or Cem%
\fi
}%
+\global\let\@@Tenstringportuges\@@Tenstringportuges
% \end{macrocode}
% Teens (with initial letter in upper case):
% \begin{macrocode}
-\gdef\@@Teenstringportuges#1{%
+\newcommand*\@@Teenstringportuges[1]{%
\ifcase#1\relax
Dez%
\or Onze%
@@ -6920,10 +6971,11 @@ z\'ero%
\or Dezenove%
\fi
}%
+\global\let\@@Teenstringportuges\@@Teenstringportuges
% \end{macrocode}
% Hundreds (with initial letter in upper case):
% \begin{macrocode}
-\gdef\@@Hundredstringportuges#1{%
+\newcommand*\@@Hundredstringportuges[1]{%
\ifcase#1\relax
\or Cento%
\or Duzentos%
@@ -6936,10 +6988,11 @@ z\'ero%
\or Novecentos%
\fi
}%
+\global\let\@@Hundredstringportuges\@@Hundredstringportuges
% \end{macrocode}
% As above, but feminine:
% \begin{macrocode}
-\gdef\@@HundredstringFportuges#1{%
+\newcommand*\@@HundredstringFportuges[1]{%
\ifcase#1\relax
\or Cento%
\or Duzentas%
@@ -6952,6 +7005,7 @@ z\'ero%
\or Novecentas%
\fi
}%
+\global\let\@@HundredstringFportuges\@@HundredstringFportuges
% \end{macrocode}
% This has changed in version 1.08, so that it now stores
% the result in the second argument, but doesn't display
@@ -7080,7 +7134,7 @@ z\'ero%
% In order to do the ordinals, split into units, teens, tens
% and hundreds. Units:
% \begin{macrocode}
-\gdef\@@unitthstringportuges#1{%
+\newcommand*\@@unitthstringportuges[1]{%
\ifcase#1\relax
zero%
\or primeiro%
@@ -7094,10 +7148,11 @@ z\'ero%
\or nono%
\fi
}%
+\global\let\@@unitthstringportuges\@@unitthstringportuges
% \end{macrocode}
% Tens:
% \begin{macrocode}
-\gdef\@@tenthstringportuges#1{%
+\newcommand*\@@tenthstringportuges[1]{%
\ifcase#1\relax
\or d\'ecimo%
\or vig\'esimo%
@@ -7110,19 +7165,21 @@ z\'ero%
\or nonag\'esimo%
\fi
}%
+\global\let\@@tenthstringportuges\@@tenthstringportuges
% \end{macrocode}
% Teens:
% \begin{macrocode}
-\gdef\@@teenthstringportuges#1{%
+\newcommand*\@@teenthstringportuges[1]{%
\@tenthstring{1}%
\ifnum#1>0\relax
-\@unitthstring{#1}%
\fi
}%
+\global\let\@@teenthstringportuges\@@teenthstringportuges
% \end{macrocode}
% Hundreds:
% \begin{macrocode}
-\gdef\@@hundredthstringportuges#1{%
+\newcommand*\@@hundredthstringportuges[1]{%
\ifcase#1\relax
\or cent\'esimo%
\or ducent\'esimo%
@@ -7135,10 +7192,11 @@ z\'ero%
\or nongent\'esimo%
\fi
}%
+\global\let\@@hundredthstringportuges\@@hundredthstringportuges
% \end{macrocode}
% Units (feminine):
% \begin{macrocode}
-\gdef\@@unitthstringFportuges#1{%
+\newcommand*\@@unitthstringFportuges[1]{%
\ifcase#1\relax
zero%
\or primeira%
@@ -7152,10 +7210,11 @@ z\'ero%
\or nona%
\fi
}%
+\global\let\@@unitthstringFportuges\@@unitthstringFportuges
% \end{macrocode}
% Tens (feminine):
% \begin{macrocode}
-\gdef\@@tenthstringFportuges#1{%
+\newcommand*\@@tenthstringFportuges[1]{%
\ifcase#1\relax
\or d\'ecima%
\or vig\'esima%
@@ -7168,10 +7227,11 @@ z\'ero%
\or nonag\'esima%
\fi
}%
+\global\let\@@tenthstringFportuges\@@tenthstringFportuges
% \end{macrocode}
% Hundreds (feminine):
% \begin{macrocode}
-\gdef\@@hundredthstringFportuges#1{%
+\newcommand*\@@hundredthstringFportuges[1]{%
\ifcase#1\relax
\or cent\'esima%
\or ducent\'esima%
@@ -7184,10 +7244,11 @@ z\'ero%
\or nongent\'esima%
\fi
}%
+\global\let\@@hundredthstringFportuges\@@hundredthstringFportuges
% \end{macrocode}
% As above, but with initial letter in upper case. Units:
% \begin{macrocode}
-\gdef\@@Unitthstringportuges#1{%
+\newcommand*\@@Unitthstringportuges[1]{%
\ifcase#1\relax
Zero%
\or Primeiro%
@@ -7201,10 +7262,11 @@ z\'ero%
\or Nono%
\fi
}%
+\global\let\@@Unitthstringportuges\@@Unitthstringportuges
% \end{macrocode}
% Tens:
% \begin{macrocode}
-\gdef\@@Tenthstringportuges#1{%
+\newcommand*\@@Tenthstringportuges[1]{%
\ifcase#1\relax
\or D\'ecimo%
\or Vig\'esimo%
@@ -7217,10 +7279,11 @@ z\'ero%
\or Nonag\'esimo%
\fi
}%
+\global\let\@@Tenthstringportuges\@@Tenthstringportuges
% \end{macrocode}
% Hundreds:
% \begin{macrocode}
-\gdef\@@Hundredthstringportuges#1{%
+\newcommand*\@@Hundredthstringportuges[1]{%
\ifcase#1\relax
\or Cent\'esimo%
\or Ducent\'esimo%
@@ -7233,10 +7296,11 @@ z\'ero%
\or Nongent\'esimo%
\fi
}%
+\global\let\@@Hundredthstringportuges\@@Hundredthstringportuges
% \end{macrocode}
% As above, but feminine. Units:
% \begin{macrocode}
-\gdef\@@UnitthstringFportuges#1{%
+\newcommand*\@@UnitthstringFportuges[1]{%
\ifcase#1\relax
Zera%
\or Primeira%
@@ -7250,10 +7314,11 @@ z\'ero%
\or Nona%
\fi
}%
+\global\let\@@UnitthstringFportuges\@@UnitthstringFportuges
% \end{macrocode}
% Tens (feminine);
% \begin{macrocode}
-\gdef\@@TenthstringFportuges#1{%
+\newcommand*\@@TenthstringFportuges[1]{%
\ifcase#1\relax
\or D\'ecima%
\or Vig\'esima%
@@ -7266,10 +7331,11 @@ z\'ero%
\or Nonag\'esima%
\fi
}%
+\global\let\@@TenthstringFportuges\@@TenthstringFportuges
% \end{macrocode}
% Hundreds (feminine):
% \begin{macrocode}
-\gdef\@@HundredthstringFportuges#1{%
+\newcommand*\@@HundredthstringFportuges[1]{%
\ifcase#1\relax
\or Cent\'esima%
\or Ducent\'esima%
@@ -7282,6 +7348,7 @@ z\'ero%
\or Nongent\'esima%
\fi
}%
+\global\let\@@HundredthstringFportuges\@@HundredthstringFportuges
% \end{macrocode}
% This has changed in version 1.09, so that it now stores
% the result in the second argument (a control sequence), but it
@@ -7289,120 +7356,121 @@ z\'ero%
% it shouldn't affect documents created with older versions.
% (These internal macros are not meant for use in documents.)
% \begin{macrocode}
-\gdef\@@numberstringportuges#1#2{%
-\ifnum#1>99999
-\PackageError{fmtcount}{Out of range}%
-{This macro only works for values less than 100000}%
+\newcommand*\@@numberstringportuges[2]{%
+\ifnum#1>99999\relax
+ \PackageError{fmtcount}{Out of range}%
+ {This macro only works for values less than 100000}%
\else
-\ifnum#1<0
-\PackageError{fmtcount}{Negative numbers not permitted}%
-{This macro does not work for negative numbers, however
-you can try typing "minus" first, and then pass the modulus of
-this number}%
-\fi
+ \ifnum#1<0\relax
+ \PackageError{fmtcount}{Negative numbers not permitted}%
+ {This macro does not work for negative numbers, however
+ you can try typing "minus" first, and then pass the modulus of
+ this number}%
+ \fi
\fi
\def#2{}%
\@strctr=#1\relax \divide\@strctr by 1000\relax
-\ifnum\@strctr>9
+\ifnum\@strctr>9\relax
% \end{macrocode}
% \#1 is greater or equal to 10000
% \begin{macrocode}
- \divide\@strctr by 10
+ \divide\@strctr by 10\relax
\ifnum\@strctr>1\relax
\let\@@fc@numstr#2\relax
- \edef#2{\@@fc@numstr\@tenstring{\@strctr}}%
+ \protected@edef#2{\@@fc@numstr\@tenstring{\@strctr}}%
\@strctr=#1 \divide\@strctr by 1000\relax
- \@modulo{\@strctr}{10}%
+ \@FCmodulo{\@strctr}{10}%
\ifnum\@strctr>0
\ifnum\@strctr=1\relax
\let\@@fc@numstr#2\relax
- \edef#2{\@@fc@numstr\ \@andname}%
+ \protected@edef#2{\@@fc@numstr\ \@andname}%
\fi
\let\@@fc@numstr#2\relax
- \edef#2{\@@fc@numstr\ \@unitstring{\@strctr}}%
+ \protected@edef#2{\@@fc@numstr\ \@unitstring{\@strctr}}%
\fi
\else
\@strctr=#1\relax
\divide\@strctr by 1000\relax
- \@modulo{\@strctr}{10}%
+ \@FCmodulo{\@strctr}{10}%
\let\@@fc@numstr#2\relax
- \edef#2{\@@fc@numstr\@teenstring{\@strctr}}%
+ \protected@edef#2{\@@fc@numstr\@teenstring{\@strctr}}%
\fi
\let\@@fc@numstr#2\relax
- \edef#2{\@@fc@numstr\ \@thousand}%
+ \protected@edef#2{\@@fc@numstr\ \@thousand}%
\else
\ifnum\@strctr>0\relax
\ifnum\@strctr>1\relax
\let\@@fc@numstr#2\relax
- \edef#2{\@@fc@numstr\@unitstring{\@strctr}\ }%
+ \protected@edef#2{\@@fc@numstr\@unitstring{\@strctr}\ }%
\fi
\let\@@fc@numstr#2\relax
- \edef#2{\@@fc@numstr\@thousand}%
+ \protected@edef#2{\@@fc@numstr\@thousand}%
\fi
\fi
-\@strctr=#1\relax \@modulo{\@strctr}{1000}%
+\@strctr=#1\relax \@FCmodulo{\@strctr}{1000}%
\divide\@strctr by 100\relax
\ifnum\@strctr>0\relax
\ifnum#1>1000 \relax
\let\@@fc@numstr#2\relax
- \edef#2{\@@fc@numstr\ }%
+ \protected@edef#2{\@@fc@numstr\ }%
\fi
\@tmpstrctr=#1\relax
- \@modulo{\@tmpstrctr}{1000}%
+ \@FCmodulo{\@tmpstrctr}{1000}%
\let\@@fc@numstr#2\relax
\ifnum\@tmpstrctr=100\relax
- \edef#2{\@@fc@numstr\@tenstring{10}}%
+ \protected@edef#2{\@@fc@numstr\@tenstring{10}}%
\else
- \edef#2{\@@fc@numstr\@hundredstring{\@strctr}}%
+ \protected@edef#2{\@@fc@numstr\@hundredstring{\@strctr}}%
\fi%
\fi
-\@strctr=#1\relax \@modulo{\@strctr}{100}%
+\@strctr=#1\relax \@FCmodulo{\@strctr}{100}%
\ifnum#1>100\relax
\ifnum\@strctr>0\relax
\let\@@fc@numstr#2\relax
- \edef#2{\@@fc@numstr\ \@andname\ }%
+ \protected@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}%
+ \protected@edef#2{\@@fc@numstr\@tenstring{\@strctr}}%
+ \@strctr=#1\relax \@FCmodulo{\@strctr}{10}%
\ifnum\@strctr>0
\ifnum\@strctr=1\relax
\let\@@fc@numstr#2\relax
- \edef#2{\@@fc@numstr\ \@andname}%
+ \protected@edef#2{\@@fc@numstr\ \@andname}%
\else
\ifnum#1>100\relax
\let\@@fc@numstr#2\relax
- \edef#2{\@@fc@numstr\ \@andname}%
+ \protected@edef#2{\@@fc@numstr\ \@andname}%
\fi
\fi
\let\@@fc@numstr#2\relax
- \edef#2{\@@fc@numstr\ \@unitstring{\@strctr}}%
+ \protected@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}}%
+ \protected@edef#2{\@@fc@numstr\@unitstring{\@strctr}}%
\fi
- \else%(>0,<10)
+ \else %(>0,<10)
\let\@@fc@numstr#2\relax
- \edef#2{\@@fc@numstr\@unitstring{\@strctr}}%
+ \protected@edef#2{\@@fc@numstr\@unitstring{\@strctr}}%
\fi
\else%>10
- \@modulo{\@strctr}{10}%
+ \@FCmodulo{\@strctr}{10}%
\let\@@fc@numstr#2\relax
- \edef#2{\@@fc@numstr\@teenstring{\@strctr}}%
+ \protected@edef#2{\@@fc@numstr\@teenstring{\@strctr}}%
\fi
\fi
}%
+\global\let\@@numberstringportuges\@@numberstringportuges
% \end{macrocode}
% As above, but for ordinals.
% \begin{macrocode}
-\gdef\@@ordinalstringportuges#1#2{%
+\newcommand*\@@ordinalstringportuges[2]{%
\@strctr=#1\relax
\ifnum#1>99999
\PackageError{fmtcount}{Out of range}%
@@ -7421,72 +7489,73 @@ this number}%
\ifnum\@strctr>9\relax
\@tmpstrctr=\@strctr
\ifnum\@strctr<20
- \@modulo{\@tmpstrctr}{10}%
+ \@FCmodulo{\@tmpstrctr}{10}%
\let\@@fc@ordstr#2\relax
- \edef#2{\@@fc@ordstr\@teenthstring{\@tmpstrctr}}%
+ \protected@edef#2{\@@fc@ordstr\@teenthstring{\@tmpstrctr}}%
\else
\divide\@tmpstrctr by 10\relax
\let\@@fc@ordstr#2\relax
- \edef#2{\@@fc@ordstr\@tenthstring{\@tmpstrctr}}%
+ \protected@edef#2{\@@fc@ordstr\@tenthstring{\@tmpstrctr}}%
\@tmpstrctr=\@strctr
- \@modulo{\@tmpstrctr}{10}%
+ \@FCmodulo{\@tmpstrctr}{10}%
\ifnum\@tmpstrctr>0\relax
\let\@@fc@ordstr#2\relax
- \edef#2{\@@fc@ordstr\@unitthstring{\@tmpstrctr}}%
+ \protected@edef#2{\@@fc@ordstr\@unitthstring{\@tmpstrctr}}%
\fi
\fi
\else
\let\@@fc@ordstr#2\relax
- \edef#2{\@@fc@ordstr\@unitstring{\@strctr}}%
+ \protected@edef#2{\@@fc@ordstr\@unitstring{\@strctr}}%
\fi
\fi
\let\@@fc@ordstr#2\relax
- \edef#2{\@@fc@ordstr\@thousandth}%
+ \protected@edef#2{\@@fc@ordstr\@thousandth}%
\fi
\@strctr=#1\relax
-\@modulo{\@strctr}{1000}%
+\@FCmodulo{\@strctr}{1000}%
\ifnum\@strctr>99\relax
\@tmpstrctr=\@strctr
\divide\@tmpstrctr by 100\relax
\ifnum#1>1000\relax
\let\@@fc@ordstr#2\relax
- \edef#2{\@@fc@ordstr-}%
+ \protected@edef#2{\@@fc@ordstr-}%
\fi
\let\@@fc@ordstr#2\relax
- \edef#2{\@@fc@ordstr\@hundredthstring{\@tmpstrctr}}%
+ \protected@edef#2{\@@fc@ordstr\@hundredthstring{\@tmpstrctr}}%
\fi
-\@modulo{\@strctr}{100}%
+\@FCmodulo{\@strctr}{100}%
\ifnum#1>99\relax
\ifnum\@strctr>0\relax
\let\@@fc@ordstr#2\relax
- \edef#2{\@@fc@ordstr-}%
+ \protected@edef#2{\@@fc@ordstr-}%
\fi
\fi
\ifnum\@strctr>9\relax
\@tmpstrctr=\@strctr
\divide\@tmpstrctr by 10\relax
\let\@@fc@ordstr#2\relax
- \edef#2{\@@fc@ordstr\@tenthstring{\@tmpstrctr}}%
+ \protected@edef#2{\@@fc@ordstr\@tenthstring{\@tmpstrctr}}%
\@tmpstrctr=\@strctr
- \@modulo{\@tmpstrctr}{10}%
+ \@FCmodulo{\@tmpstrctr}{10}%
\ifnum\@tmpstrctr>0\relax
\let\@@fc@ordstr#2\relax
- \edef#2{\@@fc@ordstr-\@unitthstring{\@tmpstrctr}}%
+ \protected@edef#2{\@@fc@ordstr-\@unitthstring{\@tmpstrctr}}%
\fi
\else
\ifnum\@strctr=0\relax
\ifnum#1=0\relax
\let\@@fc@ordstr#2\relax
- \edef#2{\@@fc@ordstr\@unitstring{0}}%
+ \protected@edef#2{\@@fc@ordstr\@unitstring{0}}%
\fi
\else
\let\@@fc@ordstr#2\relax
- \edef#2{\@@fc@ordstr\@unitthstring{\@strctr}}%
+ \protected@edef#2{\@@fc@ordstr\@unitthstring{\@strctr}}%
\fi
\fi
\fi
\fi
}%
+\global\let\@@ordinalstringportuges\@@ordinalstringportuges
% \end{macrocode}
%\iffalse
% \begin{macrocode}
@@ -7495,6 +7564,43 @@ this number}%
%\fi
%\iffalse
% \begin{macrocode}
+%<*fc-portuguese.def>
+% \end{macrocode}
+%\fi
+% \subsubsection{fc-portuguese.def}
+% \begin{macrocode}
+\ProvidesFCLanguage{portuguese}[2014/06/09]%
+% \end{macrocode}
+% Load fc-portuges.def if not already loaded
+% \begin{macrocode}
+\FCloadlang{portuges}%
+% \end{macrocode}
+% Set |portuguese| to be equivalent to |portuges|.
+% \begin{macrocode}
+\global\let\@ordinalMportuguese=\@ordinalMportuges
+\global\let\@ordinalFportuguese=\@ordinalFportuges
+\global\let\@ordinalNportuguese=\@ordinalNportuges
+\global\let\@numberstringMportuguese=\@numberstringMportuges
+\global\let\@numberstringFportuguese=\@numberstringFportuges
+\global\let\@numberstringNportuguese=\@numberstringNportuges
+\global\let\@NumberstringMportuguese=\@NumberstringMportuges
+\global\let\@NumberstringFportuguese=\@NumberstringFportuges
+\global\let\@NumberstringNportuguese=\@NumberstringNportuges
+\global\let\@ordinalstringMportuguese=\@ordinalstringMportuges
+\global\let\@ordinalstringFportuguese=\@ordinalstringFportuges
+\global\let\@ordinalstringNportuguese=\@ordinalstringNportuges
+\global\let\@OrdinalstringMportuguese=\@OrdinalstringMportuges
+\global\let\@OrdinalstringFportuguese=\@OrdinalstringFportuges
+\global\let\@OrdinalstringNportuguese=\@OrdinalstringNportuges
+% \end{macrocode}
+
+%\iffalse
+% \begin{macrocode}
+%</fc-portuguese.def>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
%<*fc-spanish.def>
% \end{macrocode}
%\fi
@@ -7508,15 +7614,17 @@ this number}%
% second argument, which must be a control sequence.
% Masculine:
% \begin{macrocode}
-\gdef\@ordinalMspanish#1{%
+\newcommand*\@ordinalMspanish[2]{%
\edef#2{\number#1\relax\noexpand\fmtord{o}}%
}%
+\global\let\@ordinalMspanish\@ordinalMspanish
% \end{macrocode}
% Feminine:
% \begin{macrocode}
-\gdef\@ordinalFspanish}[2]{%
+\newcommand{\@ordinalFspanish}[2]{%
\edef#2{\number#1\relax\noexpand\fmtord{a}}%
}%
+\global\let\@ordinalFspanish\@ordinalFspanish
% \end{macrocode}
% Make neuter same as masculine:
% \begin{macrocode}
@@ -7526,7 +7634,7 @@ this number}%
% break it up into units, tens, teens, twenties and hundreds.
% Units (argument must be a number from 0 to 9):
% \begin{macrocode}
-\gdef\@@unitstringspanish#1{%
+\newcommand*\@@unitstringspanish[1]{%
\ifcase#1\relax
cero%
\or uno%
@@ -7540,10 +7648,11 @@ this number}%
\or nueve%
\fi
}%
+\global\let\@@unitstringspanish\@@unitstringspanish
% \end{macrocode}
% Feminine:
% \begin{macrocode}
-\gdef\@@unitstringFspanish#1{%
+\newcommand*\@@unitstringFspanish[1]{%
\ifcase#1\relax
cera%
\or una%
@@ -7557,12 +7666,13 @@ this number}%
\or nueve%
\fi
}%
+\global\let\@@unitstringFspanish\@@unitstringFspanish
% \end{macrocode}
% Tens (argument must go from 1 to 10):
%\changes{2.0}{2012-06-18}{fixed spelling mistake (correction
%provided by Fernando Maldonado)}
% \begin{macrocode}
-\gdef\@@tenstringspanish#1{%
+\newcommand*\@@tenstringspanish[1]{%
\ifcase#1\relax
\or diez%
\or veinte%
@@ -7576,10 +7686,11 @@ this number}%
\or cien%
\fi
}%
+\global\let\@@tenstringspanish\@@tenstringspanish
% \end{macrocode}
% Teens:
% \begin{macrocode}
-\gdef\@@teenstringspanish#1{%
+\newcommand*\@@teenstringspanish[1]{%
\ifcase#1\relax
diez%
\or once%
@@ -7593,10 +7704,11 @@ this number}%
\or diecinueve%
\fi
}%
+\global\let\@@teenstringspanish\@@teenstringspanish
% \end{macrocode}
% Twenties:
% \begin{macrocode}
-\gdef\@@twentystringspanish#1{%
+\newcommand*\@@twentystringspanish[1]{%
\ifcase#1\relax
veinte%
\or veintiuno%
@@ -7610,10 +7722,11 @@ this number}%
\or veintinueve%
\fi
}%
+\global\let\@@twentystringspanish\@@twentystringspanish
% \end{macrocode}
% Feminine form:
% \begin{macrocode}
-\gdef\@@twentystringFspanish#1{%
+\newcommand*\@@twentystringFspanish[1]{%
\ifcase#1\relax
veinte%
\or veintiuna%
@@ -7627,10 +7740,11 @@ this number}%
\or veintinueve%
\fi
}%
+\global\let\@@twentystringFspanish\@@twentystringFspanish
% \end{macrocode}
% Hundreds:
% \begin{macrocode}
-\gdef\@@hundredstringspanish#1{%
+\newcommand*\@@hundredstringspanish[1]{%
\ifcase#1\relax
\or ciento%
\or doscientos%
@@ -7643,10 +7757,11 @@ this number}%
\or novecientos%
\fi
}%
+\global\let\@@hundredstringspanish\@@hundredstringspanish
% \end{macrocode}
% Feminine form:
% \begin{macrocode}
-\gdef\@@hundredstringFspanish#1{%
+\newcommand*\@@hundredstringFspanish[1]{%
\ifcase#1\relax
\or cienta%
\or doscientas%
@@ -7659,10 +7774,11 @@ this number}%
\or novecientas%
\fi
}%
+\global\let\@@hundredstringFspanish\@@hundredstringFspanish
% \end{macrocode}
% As above, but with initial letter uppercase:
% \begin{macrocode}
-\gdef\@@Unitstringspanish#1{%
+\newcommand*\@@Unitstringspanish[1]{%
\ifcase#1\relax
Cero%
\or Uno%
@@ -7676,10 +7792,11 @@ this number}%
\or Nueve%
\fi
}%
+\global\let\@@Unitstringspanish\@@Unitstringspanish
% \end{macrocode}
% Feminine form:
% \begin{macrocode}
-\gdef\@@UnitstringFspanish#1{%
+\newcommand*\@@UnitstringFspanish[1]{%
\ifcase#1\relax
Cera%
\or Una%
@@ -7693,12 +7810,13 @@ this number}%
\or Nueve%
\fi
}%
+\global\let\@@UnitstringFspanish\@@UnitstringFspanish
% \end{macrocode}
% Tens:
% \begin{macrocode}
%\changes{2.0}{2012-06-18}{fixed spelling mistake (correction
%provided by Fernando Maldonado)}
-\gdef\@@Tenstringspanish#1{%
+\newcommand*\@@Tenstringspanish[1]{%
\ifcase#1\relax
\or Diez%
\or Veinte%
@@ -7712,10 +7830,11 @@ this number}%
\or Cien%
\fi
}%
+\global\let\@@Tenstringspanish\@@Tenstringspanish
% \end{macrocode}
% Teens:
% \begin{macrocode}
-\gdef\@@Teenstringspanish#1{%
+\newcommand*\@@Teenstringspanish[1]{%
\ifcase#1\relax
Diez%
\or Once%
@@ -7729,10 +7848,11 @@ this number}%
\or Diecinueve%
\fi
}%
+\global\let\@@Teenstringspanish\@@Teenstringspanish
% \end{macrocode}
% Twenties:
% \begin{macrocode}
-\gdef\@@Twentystringspanish#1{%
+\newcommand*\@@Twentystringspanish[1]{%
\ifcase#1\relax
Veinte%
\or Veintiuno%
@@ -7746,10 +7866,11 @@ this number}%
\or Veintinueve%
\fi
}%
+\global\let\@@Twentystringspanish\@@Twentystringspanish
% \end{macrocode}
% Feminine form:
% \begin{macrocode}
-\gdef\@@TwentystringFspanish#1{%
+\newcommand*\@@TwentystringFspanish[1]{%
\ifcase#1\relax
Veinte%
\or Veintiuna%
@@ -7763,10 +7884,11 @@ this number}%
\or Veintinueve%
\fi
}%
+\global\let\@@TwentystringFspanish\@@TwentystringFspanish
% \end{macrocode}
% Hundreds:
% \begin{macrocode}
-\gdef\@@Hundredstringspanish#1{%
+\newcommand*\@@Hundredstringspanish[1]{%
\ifcase#1\relax
\or Ciento%
\or Doscientos%
@@ -7779,10 +7901,11 @@ this number}%
\or Novecientos%
\fi
}%
+\global\let\@@Hundredstringspanish\@@Hundredstringspanish
% \end{macrocode}
% Feminine form:
% \begin{macrocode}
-\gdef\@@HundredstringFspanish#1{%
+\newcommand*\@@HundredstringFspanish[1]{%
\ifcase#1\relax
\or Cienta%
\or Doscientas%
@@ -7795,6 +7918,7 @@ this number}%
\or Novecientas%
\fi
}%
+\global\let\@@HundredstringFspanish\@@HundredstringFspanish
% \end{macrocode}
% This has changed in version 1.09, so that it now stores the
% result in the second argument, but doesn't display anything.
@@ -7932,7 +8056,7 @@ this number}%
% it is easier to split it into units, tens, teens and hundreds.
% Units:
% \begin{macrocode}
-\gdef\@@unitthstringspanish#1{%
+\newcommand*\@@unitthstringspanish[1]{%
\ifcase#1\relax
cero%
\or primero%
@@ -7946,10 +8070,11 @@ this number}%
\or noveno%
\fi
}%
+\global\let\@@unitthstringspanish\@@unitthstringspanish
% \end{macrocode}
% Tens:
% \begin{macrocode}
-\gdef\@@tenthstringspanish#1{%
+\newcommand*\@@tenthstringspanish[1]{%
\ifcase#1\relax
\or d\'ecimo%
\or vig\'esimo%
@@ -7962,10 +8087,11 @@ this number}%
\or nonag\'esimo%
\fi
}%
+\global\let\@@tenthstringspanish\@@tenthstringspanish
% \end{macrocode}
% Teens:
% \begin{macrocode}
-\gdef\@@teenthstringspanish#1{%
+\newcommand*\@@teenthstringspanish[1]{%
\ifcase#1\relax
d\'ecimo%
\or und\'ecimo%
@@ -7979,10 +8105,11 @@ this number}%
\or decimonoveno%
\fi
}%
+\global\let\@@teenthstringspanish\@@teenthstringspanish
% \end{macrocode}
% Hundreds:
% \begin{macrocode}
-\gdef\@@hundredthstringspanish#1{%
+\newcommand*\@@hundredthstringspanish[1]{%
\ifcase#1\relax
\or cent\'esimo%
\or ducent\'esimo%
@@ -7995,10 +8122,11 @@ this number}%
\or noningent\'esimo%
\fi
}%
+\global\let\@@hundredthstringspanish\@@hundredthstringspanish
% \end{macrocode}
% Units (feminine):
% \begin{macrocode}
-\gdef\@@unitthstringFspanish#1{%
+\newcommand*\@@unitthstringFspanish[1]{%
\ifcase#1\relax
cera%
\or primera%
@@ -8012,10 +8140,11 @@ this number}%
\or novena%
\fi
}%
+\global\let\@@unitthstringFspanish\@@unitthstringFspanish
% \end{macrocode}
% Tens (feminine):
% \begin{macrocode}
-\gdef\@@tenthstringFspanish#1{%
+\newcommand*\@@tenthstringFspanish[1]{%
\ifcase#1\relax
\or d\'ecima%
\or vig\'esima%
@@ -8028,10 +8157,11 @@ this number}%
\or nonag\'esima%
\fi
}%
+\global\let\@@tenthstringFspanish\@@tenthstringFspanish
% \end{macrocode}
% Teens (feminine)
% \begin{macrocode}
-\gdef\@@teenthstringFspanish#1{%
+\newcommand*\@@teenthstringFspanish[1]{%
\ifcase#1\relax
d\'ecima%
\or und\'ecima%
@@ -8045,10 +8175,11 @@ this number}%
\or decimonovena%
\fi
}%
+\global\let\@@teenthstringFspanish\@@teenthstringFspanish
% \end{macrocode}
% Hundreds (feminine)
% \begin{macrocode}
-\gdef\@@hundredthstringFspanish#1{%
+\newcommand*\@@hundredthstringFspanish[1]{%
\ifcase#1\relax
\or cent\'esima%
\or ducent\'esima%
@@ -8061,10 +8192,11 @@ this number}%
\or noningent\'esima%
\fi
}%
+\global\let\@@hundredthstringFspanish\@@hundredthstringFspanish
% \end{macrocode}
% As above, but with initial letters in upper case
% \begin{macrocode}
-\gdef\@@Unitthstringspanish#1{%
+\newcommand*\@@Unitthstringspanish[1]{%
\ifcase#1\relax
Cero%
\or Primero%
@@ -8078,10 +8210,11 @@ this number}%
\or Noveno%
\fi
}%
+\global\let\@@Unitthstringspanish\@@Unitthstringspanish
% \end{macrocode}
% Tens:
% \begin{macrocode}
-\gdef\@@Tenthstringspanish#1{%
+\newcommand*\@@Tenthstringspanish[1]{%
\ifcase#1\relax
\or D\'ecimo%
\or Vig\'esimo%
@@ -8094,10 +8227,11 @@ this number}%
\or Nonag\'esimo%
\fi
}%
+\global\let\@@Tenthstringspanish\@@Tenthstringspanish
% \end{macrocode}
% Teens:
% \begin{macrocode}
-\gdef\@@Teenthstringspanish#1{%
+\newcommand*\@@Teenthstringspanish[1]{%
\ifcase#1\relax
D\'ecimo%
\or Und\'ecimo%
@@ -8111,10 +8245,11 @@ this number}%
\or Decimonoveno%
\fi
}%
+\global\let\@@Teenthstringspanish\@@Teenthstringspanish
% \end{macrocode}
% Hundreds
% \begin{macrocode}
-\gdef\@@Hundredthstringspanish#1{%
+\newcommand*\@@Hundredthstringspanish[1]{%
\ifcase#1\relax
\or Cent\'esimo%
\or Ducent\'esimo%
@@ -8127,10 +8262,11 @@ this number}%
\or Noningent\'esimo%
\fi
}%
+\global\let\@@Hundredthstringspanish\@@Hundredthstringspanish
% \end{macrocode}
% As above, but feminine.
% \begin{macrocode}
-\gdef\@@UnitthstringFspanish#1{%
+\newcommand*\@@UnitthstringFspanish[1]{%
\ifcase#1\relax
Cera%
\or Primera%
@@ -8144,10 +8280,11 @@ this number}%
\or Novena%
\fi
}%
+\global\let\@@UnitthstringFspanish\@@UnitthstringFspanish
% \end{macrocode}
% Tens (feminine)
% \begin{macrocode}
-\gdef\@@TenthstringFspanish#1{%
+\newcommand*\@@TenthstringFspanish[1]{%
\ifcase#1\relax
\or D\'ecima%
\or Vig\'esima%
@@ -8160,10 +8297,11 @@ this number}%
\or Nonag\'esima%
\fi
}%
+\global\let\@@TenthstringFspanish\@@TenthstringFspanish
% \end{macrocode}
% Teens (feminine):
% \begin{macrocode}
-\gdef\@@TeenthstringFspanish#1{%
+\newcommand*\@@TeenthstringFspanish[1]{%
\ifcase#1\relax
D\'ecima%
\or Und\'ecima%
@@ -8177,10 +8315,11 @@ this number}%
\or Decimonovena%
\fi
}%
+\global\let\@@TeenthstringFspanish\@@TeenthstringFspanish
% \end{macrocode}
% Hundreds (feminine):
% \begin{macrocode}
-\gdef\@@HundredthstringFspanish#1{%
+\newcommand*\@@HundredthstringFspanish[1]{%
\ifcase#1\relax
\or Cent\'esima%
\or Ducent\'esima%
@@ -8193,6 +8332,7 @@ this number}%
\or Noningent\'esima%
\fi
}%
+\global\let\@@HundredthstringFspanish\@@HundredthstringFspanish
% \end{macrocode}
% This has changed in version 1.09, so that it now stores the
% results in the second argument (which must be a control
@@ -8201,7 +8341,7 @@ this number}%
% with older versions. (These internal macros are not meant for
% use in documents.)
% \begin{macrocode}
-\gdef\@@numberstringspanish#1#2{%
+\newcommand*\@@numberstringspanish[2]{%
\ifnum#1>99999
\PackageError{fmtcount}{Out of range}%
{This macro only works for values less than 100000}%
@@ -8224,7 +8364,7 @@ this number}%
\let\@@fc@numstr#2\relax
\edef#2{\@@fc@numstr\@tenstring{\@strctr}}%
\@strctr=#1 \divide\@strctr by 1000\relax
- \@modulo{\@strctr}{10}%
+ \@FCmodulo{\@strctr}{10}%
\ifnum\@strctr>0\relax
\let\@@fc@numstr#2\relax
\edef#2{\@@fc@numstr\ \@andname\ \@unitstring{\@strctr}}%
@@ -8232,7 +8372,7 @@ this number}%
\else
\@strctr=#1\relax
\divide\@strctr by 1000\relax
- \@modulo{\@strctr}{10}%
+ \@FCmodulo{\@strctr}{10}%
\let\@@fc@numstr#2\relax
\edef#2{\@@fc@numstr\@teenstring{\@strctr}}%
\fi
@@ -8248,7 +8388,7 @@ this number}%
\edef#2{\@@fc@numstr\@thousand}%
\fi
\fi
-\@strctr=#1\relax \@modulo{\@strctr}{1000}%
+\@strctr=#1\relax \@FCmodulo{\@strctr}{1000}%
\divide\@strctr by 100\relax
\ifnum\@strctr>0\relax
\ifnum#1>1000\relax
@@ -8256,7 +8396,7 @@ this number}%
\edef#2{\@@fc@numstr\ }%
\fi
\@tmpstrctr=#1\relax
- \@modulo{\@tmpstrctr}{1000}%
+ \@FCmodulo{\@tmpstrctr}{1000}%
\ifnum\@tmpstrctr=100\relax
\let\@@fc@numstr#2\relax
\edef#2{\@@fc@numstr\@tenstring{10}}%
@@ -8265,7 +8405,7 @@ this number}%
\edef#2{\@@fc@numstr\@hundredstring{\@strctr}}%
\fi
\fi
-\@strctr=#1\relax \@modulo{\@strctr}{100}%
+\@strctr=#1\relax \@FCmodulo{\@strctr}{100}%
\ifnum#1>100\relax
\ifnum\@strctr>0\relax
\let\@@fc@numstr#2\relax
@@ -8280,7 +8420,7 @@ this number}%
\divide\@strctr by 10\relax
\let\@@fc@numstr#2\relax
\edef#2{\@@fc@numstr\@tenstring{\@strctr}}%
- \@strctr=#1\relax \@modulo{\@strctr}{10}%
+ \@strctr=#1\relax \@FCmodulo{\@strctr}{10}%
\ifnum\@strctr>0\relax
\let\@@fc@numstr#2\relax
\edef#2{\@@fc@numstr\ \@andname\ \@unitstring{\@strctr}}%
@@ -8298,21 +8438,22 @@ this number}%
\fi
\else
\ifnum\@strctr>19\relax
- \@modulo{\@strctr}{10}%
+ \@FCmodulo{\@strctr}{10}%
\let\@@fc@numstr#2\relax
\edef#2{\@@fc@numstr\@twentystring{\@strctr}}%
\else
- \@modulo{\@strctr}{10}%
+ \@FCmodulo{\@strctr}{10}%
\let\@@fc@numstr#2\relax
\edef#2{\@@fc@numstr\@teenstring{\@strctr}}%
\fi
\fi
\fi
}%
+\global\let\@@numberstringspanish\@@numberstringspanish
% \end{macrocode}
% As above, but for ordinals
% \begin{macrocode}
-\gdef\@@ordinalstringspanish#1#2{%
+\newcommand*\@@ordinalstringspanish[2]{%
\@strctr=#1\relax
\ifnum#1>99999
\PackageError{fmtcount}{Out of range}%
@@ -8331,7 +8472,7 @@ this number}%
\ifnum\@strctr>9\relax
\@tmpstrctr=\@strctr
\ifnum\@strctr<20
- \@modulo{\@tmpstrctr}{10}%
+ \@FCmodulo{\@tmpstrctr}{10}%
\let\@@fc@ordstr#2\relax
\edef#2{\@@fc@ordstr\@teenthstring{\@tmpstrctr}}%
\else
@@ -8339,7 +8480,7 @@ this number}%
\let\@@fc@ordstr#2\relax
\edef#2{\@@fc@ordstr\@tenthstring{\@tmpstrctr}}%
\@tmpstrctr=\@strctr
- \@modulo{\@tmpstrctr}{10}%
+ \@FCmodulo{\@tmpstrctr}{10}%
\ifnum\@tmpstrctr>0\relax
\let\@@fc@ordstr#2\relax
\edef#2{\@@fc@ordstr\@unitthstring{\@tmpstrctr}}%
@@ -8354,7 +8495,7 @@ this number}%
\edef#2{\@@fc@ordstr\@thousandth}%
\fi
\@strctr=#1\relax
-\@modulo{\@strctr}{1000}%
+\@FCmodulo{\@strctr}{1000}%
\ifnum\@strctr>99\relax
\@tmpstrctr=\@strctr
\divide\@tmpstrctr by 100\relax
@@ -8365,7 +8506,7 @@ this number}%
\let\@@fc@ordstr#2\relax
\edef#2{\@@fc@ordstr\@hundredthstring{\@tmpstrctr}}%
\fi
-\@modulo{\@strctr}{100}%
+\@FCmodulo{\@strctr}{100}%
\ifnum#1>99\relax
\ifnum\@strctr>0\relax
\let\@@fc@ordstr#2\relax
@@ -8378,14 +8519,14 @@ this number}%
\let\@@fc@ordstr#2\relax
\edef#2{\@@fc@ordstr\@tenthstring{\@tmpstrctr}}%
\@tmpstrctr=\@strctr
- \@modulo{\@tmpstrctr}{10}%
+ \@FCmodulo{\@tmpstrctr}{10}%
\ifnum\@tmpstrctr>0\relax
\let\@@fc@ordstr#2\relax
\edef#2{\@@fc@ordstr\ \@unitthstring{\@tmpstrctr}}%
\fi
\else
\ifnum\@strctr>9\relax
- \@modulo{\@strctr}{10}%
+ \@FCmodulo{\@strctr}{10}%
\let\@@fc@ordstr#2\relax
\edef#2{\@@fc@ordstr\@teenthstring{\@strctr}}%
\else
@@ -8403,6 +8544,7 @@ this number}%
\fi
\fi
}%
+\global\let\@@ordinalstringspanish\@@ordinalstringspanish
% \end{macrocode}
%\iffalse
diff --git a/Master/texmf-dist/source/latex/fmtcount/fmtcount.ins b/Master/texmf-dist/source/latex/fmtcount/fmtcount.ins
index dbce0986f97..399d7d770a4 100644
--- a/Master/texmf-dist/source/latex/fmtcount/fmtcount.ins
+++ b/Master/texmf-dist/source/latex/fmtcount/fmtcount.ins
@@ -1,10 +1,10 @@
-% fmtcount.ins generated using makedtx version 0.94b 2013/8/17 16:54
+% fmtcount.ins generated using makedtx version 1.1 2014/6/18 14:52
\input docstrip
\preamble
fmtcount.dtx
- Copyright 2013 Nicola Talbot and Vincent Belaïche
+ Copyright 2014 Nicola Talbot and Vincent Belaïche
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either version 1.3
@@ -18,7 +18,7 @@
The Current Maintainer of this work is Nicola Talbot and Vincent Belaïche.
- This work consists of the files fmtcount.dtx and fmtcount.ins and the derived files fcnumparser.sty, fcprefix.sty, fmtcount.sty, fc-american.def, fc-british.def, fc-english.def, fc-francais.def, fc-french.def, fc-frenchb.def, fc-german.def, fc-germanb.def, fc-italian.def, fc-ngerman.def, fc-ngermanb.def, fc-portuges.def, fc-spanish.def, fc-UKenglish.def, fc-USenglish.def.
+ This work consists of the files fmtcount.dtx and fmtcount.ins and the derived files fcnumparser.sty, fcprefix.sty, fmtcount.sty, fc-american.def, fc-british.def, fc-english.def, fc-francais.def, fc-french.def, fc-frenchb.def, fc-german.def, fc-germanb.def, fc-italian.def, fc-ngerman.def, fc-ngermanb.def, fc-portuges.def, fc-portuguese.def, fc-spanish.def, fc-UKenglish.def, fc-USenglish.def.
\endpreamble
@@ -54,6 +54,8 @@
\usepostamble\defaultpostamble\from{fmtcount.dtx}{fc-ngermanb.def,package}}
\file{fc-portuges.def}{\usepreamble\defaultpreamble
\usepostamble\defaultpostamble\from{fmtcount.dtx}{fc-portuges.def,package}}
+\file{fc-portuguese.def}{\usepreamble\defaultpreamble
+\usepostamble\defaultpostamble\from{fmtcount.dtx}{fc-portuguese.def,package}}
\file{fc-spanish.def}{\usepreamble\defaultpreamble
\usepostamble\defaultpostamble\from{fmtcount.dtx}{fc-spanish.def,package}}
\file{fc-UKenglish.def}{\usepreamble\defaultpreamble