summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/fmtcount
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2013-08-17 22:59:41 +0000
committerKarl Berry <karl@freefriends.org>2013-08-17 22:59:41 +0000
commit41ed127e239fba40041f66fc9d0df9b1b623cf8b (patch)
treea3ae9729de5d80efae5d0f9bc1f868b8dcf94992 /Master/texmf-dist/source/latex/fmtcount
parent526f95c7e0013092d39bdb1032b05354fd39d5e9 (diff)
fmtcount (17aug13)
git-svn-id: svn://tug.org/texlive/trunk@31456 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/fmtcount')
-rw-r--r--Master/texmf-dist/source/latex/fmtcount/fmtcount.dtx3187
-rw-r--r--Master/texmf-dist/source/latex/fmtcount/fmtcount.ins4
2 files changed, 1660 insertions, 1531 deletions
diff --git a/Master/texmf-dist/source/latex/fmtcount/fmtcount.dtx b/Master/texmf-dist/source/latex/fmtcount/fmtcount.dtx
index dd8870e6d2d..bdcb4edbb91 100644
--- a/Master/texmf-dist/source/latex/fmtcount/fmtcount.dtx
+++ b/Master/texmf-dist/source/latex/fmtcount/fmtcount.dtx
@@ -6,7 +6,7 @@
% -doc "fmtcount-manual.tex"
% -author "Nicola Talbot and Vincent Belaïche"
% fmtcount
-% Created on 2012/10/24 14:20
+% Created on 2013/8/17 16:54
%\fi
%\iffalse
%<*package>
@@ -29,7 +29,7 @@
%\fi
% \iffalse
% Doc-Source file to use with LaTeX2e
-% Copyright (C) 2012 Nicola Talbot and Vincent Belaïche, all rights reserved.
+% Copyright (C) 2013 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{8940}
+\CheckSum{9271}
\doxitem{Option}{option}{options}
@@ -70,8 +70,8 @@
% \author{Nicola L.C. Talbot\\
% \url{www.dickimaw-books.com}
% \and
-% Vincent Belaïche}
-% \date{2012-10-24 (version 2.02)\relax
+% Vincent Bela\"iche}
+% \date{2013-08-17 (version 2.03)\relax
%}
% \maketitle
% \tableofcontents
@@ -453,11 +453,24 @@
%Italian support was added in version 1.31.\footnote{Thanks to
%Edoardo Pasca for supplying the information.}
%
-%The package checks to see if the command \cs{l@}\meta{language} is
-%defined\footnote{this will be true if you have loaded \sty{babel}},
-%and will load the code for those languages. The commands
+%
+%To ensure the language definitions are loaded correctly for document
+%dialects, use
+%\begin{definition}[\DescribeMacro{\FCloadlang}]
+%\cs{FCloadlang}\marg{dialect}
+%\end{definition}
+%in the preamble. The \meta{dialect} should match the options passed
+%to \sty{babel} or \sty{polyglossia}. If you don't use this,
+%\sty{fmtcount} will attempt to detect the required dialects, but
+%this isn't guaranteed to work.
+%
+%The commands
%\cs{ordinal}, \cs{ordinalstring} and \cs{numberstring} (and their
-%variants) will then be formatted in the currently selected language.
+%variants) will be formatted in the currently selected language.
+%If the current language hasn't been loaded (via \cs{FCloadlang}
+%above) and \sty{fmtcount} detects a definition file for that
+%language it will attempt to load it, but this isn't robust and may
+%cause problems, so it's best to use \cs{FCloadlang}.
%
%If the French language is selected, the \texttt{french} option let you
%configure the dialect and other aspects. The \texttt{abbr} also has
@@ -2007,7 +2020,7 @@
% This section deals with the code for |fmtcount.sty|
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{fmtcount}[2012/10/24 v2.02]
+\ProvidesPackage{fmtcount}[2013/08/17 v2.03]
\RequirePackage{ifthen}
\RequirePackage{keyval}
\RequirePackage{etoolbox}
@@ -2055,25 +2068,34 @@
%\end{definition}
% Load \styfmt{fmtcount} language file,
% \texttt{fc-}\meta{language}\texttt{.def}, unless already loaded.
+% Unfortunately neither babel nor polyglossia keep a list of loaded
+% dialects, so we can't load all the necessary def files in the
+% preamble as we don't know which dialects the user requires.
+% Therefore the dialect definitions get loaded when a command such
+% as \cs{ordinalnum} is used, if they
+% haven't already been loaded.
% \begin{macrocode}
\newcount\fc@tmpcatcode
-\def\fc@languages{}
+\def\fc@languages{}%
\def\fc@mainlang{}%
\newcommand*{\FCloadlang}[1]{%
\@FC@iflangloaded{#1}{}%
{%
\fc@tmpcatcode=\catcode`\@\relax
\catcode `\@ 11\relax
- \input{fc-#1.def}%
- \catcode `\@ \fc@tmpcatcode\relax
- \ifdefempty{\fc@languages}%
+ \InputIfFileExists{fc-#1.def}%
{%
- \def\fc@languages{#1}%
- }%
- {%
- \appto\fc@languages{,#1}%
+ \ifdefempty{\fc@languages}%
+ {%
+ \gdef\fc@languages{#1}%
+ }%
+ {%
+ \gappto\fc@languages{,#1}%
+ }%
+ \gdef\fc@mainlang{#1}%
}%
- \def\fc@mainlang{#1}%
+ {}%
+ \catcode `\@ \fc@tmpcatcode\relax
}%
}
% \end{macrocode}
@@ -2102,7 +2124,7 @@
% \end{macrocode}
%\end{macro}
%
-%\begin{macro}{\@fc@loadifbabelldf}
+%\begin{macro}{\@fc@loadifbabelorpolyglossialdf}
%\begin{definition}
%\cs{@fc@loadigbabelldf}\marg{language}
%\end{definition}
@@ -2110,9 +2132,13 @@
%\texttt{fc-}\meta{language}\texttt{.def},
% if babel language definition file
% \meta{language}\texttt{.ldf} has been loaded.
+%\changes{2.03}{2012-11-11}{renamed \cs{@fc@loadifbabelldf} to
+% \cs{@fc@loadifbabelorpolyglossialdf}}
+%\changes{2.03}{2012-11-11}{added check for polyglossia language}
% \begin{macrocode}
-\newcommand*{\@fc@loadifbabelldf}[1]{%
+\newcommand*{\@fc@loadifbabelorpolyglossialdf}[1]{%
\ifcsundef{ver@#1.ldf}{}{\FCloadlang{#1}}%
+ \IfFileExists{gloss-#1.ldf}{\ifcsundef{#1@loaded}{}{\FCloadlang{#1}}}{}%
}
% \end{macrocode}
%\end{macro}
@@ -2123,20 +2149,21 @@
%\changes{2.0}{2012-06-18}{changed check for \cs{l@}\meta{language}
% to check for \cs{date}\meta{language}}
% \begin{macrocode}
-\@fc@loadifbabelldf{english}
-\@fc@loadifbabelldf{UKenglish}
-\@fc@loadifbabelldf{british}
-\@fc@loadifbabelldf{USenglish}
-\@fc@loadifbabelldf{american}
-\@fc@loadifbabelldf{spanish}
-\@fc@loadifbabelldf{portuges}
-\@fc@loadifbabelldf{french}
-\@fc@loadifbabelldf{frenchb}
-\@fc@loadifbabelldf{german}%
-\@fc@loadifbabelldf{germanb}%
-\@fc@loadifbabelldf{ngerman}%
-\@fc@loadifbabelldf{ngermanb}%
-\@fc@loadifbabelldf{italian}
+\@fc@loadifbabelorpolyglossialdf{english}
+\@fc@loadifbabelorpolyglossialdf{UKenglish}
+\@fc@loadifbabelorpolyglossialdf{british}
+\@fc@loadifbabelorpolyglossialdf{USenglish}
+\@fc@loadifbabelorpolyglossialdf{american}
+\@fc@loadifbabelorpolyglossialdf{spanish}
+\@fc@loadifbabelorpolyglossialdf{portuges}
+\@fc@loadifbabelorpolyglossialdf{french}
+\@fc@loadifbabelorpolyglossialdf{frenchb}
+\@fc@loadifbabelorpolyglossialdf{francais}
+\@fc@loadifbabelorpolyglossialdf{german}%
+\@fc@loadifbabelorpolyglossialdf{germanb}%
+\@fc@loadifbabelorpolyglossialdf{ngerman}%
+\@fc@loadifbabelorpolyglossialdf{ngermanb}%
+\@fc@loadifbabelorpolyglossialdf{italian}
% \end{macrocode}
%\begin{macro}{\fmtcount@french}
% Define keys for use with |\fmtcountsetoptions|.
@@ -3652,30 +3679,30 @@
% \subsubsection{fc-american.def}
% American English definitions
% \begin{macrocode}
-\ProvidesFCLanguage{american}[2012/06/18]
+\ProvidesFCLanguage{american}[2013/08/17]%
% \end{macrocode}
% Loaded fc-USenglish.def if not already loaded
% \begin{macrocode}
-\FCloadlang{USenglish}
+\FCloadlang{USenglish}%
% \end{macrocode}
% These are all just synonyms for the commands provided by
% fc-USenglish.def.
% \begin{macrocode}
-\let\@ordinalMamerican\@ordinalMUSenglish
-\let\@ordinalFamerican\@ordinalMUSenglish
-\let\@ordinalNamerican\@ordinalMUSenglish
-\let\@numberstringMamerican\@numberstringMUSenglish
-\let\@numberstringFamerican\@numberstringMUSenglish
-\let\@numberstringNamerican\@numberstringMUSenglish
-\let\@NumberstringMamerican\@NumberstringMUSenglish
-\let\@NumberstringFamerican\@NumberstringMUSenglish
-\let\@NumberstringNamerican\@NumberstringMUSenglish
-\let\@ordinalstringMamerican\@ordinalstringMUSenglish
-\let\@ordinalstringFamerican\@ordinalstringMUSenglish
-\let\@ordinalstringNamerican\@ordinalstringMUSenglish
-\let\@OrdinalstringMamerican\@OrdinalstringMUSenglish
-\let\@OrdinalstringFamerican\@OrdinalstringMUSenglish
-\let\@OrdinalstringNamerican\@OrdinalstringMUSenglish
+\global\let\@ordinalMamerican\@ordinalMUSenglish
+\global\let\@ordinalFamerican\@ordinalMUSenglish
+\global\let\@ordinalNamerican\@ordinalMUSenglish
+\global\let\@numberstringMamerican\@numberstringMUSenglish
+\global\let\@numberstringFamerican\@numberstringMUSenglish
+\global\let\@numberstringNamerican\@numberstringMUSenglish
+\global\let\@NumberstringMamerican\@NumberstringMUSenglish
+\global\let\@NumberstringFamerican\@NumberstringMUSenglish
+\global\let\@NumberstringNamerican\@NumberstringMUSenglish
+\global\let\@ordinalstringMamerican\@ordinalstringMUSenglish
+\global\let\@ordinalstringFamerican\@ordinalstringMUSenglish
+\global\let\@ordinalstringNamerican\@ordinalstringMUSenglish
+\global\let\@OrdinalstringMamerican\@OrdinalstringMUSenglish
+\global\let\@OrdinalstringFamerican\@OrdinalstringMUSenglish
+\global\let\@OrdinalstringNamerican\@OrdinalstringMUSenglish
% \end{macrocode}
%\iffalse
% \begin{macrocode}
@@ -3690,30 +3717,30 @@
% \subsubsection{fc-british.def}
% British definitions
% \begin{macrocode}
-\ProvidesFCLanguage{british}[2012/06/18]
+\ProvidesFCLanguage{british}[2013/08/17]%
% \end{macrocode}
% Load fc-english.def, if not already loaded
% \begin{macrocode}
-\FCloadlang{english}
+\FCloadlang{english}%
% \end{macrocode}
% These are all just synonyms for the commands provided by
% fc-english.def.
% \begin{macrocode}
-\let\@ordinalMbritish\@ordinalMenglish
-\let\@ordinalFbritish\@ordinalMenglish
-\let\@ordinalNbritish\@ordinalMenglish
-\let\@numberstringMbritish\@numberstringMenglish
-\let\@numberstringFbritish\@numberstringMenglish
-\let\@numberstringNbritish\@numberstringMenglish
-\let\@NumberstringMbritish\@NumberstringMenglish
-\let\@NumberstringFbritish\@NumberstringMenglish
-\let\@NumberstringNbritish\@NumberstringMenglish
-\let\@ordinalstringMbritish\@ordinalstringMenglish
-\let\@ordinalstringFbritish\@ordinalstringMenglish
-\let\@ordinalstringNbritish\@ordinalstringMenglish
-\let\@OrdinalstringMbritish\@OrdinalstringMenglish
-\let\@OrdinalstringFbritish\@OrdinalstringMenglish
-\let\@OrdinalstringNbritish\@OrdinalstringMenglish
+\global\let\@ordinalMbritish\@ordinalMenglish
+\global\let\@ordinalFbritish\@ordinalMenglish
+\global\let\@ordinalNbritish\@ordinalMenglish
+\global\let\@numberstringMbritish\@numberstringMenglish
+\global\let\@numberstringFbritish\@numberstringMenglish
+\global\let\@numberstringNbritish\@numberstringMenglish
+\global\let\@NumberstringMbritish\@NumberstringMenglish
+\global\let\@NumberstringFbritish\@NumberstringMenglish
+\global\let\@NumberstringNbritish\@NumberstringMenglish
+\global\let\@ordinalstringMbritish\@ordinalstringMenglish
+\global\let\@ordinalstringFbritish\@ordinalstringMenglish
+\global\let\@ordinalstringNbritish\@ordinalstringMenglish
+\global\let\@OrdinalstringMbritish\@OrdinalstringMenglish
+\global\let\@OrdinalstringFbritish\@OrdinalstringMenglish
+\global\let\@OrdinalstringNbritish\@OrdinalstringMenglish
% \end{macrocode}
%\iffalse
% \begin{macrocode}
@@ -3728,13 +3755,13 @@
% \subsubsection{fc-english.def}
% English definitions
% \begin{macrocode}
-\ProvidesFCLanguage{english}[2012/06/18]
+\ProvidesFCLanguage{english}[2013/08/17]%
% \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.
% \begin{macrocode}
-\newcommand*{\@ordinalMenglish}[2]{%
+\gdef\@ordinalMenglish#1#2{%
\def\@fc@ord{}%
\@orgargctr=#1\relax
\@ordinalctr=#1%
@@ -3761,118 +3788,118 @@
\fi
\fi
\edef#2{\number#1\relax\noexpand\fmtord{\@fc@ord}}%
-}
+}%
% \end{macrocode}
% There is no gender difference in English, so make feminine and
% neuter the same as the masculine.
% \begin{macrocode}
-\let\@ordinalFenglish=\@ordinalMenglish
-\let\@ordinalNenglish=\@ordinalMenglish
+\global\let\@ordinalFenglish=\@ordinalMenglish
+\global\let\@ordinalNenglish=\@ordinalMenglish
% \end{macrocode}
% Define the macro that prints the value of a \TeX\ count register
% as text. To make it easier, break it up into units, teens and
% tens. First, the units: the argument should be between 0 and 9
% inclusive.
% \begin{macrocode}
-\newcommand*{\@@unitstringenglish}[1]{%
-\ifcase#1\relax
-zero%
-\or one%
-\or two%
-\or three%
-\or four%
-\or five%
-\or six%
-\or seven%
-\or eight%
-\or nine%
+\gdef\@@unitstringenglish#1{%
+ \ifcase#1\relax
+ zero%
+ \or one%
+ \or two%
+ \or three%
+ \or four%
+ \or five%
+ \or six%
+ \or seven%
+ \or eight%
+ \or nine%
\fi
-}
+}%
% \end{macrocode}
% Next the tens, again the argument should be between 0 and 9
% inclusive.
% \begin{macrocode}
-\newcommand*{\@@tenstringenglish}[1]{%
-\ifcase#1\relax
-\or ten%
-\or twenty%
-\or thirty%
-\or forty%
-\or fifty%
-\or sixty%
-\or seventy%
-\or eighty%
-\or ninety%
-\fi
-}
+\gdef\@@tenstringenglish#1{%
+ \ifcase#1\relax
+ \or ten%
+ \or twenty%
+ \or thirty%
+ \or forty%
+ \or fifty%
+ \or sixty%
+ \or seventy%
+ \or eighty%
+ \or ninety%
+ \fi
+}%
% \end{macrocode}
% Finally the teens, again the argument should be between 0 and 9
% inclusive.
% \begin{macrocode}
-\newcommand*{\@@teenstringenglish}[1]{%
-\ifcase#1\relax
-ten%
-\or eleven%
-\or twelve%
-\or thirteen%
-\or fourteen%
-\or fifteen%
-\or sixteen%
-\or seventeen%
-\or eighteen%
-\or nineteen%
-\fi
-}
+\gdef\@@teenstringenglish#1{%
+ \ifcase#1\relax
+ ten%
+ \or eleven%
+ \or twelve%
+ \or thirteen%
+ \or fourteen%
+ \or fifteen%
+ \or sixteen%
+ \or seventeen%
+ \or eighteen%
+ \or nineteen%
+ \fi
+}%
% \end{macrocode}
% As above, but with the initial letter in uppercase. The units:
% \begin{macrocode}
-\newcommand*{\@@Unitstringenglish}[1]{%
-\ifcase#1\relax
-Zero%
-\or One%
-\or Two%
-\or Three%
-\or Four%
-\or Five%
-\or Six%
-\or Seven%
-\or Eight%
-\or Nine%
-\fi
-}
+\gdef\@@Unitstringenglish#1{%
+ \ifcase#1\relax
+ Zero%
+ \or One%
+ \or Two%
+ \or Three%
+ \or Four%
+ \or Five%
+ \or Six%
+ \or Seven%
+ \or Eight%
+ \or Nine%
+ \fi
+}%
% \end{macrocode}
% The tens:
% \begin{macrocode}
-\newcommand*{\@@Tenstringenglish}[1]{%
-\ifcase#1\relax
-\or Ten%
-\or Twenty%
-\or Thirty%
-\or Forty%
-\or Fifty%
-\or Sixty%
-\or Seventy%
-\or Eighty%
-\or Ninety%
-\fi
-}
+\gdef\@@Tenstringenglish#1{%
+ \ifcase#1\relax
+ \or Ten%
+ \or Twenty%
+ \or Thirty%
+ \or Forty%
+ \or Fifty%
+ \or Sixty%
+ \or Seventy%
+ \or Eighty%
+ \or Ninety%
+ \fi
+}%
% \end{macrocode}
% The teens:
% \begin{macrocode}
-\newcommand*{\@@Teenstringenglish}[1]{%
-\ifcase#1\relax
-Ten%
-\or Eleven%
-\or Twelve%
-\or Thirteen%
-\or Fourteen%
-\or Fifteen%
-\or Sixteen%
-\or Seventeen%
-\or Eighteen%
-\or Nineteen%
-\fi
-}
+\gdef\@@Teenstringenglish#1{%
+ \ifcase#1\relax
+ Ten%
+ \or Eleven%
+ \or Twelve%
+ \or Thirteen%
+ \or Fourteen%
+ \or Fifteen%
+ \or Sixteen%
+ \or Seventeen%
+ \or Eighteen%
+ \or Nineteen%
+ \fi
+}%
% \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.
@@ -3880,7 +3907,7 @@ Ten%
% documents created with older versions. (These internal macros are
% not meant for use in documents.)
% \begin{macrocode}
-\newcommand*{\@@numberstringenglish}[2]{%
+\gdef\@@numberstringenglish#1#2{%
\ifnum#1>99999
\PackageError{fmtcount}{Out of range}%
{This macro only works for values less than 100000}%
@@ -3963,153 +3990,155 @@ this number}%
\edef#2{\@@fc@numstr\@teenstring{\@strctr}}%
\fi
\fi
-}
+}%
% \end{macrocode}
% All lower case version, the second argument must be a
% control sequence.
% \begin{macrocode}
\DeclareRobustCommand{\@numberstringMenglish}[2]{%
-\let\@unitstring=\@@unitstringenglish
-\let\@teenstring=\@@teenstringenglish
-\let\@tenstring=\@@tenstringenglish
-\def\@hundred{hundred}\def\@thousand{thousand}%
-\def\@andname{and}%
-\@@numberstringenglish{#1}{#2}%
-}
+ \let\@unitstring=\@@unitstringenglish
+ \let\@teenstring=\@@teenstringenglish
+ \let\@tenstring=\@@tenstringenglish
+ \def\@hundred{hundred}\def\@thousand{thousand}%
+ \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
% as the masculine.
% \begin{macrocode}
-\let\@numberstringFenglish=\@numberstringMenglish
-\let\@numberstringNenglish=\@numberstringMenglish
+\global\let\@numberstringFenglish=\@numberstringMenglish
+\global\let\@numberstringNenglish=\@numberstringMenglish
% \end{macrocode}
% This version makes the first letter of each word an uppercase
% character (except ``and''). The second argument must be a control
% sequence.
% \begin{macrocode}
-\newcommand*{\@NumberstringMenglish}[2]{%
-\let\@unitstring=\@@Unitstringenglish
-\let\@teenstring=\@@Teenstringenglish
-\let\@tenstring=\@@Tenstringenglish
-\def\@hundred{Hundred}\def\@thousand{Thousand}%
-\def\@andname{and}%
-\@@numberstringenglish{#1}{#2}}
+\gdef\@NumberstringMenglish#1#2{%
+ \let\@unitstring=\@@Unitstringenglish
+ \let\@teenstring=\@@Teenstringenglish
+ \let\@tenstring=\@@Tenstringenglish
+ \def\@hundred{Hundred}\def\@thousand{Thousand}%
+ \def\@andname{and}%
+ \@@numberstringenglish{#1}{#2}%
+}%
% \end{macrocode}
% There is no gender in English, so make feminine and neuter the
% same
% as the masculine.
% \begin{macrocode}
-\let\@NumberstringFenglish=\@NumberstringMenglish
-\let\@NumberstringNenglish=\@NumberstringMenglish
+\global\let\@NumberstringFenglish=\@NumberstringMenglish
+\global\let\@NumberstringNenglish=\@NumberstringMenglish
% \end{macrocode}
% Define a macro that produces an ordinal as a string. Again, break
% it up into units, teens and tens. First the units:
% \begin{macrocode}
-\newcommand*{\@@unitthstringenglish}[1]{%
-\ifcase#1\relax
-zeroth%
-\or first%
-\or second%
-\or third%
-\or fourth%
-\or fifth%
-\or sixth%
-\or seventh%
-\or eighth%
-\or ninth%
-\fi
-}
+\gdef\@@unitthstringenglish#1{%
+ \ifcase#1\relax
+ zeroth%
+ \or first%
+ \or second%
+ \or third%
+ \or fourth%
+ \or fifth%
+ \or sixth%
+ \or seventh%
+ \or eighth%
+ \or ninth%
+ \fi
+}%
% \end{macrocode}
% Next the tens:
% \begin{macrocode}
-\newcommand*{\@@tenthstringenglish}[1]{%
-\ifcase#1\relax
-\or tenth%
-\or twentieth%
-\or thirtieth%
-\or fortieth%
-\or fiftieth%
-\or sixtieth%
-\or seventieth%
-\or eightieth%
-\or ninetieth%
-\fi
-}
+\gdef\@@tenthstringenglish#1{%
+ \ifcase#1\relax
+ \or tenth%
+ \or twentieth%
+ \or thirtieth%
+ \or fortieth%
+ \or fiftieth%
+ \or sixtieth%
+ \or seventieth%
+ \or eightieth%
+ \or ninetieth%
+ \fi
+}%
% \end{macrocode}
% The teens:
% \begin{macrocode}
-\newcommand*{\@@teenthstringenglish}[1]{%
-\ifcase#1\relax
-tenth%
-\or eleventh%
-\or twelfth%
-\or thirteenth%
-\or fourteenth%
-\or fifteenth%
-\or sixteenth%
-\or seventeenth%
-\or eighteenth%
-\or nineteenth%
-\fi
-}
+\gdef\@@teenthstringenglish#1{%
+ \ifcase#1\relax
+ tenth%
+ \or eleventh%
+ \or twelfth%
+ \or thirteenth%
+ \or fourteenth%
+ \or fifteenth%
+ \or sixteenth%
+ \or seventeenth%
+ \or eighteenth%
+ \or nineteenth%
+ \fi
+}%
% \end{macrocode}
% As before, but with the first letter in upper case. The units:
% \begin{macrocode}
-\newcommand*{\@@Unitthstringenglish}[1]{%
-\ifcase#1\relax
-Zeroth%
-\or First%
-\or Second%
-\or Third%
-\or Fourth%
-\or Fifth%
-\or Sixth%
-\or Seventh%
-\or Eighth%
-\or Ninth%
-\fi
-}
+\gdef\@@Unitthstringenglish#1{%
+ \ifcase#1\relax
+ Zeroth%
+ \or First%
+ \or Second%
+ \or Third%
+ \or Fourth%
+ \or Fifth%
+ \or Sixth%
+ \or Seventh%
+ \or Eighth%
+ \or Ninth%
+ \fi
+}%
% \end{macrocode}
% The tens:
% \begin{macrocode}
-\newcommand*{\@@Tenthstringenglish}[1]{%
-\ifcase#1\relax
-\or Tenth%
-\or Twentieth%
-\or Thirtieth%
-\or Fortieth%
-\or Fiftieth%
-\or Sixtieth%
-\or Seventieth%
-\or Eightieth%
-\or Ninetieth%
-\fi
-}
+\gdef\@@Tenthstringenglish#1{%
+ \ifcase#1\relax
+ \or Tenth%
+ \or Twentieth%
+ \or Thirtieth%
+ \or Fortieth%
+ \or Fiftieth%
+ \or Sixtieth%
+ \or Seventieth%
+ \or Eightieth%
+ \or Ninetieth%
+ \fi
+}%
% \end{macrocode}
% The teens:
% \begin{macrocode}
-\newcommand*{\@@Teenthstringenglish}[1]{%
-\ifcase#1\relax
-Tenth%
-\or Eleventh%
-\or Twelfth%
-\or Thirteenth%
-\or Fourteenth%
-\or Fifteenth%
-\or Sixteenth%
-\or Seventeenth%
-\or Eighteenth%
-\or Nineteenth%
-\fi
-}
+\gdef\@@Teenthstringenglish#1{%
+ \ifcase#1\relax
+ Tenth%
+ \or Eleventh%
+ \or Twelfth%
+ \or Thirteenth%
+ \or Fourteenth%
+ \or Fifteenth%
+ \or Sixteenth%
+ \or Seventeenth%
+ \or Eighteenth%
+ \or Nineteenth%
+ \fi
+}%
% \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}
-\newcommand*{\@@ordinalstringenglish}[2]{%
+\gdef\@@ordinalstringenglish#1#2{%
\@strctr=#1\relax
\ifnum#1>99999
\PackageError{fmtcount}{Out of range}%
@@ -4222,48 +4251,52 @@ this number}%
\edef#2{\@@fc@ordstr\@teenthstring{\@strctr}}%
\fi
\fi
-}
+}%
% \end{macrocode}
% All lower case version. Again, the second argument must be a
% control sequence in which the resulting text is stored.
% \begin{macrocode}
\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}{#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}{#2}%
+}%
+\global\let\@ordinalstringMenglish\@ordinalstringMenglish
% \end{macrocode}
% No gender in English, so make feminine and neuter same as
% masculine:
% \begin{macrocode}
-\let\@ordinalstringFenglish=\@ordinalstringMenglish
-\let\@ordinalstringNenglish=\@ordinalstringMenglish
+\global\let\@ordinalstringFenglish=\@ordinalstringMenglish
+\global\let\@ordinalstringNenglish=\@ordinalstringMenglish
% \end{macrocode}
% First letter of each word in upper case:
% \begin{macrocode}
\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}{#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}{#2}%
+}%
+\global\let\@OrdinalstringMenglish\@OrdinalstringMenglish
% \end{macrocode}
% No gender in English, so make feminine and neuter same as
% masculine:
% \begin{macrocode}
-\let\@OrdinalstringFenglish=\@OrdinalstringMenglish
-\let\@OrdinalstringNenglish=\@OrdinalstringMenglish
+\global\let\@OrdinalstringFenglish=\@OrdinalstringMenglish
+\global\let\@OrdinalstringNenglish=\@OrdinalstringMenglish
% \end{macrocode}
%\iffalse
% \begin{macrocode}
@@ -4277,26 +4310,26 @@ this number}%
%\fi
% \subsubsection{fc-francais.def}
% \begin{macrocode}
-\ProvidesFCLanguage{francais}[2012/06/18]
-\FCloadlang{french}
+\ProvidesFCLanguage{francais}[2013/08/17]%
+\FCloadlang{french}%
% \end{macrocode}
% Set |francais| to be equivalent to |french|.
% \begin{macrocode}
-\let\@ordinalMfrancais=\@ordinalMfrench
-\let\@ordinalFfrancais=\@ordinalFfrench
-\let\@ordinalNfrancais=\@ordinalNfrench
-\let\@numberstringMfrancais=\@numberstringMfrench
-\let\@numberstringFfrancais=\@numberstringFfrench
-\let\@numberstringNfrancais=\@numberstringNfrench
-\let\@NumberstringMfrancais=\@NumberstringMfrench
-\let\@NumberstringFfrancais=\@NumberstringFfrench
-\let\@NumberstringNfrancais=\@NumberstringNfrench
-\let\@ordinalstringMfrancais=\@ordinalstringMfrench
-\let\@ordinalstringFfrancais=\@ordinalstringFfrench
-\let\@ordinalstringNfrancais=\@ordinalstringNfrench
-\let\@OrdinalstringMfrancais=\@OrdinalstringMfrench
-\let\@OrdinalstringFfrancais=\@OrdinalstringFfrench
-\let\@OrdinalstringNfrancais=\@OrdinalstringNfrench
+\global\let\@ordinalMfrancais=\@ordinalMfrench
+\global\let\@ordinalFfrancais=\@ordinalFfrench
+\global\let\@ordinalNfrancais=\@ordinalNfrench
+\global\let\@numberstringMfrancais=\@numberstringMfrench
+\global\let\@numberstringFfrancais=\@numberstringFfrench
+\global\let\@numberstringNfrancais=\@numberstringNfrench
+\global\let\@NumberstringMfrancais=\@NumberstringMfrench
+\global\let\@NumberstringFfrancais=\@NumberstringFfrench
+\global\let\@NumberstringNfrancais=\@NumberstringNfrench
+\global\let\@ordinalstringMfrancais=\@ordinalstringMfrench
+\global\let\@ordinalstringFfrancais=\@ordinalstringFfrench
+\global\let\@ordinalstringNfrancais=\@ordinalstringNfrench
+\global\let\@OrdinalstringMfrancais=\@OrdinalstringMfrench
+\global\let\@OrdinalstringFfrancais=\@OrdinalstringFfrench
+\global\let\@OrdinalstringNfrancais=\@OrdinalstringNfrench
% \end{macrocode}
%\iffalse
@@ -4312,7 +4345,7 @@ this number}%
% \subsubsection{fc-french.def}
% Definitions for French.
% \begin{macrocode}
-\ProvidesFCLanguage{french}[2012/10/24]
+\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:
@@ -5908,26 +5941,26 @@ z\'ero%
%\fi
% \subsubsection{fc-frenchb.def}
% \begin{macrocode}
-\ProvidesFCLanguage{frenchb}[2012/06/18]
-\FCloadlang{french}
+\ProvidesFCLanguage{frenchb}[2013/08/17]%
+\FCloadlang{french}%
% \end{macrocode}
% Set |frenchb| to be equivalent to |french|.
% \begin{macrocode}
-\let\@ordinalMfrenchb=\@ordinalMfrench
-\let\@ordinalFfrenchb=\@ordinalFfrench
-\let\@ordinalNfrenchb=\@ordinalNfrench
-\let\@numberstringMfrenchb=\@numberstringMfrench
-\let\@numberstringFfrenchb=\@numberstringFfrench
-\let\@numberstringNfrenchb=\@numberstringNfrench
-\let\@NumberstringMfrenchb=\@NumberstringMfrench
-\let\@NumberstringFfrenchb=\@NumberstringFfrench
-\let\@NumberstringNfrenchb=\@NumberstringNfrench
-\let\@ordinalstringMfrenchb=\@ordinalstringMfrench
-\let\@ordinalstringFfrenchb=\@ordinalstringFfrench
-\let\@ordinalstringNfrenchb=\@ordinalstringNfrench
-\let\@OrdinalstringMfrenchb=\@OrdinalstringMfrench
-\let\@OrdinalstringFfrenchb=\@OrdinalstringFfrench
-\let\@OrdinalstringNfrenchb=\@OrdinalstringNfrench
+\global\let\@ordinalMfrenchb=\@ordinalMfrench
+\global\let\@ordinalFfrenchb=\@ordinalFfrench
+\global\let\@ordinalNfrenchb=\@ordinalNfrench
+\global\let\@numberstringMfrenchb=\@numberstringMfrench
+\global\let\@numberstringFfrenchb=\@numberstringFfrench
+\global\let\@numberstringNfrenchb=\@numberstringNfrench
+\global\let\@NumberstringMfrenchb=\@NumberstringMfrench
+\global\let\@NumberstringFfrenchb=\@NumberstringFfrench
+\global\let\@NumberstringNfrenchb=\@NumberstringNfrench
+\global\let\@ordinalstringMfrenchb=\@ordinalstringMfrench
+\global\let\@ordinalstringFfrenchb=\@ordinalstringFfrench
+\global\let\@ordinalstringNfrenchb=\@ordinalstringNfrench
+\global\let\@OrdinalstringMfrenchb=\@OrdinalstringMfrench
+\global\let\@OrdinalstringFfrenchb=\@OrdinalstringFfrench
+\global\let\@OrdinalstringNfrenchb=\@OrdinalstringNfrench
% \end{macrocode}
%\iffalse
@@ -5944,7 +5977,7 @@ z\'ero%
% German definitions (thank you to K. H. Fricke for supplying
% this information)
% \begin{macrocode}
-\ProvidesFCLanguage{german}[2012/06/18]
+\ProvidesFCLanguage{german}[2013/08/17]%
% \end{macrocode}
% Define macro that converts a number or count register (first
% argument) to an ordinal, and stores the result in the
@@ -5952,164 +5985,184 @@ z\'ero%
% Masculine:
% \begin{macrocode}
\newcommand{\@ordinalMgerman}[2]{%
-\edef#2{\number#1\relax.}}
+ \edef#2{\number#1\relax.}%
+}%
+\global\let\@ordinalMgerman\@ordinalMgerman
% \end{macrocode}
% Feminine:
% \begin{macrocode}
\newcommand{\@ordinalFgerman}[2]{%
-\edef#2{\number#1\relax.}}
+ \edef#2{\number#1\relax.}%
+}%
+\global\let\@ordinalFgerman\@ordinalFgerman
% \end{macrocode}
% Neuter:
% \begin{macrocode}
\newcommand{\@ordinalNgerman}[2]{%
-\edef#2{\number#1\relax.}}
+ \edef#2{\number#1\relax.}%
+}%
+\global\let\@ordinalNgerman\@ordinalNgerman
% \end{macrocode}
% Convert a number to text. The easiest way to do this is to
% break it up into units, tens and teens.
% Units (argument must be a number from 0 to 9, 1 on its own (eins)
% is dealt with separately):
% \begin{macrocode}
-\newcommand{\@@unitstringgerman}[1]{%
-\ifcase#1%
-null%
-\or eins%
-\or zwei%
-\or drei%
-\or vier%
-\or f\"unf%
-\or sechs%
-\or sieben%
-\or acht%
-\or neun%
-\fi
-}
+\gdef\@@unitstringgerman#1{%
+ \ifcase#1%
+ null%
+ \or eins%
+ \or zwei%
+ \or drei%
+ \or vier%
+ \or f\"unf%
+ \or sechs%
+ \or sieben%
+ \or acht%
+ \or neun%
+ \fi
+}%
% \end{macrocode}
% Tens (argument must go from 1 to 10):
% \begin{macrocode}
-\newcommand{\@@tenstringgerman}[1]{%
-\ifcase#1%
-\or zehn%
-\or zwanzig%
-\or drei{\ss}ig%
-\or vierzig%
-\or f\"unfzig%
-\or sechzig%
-\or siebzig%
-\or achtzig%
-\or neunzig%
-\or einhundert%
-\fi
-}
+\gdef\@@tenstringgerman#1{%
+ \ifcase#1%
+ \or zehn%
+ \or zwanzig%
+ \or drei{\ss}ig%
+ \or vierzig%
+ \or f\"unfzig%
+ \or sechzig%
+ \or siebzig%
+ \or achtzig%
+ \or neunzig%
+ \or einhundert%
+ \fi
+}%
% \end{macrocode}
% |\einhundert| is set to |einhundert| by default, user can
% redefine this command to just |hundert| if required, similarly
% for |\eintausend|.
% \begin{macrocode}
-\providecommand*{\einhundert}{einhundert}
-\providecommand*{\eintausend}{eintausend}
+\providecommand*{\einhundert}{einhundert}%
+\providecommand*{\eintausend}{eintausend}%
+\global\let\einhundert\einhundert
+\global\let\eintausend\eintausend
% \end{macrocode}
% Teens:
% \begin{macrocode}
-\newcommand{\@@teenstringgerman}[1]{%
-\ifcase#1%
-zehn%
-\or elf%
-\or zw\"olf%
-\or dreizehn%
-\or vierzehn%
-\or f\"unfzehn%
-\or sechzehn%
-\or siebzehn%
-\or achtzehn%
-\or neunzehn%
-\fi
-}
+\gdef\@@teenstringgerman#1{%
+ \ifcase#1%
+ zehn%
+ \or elf%
+ \or zw\"olf%
+ \or dreizehn%
+ \or vierzehn%
+ \or f\"unfzehn%
+ \or sechzehn%
+ \or siebzehn%
+ \or achtzehn%
+ \or neunzehn%
+ \fi
+}%
% \end{macrocode}
% The results are stored in the second argument, but doesn't
% display anything.
% \begin{macrocode}
\DeclareRobustCommand{\@numberstringMgerman}[2]{%
-\let\@unitstring=\@@unitstringgerman
-\let\@teenstring=\@@teenstringgerman
-\let\@tenstring=\@@tenstringgerman
-\@@numberstringgerman{#1}{#2}}
+ \let\@unitstring=\@@unitstringgerman
+ \let\@teenstring=\@@teenstringgerman
+ \let\@tenstring=\@@tenstringgerman
+ \@@numberstringgerman{#1}{#2}%
+}%
+\global\let\@numberstringMgerman\@numberstringMgerman
% \end{macrocode}
% Feminine and neuter forms:
% \begin{macrocode}
-\let\@numberstringFgerman=\@numberstringMgerman
-\let\@numberstringNgerman=\@numberstringMgerman
+\global\let\@numberstringFgerman=\@numberstringMgerman
+\global\let\@numberstringNgerman=\@numberstringMgerman
% \end{macrocode}
% As above, but initial letters in upper case:
% \begin{macrocode}
\DeclareRobustCommand{\@NumberstringMgerman}[2]{%
\@numberstringMgerman{#1}{\@@num@str}%
- \edef#2{\noexpand\MakeUppercase\expandonce\@@num@str}%
-}
+ \edef#2{\noexpand\MakeUppercase\expandonce\@@num@str}%
+}%
+\global\let\@NumberstringMgerman\@NumberstringMgerman
% \end{macrocode}
% Feminine and neuter form:
% \begin{macrocode}
-\let\@NumberstringFgerman=\@NumberstringMgerman
-\let\@NumberstringNgerman=\@NumberstringMgerman
+\global\let\@NumberstringFgerman=\@NumberstringMgerman
+\global\let\@NumberstringNgerman=\@NumberstringMgerman
% \end{macrocode}
% As above, but for ordinals.
% \begin{macrocode}
\DeclareRobustCommand{\@ordinalstringMgerman}[2]{%
-\let\@unitthstring=\@@unitthstringMgerman
-\let\@teenthstring=\@@teenthstringMgerman
-\let\@tenthstring=\@@tenthstringMgerman
-\let\@unitstring=\@@unitstringgerman
-\let\@teenstring=\@@teenstringgerman
-\let\@tenstring=\@@tenstringgerman
-\def\@thousandth{tausendster}%
-\def\@hundredth{hundertster}%
-\@@ordinalstringgerman{#1}{#2}}
+ \let\@unitthstring=\@@unitthstringMgerman
+ \let\@teenthstring=\@@teenthstringMgerman
+ \let\@tenthstring=\@@tenthstringMgerman
+ \let\@unitstring=\@@unitstringgerman
+ \let\@teenstring=\@@teenstringgerman
+ \let\@tenstring=\@@tenstringgerman
+ \def\@thousandth{tausendster}%
+ \def\@hundredth{hundertster}%
+ \@@ordinalstringgerman{#1}{#2}%
+}%
+\global\let\@ordinalstringMgerman\@ordinalstringMgerman
% \end{macrocode}
% Feminine form:
% \begin{macrocode}
\DeclareRobustCommand{\@ordinalstringFgerman}[2]{%
-\let\@unitthstring=\@@unitthstringFgerman
-\let\@teenthstring=\@@teenthstringFgerman
-\let\@tenthstring=\@@tenthstringFgerman
-\let\@unitstring=\@@unitstringgerman
-\let\@teenstring=\@@teenstringgerman
-\let\@tenstring=\@@tenstringgerman
-\def\@thousandth{tausendste}%
-\def\@hundredth{hundertste}%
-\@@ordinalstringgerman{#1}{#2}}
+ \let\@unitthstring=\@@unitthstringFgerman
+ \let\@teenthstring=\@@teenthstringFgerman
+ \let\@tenthstring=\@@tenthstringFgerman
+ \let\@unitstring=\@@unitstringgerman
+ \let\@teenstring=\@@teenstringgerman
+ \let\@tenstring=\@@tenstringgerman
+ \def\@thousandth{tausendste}%
+ \def\@hundredth{hundertste}%
+ \@@ordinalstringgerman{#1}{#2}%
+}%
+\global\let\@ordinalstringFgerman\@ordinalstringFgerman
% \end{macrocode}
% Neuter form:
% \begin{macrocode}
\DeclareRobustCommand{\@ordinalstringNgerman}[2]{%
-\let\@unitthstring=\@@unitthstringNgerman
-\let\@teenthstring=\@@teenthstringNgerman
-\let\@tenthstring=\@@tenthstringNgerman
-\let\@unitstring=\@@unitstringgerman
-\let\@teenstring=\@@teenstringgerman
-\let\@tenstring=\@@tenstringgerman
-\def\@thousandth{tausendstes}%
-\def\@hundredth{hunderstes}%
-\@@ordinalstringgerman{#1}{#2}}
+ \let\@unitthstring=\@@unitthstringNgerman
+ \let\@teenthstring=\@@teenthstringNgerman
+ \let\@tenthstring=\@@tenthstringNgerman
+ \let\@unitstring=\@@unitstringgerman
+ \let\@teenstring=\@@teenstringgerman
+ \let\@tenstring=\@@tenstringgerman
+ \def\@thousandth{tausendstes}%
+ \def\@hundredth{hunderstes}%
+ \@@ordinalstringgerman{#1}{#2}%
+}%
+\global\let\@ordinalstringNgerman\@ordinalstringNgerman
% \end{macrocode}
% As above, but with initial letters in upper case.
% \begin{macrocode}
\DeclareRobustCommand{\@OrdinalstringMgerman}[2]{%
\@ordinalstringMgerman{#1}{\@@num@str}%
\edef#2{\noexpand\MakeUppercase\expandonce\@@num@str}%
-}
+}%
+\global\let\@OrdinalstringMgerman\@OrdinalstringMgerman
% \end{macrocode}
% Feminine form:
% \begin{macrocode}
\DeclareRobustCommand{\@OrdinalstringFgerman}[2]{%
\@ordinalstringFgerman{#1}{\@@num@str}%
\edef#2{\noexpand\MakeUppercase\expandonce\@@num@str}%
-}
+}%
+\global\let\@OrdinalstringFgerman\@OrdinalstringFgerman
% \end{macrocode}
% Neuter form:
% \begin{macrocode}
\DeclareRobustCommand{\@OrdinalstringNgerman}[2]{%
\@ordinalstringNgerman{#1}{\@@num@str}%
\edef#2{\noexpand\MakeUppercase\expandonce\@@num@str}%
-}
+}%
+\global\let\@OrdinalstringNgerman\@OrdinalstringNgerman
% \end{macrocode}
% Code for converting numbers into textual ordinals. As before,
% it is easier to split it into units, tens and teens.
@@ -6117,162 +6170,162 @@ zehn%
%\changes{2.0}{2012-09-25}{fixed spelling mistake (correction
%provided by Dominik Wa\ss enhoven)}
% \begin{macrocode}
-\newcommand{\@@unitthstringMgerman}[1]{%
-\ifcase#1%
-nullter%
-\or erster%
-\or zweiter%
-\or dritter%
-\or vierter%
-\or f\"unfter%
-\or sechster%
-\or siebter%
-\or achter%
-\or neunter%
-\fi
-}
+\gdef\@@unitthstringMgerman#1{%
+ \ifcase#1%
+ nullter%
+ \or erster%
+ \or zweiter%
+ \or dritter%
+ \or vierter%
+ \or f\"unfter%
+ \or sechster%
+ \or siebter%
+ \or achter%
+ \or neunter%
+ \fi
+}%
% \end{macrocode}
% Tens:
% \begin{macrocode}
-\newcommand{\@@tenthstringMgerman}[1]{%
-\ifcase#1%
-\or zehnter%
-\or zwanzigster%
-\or drei{\ss}igster%
-\or vierzigster%
-\or f\"unfzigster%
-\or sechzigster%
-\or siebzigster%
-\or achtzigster%
-\or neunzigster%
-\fi
-}
+\gdef\@@tenthstringMgerman#1{%
+ \ifcase#1%
+ \or zehnter%
+ \or zwanzigster%
+ \or drei{\ss}igster%
+ \or vierzigster%
+ \or f\"unfzigster%
+ \or sechzigster%
+ \or siebzigster%
+ \or achtzigster%
+ \or neunzigster%
+ \fi
+}%
% \end{macrocode}
% Teens:
% \begin{macrocode}
-\newcommand{\@@teenthstringMgerman}[1]{%
-\ifcase#1%
-zehnter%
-\or elfter%
-\or zw\"olfter%
-\or dreizehnter%
-\or vierzehnter%
-\or f\"unfzehnter%
-\or sechzehnter%
-\or siebzehnter%
-\or achtzehnter%
-\or neunzehnter%
-\fi
-}
+\gdef\@@teenthstringMgerman#1{%
+ \ifcase#1%
+ zehnter%
+ \or elfter%
+ \or zw\"olfter%
+ \or dreizehnter%
+ \or vierzehnter%
+ \or f\"unfzehnter%
+ \or sechzehnter%
+ \or siebzehnter%
+ \or achtzehnter%
+ \or neunzehnter%
+ \fi
+}%
% \end{macrocode}
% Units (feminine):
% \begin{macrocode}
-\newcommand{\@@unitthstringFgerman}[1]{%
-\ifcase#1%
-nullte%
-\or erste%
-\or zweite%
-\or dritte%
-\or vierte%
-\or f\"unfte%
-\or sechste%
-\or siebte%
-\or achte%
-\or neunte%
-\fi
-}
+\gdef\@@unitthstringFgerman#1{%
+ \ifcase#1%
+ nullte%
+ \or erste%
+ \or zweite%
+ \or dritte%
+ \or vierte%
+ \or f\"unfte%
+ \or sechste%
+ \or siebte%
+ \or achte%
+ \or neunte%
+ \fi
+}%
% \end{macrocode}
% Tens (feminine):
% \begin{macrocode}
-\newcommand{\@@tenthstringFgerman}[1]{%
-\ifcase#1%
-\or zehnte%
-\or zwanzigste%
-\or drei{\ss}igste%
-\or vierzigste%
-\or f\"unfzigste%
-\or sechzigste%
-\or siebzigste%
-\or achtzigste%
-\or neunzigste%
-\fi
-}
+\gdef\@@tenthstringFgerman#1{%
+ \ifcase#1%
+ \or zehnte%
+ \or zwanzigste%
+ \or drei{\ss}igste%
+ \or vierzigste%
+ \or f\"unfzigste%
+ \or sechzigste%
+ \or siebzigste%
+ \or achtzigste%
+ \or neunzigste%
+ \fi
+}%
% \end{macrocode}
% Teens (feminine)
% \begin{macrocode}
-\newcommand{\@@teenthstringFgerman}[1]{%
-\ifcase#1%
-zehnte%
-\or elfte%
-\or zw\"olfte%
-\or dreizehnte%
-\or vierzehnte%
-\or f\"unfzehnte%
-\or sechzehnte%
-\or siebzehnte%
-\or achtzehnte%
-\or neunzehnte%
-\fi
-}
+\gdef\@@teenthstringFgerman#1{%
+ \ifcase#1%
+ zehnte%
+ \or elfte%
+ \or zw\"olfte%
+ \or dreizehnte%
+ \or vierzehnte%
+ \or f\"unfzehnte%
+ \or sechzehnte%
+ \or siebzehnte%
+ \or achtzehnte%
+ \or neunzehnte%
+ \fi
+}%
% \end{macrocode}
% Units (neuter):
%\changes{2.0}{2012-09-25}{fixed spelling mistake (correction
%provided by Dominik Wa\ss enhoven)}
% \begin{macrocode}
-\newcommand{\@@unitthstringNgerman}[1]{%
-\ifcase#1%
-nulltes%
-\or erstes%
-\or zweites%
-\or drittes%
-\or viertes%
-\or f\"unftes%
-\or sechstes%
-\or siebtes%
-\or achtes%
-\or neuntes%
-\fi
-}
+\gdef\@@unitthstringNgerman#1{%
+ \ifcase#1%
+ nulltes%
+ \or erstes%
+ \or zweites%
+ \or drittes%
+ \or viertes%
+ \or f\"unftes%
+ \or sechstes%
+ \or siebtes%
+ \or achtes%
+ \or neuntes%
+ \fi
+}%
% \end{macrocode}
% Tens (neuter):
% \begin{macrocode}
-\newcommand{\@@tenthstringNgerman}[1]{%
-\ifcase#1%
-\or zehntes%
-\or zwanzigstes%
-\or drei{\ss}igstes%
-\or vierzigstes%
-\or f\"unfzigstes%
-\or sechzigstes%
-\or siebzigstes%
-\or achtzigstes%
-\or neunzigstes%
-\fi
-}
+\gdef\@@tenthstringNgerman#1{%
+ \ifcase#1%
+ \or zehntes%
+ \or zwanzigstes%
+ \or drei{\ss}igstes%
+ \or vierzigstes%
+ \or f\"unfzigstes%
+ \or sechzigstes%
+ \or siebzigstes%
+ \or achtzigstes%
+ \or neunzigstes%
+ \fi
+}%
% \end{macrocode}
% Teens (neuter)
% \begin{macrocode}
-\newcommand{\@@teenthstringNgerman}[1]{%
-\ifcase#1%
-zehntes%
-\or elftes%
-\or zw\"olftes%
-\or dreizehntes%
-\or vierzehntes%
-\or f\"unfzehntes%
-\or sechzehntes%
-\or siebzehntes%
-\or achtzehntes%
-\or neunzehntes%
-\fi
-}
+\gdef\@@teenthstringNgerman#1{%
+ \ifcase#1%
+ zehntes%
+ \or elftes%
+ \or zw\"olftes%
+ \or dreizehntes%
+ \or vierzehntes%
+ \or f\"unfzehntes%
+ \or sechzehntes%
+ \or siebzehntes%
+ \or achtzehntes%
+ \or neunzehntes%
+ \fi
+}%
% \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}
-\newcommand{\@@numberunderhundredgerman}[2]{%
+\gdef\@@numberunderhundredgerman#1#2{%
\ifnum#1<10\relax
\ifnum#1>0\relax
\eappto#2{\@unitstring{#1}}%
@@ -6292,13 +6345,13 @@ zehntes%
\eappto#2{\@tenstring{\@tmpstrctr}}%
\fi
\fi
-}
+}%
% \end{macrocode}
% This stores the results in the second argument
% (which must be a control
% sequence), but it doesn't display anything.
% \begin{macrocode}
-\newcommand{\@@numberstringgerman}[2]{%
+\gdef\@@numberstringgerman#1#2{%
\ifnum#1>99999\relax
\PackageError{fmtcount}{Out of range}%
{This macro only works for values less than 100000}%
@@ -6363,11 +6416,11 @@ zehntes%
\@@numberunderhundredgerman{\@strctr}{#2}%
\fi
\fi
-}
+}%
% \end{macrocode}
% As above, but for ordinals
% \begin{macrocode}
-\newcommand{\@@numberunderhundredthgerman}[2]{%
+\gdef\@@numberunderhundredthgerman#1#2{%
\ifnum#1<10\relax
\eappto#2{\@unitthstring{#1}}%
\else
@@ -6385,10 +6438,10 @@ zehntes%
\eappto#2{\@tenthstring{\@tmpstrctr}}%
\fi
\fi
-}
+}%
% \end{macrocode}
% \begin{macrocode}
-\newcommand{\@@ordinalstringgerman}[2]{%
+\gdef\@@ordinalstringgerman#1#2{%
\ifnum#1>99999\relax
\PackageError{fmtcount}{Out of range}%
{This macro only works for values less than 100000}%
@@ -6469,11 +6522,11 @@ zehntes%
\ifthenelse{\@strctr=0 \and #1>0}{}{%
\@@numberunderhundredthgerman{\@strctr}{#2}%
}%
-}
+}%
% \end{macrocode}
% Load fc-germanb.def if not already loaded
% \begin{macrocode}
-\FCloadlang{germanb}
+\FCloadlang{germanb}%
% \end{macrocode}
%\iffalse
@@ -6488,29 +6541,29 @@ zehntes%
%\fi
% \subsubsection{fc-germanb.def}
% \begin{macrocode}
-\ProvidesFCLanguage{germanb}[2012/06/18]
+\ProvidesFCLanguage{germanb}[2013/08/17]%
% \end{macrocode}
% Load fc-german.def if not already loaded
% \begin{macrocode}
-\FCloadlang{german}
+\FCloadlang{german}%
% \end{macrocode}
% Set |germanb| to be equivalent to |german|.
% \begin{macrocode}
-\let\@ordinalMgermanb=\@ordinalMgerman
-\let\@ordinalFgermanb=\@ordinalFgerman
-\let\@ordinalNgermanb=\@ordinalNgerman
-\let\@numberstringMgermanb=\@numberstringMgerman
-\let\@numberstringFgermanb=\@numberstringFgerman
-\let\@numberstringNgermanb=\@numberstringNgerman
-\let\@NumberstringMgermanb=\@NumberstringMgerman
-\let\@NumberstringFgermanb=\@NumberstringFgerman
-\let\@NumberstringNgermanb=\@NumberstringNgerman
-\let\@ordinalstringMgermanb=\@ordinalstringMgerman
-\let\@ordinalstringFgermanb=\@ordinalstringFgerman
-\let\@ordinalstringNgermanb=\@ordinalstringNgerman
-\let\@OrdinalstringMgermanb=\@OrdinalstringMgerman
-\let\@OrdinalstringFgermanb=\@OrdinalstringFgerman
-\let\@OrdinalstringNgermanb=\@OrdinalstringNgerman
+\global\let\@ordinalMgermanb=\@ordinalMgerman
+\global\let\@ordinalFgermanb=\@ordinalFgerman
+\global\let\@ordinalNgermanb=\@ordinalNgerman
+\global\let\@numberstringMgermanb=\@numberstringMgerman
+\global\let\@numberstringFgermanb=\@numberstringFgerman
+\global\let\@numberstringNgermanb=\@numberstringNgerman
+\global\let\@NumberstringMgermanb=\@NumberstringMgerman
+\global\let\@NumberstringFgermanb=\@NumberstringFgerman
+\global\let\@NumberstringNgermanb=\@NumberstringNgerman
+\global\let\@ordinalstringMgermanb=\@ordinalstringMgerman
+\global\let\@ordinalstringFgermanb=\@ordinalstringFgerman
+\global\let\@ordinalstringNgermanb=\@ordinalstringNgerman
+\global\let\@OrdinalstringMgermanb=\@OrdinalstringMgerman
+\global\let\@OrdinalstringFgermanb=\@OrdinalstringFgerman
+\global\let\@OrdinalstringNgermanb=\@OrdinalstringNgerman
% \end{macrocode}
%\iffalse
@@ -6527,39 +6580,58 @@ zehntes%
% Italian support is now handled by interfacing to Enrico Gregorio's
% itnumpar package.
% \begin{macrocode}
-\ProvidesFCLanguage{italian}[2012/06/18]
+\ProvidesFCLanguage{italian}[2013/08/17]
\RequirePackage{itnumpar}
\newcommand{\@numberstringMitalian}[2]{%
\edef#2{\noexpand\printnumeroinparole{#1}}%
}
+\global\let\@numberstringMitalian\@numberstringMitalian
\newcommand{\@numberstringFitalian}[2]{%
\edef#2{\noexpand\printnumeroinparole{#1}}}
+\global\let\@numberstringFitalian\@numberstringFitalian
+
\newcommand{\@NumberstringMitalian}[2]{%
- \edef#2{\noexpand\printNumeroinparole{#1}}}
+ \edef#2{\noexpand\printNumeroinparole{#1}}%
+}
+\global\let\@NumberstringMitalian\@NumberstringMitalian
\newcommand{\@NumberstringFitalian}[2]{%
- \edef#2{\noexpand\printNumeroinparole{#1}}}
+ \edef#2{\noexpand\printNumeroinparole{#1}}%
+}
+\global\let\@NumberstringFitalian\@NumberstringFitalian
\newcommand{\@ordinalstringMitalian}[2]{%
- \edef#2{\noexpand\printordinalem{#1}}}
+ \edef#2{\noexpand\printordinalem{#1}}%
+}
+\global\let\@ordinalstringMitalian\@ordinalstringMitalian
\newcommand{\@ordinalstringFitalian}[2]{%
- \edef#2{\noexpand\printordinalef{#1}}}
+ \edef#2{\noexpand\printordinalef{#1}}%
+}
+\global\let\@ordinalstringFitalian\@ordinalstringFitalian
\newcommand{\@OrdinalstringMitalian}[2]{%
- \edef#2{\noexpand\printOrdinalem{#1}}}
+ \edef#2{\noexpand\printOrdinalem{#1}}%
+}
+\global\let\@OrdinalstringMitalian\@OrdinalstringMitalian
\newcommand{\@OrdinalstringFitalian}[2]{%
- \edef#2{\noexpand\printOrdinalef{#1}}}
+ \edef#2{\noexpand\printOrdinalef{#1}}%
+}
+\global\let\@OrdinalstringFitalian\@OrdinalstringFitalian
\newcommand{\@ordinalMitalian}[2]{%
\edef#2{#1\relax\noexpand\fmtord{o}}}
+
+\global\let\@ordinalMitalian\@ordinalMitalian
+
\newcommand{\@ordinalFitalian}[2]{%
\edef#2{#1\relax\noexpand\fmtord{a}}}
+\global\let\@ordinalFitalian\@ordinalFitalian
% \end{macrocode}
%\iffalse
@@ -6574,28 +6646,28 @@ zehntes%
%\fi
% \subsubsection{fc-ngerman.def}
% \begin{macrocode}
-\ProvidesFCLanguage{ngerman}[2012/06/18]
-\FCloadlang{german}
-\FCloadlang{ngermanb}
+\ProvidesFCLanguage{ngerman}[2012/06/18]%
+\FCloadlang{german}%
+\FCloadlang{ngermanb}%
% \end{macrocode}
% Set |ngerman| to be equivalent to |german|. Is it okay to do
% this? (I don't know the difference between the two.)
% \begin{macrocode}
-\let\@ordinalMngerman=\@ordinalMgerman
-\let\@ordinalFngerman=\@ordinalFgerman
-\let\@ordinalNngerman=\@ordinalNgerman
-\let\@numberstringMngerman=\@numberstringMgerman
-\let\@numberstringFngerman=\@numberstringFgerman
-\let\@numberstringNngerman=\@numberstringNgerman
-\let\@NumberstringMngerman=\@NumberstringMgerman
-\let\@NumberstringFngerman=\@NumberstringFgerman
-\let\@NumberstringNngerman=\@NumberstringNgerman
-\let\@ordinalstringMngerman=\@ordinalstringMgerman
-\let\@ordinalstringFngerman=\@ordinalstringFgerman
-\let\@ordinalstringNngerman=\@ordinalstringNgerman
-\let\@OrdinalstringMngerman=\@OrdinalstringMgerman
-\let\@OrdinalstringFngerman=\@OrdinalstringFgerman
-\let\@OrdinalstringNngerman=\@OrdinalstringNgerman
+\global\let\@ordinalMngerman=\@ordinalMgerman
+\global\let\@ordinalFngerman=\@ordinalFgerman
+\global\let\@ordinalNngerman=\@ordinalNgerman
+\global\let\@numberstringMngerman=\@numberstringMgerman
+\global\let\@numberstringFngerman=\@numberstringFgerman
+\global\let\@numberstringNngerman=\@numberstringNgerman
+\global\let\@NumberstringMngerman=\@NumberstringMgerman
+\global\let\@NumberstringFngerman=\@NumberstringFgerman
+\global\let\@NumberstringNngerman=\@NumberstringNgerman
+\global\let\@ordinalstringMngerman=\@ordinalstringMgerman
+\global\let\@ordinalstringFngerman=\@ordinalstringFgerman
+\global\let\@ordinalstringNngerman=\@ordinalstringNgerman
+\global\let\@OrdinalstringMngerman=\@OrdinalstringMgerman
+\global\let\@OrdinalstringFngerman=\@OrdinalstringFgerman
+\global\let\@OrdinalstringNngerman=\@OrdinalstringNgerman
% \end{macrocode}
%\iffalse
@@ -6610,31 +6682,31 @@ zehntes%
%\fi
% \subsubsection{fc-ngermanb.def}
% \begin{macrocode}
-\ProvidesFCLanguage{ngermanb}[2012/06/18]
-\FCloadlang{german}
+\ProvidesFCLanguage{ngermanb}[2013/08/17]%
+\FCloadlang{german}%
% \end{macrocode}
% Set |ngermanb| to be equivalent to |german|. Is it okay to do
% this? (I don't know the difference between the two.)
% \begin{macrocode}
-\let\@ordinalMngermanb=\@ordinalMgerman
-\let\@ordinalFngermanb=\@ordinalFgerman
-\let\@ordinalNngermanb=\@ordinalNgerman
-\let\@numberstringMngermanb=\@numberstringMgerman
-\let\@numberstringFngermanb=\@numberstringFgerman
-\let\@numberstringNngermanb=\@numberstringNgerman
-\let\@NumberstringMngermanb=\@NumberstringMgerman
-\let\@NumberstringFngermanb=\@NumberstringFgerman
-\let\@NumberstringNngermanb=\@NumberstringNgerman
-\let\@ordinalstringMngermanb=\@ordinalstringMgerman
-\let\@ordinalstringFngermanb=\@ordinalstringFgerman
-\let\@ordinalstringNngermanb=\@ordinalstringNgerman
-\let\@OrdinalstringMngermanb=\@OrdinalstringMgerman
-\let\@OrdinalstringFngermanb=\@OrdinalstringFgerman
-\let\@OrdinalstringNngermanb=\@OrdinalstringNgerman
+\global\let\@ordinalMngermanb=\@ordinalMgerman
+\global\let\@ordinalFngermanb=\@ordinalFgerman
+\global\let\@ordinalNngermanb=\@ordinalNgerman
+\global\let\@numberstringMngermanb=\@numberstringMgerman
+\global\let\@numberstringFngermanb=\@numberstringFgerman
+\global\let\@numberstringNngermanb=\@numberstringNgerman
+\global\let\@NumberstringMngermanb=\@NumberstringMgerman
+\global\let\@NumberstringFngermanb=\@NumberstringFgerman
+\global\let\@NumberstringNngermanb=\@NumberstringNgerman
+\global\let\@ordinalstringMngermanb=\@ordinalstringMgerman
+\global\let\@ordinalstringFngermanb=\@ordinalstringFgerman
+\global\let\@ordinalstringNngermanb=\@ordinalstringNgerman
+\global\let\@OrdinalstringMngermanb=\@OrdinalstringMgerman
+\global\let\@OrdinalstringFngermanb=\@OrdinalstringFgerman
+\global\let\@OrdinalstringNngermanb=\@OrdinalstringNgerman
% \end{macrocode}
% Load fc-ngerman.def if not already loaded
% \begin{macrocode}
-\FCloadlang{ngerman}
+\FCloadlang{ngerman}%
% \end{macrocode}
%\iffalse
@@ -6650,230 +6722,236 @@ zehntes%
% \subsubsection{fc-portuges.def}
% Portuguse definitions
% \begin{macrocode}
-\ProvidesFCLanguage{portuges}[2012/06/18]
+\ProvidesFCLanguage{portuges}[2013/08/17]%
% \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}
-\newcommand*{\@ordinalMportuges}[2]{%
-\ifnum#1=0\relax
- \edef#2{\number#1}%
-\else
- \edef#2{\number#1\relax\noexpand\fmtord{o}}%
-\fi}
+\gdef\@ordinalMportuges#1#2{%
+ \ifnum#1=0\relax
+ \edef#2{\number#1}%
+ \else
+ \edef#2{\number#1\relax\noexpand\fmtord{o}}%
+ \fi
+}%
% \end{macrocode}
% Feminine:
% \begin{macrocode}
-\newcommand*{\@ordinalFportuges}[2]{%
-\ifnum#1=0\relax
- \edef#2{\number#1}%
-\else
- \edef#2{\number#1\relax\noexpand\fmtord{a}}%
-\fi}
+\gdef\@ordinalFportuges#1#2{%
+ \ifnum#1=0\relax
+ \edef#2{\number#1}%
+ \else
+ \edef#2{\number#1\relax\noexpand\fmtord{a}}%
+ \fi
+}%
% \end{macrocode}
% Make neuter same as masculine:
% \begin{macrocode}
-\let\@ordinalNportuges\@ordinalMportuges
+\global\let\@ordinalNportuges\@ordinalMportuges
% \end{macrocode}
% Convert a number to a textual representation. To make it easier,
% split it up into units, tens, teens and hundreds. Units (argument
% must
% be a number from 0 to 9):
% \begin{macrocode}
-\newcommand*{\@@unitstringportuges}[1]{%
-\ifcase#1\relax
-zero%
-\or um%
-\or dois%
-\or tr\^es%
-\or quatro%
-\or cinco%
-\or seis%
-\or sete%
-\or oito%
-\or nove%
-\fi
-}
+\gdef\@@unitstringportuges#1#2{%
+ \ifcase#1\relax
+ zero%
+ \or um%
+ \or dois%
+ \or tr\^es%
+ \or quatro%
+ \or cinco%
+ \or seis%
+ \or sete%
+ \or oito%
+ \or nove%
+ \fi
+}%
% \end{macrocode}
% As above, but for feminine:
% \begin{macrocode}
-\newcommand*{\@@unitstringFportuges}[1]{%
-\ifcase#1\relax
-zero%
-\or uma%
-\or duas%
-\or tr\^es%
-\or quatro%
-\or cinco%
-\or seis%
-\or sete%
-\or oito%
-\or nove%
-\fi
-}
+\gdef\@@unitstringFportuges#1{%
+ \ifcase#1\relax
+ zero%
+ \or uma%
+ \or duas%
+ \or tr\^es%
+ \or quatro%
+ \or cinco%
+ \or seis%
+ \or sete%
+ \or oito%
+ \or nove%
+ \fi
+}%
% \end{macrocode}
% Tens (argument must be a number from 0 to 10):
% \begin{macrocode}
-\newcommand*{\@@tenstringportuges}[1]{%
-\ifcase#1\relax
-\or dez%
-\or vinte%
-\or trinta%
-\or quarenta%
-\or cinq\"uenta%
-\or sessenta%
-\or setenta%
-\or oitenta%
-\or noventa%
-\or cem%
-\fi
-}
+\gdef\@@tenstringportuges#1{%
+ \ifcase#1\relax
+ \or dez%
+ \or vinte%
+ \or trinta%
+ \or quarenta%
+ \or cinq\"uenta%
+ \or sessenta%
+ \or setenta%
+ \or oitenta%
+ \or noventa%
+ \or cem%
+ \fi
+}%
% \end{macrocode}
% Teens (argument must be a number from 0 to 9):
% \begin{macrocode}
-\newcommand*{\@@teenstringportuges}[1]{%
-\ifcase#1\relax
-dez%
-\or onze%
-\or doze%
-\or treze%
-\or quatorze%
-\or quinze%
-\or dezesseis%
-\or dezessete%
-\or dezoito%
-\or dezenove%
-\fi
-}
+\gdef\@@teenstringportuges#1{%
+ \ifcase#1\relax
+ dez%
+ \or onze%
+ \or doze%
+ \or treze%
+ \or quatorze%
+ \or quinze%
+ \or dezesseis%
+ \or dezessete%
+ \or dezoito%
+ \or dezenove%
+ \fi
+}%
% \end{macrocode}
% Hundreds:
% \begin{macrocode}
-\newcommand*{\@@hundredstringportuges}[1]{%
-\ifcase#1\relax
-\or cento%
-\or duzentos%
-\or trezentos%
-\or quatrocentos%
-\or quinhentos%
-\or seiscentos%
-\or setecentos%
-\or oitocentos%
-\or novecentos%
-\fi}
+\gdef\@@hundredstringportuges#1{%
+ \ifcase#1\relax
+ \or cento%
+ \or duzentos%
+ \or trezentos%
+ \or quatrocentos%
+ \or quinhentos%
+ \or seiscentos%
+ \or setecentos%
+ \or oitocentos%
+ \or novecentos%
+ \fi
+}%
% \end{macrocode}
% Hundreds (feminine):
% \begin{macrocode}
-\newcommand*{\@@hundredstringFportuges}[1]{%
-\ifcase#1\relax
-\or cento%
-\or duzentas%
-\or trezentas%
-\or quatrocentas%
-\or quinhentas%
-\or seiscentas%
-\or setecentas%
-\or oitocentas%
-\or novecentas%
-\fi}
+\gdef\@@hundredstringFportuges#1{%
+ \ifcase#1\relax
+ \or cento%
+ \or duzentas%
+ \or trezentas%
+ \or quatrocentas%
+ \or quinhentas%
+ \or seiscentas%
+ \or setecentas%
+ \or oitocentas%
+ \or novecentas%
+ \fi
+}%
% \end{macrocode}
% Units (initial letter in upper case):
% \begin{macrocode}
-\newcommand*{\@@Unitstringportuges}[1]{%
-\ifcase#1\relax
-Zero%
-\or Um%
-\or Dois%
-\or Tr\^es%
-\or Quatro%
-\or Cinco%
-\or Seis%
-\or Sete%
-\or Oito%
-\or Nove%
-\fi
-}
+\gdef\@@Unitstringportuges#1{%
+ \ifcase#1\relax
+ Zero%
+ \or Um%
+ \or Dois%
+ \or Tr\^es%
+ \or Quatro%
+ \or Cinco%
+ \or Seis%
+ \or Sete%
+ \or Oito%
+ \or Nove%
+ \fi
+}%
% \end{macrocode}
% As above, but feminine:
% \begin{macrocode}
-\newcommand*{\@@UnitstringFportuges}[1]{%
-\ifcase#1\relax
-Zera%
-\or Uma%
-\or Duas%
-\or Tr\^es%
-\or Quatro%
-\or Cinco%
-\or Seis%
-\or Sete%
-\or Oito%
-\or Nove%
-\fi
-}
+\gdef\@@UnitstringFportuges#1{%
+ \ifcase#1\relax
+ Zera%
+ \or Uma%
+ \or Duas%
+ \or Tr\^es%
+ \or Quatro%
+ \or Cinco%
+ \or Seis%
+ \or Sete%
+ \or Oito%
+ \or Nove%
+ \fi
+}%
% \end{macrocode}
% Tens (with initial letter in upper case):
% \begin{macrocode}
-\newcommand*{\@@Tenstringportuges}[1]{%
-\ifcase#1\relax
-\or Dez%
-\or Vinte%
-\or Trinta%
-\or Quarenta%
-\or Cinq\"uenta%
-\or Sessenta%
-\or Setenta%
-\or Oitenta%
-\or Noventa%
-\or Cem%
-\fi
-}
+\gdef\@@Tenstringportuges#1{%
+ \ifcase#1\relax
+ \or Dez%
+ \or Vinte%
+ \or Trinta%
+ \or Quarenta%
+ \or Cinq\"uenta%
+ \or Sessenta%
+ \or Setenta%
+ \or Oitenta%
+ \or Noventa%
+ \or Cem%
+ \fi
+}%
% \end{macrocode}
% Teens (with initial letter in upper case):
% \begin{macrocode}
-\newcommand*{\@@Teenstringportuges}[1]{%
-\ifcase#1\relax
-Dez%
-\or Onze%
-\or Doze%
-\or Treze%
-\or Quatorze%
-\or Quinze%
-\or Dezesseis%
-\or Dezessete%
-\or Dezoito%
-\or Dezenove%
-\fi
-}
+\gdef\@@Teenstringportuges#1{%
+ \ifcase#1\relax
+ Dez%
+ \or Onze%
+ \or Doze%
+ \or Treze%
+ \or Quatorze%
+ \or Quinze%
+ \or Dezesseis%
+ \or Dezessete%
+ \or Dezoito%
+ \or Dezenove%
+ \fi
+}%
% \end{macrocode}
% Hundreds (with initial letter in upper case):
% \begin{macrocode}
-\newcommand*{\@@Hundredstringportuges}[1]{%
-\ifcase#1\relax
-\or Cento%
-\or Duzentos%
-\or Trezentos%
-\or Quatrocentos%
-\or Quinhentos%
-\or Seiscentos%
-\or Setecentos%
-\or Oitocentos%
-\or Novecentos%
-\fi}
+\gdef\@@Hundredstringportuges#1{%
+ \ifcase#1\relax
+ \or Cento%
+ \or Duzentos%
+ \or Trezentos%
+ \or Quatrocentos%
+ \or Quinhentos%
+ \or Seiscentos%
+ \or Setecentos%
+ \or Oitocentos%
+ \or Novecentos%
+ \fi
+}%
% \end{macrocode}
% As above, but feminine:
% \begin{macrocode}
-\newcommand*{\@@HundredstringFportuges}[1]{%
-\ifcase#1\relax
-\or Cento%
-\or Duzentas%
-\or Trezentas%
-\or Quatrocentas%
-\or Quinhentas%
-\or Seiscentas%
-\or Setecentas%
-\or Oitocentas%
-\or Novecentas%
-\fi}
+\gdef\@@HundredstringFportuges#1{%
+ \ifcase#1\relax
+ \or Cento%
+ \or Duzentas%
+ \or Trezentas%
+ \or Quatrocentas%
+ \or Quinhentas%
+ \or Seiscentas%
+ \or Setecentas%
+ \or Oitocentas%
+ \or Novecentas%
+ \fi
+}%
% \end{macrocode}
% This has changed in version 1.08, so that it now stores
% the result in the second argument, but doesn't display
@@ -6882,307 +6960,328 @@ Dez%
% macros are not meant for use in documents.)
% \begin{macrocode}
\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}{#2}}
+ \let\@unitstring=\@@unitstringportuges
+ \let\@teenstring=\@@teenstringportuges
+ \let\@tenstring=\@@tenstringportuges
+ \let\@hundredstring=\@@hundredstringportuges
+ \def\@hundred{cem}\def\@thousand{mil}%
+ \def\@andname{e}%
+ \@@numberstringportuges{#1}{#2}%
+}%
+\global\let\@numberstringMportuges\@numberstringMportuges
% \end{macrocode}
% As above, but feminine form:
% \begin{macrocode}
\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}{#2}}
+ \let\@unitstring=\@@unitstringFportuges
+ \let\@teenstring=\@@teenstringportuges
+ \let\@tenstring=\@@tenstringportuges
+ \let\@hundredstring=\@@hundredstringFportuges
+ \def\@hundred{cem}\def\@thousand{mil}%
+ \def\@andname{e}%
+ \@@numberstringportuges{#1}{#2}%
+}%
+\global\let\@numberstringFportuges\@numberstringFportuges
% \end{macrocode}
% Make neuter same as masculine:
% \begin{macrocode}
-\let\@numberstringNportuges\@numberstringMportuges
+\global\let\@numberstringNportuges\@numberstringMportuges
% \end{macrocode}
% As above, but initial letters in upper case:
% \begin{macrocode}
\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}{#2}}
+ \let\@unitstring=\@@Unitstringportuges
+ \let\@teenstring=\@@Teenstringportuges
+ \let\@tenstring=\@@Tenstringportuges
+ \let\@hundredstring=\@@Hundredstringportuges
+ \def\@hundred{Cem}\def\@thousand{Mil}%
+ \def\@andname{e}%
+ \@@numberstringportuges{#1}{#2}%
+}%
+\global\let\@NumberstringMportuges\@NumberstringMportuges
% \end{macrocode}
% As above, but feminine form:
% \begin{macrocode}
\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}{#2}}
+ \let\@unitstring=\@@UnitstringFportuges
+ \let\@teenstring=\@@Teenstringportuges
+ \let\@tenstring=\@@Tenstringportuges
+ \let\@hundredstring=\@@HundredstringFportuges
+ \def\@hundred{Cem}\def\@thousand{Mil}%
+ \def\@andname{e}%
+ \@@numberstringportuges{#1}{#2}%
+}%
+\global\let\@NumberstringFportuges\@NumberstringFportuges
% \end{macrocode}
% Make neuter same as masculine:
% \begin{macrocode}
-\let\@NumberstringNportuges\@NumberstringMportuges
+\global\let\@NumberstringNportuges\@NumberstringMportuges
% \end{macrocode}
% As above, but for ordinals.
% \begin{macrocode}
\DeclareRobustCommand{\@ordinalstringMportuges}[2]{%
-\let\@unitthstring=\@@unitthstringportuges
-\let\@unitstring=\@@unitstringportuges
-\let\@teenthstring=\@@teenthstringportuges
-\let\@tenthstring=\@@tenthstringportuges
-\let\@hundredthstring=\@@hundredthstringportuges
-\def\@thousandth{mil\'esimo}%
-\@@ordinalstringportuges{#1}{#2}}
+ \let\@unitthstring=\@@unitthstringportuges
+ \let\@unitstring=\@@unitstringportuges
+ \let\@teenthstring=\@@teenthstringportuges
+ \let\@tenthstring=\@@tenthstringportuges
+ \let\@hundredthstring=\@@hundredthstringportuges
+ \def\@thousandth{mil\'esimo}%
+ \@@ordinalstringportuges{#1}{#2}%
+}%
+\global\let\@ordinalstringMportuges\@ordinalstringMportuges
% \end{macrocode}
% Feminine form:
% \begin{macrocode}
\DeclareRobustCommand{\@ordinalstringFportuges}[2]{%
-\let\@unitthstring=\@@unitthstringFportuges
-\let\@unitstring=\@@unitstringFportuges
-\let\@teenthstring=\@@teenthstringportuges
-\let\@tenthstring=\@@tenthstringFportuges
-\let\@hundredthstring=\@@hundredthstringFportuges
-\def\@thousandth{mil\'esima}%
-\@@ordinalstringportuges{#1}{#2}}
+ \let\@unitthstring=\@@unitthstringFportuges
+ \let\@unitstring=\@@unitstringFportuges
+ \let\@teenthstring=\@@teenthstringportuges
+ \let\@tenthstring=\@@tenthstringFportuges
+ \let\@hundredthstring=\@@hundredthstringFportuges
+ \def\@thousandth{mil\'esima}%
+ \@@ordinalstringportuges{#1}{#2}%
+}%
+\global\let\@ordinalstringFportuges\@ordinalstringFportuges
% \end{macrocode}
% Make neuter same as masculine:
% \begin{macrocode}
-\let\@ordinalstringNportuges\@ordinalstringMportuges
+\global\let\@ordinalstringNportuges\@ordinalstringMportuges
% \end{macrocode}
% As above, but initial letters in upper case (masculine):
% \begin{macrocode}
\DeclareRobustCommand{\@OrdinalstringMportuges}[2]{%
-\let\@unitthstring=\@@Unitthstringportuges
-\let\@unitstring=\@@Unitstringportuges
-\let\@teenthstring=\@@teenthstringportuges
-\let\@tenthstring=\@@Tenthstringportuges
-\let\@hundredthstring=\@@Hundredthstringportuges
-\def\@thousandth{Mil\'esimo}%
-\@@ordinalstringportuges{#1}{#2}}
+ \let\@unitthstring=\@@Unitthstringportuges
+ \let\@unitstring=\@@Unitstringportuges
+ \let\@teenthstring=\@@teenthstringportuges
+ \let\@tenthstring=\@@Tenthstringportuges
+ \let\@hundredthstring=\@@Hundredthstringportuges
+ \def\@thousandth{Mil\'esimo}%
+ \@@ordinalstringportuges{#1}{#2}%
+}%
+\global\let\@OrdinalstringMportuges\@OrdinalstringMportuges
% \end{macrocode}
% Feminine form:
% \begin{macrocode}
\DeclareRobustCommand{\@OrdinalstringFportuges}[2]{%
-\let\@unitthstring=\@@UnitthstringFportuges
-\let\@unitstring=\@@UnitstringFportuges
-\let\@teenthstring=\@@teenthstringportuges
-\let\@tenthstring=\@@TenthstringFportuges
-\let\@hundredthstring=\@@HundredthstringFportuges
-\def\@thousandth{Mil\'esima}%
-\@@ordinalstringportuges{#1}{#2}}
+ \let\@unitthstring=\@@UnitthstringFportuges
+ \let\@unitstring=\@@UnitstringFportuges
+ \let\@teenthstring=\@@teenthstringportuges
+ \let\@tenthstring=\@@TenthstringFportuges
+ \let\@hundredthstring=\@@HundredthstringFportuges
+ \def\@thousandth{Mil\'esima}%
+ \@@ordinalstringportuges{#1}{#2}%
+}%
+\global\let\@OrdinalstringFportuges\@OrdinalstringFportuges
% \end{macrocode}
% Make neuter same as masculine:
% \begin{macrocode}
-\let\@OrdinalstringNportuges\@OrdinalstringMportuges
+\global\let\@OrdinalstringNportuges\@OrdinalstringMportuges
% \end{macrocode}
% In order to do the ordinals, split into units, teens, tens
% and hundreds. Units:
% \begin{macrocode}
-\newcommand*{\@@unitthstringportuges}[1]{%
-\ifcase#1\relax
-zero%
-\or primeiro%
-\or segundo%
-\or terceiro%
-\or quarto%
-\or quinto%
-\or sexto%
-\or s\'etimo%
-\or oitavo%
-\or nono%
-\fi
-}
+\gdef\@@unitthstringportuges#1{%
+ \ifcase#1\relax
+ zero%
+ \or primeiro%
+ \or segundo%
+ \or terceiro%
+ \or quarto%
+ \or quinto%
+ \or sexto%
+ \or s\'etimo%
+ \or oitavo%
+ \or nono%
+ \fi
+}%
% \end{macrocode}
% Tens:
% \begin{macrocode}
-\newcommand*{\@@tenthstringportuges}[1]{%
-\ifcase#1\relax
-\or d\'ecimo%
-\or vig\'esimo%
-\or trig\'esimo%
-\or quadrag\'esimo%
-\or q\"uinquag\'esimo%
-\or sexag\'esimo%
-\or setuag\'esimo%
-\or octog\'esimo%
-\or nonag\'esimo%
-\fi
-}
+\gdef\@@tenthstringportuges#1{%
+ \ifcase#1\relax
+ \or d\'ecimo%
+ \or vig\'esimo%
+ \or trig\'esimo%
+ \or quadrag\'esimo%
+ \or q\"uinquag\'esimo%
+ \or sexag\'esimo%
+ \or setuag\'esimo%
+ \or octog\'esimo%
+ \or nonag\'esimo%
+ \fi
+}%
% \end{macrocode}
% Teens:
% \begin{macrocode}
-\newcommand*{\@@teenthstringportuges}[1]{%
-\@tenthstring{1}%
-\ifnum#1>0\relax
--\@unitthstring{#1}%
-\fi}
+\gdef\@@teenthstringportuges#1{%
+ \@tenthstring{1}%
+ \ifnum#1>0\relax
+ -\@unitthstring{#1}%
+ \fi
+}%
% \end{macrocode}
% Hundreds:
% \begin{macrocode}
-\newcommand*{\@@hundredthstringportuges}[1]{%
-\ifcase#1\relax
-\or cent\'esimo%
-\or ducent\'esimo%
-\or trecent\'esimo%
-\or quadringent\'esimo%
-\or q\"uingent\'esimo%
-\or seiscent\'esimo%
-\or setingent\'esimo%
-\or octingent\'esimo%
-\or nongent\'esimo%
-\fi}
+\gdef\@@hundredthstringportuges#1{%
+ \ifcase#1\relax
+ \or cent\'esimo%
+ \or ducent\'esimo%
+ \or trecent\'esimo%
+ \or quadringent\'esimo%
+ \or q\"uingent\'esimo%
+ \or seiscent\'esimo%
+ \or setingent\'esimo%
+ \or octingent\'esimo%
+ \or nongent\'esimo%
+ \fi
+}%
% \end{macrocode}
% Units (feminine):
% \begin{macrocode}
-\newcommand*{\@@unitthstringFportuges}[1]{%
-\ifcase#1\relax
-zero%
-\or primeira%
-\or segunda%
-\or terceira%
-\or quarta%
-\or quinta%
-\or sexta%
-\or s\'etima%
-\or oitava%
-\or nona%
-\fi
-}
+\gdef\@@unitthstringFportuges#1{%
+ \ifcase#1\relax
+ zero%
+ \or primeira%
+ \or segunda%
+ \or terceira%
+ \or quarta%
+ \or quinta%
+ \or sexta%
+ \or s\'etima%
+ \or oitava%
+ \or nona%
+ \fi
+}%
% \end{macrocode}
% Tens (feminine):
% \begin{macrocode}
-\newcommand*{\@@tenthstringFportuges}[1]{%
-\ifcase#1\relax
-\or d\'ecima%
-\or vig\'esima%
-\or trig\'esima%
-\or quadrag\'esima%
-\or q\"uinquag\'esima%
-\or sexag\'esima%
-\or setuag\'esima%
-\or octog\'esima%
-\or nonag\'esima%
-\fi
-}
+\gdef\@@tenthstringFportuges#1{%
+ \ifcase#1\relax
+ \or d\'ecima%
+ \or vig\'esima%
+ \or trig\'esima%
+ \or quadrag\'esima%
+ \or q\"uinquag\'esima%
+ \or sexag\'esima%
+ \or setuag\'esima%
+ \or octog\'esima%
+ \or nonag\'esima%
+ \fi
+}%
% \end{macrocode}
% Hundreds (feminine):
% \begin{macrocode}
-\newcommand*{\@@hundredthstringFportuges}[1]{%
-\ifcase#1\relax
-\or cent\'esima%
-\or ducent\'esima%
-\or trecent\'esima%
-\or quadringent\'esima%
-\or q\"uingent\'esima%
-\or seiscent\'esima%
-\or setingent\'esima%
-\or octingent\'esima%
-\or nongent\'esima%
-\fi}
+\gdef\@@hundredthstringFportuges#1{%
+ \ifcase#1\relax
+ \or cent\'esima%
+ \or ducent\'esima%
+ \or trecent\'esima%
+ \or quadringent\'esima%
+ \or q\"uingent\'esima%
+ \or seiscent\'esima%
+ \or setingent\'esima%
+ \or octingent\'esima%
+ \or nongent\'esima%
+ \fi
+}%
% \end{macrocode}
% As above, but with initial letter in upper case. Units:
% \begin{macrocode}
-\newcommand*{\@@Unitthstringportuges}[1]{%
-\ifcase#1\relax
-Zero%
-\or Primeiro%
-\or Segundo%
-\or Terceiro%
-\or Quarto%
-\or Quinto%
-\or Sexto%
-\or S\'etimo%
-\or Oitavo%
-\or Nono%
-\fi
-}
+\gdef\@@Unitthstringportuges#1{%
+ \ifcase#1\relax
+ Zero%
+ \or Primeiro%
+ \or Segundo%
+ \or Terceiro%
+ \or Quarto%
+ \or Quinto%
+ \or Sexto%
+ \or S\'etimo%
+ \or Oitavo%
+ \or Nono%
+ \fi
+}%
% \end{macrocode}
% Tens:
% \begin{macrocode}
-\newcommand*{\@@Tenthstringportuges}[1]{%
-\ifcase#1\relax
-\or D\'ecimo%
-\or Vig\'esimo%
-\or Trig\'esimo%
-\or Quadrag\'esimo%
-\or Q\"uinquag\'esimo%
-\or Sexag\'esimo%
-\or Setuag\'esimo%
-\or Octog\'esimo%
-\or Nonag\'esimo%
-\fi
-}
+\gdef\@@Tenthstringportuges#1{%
+ \ifcase#1\relax
+ \or D\'ecimo%
+ \or Vig\'esimo%
+ \or Trig\'esimo%
+ \or Quadrag\'esimo%
+ \or Q\"uinquag\'esimo%
+ \or Sexag\'esimo%
+ \or Setuag\'esimo%
+ \or Octog\'esimo%
+ \or Nonag\'esimo%
+ \fi
+}%
% \end{macrocode}
% Hundreds:
% \begin{macrocode}
-\newcommand*{\@@Hundredthstringportuges}[1]{%
-\ifcase#1\relax
-\or Cent\'esimo%
-\or Ducent\'esimo%
-\or Trecent\'esimo%
-\or Quadringent\'esimo%
-\or Q\"uingent\'esimo%
-\or Seiscent\'esimo%
-\or Setingent\'esimo%
-\or Octingent\'esimo%
-\or Nongent\'esimo%
-\fi}
+\gdef\@@Hundredthstringportuges#1{%
+ \ifcase#1\relax
+ \or Cent\'esimo%
+ \or Ducent\'esimo%
+ \or Trecent\'esimo%
+ \or Quadringent\'esimo%
+ \or Q\"uingent\'esimo%
+ \or Seiscent\'esimo%
+ \or Setingent\'esimo%
+ \or Octingent\'esimo%
+ \or Nongent\'esimo%
+ \fi
+}%
% \end{macrocode}
% As above, but feminine. Units:
% \begin{macrocode}
-\newcommand*{\@@UnitthstringFportuges}[1]{%
-\ifcase#1\relax
-Zera%
-\or Primeira%
-\or Segunda%
-\or Terceira%
-\or Quarta%
-\or Quinta%
-\or Sexta%
-\or S\'etima%
-\or Oitava%
-\or Nona%
-\fi
-}
+\gdef\@@UnitthstringFportuges#1{%
+ \ifcase#1\relax
+ Zera%
+ \or Primeira%
+ \or Segunda%
+ \or Terceira%
+ \or Quarta%
+ \or Quinta%
+ \or Sexta%
+ \or S\'etima%
+ \or Oitava%
+ \or Nona%
+ \fi
+}%
% \end{macrocode}
% Tens (feminine);
% \begin{macrocode}
-\newcommand*{\@@TenthstringFportuges}[1]{%
-\ifcase#1\relax
-\or D\'ecima%
-\or Vig\'esima%
-\or Trig\'esima%
-\or Quadrag\'esima%
-\or Q\"uinquag\'esima%
-\or Sexag\'esima%
-\or Setuag\'esima%
-\or Octog\'esima%
-\or Nonag\'esima%
-\fi
-}
+\gdef\@@TenthstringFportuges#1{%
+ \ifcase#1\relax
+ \or D\'ecima%
+ \or Vig\'esima%
+ \or Trig\'esima%
+ \or Quadrag\'esima%
+ \or Q\"uinquag\'esima%
+ \or Sexag\'esima%
+ \or Setuag\'esima%
+ \or Octog\'esima%
+ \or Nonag\'esima%
+ \fi
+}%
% \end{macrocode}
% Hundreds (feminine):
% \begin{macrocode}
-\newcommand*{\@@HundredthstringFportuges}[1]{%
-\ifcase#1\relax
-\or Cent\'esima%
-\or Ducent\'esima%
-\or Trecent\'esima%
-\or Quadringent\'esima%
-\or Q\"uingent\'esima%
-\or Seiscent\'esima%
-\or Setingent\'esima%
-\or Octingent\'esima%
-\or Nongent\'esima%
-\fi}
+\gdef\@@HundredthstringFportuges#1{%
+ \ifcase#1\relax
+ \or Cent\'esima%
+ \or Ducent\'esima%
+ \or Trecent\'esima%
+ \or Quadringent\'esima%
+ \or Q\"uingent\'esima%
+ \or Seiscent\'esima%
+ \or Setingent\'esima%
+ \or Octingent\'esima%
+ \or Nongent\'esima%
+ \fi
+}%
% \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
@@ -7190,7 +7289,7 @@ Zera%
% it shouldn't affect documents created with older versions.
% (These internal macros are not meant for use in documents.)
% \begin{macrocode}
-\newcommand*{\@@numberstringportuges}[2]{%
+\gdef\@@numberstringportuges#1#2{%
\ifnum#1>99999
\PackageError{fmtcount}{Out of range}%
{This macro only works for values less than 100000}%
@@ -7299,11 +7398,11 @@ this number}%
\edef#2{\@@fc@numstr\@teenstring{\@strctr}}%
\fi
\fi
-}
+}%
% \end{macrocode}
% As above, but for ordinals.
% \begin{macrocode}
-\newcommand*{\@@ordinalstringportuges}[2]{%
+\gdef\@@ordinalstringportuges#1#2{%
\@strctr=#1\relax
\ifnum#1>99999
\PackageError{fmtcount}{Out of range}%
@@ -7387,7 +7486,7 @@ this number}%
\fi
\fi
\fi
-}
+}%
% \end{macrocode}
%\iffalse
% \begin{macrocode}
@@ -7402,290 +7501,300 @@ this number}%
% \subsubsection{fc-spanish.def}
% Spanish definitions
% \begin{macrocode}
-\ProvidesFCLanguage{spanish}[2012/06/18]
+\ProvidesFCLanguage{spanish}[2013/08/17]%
% \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 must be a control sequence.
% Masculine:
% \begin{macrocode}
-\newcommand{\@ordinalMspanish}[2]{%
-\edef#2{\number#1\relax\noexpand\fmtord{o}}}
+\gdef\@ordinalMspanish#1{%
+ \edef#2{\number#1\relax\noexpand\fmtord{o}}%
+}%
% \end{macrocode}
% Feminine:
% \begin{macrocode}
-\newcommand{\@ordinalFspanish}[2]{%
-\edef#2{\number#1\relax\noexpand\fmtord{a}}}
+\gdef\@ordinalFspanish}[2]{%
+ \edef#2{\number#1\relax\noexpand\fmtord{a}}%
+}%
% \end{macrocode}
% Make neuter same as masculine:
% \begin{macrocode}
-\let\@ordinalNspanish\@ordinalMspanish
+\global\let\@ordinalNspanish\@ordinalMspanish
% \end{macrocode}
% Convert a number to text. The easiest way to do this is to
% break it up into units, tens, teens, twenties and hundreds.
% Units (argument must be a number from 0 to 9):
% \begin{macrocode}
-\newcommand{\@@unitstringspanish}[1]{%
-\ifcase#1\relax
-cero%
-\or uno%
-\or dos%
-\or tres%
-\or cuatro%
-\or cinco%
-\or seis%
-\or siete%
-\or ocho%
-\or nueve%
-\fi
-}
+\gdef\@@unitstringspanish#1{%
+ \ifcase#1\relax
+ cero%
+ \or uno%
+ \or dos%
+ \or tres%
+ \or cuatro%
+ \or cinco%
+ \or seis%
+ \or siete%
+ \or ocho%
+ \or nueve%
+ \fi
+}%
% \end{macrocode}
% Feminine:
% \begin{macrocode}
-\newcommand{\@@unitstringFspanish}[1]{%
-\ifcase#1\relax
-cera%
-\or una%
-\or dos%
-\or tres%
-\or cuatro%
-\or cinco%
-\or seis%
-\or siete%
-\or ocho%
-\or nueve%
-\fi
-}
+\gdef\@@unitstringFspanish#1{%
+ \ifcase#1\relax
+ cera%
+ \or una%
+ \or dos%
+ \or tres%
+ \or cuatro%
+ \or cinco%
+ \or seis%
+ \or siete%
+ \or ocho%
+ \or nueve%
+ \fi
+}%
% \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}
-\newcommand{\@@tenstringspanish}[1]{%
-\ifcase#1\relax
-\or diez%
-\or veinte%
-\or treinta%
-\or cuarenta%
-\or cincuenta%
-\or sesenta%
-\or setenta%
-\or ochenta%
-\or noventa%
-\or cien%
-\fi
-}
+\gdef\@@tenstringspanish#1{%
+ \ifcase#1\relax
+ \or diez%
+ \or veinte%
+ \or treinta%
+ \or cuarenta%
+ \or cincuenta%
+ \or sesenta%
+ \or setenta%
+ \or ochenta%
+ \or noventa%
+ \or cien%
+ \fi
+}%
% \end{macrocode}
% Teens:
% \begin{macrocode}
-\newcommand{\@@teenstringspanish}[1]{%
-\ifcase#1\relax
-diez%
-\or once%
-\or doce%
-\or trece%
-\or catorce%
-\or quince%
-\or diecis\'eis%
-\or diecisiete%
-\or dieciocho%
-\or diecinueve%
-\fi
-}
+\gdef\@@teenstringspanish#1{%
+ \ifcase#1\relax
+ diez%
+ \or once%
+ \or doce%
+ \or trece%
+ \or catorce%
+ \or quince%
+ \or diecis\'eis%
+ \or diecisiete%
+ \or dieciocho%
+ \or diecinueve%
+ \fi
+}%
% \end{macrocode}
% Twenties:
% \begin{macrocode}
-\newcommand{\@@twentystringspanish}[1]{%
-\ifcase#1\relax
-veinte%
-\or veintiuno%
-\or veintid\'os%
-\or veintitr\'es%
-\or veinticuatro%
-\or veinticinco%
-\or veintis\'eis%
-\or veintisiete%
-\or veintiocho%
-\or veintinueve%
-\fi}
+\gdef\@@twentystringspanish#1{%
+ \ifcase#1\relax
+ veinte%
+ \or veintiuno%
+ \or veintid\'os%
+ \or veintitr\'es%
+ \or veinticuatro%
+ \or veinticinco%
+ \or veintis\'eis%
+ \or veintisiete%
+ \or veintiocho%
+ \or veintinueve%
+ \fi
+}%
% \end{macrocode}
% Feminine form:
% \begin{macrocode}
-\newcommand{\@@twentystringFspanish}[1]{%
-\ifcase#1\relax
-veinte%
-\or veintiuna%
-\or veintid\'os%
-\or veintitr\'es%
-\or veinticuatro%
-\or veinticinco%
-\or veintis\'eis%
-\or veintisiete%
-\or veintiocho%
-\or veintinueve%
-\fi}
+\gdef\@@twentystringFspanish#1{%
+ \ifcase#1\relax
+ veinte%
+ \or veintiuna%
+ \or veintid\'os%
+ \or veintitr\'es%
+ \or veinticuatro%
+ \or veinticinco%
+ \or veintis\'eis%
+ \or veintisiete%
+ \or veintiocho%
+ \or veintinueve%
+ \fi
+}%
% \end{macrocode}
% Hundreds:
% \begin{macrocode}
-\newcommand{\@@hundredstringspanish}[1]{%
-\ifcase#1\relax
-\or ciento%
-\or doscientos%
-\or trescientos%
-\or cuatrocientos%
-\or quinientos%
-\or seiscientos%
-\or setecientos%
-\or ochocientos%
-\or novecientos%
-\fi}
+\gdef\@@hundredstringspanish#1{%
+ \ifcase#1\relax
+ \or ciento%
+ \or doscientos%
+ \or trescientos%
+ \or cuatrocientos%
+ \or quinientos%
+ \or seiscientos%
+ \or setecientos%
+ \or ochocientos%
+ \or novecientos%
+ \fi
+}%
% \end{macrocode}
% Feminine form:
% \begin{macrocode}
-\newcommand{\@@hundredstringFspanish}[1]{%
-\ifcase#1\relax
-\or cienta%
-\or doscientas%
-\or trescientas%
-\or cuatrocientas%
-\or quinientas%
-\or seiscientas%
-\or setecientas%
-\or ochocientas%
-\or novecientas%
-\fi}
+\gdef\@@hundredstringFspanish#1{%
+ \ifcase#1\relax
+ \or cienta%
+ \or doscientas%
+ \or trescientas%
+ \or cuatrocientas%
+ \or quinientas%
+ \or seiscientas%
+ \or setecientas%
+ \or ochocientas%
+ \or novecientas%
+ \fi
+}%
% \end{macrocode}
% As above, but with initial letter uppercase:
% \begin{macrocode}
-\newcommand{\@@Unitstringspanish}[1]{%
-\ifcase#1\relax
-Cero%
-\or Uno%
-\or Dos%
-\or Tres%
-\or Cuatro%
-\or Cinco%
-\or Seis%
-\or Siete%
-\or Ocho%
-\or Nueve%
-\fi
-}
+\gdef\@@Unitstringspanish#1{%
+ \ifcase#1\relax
+ Cero%
+ \or Uno%
+ \or Dos%
+ \or Tres%
+ \or Cuatro%
+ \or Cinco%
+ \or Seis%
+ \or Siete%
+ \or Ocho%
+ \or Nueve%
+ \fi
+}%
% \end{macrocode}
% Feminine form:
% \begin{macrocode}
-\newcommand{\@@UnitstringFspanish}[1]{%
-\ifcase#1\relax
-Cera%
-\or Una%
-\or Dos%
-\or Tres%
-\or Cuatro%
-\or Cinco%
-\or Seis%
-\or Siete%
-\or Ocho%
-\or Nueve%
-\fi
-}
+\gdef\@@UnitstringFspanish#1{%
+ \ifcase#1\relax
+ Cera%
+ \or Una%
+ \or Dos%
+ \or Tres%
+ \or Cuatro%
+ \or Cinco%
+ \or Seis%
+ \or Siete%
+ \or Ocho%
+ \or Nueve%
+ \fi
+}%
% \end{macrocode}
% Tens:
% \begin{macrocode}
%\changes{2.0}{2012-06-18}{fixed spelling mistake (correction
%provided by Fernando Maldonado)}
-\newcommand{\@@Tenstringspanish}[1]{%
-\ifcase#1\relax
-\or Diez%
-\or Veinte%
-\or Treinta%
-\or Cuarenta%
-\or Cincuenta%
-\or Sesenta%
-\or Setenta%
-\or Ochenta%
-\or Noventa%
-\or Cien%
-\fi
-}
+\gdef\@@Tenstringspanish#1{%
+ \ifcase#1\relax
+ \or Diez%
+ \or Veinte%
+ \or Treinta%
+ \or Cuarenta%
+ \or Cincuenta%
+ \or Sesenta%
+ \or Setenta%
+ \or Ochenta%
+ \or Noventa%
+ \or Cien%
+ \fi
+}%
% \end{macrocode}
% Teens:
% \begin{macrocode}
-\newcommand{\@@Teenstringspanish}[1]{%
-\ifcase#1\relax
-Diez%
-\or Once%
-\or Doce%
-\or Trece%
-\or Catorce%
-\or Quince%
-\or Diecis\'eis%
-\or Diecisiete%
-\or Dieciocho%
-\or Diecinueve%
-\fi
-}
+\gdef\@@Teenstringspanish#1{%
+ \ifcase#1\relax
+ Diez%
+ \or Once%
+ \or Doce%
+ \or Trece%
+ \or Catorce%
+ \or Quince%
+ \or Diecis\'eis%
+ \or Diecisiete%
+ \or Dieciocho%
+ \or Diecinueve%
+ \fi
+}%
% \end{macrocode}
% Twenties:
% \begin{macrocode}
-\newcommand{\@@Twentystringspanish}[1]{%
-\ifcase#1\relax
-Veinte%
-\or Veintiuno%
-\or Veintid\'os%
-\or Veintitr\'es%
-\or Veinticuatro%
-\or Veinticinco%
-\or Veintis\'eis%
-\or Veintisiete%
-\or Veintiocho%
-\or Veintinueve%
-\fi}
+\gdef\@@Twentystringspanish#1{%
+ \ifcase#1\relax
+ Veinte%
+ \or Veintiuno%
+ \or Veintid\'os%
+ \or Veintitr\'es%
+ \or Veinticuatro%
+ \or Veinticinco%
+ \or Veintis\'eis%
+ \or Veintisiete%
+ \or Veintiocho%
+ \or Veintinueve%
+ \fi
+}%
% \end{macrocode}
% Feminine form:
% \begin{macrocode}
-\newcommand{\@@TwentystringFspanish}[1]{%
-\ifcase#1\relax
-Veinte%
-\or Veintiuna%
-\or Veintid\'os%
-\or Veintitr\'es%
-\or Veinticuatro%
-\or Veinticinco%
-\or Veintis\'eis%
-\or Veintisiete%
-\or Veintiocho%
-\or Veintinueve%
-\fi}
+\gdef\@@TwentystringFspanish#1{%
+ \ifcase#1\relax
+ Veinte%
+ \or Veintiuna%
+ \or Veintid\'os%
+ \or Veintitr\'es%
+ \or Veinticuatro%
+ \or Veinticinco%
+ \or Veintis\'eis%
+ \or Veintisiete%
+ \or Veintiocho%
+ \or Veintinueve%
+ \fi
+}%
% \end{macrocode}
% Hundreds:
% \begin{macrocode}
-\newcommand{\@@Hundredstringspanish}[1]{%
-\ifcase#1\relax
-\or Ciento%
-\or Doscientos%
-\or Trescientos%
-\or Cuatrocientos%
-\or Quinientos%
-\or Seiscientos%
-\or Setecientos%
-\or Ochocientos%
-\or Novecientos%
-\fi}
+\gdef\@@Hundredstringspanish#1{%
+ \ifcase#1\relax
+ \or Ciento%
+ \or Doscientos%
+ \or Trescientos%
+ \or Cuatrocientos%
+ \or Quinientos%
+ \or Seiscientos%
+ \or Setecientos%
+ \or Ochocientos%
+ \or Novecientos%
+ \fi
+}%
% \end{macrocode}
% Feminine form:
% \begin{macrocode}
-\newcommand{\@@HundredstringFspanish}[1]{%
-\ifcase#1\relax
-\or Cienta%
-\or Doscientas%
-\or Trescientas%
-\or Cuatrocientas%
-\or Quinientas%
-\or Seiscientas%
-\or Setecientas%
-\or Ochocientas%
-\or Novecientas%
-\fi}
+\gdef\@@HundredstringFspanish#1{%
+ \ifcase#1\relax
+ \or Cienta%
+ \or Doscientas%
+ \or Trescientas%
+ \or Cuatrocientas%
+ \or Quinientas%
+ \or Seiscientas%
+ \or Setecientas%
+ \or Ochocientas%
+ \or Novecientas%
+ \fi
+}%
% \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.
@@ -7694,376 +7803,396 @@ Veinte%
% are not meant for use in documents.)
% \begin{macrocode}
\DeclareRobustCommand{\@numberstringMspanish}[2]{%
-\let\@unitstring=\@@unitstringspanish
-\let\@teenstring=\@@teenstringspanish
-\let\@tenstring=\@@tenstringspanish
-\let\@twentystring=\@@twentystringspanish
-\let\@hundredstring=\@@hundredstringspanish
-\def\@hundred{cien}\def\@thousand{mil}%
-\def\@andname{y}%
-\@@numberstringspanish{#1}{#2}}
+ \let\@unitstring=\@@unitstringspanish
+ \let\@teenstring=\@@teenstringspanish
+ \let\@tenstring=\@@tenstringspanish
+ \let\@twentystring=\@@twentystringspanish
+ \let\@hundredstring=\@@hundredstringspanish
+ \def\@hundred{cien}\def\@thousand{mil}%
+ \def\@andname{y}%
+ \@@numberstringspanish{#1}{#2}%
+}%
+\global\let\@numberstringMspanish\@numberstringMspanish
% \end{macrocode}
% Feminine form:
%\changes{2.0}{2012-06-18}{changed andname to `b' (correction
%provided by Fernando Maldonado)}
% \begin{macrocode}
\DeclareRobustCommand{\@numberstringFspanish}[2]{%
-\let\@unitstring=\@@unitstringFspanish
-\let\@teenstring=\@@teenstringspanish
-\let\@tenstring=\@@tenstringspanish
-\let\@twentystring=\@@twentystringFspanish
-\let\@hundredstring=\@@hundredstringFspanish
-\def\@hundred{cien}\def\@thousand{mil}%
-\def\@andname{b}%
-\@@numberstringspanish{#1}{#2}}
+ \let\@unitstring=\@@unitstringFspanish
+ \let\@teenstring=\@@teenstringspanish
+ \let\@tenstring=\@@tenstringspanish
+ \let\@twentystring=\@@twentystringFspanish
+ \let\@hundredstring=\@@hundredstringFspanish
+ \def\@hundred{cien}\def\@thousand{mil}%
+ \def\@andname{b}%
+ \@@numberstringspanish{#1}{#2}%
+}%
+\global\let\@numberstringFspanish\@numberstringFspanish
% \end{macrocode}
% Make neuter same as masculine:
% \begin{macrocode}
-\let\@numberstringNspanish\@numberstringMspanish
+\global\let\@numberstringNspanish\@numberstringMspanish
% \end{macrocode}
% As above, but initial letters in upper case:
% \begin{macrocode}
\DeclareRobustCommand{\@NumberstringMspanish}[2]{%
-\let\@unitstring=\@@Unitstringspanish
-\let\@teenstring=\@@Teenstringspanish
-\let\@tenstring=\@@Tenstringspanish
-\let\@twentystring=\@@Twentystringspanish
-\let\@hundredstring=\@@Hundredstringspanish
-\def\@andname{y}%
-\def\@hundred{Cien}\def\@thousand{Mil}%
-\@@numberstringspanish{#1}{#2}}
+ \let\@unitstring=\@@Unitstringspanish
+ \let\@teenstring=\@@Teenstringspanish
+ \let\@tenstring=\@@Tenstringspanish
+ \let\@twentystring=\@@Twentystringspanish
+ \let\@hundredstring=\@@Hundredstringspanish
+ \def\@andname{y}%
+ \def\@hundred{Cien}\def\@thousand{Mil}%
+ \@@numberstringspanish{#1}{#2}%
+}%
+\global\let\@NumberstringMspanish\@NumberstringMspanish
% \end{macrocode}
% Feminine form:
%\changes{2.0}{2012-06-18}{changed andname to `b' (correction
%provided by Fernando Maldonado)}
% \begin{macrocode}
\DeclareRobustCommand{\@NumberstringFspanish}[2]{%
-\let\@unitstring=\@@UnitstringFspanish
-\let\@teenstring=\@@Teenstringspanish
-\let\@tenstring=\@@Tenstringspanish
-\let\@twentystring=\@@TwentystringFspanish
-\let\@hundredstring=\@@HundredstringFspanish
-\def\@andname{b}%
-\def\@hundred{Cien}\def\@thousand{Mil}%
-\@@numberstringspanish{#1}{#2}}
+ \let\@unitstring=\@@UnitstringFspanish
+ \let\@teenstring=\@@Teenstringspanish
+ \let\@tenstring=\@@Tenstringspanish
+ \let\@twentystring=\@@TwentystringFspanish
+ \let\@hundredstring=\@@HundredstringFspanish
+ \def\@andname{b}%
+ \def\@hundred{Cien}\def\@thousand{Mil}%
+ \@@numberstringspanish{#1}{#2}%
+}%
+\global\let\@NumberstringFspanish\@NumberstringFspanish
% \end{macrocode}
% Make neuter same as masculine:
% \begin{macrocode}
-\let\@NumberstringNspanish\@NumberstringMspanish
+\global\let\@NumberstringNspanish\@NumberstringMspanish
% \end{macrocode}
% As above, but for ordinals.
% \begin{macrocode}
\DeclareRobustCommand{\@ordinalstringMspanish}[2]{%
-\let\@unitthstring=\@@unitthstringspanish
-\let\@unitstring=\@@unitstringspanish
-\let\@teenthstring=\@@teenthstringspanish
-\let\@tenthstring=\@@tenthstringspanish
-\let\@hundredthstring=\@@hundredthstringspanish
-\def\@thousandth{mil\'esimo}%
-\@@ordinalstringspanish{#1}{#2}}
+ \let\@unitthstring=\@@unitthstringspanish
+ \let\@unitstring=\@@unitstringspanish
+ \let\@teenthstring=\@@teenthstringspanish
+ \let\@tenthstring=\@@tenthstringspanish
+ \let\@hundredthstring=\@@hundredthstringspanish
+ \def\@thousandth{mil\'esimo}%
+ \@@ordinalstringspanish{#1}{#2}%
+}%
+\global\let\@ordinalstringMspanish\@ordinalstringMspanish
% \end{macrocode}
% Feminine form:
% \begin{macrocode}
\DeclareRobustCommand{\@ordinalstringFspanish}[2]{%
-\let\@unitthstring=\@@unitthstringFspanish
-\let\@unitstring=\@@unitstringFspanish
-\let\@teenthstring=\@@teenthstringFspanish
-\let\@tenthstring=\@@tenthstringFspanish
-\let\@hundredthstring=\@@hundredthstringFspanish
-\def\@thousandth{mil\'esima}%
-\@@ordinalstringspanish{#1}{#2}}
+ \let\@unitthstring=\@@unitthstringFspanish
+ \let\@unitstring=\@@unitstringFspanish
+ \let\@teenthstring=\@@teenthstringFspanish
+ \let\@tenthstring=\@@tenthstringFspanish
+ \let\@hundredthstring=\@@hundredthstringFspanish
+ \def\@thousandth{mil\'esima}%
+ \@@ordinalstringspanish{#1}{#2}%
+}%
+\global\let\@ordinalstringFspanish\@ordinalstringFspanish
% \end{macrocode}
% Make neuter same as masculine:
% \begin{macrocode}
-\let\@ordinalstringNspanish\@ordinalstringMspanish
+\global\let\@ordinalstringNspanish\@ordinalstringMspanish
% \end{macrocode}
% As above, but with initial letters in upper case.
% \begin{macrocode}
\DeclareRobustCommand{\@OrdinalstringMspanish}[2]{%
-\let\@unitthstring=\@@Unitthstringspanish
-\let\@unitstring=\@@Unitstringspanish
-\let\@teenthstring=\@@Teenthstringspanish
-\let\@tenthstring=\@@Tenthstringspanish
-\let\@hundredthstring=\@@Hundredthstringspanish
-\def\@thousandth{Mil\'esimo}%
-\@@ordinalstringspanish{#1}{#2}}
+ \let\@unitthstring=\@@Unitthstringspanish
+ \let\@unitstring=\@@Unitstringspanish
+ \let\@teenthstring=\@@Teenthstringspanish
+ \let\@tenthstring=\@@Tenthstringspanish
+ \let\@hundredthstring=\@@Hundredthstringspanish
+ \def\@thousandth{Mil\'esimo}%
+ \@@ordinalstringspanish{#1}{#2}%
+}
+\global\let\@OrdinalstringMspanish\@OrdinalstringMspanish
% \end{macrocode}
% Feminine form:
% \begin{macrocode}
\DeclareRobustCommand{\@OrdinalstringFspanish}[2]{%
-\let\@unitthstring=\@@UnitthstringFspanish
-\let\@unitstring=\@@UnitstringFspanish
-\let\@teenthstring=\@@TeenthstringFspanish
-\let\@tenthstring=\@@TenthstringFspanish
-\let\@hundredthstring=\@@HundredthstringFspanish
-\def\@thousandth{Mil\'esima}%
-\@@ordinalstringspanish{#1}{#2}}
+ \let\@unitthstring=\@@UnitthstringFspanish
+ \let\@unitstring=\@@UnitstringFspanish
+ \let\@teenthstring=\@@TeenthstringFspanish
+ \let\@tenthstring=\@@TenthstringFspanish
+ \let\@hundredthstring=\@@HundredthstringFspanish
+ \def\@thousandth{Mil\'esima}%
+ \@@ordinalstringspanish{#1}{#2}%
+}%
+\global\let\@OrdinalstringFspanish\@OrdinalstringFspanish
% \end{macrocode}
% Make neuter same as masculine:
% \begin{macrocode}
-\let\@OrdinalstringNspanish\@OrdinalstringMspanish
+\global\let\@OrdinalstringNspanish\@OrdinalstringMspanish
% \end{macrocode}
% Code for convert numbers into textual ordinals. As before,
% it is easier to split it into units, tens, teens and hundreds.
% Units:
% \begin{macrocode}
-\newcommand{\@@unitthstringspanish}[1]{%
-\ifcase#1\relax
-cero%
-\or primero%
-\or segundo%
-\or tercero%
-\or cuarto%
-\or quinto%
-\or sexto%
-\or s\'eptimo%
-\or octavo%
-\or noveno%
-\fi
-}
+\gdef\@@unitthstringspanish#1{%
+ \ifcase#1\relax
+ cero%
+ \or primero%
+ \or segundo%
+ \or tercero%
+ \or cuarto%
+ \or quinto%
+ \or sexto%
+ \or s\'eptimo%
+ \or octavo%
+ \or noveno%
+ \fi
+}%
% \end{macrocode}
% Tens:
% \begin{macrocode}
-\newcommand{\@@tenthstringspanish}[1]{%
-\ifcase#1\relax
-\or d\'ecimo%
-\or vig\'esimo%
-\or trig\'esimo%
-\or cuadrag\'esimo%
-\or quincuag\'esimo%
-\or sexag\'esimo%
-\or septuag\'esimo%
-\or octog\'esimo%
-\or nonag\'esimo%
-\fi
-}
+\gdef\@@tenthstringspanish#1{%
+ \ifcase#1\relax
+ \or d\'ecimo%
+ \or vig\'esimo%
+ \or trig\'esimo%
+ \or cuadrag\'esimo%
+ \or quincuag\'esimo%
+ \or sexag\'esimo%
+ \or septuag\'esimo%
+ \or octog\'esimo%
+ \or nonag\'esimo%
+ \fi
+}%
% \end{macrocode}
% Teens:
% \begin{macrocode}
-\newcommand{\@@teenthstringspanish}[1]{%
-\ifcase#1\relax
-d\'ecimo%
-\or und\'ecimo%
-\or duod\'ecimo%
-\or decimotercero%
-\or decimocuarto%
-\or decimoquinto%
-\or decimosexto%
-\or decimos\'eptimo%
-\or decimoctavo%
-\or decimonoveno%
-\fi
-}
+\gdef\@@teenthstringspanish#1{%
+ \ifcase#1\relax
+ d\'ecimo%
+ \or und\'ecimo%
+ \or duod\'ecimo%
+ \or decimotercero%
+ \or decimocuarto%
+ \or decimoquinto%
+ \or decimosexto%
+ \or decimos\'eptimo%
+ \or decimoctavo%
+ \or decimonoveno%
+ \fi
+}%
% \end{macrocode}
% Hundreds:
% \begin{macrocode}
-\newcommand{\@@hundredthstringspanish}[1]{%
-\ifcase#1\relax
-\or cent\'esimo%
-\or ducent\'esimo%
-\or tricent\'esimo%
-\or cuadringent\'esimo%
-\or quingent\'esimo%
-\or sexcent\'esimo%
-\or septing\'esimo%
-\or octingent\'esimo%
-\or noningent\'esimo%
-\fi}
+\gdef\@@hundredthstringspanish#1{%
+ \ifcase#1\relax
+ \or cent\'esimo%
+ \or ducent\'esimo%
+ \or tricent\'esimo%
+ \or cuadringent\'esimo%
+ \or quingent\'esimo%
+ \or sexcent\'esimo%
+ \or septing\'esimo%
+ \or octingent\'esimo%
+ \or noningent\'esimo%
+ \fi
+}%
% \end{macrocode}
% Units (feminine):
% \begin{macrocode}
-\newcommand{\@@unitthstringFspanish}[1]{%
-\ifcase#1\relax
-cera%
-\or primera%
-\or segunda%
-\or tercera%
-\or cuarta%
-\or quinta%
-\or sexta%
-\or s\'eptima%
-\or octava%
-\or novena%
-\fi
-}
+\gdef\@@unitthstringFspanish#1{%
+ \ifcase#1\relax
+ cera%
+ \or primera%
+ \or segunda%
+ \or tercera%
+ \or cuarta%
+ \or quinta%
+ \or sexta%
+ \or s\'eptima%
+ \or octava%
+ \or novena%
+ \fi
+}%
% \end{macrocode}
% Tens (feminine):
% \begin{macrocode}
-\newcommand{\@@tenthstringFspanish}[1]{%
-\ifcase#1\relax
-\or d\'ecima%
-\or vig\'esima%
-\or trig\'esima%
-\or cuadrag\'esima%
-\or quincuag\'esima%
-\or sexag\'esima%
-\or septuag\'esima%
-\or octog\'esima%
-\or nonag\'esima%
-\fi
-}
+\gdef\@@tenthstringFspanish#1{%
+ \ifcase#1\relax
+ \or d\'ecima%
+ \or vig\'esima%
+ \or trig\'esima%
+ \or cuadrag\'esima%
+ \or quincuag\'esima%
+ \or sexag\'esima%
+ \or septuag\'esima%
+ \or octog\'esima%
+ \or nonag\'esima%
+ \fi
+}%
% \end{macrocode}
% Teens (feminine)
% \begin{macrocode}
-\newcommand{\@@teenthstringFspanish}[1]{%
-\ifcase#1\relax
-d\'ecima%
-\or und\'ecima%
-\or duod\'ecima%
-\or decimotercera%
-\or decimocuarta%
-\or decimoquinta%
-\or decimosexta%
-\or decimos\'eptima%
-\or decimoctava%
-\or decimonovena%
-\fi
-}
+\gdef\@@teenthstringFspanish#1{%
+ \ifcase#1\relax
+ d\'ecima%
+ \or und\'ecima%
+ \or duod\'ecima%
+ \or decimotercera%
+ \or decimocuarta%
+ \or decimoquinta%
+ \or decimosexta%
+ \or decimos\'eptima%
+ \or decimoctava%
+ \or decimonovena%
+ \fi
+}%
% \end{macrocode}
% Hundreds (feminine)
% \begin{macrocode}
-\newcommand{\@@hundredthstringFspanish}[1]{%
-\ifcase#1\relax
-\or cent\'esima%
-\or ducent\'esima%
-\or tricent\'esima%
-\or cuadringent\'esima%
-\or quingent\'esima%
-\or sexcent\'esima%
-\or septing\'esima%
-\or octingent\'esima%
-\or noningent\'esima%
-\fi}
+\gdef\@@hundredthstringFspanish#1{%
+ \ifcase#1\relax
+ \or cent\'esima%
+ \or ducent\'esima%
+ \or tricent\'esima%
+ \or cuadringent\'esima%
+ \or quingent\'esima%
+ \or sexcent\'esima%
+ \or septing\'esima%
+ \or octingent\'esima%
+ \or noningent\'esima%
+ \fi
+}%
% \end{macrocode}
% As above, but with initial letters in upper case
% \begin{macrocode}
-\newcommand{\@@Unitthstringspanish}[1]{%
-\ifcase#1\relax
-Cero%
-\or Primero%
-\or Segundo%
-\or Tercero%
-\or Cuarto%
-\or Quinto%
-\or Sexto%
-\or S\'eptimo%
-\or Octavo%
-\or Noveno%
-\fi
-}
+\gdef\@@Unitthstringspanish#1{%
+ \ifcase#1\relax
+ Cero%
+ \or Primero%
+ \or Segundo%
+ \or Tercero%
+ \or Cuarto%
+ \or Quinto%
+ \or Sexto%
+ \or S\'eptimo%
+ \or Octavo%
+ \or Noveno%
+ \fi
+}%
% \end{macrocode}
% Tens:
% \begin{macrocode}
-\newcommand{\@@Tenthstringspanish}[1]{%
-\ifcase#1\relax
-\or D\'ecimo%
-\or Vig\'esimo%
-\or Trig\'esimo%
-\or Cuadrag\'esimo%
-\or Quincuag\'esimo%
-\or Sexag\'esimo%
-\or Septuag\'esimo%
-\or Octog\'esimo%
-\or Nonag\'esimo%
-\fi
-}
+\gdef\@@Tenthstringspanish#1{%
+ \ifcase#1\relax
+ \or D\'ecimo%
+ \or Vig\'esimo%
+ \or Trig\'esimo%
+ \or Cuadrag\'esimo%
+ \or Quincuag\'esimo%
+ \or Sexag\'esimo%
+ \or Septuag\'esimo%
+ \or Octog\'esimo%
+ \or Nonag\'esimo%
+ \fi
+}%
% \end{macrocode}
% Teens:
% \begin{macrocode}
-\newcommand{\@@Teenthstringspanish}[1]{%
-\ifcase#1\relax
-D\'ecimo%
-\or Und\'ecimo%
-\or Duod\'ecimo%
-\or Decimotercero%
-\or Decimocuarto%
-\or Decimoquinto%
-\or Decimosexto%
-\or Decimos\'eptimo%
-\or Decimoctavo%
-\or Decimonoveno%
-\fi
-}
+\gdef\@@Teenthstringspanish#1{%
+ \ifcase#1\relax
+ D\'ecimo%
+ \or Und\'ecimo%
+ \or Duod\'ecimo%
+ \or Decimotercero%
+ \or Decimocuarto%
+ \or Decimoquinto%
+ \or Decimosexto%
+ \or Decimos\'eptimo%
+ \or Decimoctavo%
+ \or Decimonoveno%
+ \fi
+}%
% \end{macrocode}
% Hundreds
% \begin{macrocode}
-\newcommand{\@@Hundredthstringspanish}[1]{%
-\ifcase#1\relax
-\or Cent\'esimo%
-\or Ducent\'esimo%
-\or Tricent\'esimo%
-\or Cuadringent\'esimo%
-\or Quingent\'esimo%
-\or Sexcent\'esimo%
-\or Septing\'esimo%
-\or Octingent\'esimo%
-\or Noningent\'esimo%
-\fi}
+\gdef\@@Hundredthstringspanish#1{%
+ \ifcase#1\relax
+ \or Cent\'esimo%
+ \or Ducent\'esimo%
+ \or Tricent\'esimo%
+ \or Cuadringent\'esimo%
+ \or Quingent\'esimo%
+ \or Sexcent\'esimo%
+ \or Septing\'esimo%
+ \or Octingent\'esimo%
+ \or Noningent\'esimo%
+ \fi
+}%
% \end{macrocode}
% As above, but feminine.
% \begin{macrocode}
-\newcommand{\@@UnitthstringFspanish}[1]{%
-\ifcase#1\relax
-Cera%
-\or Primera%
-\or Segunda%
-\or Tercera%
-\or Cuarta%
-\or Quinta%
-\or Sexta%
-\or S\'eptima%
-\or Octava%
-\or Novena%
-\fi
-}
+\gdef\@@UnitthstringFspanish#1{%
+ \ifcase#1\relax
+ Cera%
+ \or Primera%
+ \or Segunda%
+ \or Tercera%
+ \or Cuarta%
+ \or Quinta%
+ \or Sexta%
+ \or S\'eptima%
+ \or Octava%
+ \or Novena%
+ \fi
+}%
% \end{macrocode}
% Tens (feminine)
% \begin{macrocode}
-\newcommand{\@@TenthstringFspanish}[1]{%
-\ifcase#1\relax
-\or D\'ecima%
-\or Vig\'esima%
-\or Trig\'esima%
-\or Cuadrag\'esima%
-\or Quincuag\'esima%
-\or Sexag\'esima%
-\or Septuag\'esima%
-\or Octog\'esima%
-\or Nonag\'esima%
-\fi
-}
+\gdef\@@TenthstringFspanish#1{%
+ \ifcase#1\relax
+ \or D\'ecima%
+ \or Vig\'esima%
+ \or Trig\'esima%
+ \or Cuadrag\'esima%
+ \or Quincuag\'esima%
+ \or Sexag\'esima%
+ \or Septuag\'esima%
+ \or Octog\'esima%
+ \or Nonag\'esima%
+ \fi
+}%
% \end{macrocode}
% Teens (feminine):
% \begin{macrocode}
-\newcommand{\@@TeenthstringFspanish}[1]{%
-\ifcase#1\relax
-D\'ecima%
-\or Und\'ecima%
-\or Duod\'ecima%
-\or Decimotercera%
-\or Decimocuarta%
-\or Decimoquinta%
-\or Decimosexta%
-\or Decimos\'eptima%
-\or Decimoctava%
-\or Decimonovena%
-\fi
-}
+\gdef\@@TeenthstringFspanish#1{%
+ \ifcase#1\relax
+ D\'ecima%
+ \or Und\'ecima%
+ \or Duod\'ecima%
+ \or Decimotercera%
+ \or Decimocuarta%
+ \or Decimoquinta%
+ \or Decimosexta%
+ \or Decimos\'eptima%
+ \or Decimoctava%
+ \or Decimonovena%
+ \fi
+}%
% \end{macrocode}
% Hundreds (feminine):
% \begin{macrocode}
-\newcommand{\@@HundredthstringFspanish}[1]{%
-\ifcase#1\relax
-\or Cent\'esima%
-\or Ducent\'esima%
-\or Tricent\'esima%
-\or Cuadringent\'esima%
-\or Quingent\'esima%
-\or Sexcent\'esima%
-\or Septing\'esima%
-\or Octingent\'esima%
-\or Noningent\'esima%
-\fi}
+\gdef\@@HundredthstringFspanish#1{%
+ \ifcase#1\relax
+ \or Cent\'esima%
+ \or Ducent\'esima%
+ \or Tricent\'esima%
+ \or Cuadringent\'esima%
+ \or Quingent\'esima%
+ \or Sexcent\'esima%
+ \or Septing\'esima%
+ \or Octingent\'esima%
+ \or Noningent\'esima%
+ \fi
+}%
% \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
@@ -8072,7 +8201,7 @@ D\'ecima%
% with older versions. (These internal macros are not meant for
% use in documents.)
% \begin{macrocode}
-\newcommand{\@@numberstringspanish}[2]{%
+\gdef\@@numberstringspanish#1#2{%
\ifnum#1>99999
\PackageError{fmtcount}{Out of range}%
{This macro only works for values less than 100000}%
@@ -8179,11 +8308,11 @@ this number}%
\fi
\fi
\fi
-}
+}%
% \end{macrocode}
% As above, but for ordinals
% \begin{macrocode}
-\newcommand{\@@ordinalstringspanish}[2]{%
+\gdef\@@ordinalstringspanish#1#2{%
\@strctr=#1\relax
\ifnum#1>99999
\PackageError{fmtcount}{Out of range}%
@@ -8273,7 +8402,7 @@ this number}%
\fi
\fi
\fi
-}
+}%
% \end{macrocode}
%\iffalse
@@ -8289,30 +8418,30 @@ this number}%
% \subsubsection{fc-UKenglish.def}
% English definitions
% \begin{macrocode}
-\ProvidesFCLanguage{UKenglish}[2012/06/18]
+\ProvidesFCLanguage{UKenglish}[2013/08/17]%
% \end{macrocode}
% Loaded fc-english.def if not already loaded
% \begin{macrocode}
-\FCloadlang{english}
+\FCloadlang{english}%
% \end{macrocode}
% These are all just synonyms for the commands provided by
% fc-english.def.
% \begin{macrocode}
-\let\@ordinalMUKenglish\@ordinalMenglish
-\let\@ordinalFUKenglish\@ordinalMenglish
-\let\@ordinalNUKenglish\@ordinalMenglish
-\let\@numberstringMUKenglish\@numberstringMenglish
-\let\@numberstringFUKenglish\@numberstringMenglish
-\let\@numberstringNUKenglish\@numberstringMenglish
-\let\@NumberstringMUKenglish\@NumberstringMenglish
-\let\@NumberstringFUKenglish\@NumberstringMenglish
-\let\@NumberstringNUKenglish\@NumberstringMenglish
-\let\@ordinalstringMUKenglish\@ordinalstringMenglish
-\let\@ordinalstringFUKenglish\@ordinalstringMenglish
-\let\@ordinalstringNUKenglish\@ordinalstringMenglish
-\let\@OrdinalstringMUKenglish\@OrdinalstringMenglish
-\let\@OrdinalstringFUKenglish\@OrdinalstringMenglish
-\let\@OrdinalstringNUKenglish\@OrdinalstringMenglish
+\global\let\@ordinalMUKenglish\@ordinalMenglish
+\global\let\@ordinalFUKenglish\@ordinalMenglish
+\global\let\@ordinalNUKenglish\@ordinalMenglish
+\global\let\@numberstringMUKenglish\@numberstringMenglish
+\global\let\@numberstringFUKenglish\@numberstringMenglish
+\global\let\@numberstringNUKenglish\@numberstringMenglish
+\global\let\@NumberstringMUKenglish\@NumberstringMenglish
+\global\let\@NumberstringFUKenglish\@NumberstringMenglish
+\global\let\@NumberstringNUKenglish\@NumberstringMenglish
+\global\let\@ordinalstringMUKenglish\@ordinalstringMenglish
+\global\let\@ordinalstringFUKenglish\@ordinalstringMenglish
+\global\let\@ordinalstringNUKenglish\@ordinalstringMenglish
+\global\let\@OrdinalstringMUKenglish\@OrdinalstringMenglish
+\global\let\@OrdinalstringFUKenglish\@OrdinalstringMenglish
+\global\let\@OrdinalstringNUKenglish\@OrdinalstringMenglish
% \end{macrocode}
%\iffalse
% \begin{macrocode}
@@ -8327,31 +8456,31 @@ this number}%
% \subsubsection{fc-USenglish.def}
% US English definitions
% \begin{macrocode}
-\ProvidesFCLanguage{USenglish}[2012/06/18]
+\ProvidesFCLanguage{USenglish}[2013/08/17]%
% \end{macrocode}
% Loaded fc-english.def if not already loaded
% \begin{macrocode}
-\FCloadlang{english}
+\FCloadlang{english}%
% \end{macrocode}
% These are all just synonyms for the commands provided by
% fc-english.def. (This needs fixing as there are some differences
% between UK and US number strings.)
% \begin{macrocode}
-\let\@ordinalMUSenglish\@ordinalMenglish
-\let\@ordinalFUSenglish\@ordinalMenglish
-\let\@ordinalNUSenglish\@ordinalMenglish
-\let\@numberstringMUSenglish\@numberstringMenglish
-\let\@numberstringFUSenglish\@numberstringMenglish
-\let\@numberstringNUSenglish\@numberstringMenglish
-\let\@NumberstringMUSenglish\@NumberstringMenglish
-\let\@NumberstringFUSenglish\@NumberstringMenglish
-\let\@NumberstringNUSenglish\@NumberstringMenglish
-\let\@ordinalstringMUSenglish\@ordinalstringMenglish
-\let\@ordinalstringFUSenglish\@ordinalstringMenglish
-\let\@ordinalstringNUSenglish\@ordinalstringMenglish
-\let\@OrdinalstringMUSenglish\@OrdinalstringMenglish
-\let\@OrdinalstringFUSenglish\@OrdinalstringMenglish
-\let\@OrdinalstringNUSenglish\@OrdinalstringMenglish
+\global\let\@ordinalMUSenglish\@ordinalMenglish
+\global\let\@ordinalFUSenglish\@ordinalMenglish
+\global\let\@ordinalNUSenglish\@ordinalMenglish
+\global\let\@numberstringMUSenglish\@numberstringMenglish
+\global\let\@numberstringFUSenglish\@numberstringMenglish
+\global\let\@numberstringNUSenglish\@numberstringMenglish
+\global\let\@NumberstringMUSenglish\@NumberstringMenglish
+\global\let\@NumberstringFUSenglish\@NumberstringMenglish
+\global\let\@NumberstringNUSenglish\@NumberstringMenglish
+\global\let\@ordinalstringMUSenglish\@ordinalstringMenglish
+\global\let\@ordinalstringFUSenglish\@ordinalstringMenglish
+\global\let\@ordinalstringNUSenglish\@ordinalstringMenglish
+\global\let\@OrdinalstringMUSenglish\@OrdinalstringMenglish
+\global\let\@OrdinalstringFUSenglish\@OrdinalstringMenglish
+\global\let\@OrdinalstringNUSenglish\@OrdinalstringMenglish
% \end{macrocode}
%\iffalse
% \begin{macrocode}
diff --git a/Master/texmf-dist/source/latex/fmtcount/fmtcount.ins b/Master/texmf-dist/source/latex/fmtcount/fmtcount.ins
index 9a1e0f36d8b..dbce0986f97 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 2012/10/24 14:20
+% fmtcount.ins generated using makedtx version 0.94b 2013/8/17 16:54
\input docstrip
\preamble
fmtcount.dtx
- Copyright 2012 Nicola Talbot and Vincent Belaïche
+ Copyright 2013 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