From 41ed127e239fba40041f66fc9d0df9b1b623cf8b Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 17 Aug 2013 22:59:41 +0000 Subject: fmtcount (17aug13) git-svn-id: svn://tug.org/texlive/trunk@31456 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/source/latex/fmtcount/fmtcount.dtx | 3187 ++++++++++---------- .../texmf-dist/source/latex/fmtcount/fmtcount.ins | 4 +- 2 files changed, 1660 insertions(+), 1531 deletions(-) (limited to 'Master/texmf-dist/source/latex/fmtcount') 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 -- cgit v1.2.3