From 645977d2a193cba365984822764a2d97c2951249 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 19 Jun 2014 20:23:47 +0000 Subject: fmtcount (19jun14) git-svn-id: svn://tug.org/texlive/trunk@34318 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/fmtcount/CHANGES | 12 + Master/texmf-dist/doc/latex/fmtcount/README | 4 +- .../doc/latex/fmtcount/fc-frlargenum.tex | 2 + Master/texmf-dist/doc/latex/fmtcount/fc-lang.tex | 271 +++++---- Master/texmf-dist/doc/latex/fmtcount/fc-samp.tex | 1 + Master/texmf-dist/doc/latex/fmtcount/fmtcount.pdf | Bin 543970 -> 547614 bytes Master/texmf-dist/scripts/fmtcount/fmtcount.perl | 2 + .../texmf-dist/source/latex/fmtcount/fmtcount.dtx | 614 +++++++++++++-------- .../texmf-dist/source/latex/fmtcount/fmtcount.ins | 8 +- .../texmf-dist/tex/latex/fmtcount/fc-UKenglish.def | 4 +- .../texmf-dist/tex/latex/fmtcount/fc-USenglish.def | 4 +- .../texmf-dist/tex/latex/fmtcount/fc-american.def | 4 +- .../texmf-dist/tex/latex/fmtcount/fc-british.def | 4 +- .../texmf-dist/tex/latex/fmtcount/fc-english.def | 88 +-- .../texmf-dist/tex/latex/fmtcount/fc-francais.def | 4 +- Master/texmf-dist/tex/latex/fmtcount/fc-french.def | 25 +- .../texmf-dist/tex/latex/fmtcount/fc-frenchb.def | 4 +- Master/texmf-dist/tex/latex/fmtcount/fc-german.def | 74 ++- .../texmf-dist/tex/latex/fmtcount/fc-germanb.def | 4 +- .../texmf-dist/tex/latex/fmtcount/fc-italian.def | 4 +- .../texmf-dist/tex/latex/fmtcount/fc-ngerman.def | 4 +- .../texmf-dist/tex/latex/fmtcount/fc-ngermanb.def | 4 +- .../texmf-dist/tex/latex/fmtcount/fc-portuges.def | 201 ++++--- .../tex/latex/fmtcount/fc-portuguese.def | 71 +++ .../texmf-dist/tex/latex/fmtcount/fc-spanish.def | 140 +++-- .../texmf-dist/tex/latex/fmtcount/fcnumparser.sty | 22 +- Master/texmf-dist/tex/latex/fmtcount/fcprefix.sty | 8 +- Master/texmf-dist/tex/latex/fmtcount/fmtcount.sty | 24 +- 28 files changed, 1006 insertions(+), 601 deletions(-) create mode 100644 Master/texmf-dist/tex/latex/fmtcount/fc-portuguese.def diff --git a/Master/texmf-dist/doc/latex/fmtcount/CHANGES b/Master/texmf-dist/doc/latex/fmtcount/CHANGES index bb24cc417d5..4b2bab78530 100644 --- a/Master/texmf-dist/doc/latex/fmtcount/CHANGES +++ b/Master/texmf-dist/doc/latex/fmtcount/CHANGES @@ -1,5 +1,17 @@ fmtcount package versions: +Version 2.04: + + * Renamed \@modulo to \@FCmodulo to avoid conflict with other + packages. (If you use datetime.sty, ensure you have at least + datetime version 2.59 installed.) + + * Fixed "eins" bug in fc-german.def + + * Fixed bug in \@@unitstringportuges + + * Added fc-portuguese.def + Version 2.03: * Renamed \@fc@loadifbabelldf to \@fc@loadifbabelorpolyglossialdf diff --git a/Master/texmf-dist/doc/latex/fmtcount/README b/Master/texmf-dist/doc/latex/fmtcount/README index ee5ac6370fa..717d61d148e 100644 --- a/Master/texmf-dist/doc/latex/fmtcount/README +++ b/Master/texmf-dist/doc/latex/fmtcount/README @@ -1,6 +1,6 @@ -LaTeX Package : fmtcount v2.03 +LaTeX Package : fmtcount v2.04 -Last Modified : 2013-08-17 +Last Modified : 2014-06-18 Author : Nicola Talbot and Vincent Belaïche diff --git a/Master/texmf-dist/doc/latex/fmtcount/fc-frlargenum.tex b/Master/texmf-dist/doc/latex/fmtcount/fc-frlargenum.tex index cd5134b37c4..33c769328e2 100644 --- a/Master/texmf-dist/doc/latex/fmtcount/fc-frlargenum.tex +++ b/Master/texmf-dist/doc/latex/fmtcount/fc-frlargenum.tex @@ -1,3 +1,5 @@ + % This file is public domain + \documentclass{article} \usepackage[french]{babel} \usepackage{fmtcount} diff --git a/Master/texmf-dist/doc/latex/fmtcount/fc-lang.tex b/Master/texmf-dist/doc/latex/fmtcount/fc-lang.tex index b2e52ba4164..b2a8907ffb8 100644 --- a/Master/texmf-dist/doc/latex/fmtcount/fc-lang.tex +++ b/Master/texmf-dist/doc/latex/fmtcount/fc-lang.tex @@ -1,12 +1,16 @@ + % This file is public domain + % This is an interactive script. Run it through \LaTeX % and enter appropriate responses. (This won't work with - % LaTeX2HTML + % LaTeX2HTML) \documentclass[a4paper]{article} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} +\usepackage{etoolbox} + \usepackage[french,english,spanish,portuges,ngerman,italian]{babel} \usepackage{fmtcount} @@ -17,6 +21,43 @@ \newcount\myctr \newcount\langid +\newcommand*{\deflangopt}[2][\relax]{% + \csdef{setlang#2}{\langid=#2#1}% +} +\newcommand*{\uselangopt}[1]{\csuse{setlang#1}} +\deflangopt{1} +\deflangopt{2} +\deflangopt{3} +\deflangopt[\fmtcountsetoptions{french}]{4} +\deflangopt[\fmtcountsetoptions{french=swiss}]{5} +\deflangopt[\fmtcountsetoptions{french=belgian}]{6} +\deflangopt{7} +\deflangopt{8} + +\newcommand*{\defformat}[1]{% + \csdef{setformat#1}{\numformat=#1\relax}% +} +\newcommand*{\useformat}[1]{\csuse{setformat#1}} + +\newcommand*{\setformat}{\numformat=1\relax} + +\defformat{1} +\defformat{2} +\defformat{3} +\defformat{4} +\defformat{5} +\defformat{6} + +\newcommand*{\defgender}[2]{% + \csdef{setgender#1}{\myctr=#2\relax}% +} +\newcommand*{\usegender}[1]{\csuse{setgender#1}} + +\defgender{}{1} +\defgender{m}{1} +\defgender{f}{2} +\defgender{n}{3} + \begin{document} \section{Displaying the value of a counter} @@ -26,28 +67,25 @@ \langid=-1 \loop -\typeout{Which language?^^J} -\typeout{[1] English} -\typeout{[2] Portuguese} -\typeout{[3] Spanish} -\typeout{[4] French} -\typeout{[5] French (Swiss)} -\typeout{[6] French (Belgium)} -\typeout{[7] German} -\typeout{[8] Italian} - -\typein[\response]{} - -\ifthenelse{\equal{\response}{1}}{\langid=1}{ -\ifthenelse{\equal{\response}{2}}{\langid=2}{ -\ifthenelse{\equal{\response}{3}}{\langid=3}{ -\ifthenelse{\equal{\response}{4}}{\langid=4\fmtcountsetoptions{french}}{ -\ifthenelse{\equal{\response}{5}}{\langid=5\fmtcountsetoptions{french=swiss}}{ -\ifthenelse{\equal{\response}{6}}{\langid=6\fmtcountsetoptions{french=belgian}} -{\ifthenelse{\equal{\response}{7}}{\langid=7}{% -\ifthenelse{\equal{\response}{8}}{\langid=8}{% -\langid=-1 -\typeout{Invalid response '\response', please select a number from 1 to 6}}}}}}}}} + \typeout{Which language?^^J} + \typeout{[1] English} + \typeout{[2] Portuguese} + \typeout{[3] Spanish} + \typeout{[4] French} + \typeout{[5] French (Swiss)} + \typeout{[6] French (Belgium)} + \typeout{[7] German} + \typeout{[8] Italian} + + \typein[\response]{} + + \ifcsundef{setlang\response}% + {% + \typeout{Invalid response '\response', please select a number from 1 to 8}% + \langid=-1\relax + }% + {\uselangopt{\response}} + \ifnum\langid=-1 \repeat @@ -73,72 +111,71 @@ Current language: Italian. \def\startval{-1} \loop -\typein[\startval]{Start value? (Integer from 0 to 99999) -[Default 1]} -\ifthenelse{\equal{\startval}{}}{\def\startval{1}}{} -\ifnum\startval<0\def\startval{-1}\fi -\ifnum\startval>99999\def\startval{-1}\fi + \typein[\startval]{Start value? (Integer from 0 to 99999) [Default 1]} + \ifdefempty{\startval}{\def\startval{1}}{} + \ifnum\startval<0\def\startval{-1}\fi + \ifnum\startval>99999\def\startval{-1}\fi + \ifnum\startval=-1 \repeat \def\endval{-1} \loop -\typein[\endval]{End value? (Integer from 0 to 99999) -[Default 1000]} -\ifthenelse{\equal{\endval}{}}{\def\endval{1000}}{} -\ifnum\endval<0\def\endval{-1}\fi -\ifnum\endval>99999\def\endval{-1}\fi + \typein[\endval]{End value? (Integer from 0 to 99999) [Default 1000]} + \ifdefempty{\endval}{\def\endval{1000}}{} + \ifnum\endval<0\def\endval{-1}\fi + \ifnum\endval>99999\def\endval{-1}\fi \ifnum\endval=-1 \repeat \def\stepsize{0} \loop -\typein[\stepsize]{Step size? (Non zero integer) -[Default 1]} -\ifthenelse{\equal{\stepsize}{}}{\def\stepsize{1}}{} + \typein[\stepsize]{Step size? (Non zero integer) [Default 1]} + \ifdefempty{\stepsize}{\def\stepsize{1}}{} \ifnum\stepsize=0 \repeat \typeout{From {\startval} to {\endval} step {\stepsize}} -\ifnum\startval<\endval -\ifnum\stepsize<0 -\PackageError{fc-lang}{Infinite loop not permitted!}{} -\def\endval{\startval} -\fi +\ifnum\startval<\endval\relax + \ifnum\stepsize<0\relax + \PackageError{fc-lang}{Infinite loop not permitted!}{} + \def\endval{\startval} + \fi \fi -\ifnum\startval>\endval -\ifnum\stepsize>0 -\PackageError{fc-lang}{Infinite loop not permitted!}{} -\def\endval{\startval} -\fi +\ifnum\startval>\endval\relax + \ifnum\stepsize>0\relax + \PackageError{fc-lang}{Infinite loop not permitted!}{} + \def\endval{\startval} + \fi \fi \newcount\numformat \numformat=-1 \loop -\typeout{Which format?^^J} -\typeout{[1] ordinalstring} -\typeout{[2] Ordinalstring} -\typeout{[3] ORDINALstring} -\typeout{[4] numberstring} -\typeout{[5] Numberstring} -\typeout{[6] NUMBERstring} + \typeout{Which format?^^J} + \typeout{[1] ordinalstring} + \typeout{[2] Ordinalstring} + \typeout{[3] ORDINALstring} + \typeout{[4] numberstring} + \typeout{[5] Numberstring} + \typeout{[6] NUMBERstring} + + \typein[\response]{Default: 1} + + \ifcsundef{setformat\response}% + {% + \numformat=-1\relax + \typeout{Invalid response '\response', please select a number from 1 to 6}% + }% + {% + \useformat\response + } -\typein[\response]{Default: 1} - -\ifthenelse{\equal{\response}{}}{\def\response{1}}{}%default val -\ifthenelse{\equal{\response}{1}}{\numformat=1}{ -\ifthenelse{\equal{\response}{2}}{\numformat=2}{ -\ifthenelse{\equal{\response}{3}}{\numformat=3}{ -\ifthenelse{\equal{\response}{4}}{\numformat=4}{ -\ifthenelse{\equal{\response}{5}}{\numformat=5}{ -\ifthenelse{\equal{\response}{6}}{\numformat=6}{\numformat=-1 -\typeout{Invalid response '\response', please select a number from 1 to 4}}}}}}} \ifnum\numformat=-1 \repeat @@ -159,23 +196,25 @@ Current language: Italian. \typeout{[1] eme} \typeout{[2] e} \typein[\response]{Default: 1} - \ifthenelse{\equal{\response}{}}% + \ifdefempty{\response}% {% \def\response{1}% default \myctr=1\relax }% {% - \ifthenelse{\equal{\response}{1}}% + \ifdefstring{\response}{1}% {% \fmtcountsetoptions{abbrv=false}\myctr=1\relax }% {% - \ifthenelse{\equal{\response}{2}}% + \ifdefstring{\response}{2}% {% \fmtcountsetoptions{abbrv}\myctr=2\relax }% {% \myctr=-1\relax + \typeout{Invalid response '\response', please select a +number from 1 to 2}% }% }% }% @@ -186,42 +225,78 @@ Current language: Italian. \myctr=-1 \loop -\typeout{Ordinal format?^^J} -\typeout{[1] raised} -\typeout{[2] level} -\typein[\response]{Default: 1} -\ifthenelse{\equal{\response}{1}\or\equal{\response}{}}{% -\fmtcountsetoptions{fmtord=raise}\myctr=1}{% -\ifthenelse{\equal{\response}{2}}{% -\fmtcountsetoptions{fmtord=level}\myctr=2}{% -\myctr=-1}} + \typeout{Ordinal format?^^J} + \typeout{[1] raised} + \typeout{[2] level} + \typein[\response]{Default: 1} + \ifdefempty{\response}{\def\response{1}}{}% + + \ifdefstring{\response}{1} + {% + \fmtcountsetoptions{fmtord=raise}\myctr=1\relax + }% + {% + \ifdefstring{\response}{2} + {% + \fmtcountsetoptions{fmtord=level}\myctr=2\relax + }% + {% + \myctr=-1\relax + \typeout{Invalid response '\response', please select a + number from 1 to 2}% + }% + } + \ifnum\myctr=-1 \repeat -\ifnum\langid=1 -\myctr=1 -\else -\ifthenelse{\langid=7 \and \numformat>3}{}{% -\loop -\ifnum\langid=7 - \typein[\response]{Gender? (m, f or n) [Default: m]} - \ifthenelse{\equal{\response}{m}}{\myctr=1}{ - \ifthenelse{\equal{\response}{f}}{\myctr=2}{ - \ifthenelse{\equal{\response}{n}}{\myctr=3}{ - \ifthenelse{\equal{\response}{}}{\myctr=1}{% - \myctr=-1 - \typeout{Invalid response '\response'}}}}} +\ifnum\langid=1\relax + \myctr=1\relax \else - \typein[\response]{Gender? (m or f) [Default: m]} - \ifthenelse{\equal{\response}{m}}{\myctr=1}{ - \ifthenelse{\equal{\response}{f}}{\myctr=2}{% - \ifthenelse{\equal{\response}{}}{\myctr=1}{% - \myctr=-1 - \typeout{Invalid response '\response'}}}} -\fi -\ifnum\myctr=-1 -\repeat -} + + \ifboolexpr + { + test {\ifnumequal{\langid}{7}} + and + test {\ifnumgreater{\numformat}{3}} + }% + {% + \loop + \ifnum\langid=7\relax + \typein[\response]{Gender? (m, f or n) [Default: m]} + \ifcsundef{setgender\response}% + {% + \typeout{Invalid response '\response', please select a + number from 1 to 3}% + \myctr=-1\relax + }% + {\usegender\response} + \else + \typein[\response]{Gender? (m or f) [Default: m]} + \ifcsundef{setgender\response}% + {% + \typeout{Invalid response '\response', please select a + number from 1 to 2}% + \myctr=-1\relax + }% + {% + \ifdefstring{\response}{3} + {% + \typeout{Invalid response '\response', please select a + number from 1 to 2}% + \myctr=-1\relax + } + {% + \usegender\response + } + } + \fi + \ifnum\myctr=-1 + \repeat + }% + {% + } + \fi \ifcase\myctr diff --git a/Master/texmf-dist/doc/latex/fmtcount/fc-samp.tex b/Master/texmf-dist/doc/latex/fmtcount/fc-samp.tex index bb19da7993b..443b60e2c94 100644 --- a/Master/texmf-dist/doc/latex/fmtcount/fc-samp.tex +++ b/Master/texmf-dist/doc/latex/fmtcount/fc-samp.tex @@ -1,3 +1,4 @@ + % This file is public domain \documentclass[a4paper]{article} \usepackage{fmtcount} diff --git a/Master/texmf-dist/doc/latex/fmtcount/fmtcount.pdf b/Master/texmf-dist/doc/latex/fmtcount/fmtcount.pdf index d27dab44138..860fabd43e4 100644 Binary files a/Master/texmf-dist/doc/latex/fmtcount/fmtcount.pdf and b/Master/texmf-dist/doc/latex/fmtcount/fmtcount.pdf differ diff --git a/Master/texmf-dist/scripts/fmtcount/fmtcount.perl b/Master/texmf-dist/scripts/fmtcount/fmtcount.perl index df6122a7dd2..b8a1fde0df3 100644 --- a/Master/texmf-dist/scripts/fmtcount/fmtcount.perl +++ b/Master/texmf-dist/scripts/fmtcount/fmtcount.perl @@ -3,6 +3,8 @@ # Date : 2012-09-25 # Version : 1.06 # Description : LaTeX2HTML implementation of fmtcount package +# This file should be place in LaTeX2HTML's styles directory +# in order for LaTeX2HTML to find it. package main; diff --git a/Master/texmf-dist/source/latex/fmtcount/fmtcount.dtx b/Master/texmf-dist/source/latex/fmtcount/fmtcount.dtx index bdcb4edbb91..10e9dac5fa3 100644 --- a/Master/texmf-dist/source/latex/fmtcount/fmtcount.dtx +++ b/Master/texmf-dist/source/latex/fmtcount/fmtcount.dtx @@ -1,12 +1,12 @@ %\iffalse -% fmtcount.dtx generated using makedtx version 0.94b (c) Nicola Talbot +% fmtcount.dtx generated using makedtx version 1.1 (c) Nicola Talbot % Command line args: % -src "(.+)\.(sty)=>\1.\2" % -src "(.+)\.(def)=>\1.\2" % -doc "fmtcount-manual.tex" % -author "Nicola Talbot and Vincent Belaïche" % fmtcount -% Created on 2013/8/17 16:54 +% Created on 2014/6/18 14:52 %\fi %\iffalse %<*package> @@ -29,7 +29,7 @@ %\fi % \iffalse % Doc-Source file to use with LaTeX2e -% Copyright (C) 2013 Nicola Talbot and Vincent Belaïche, all rights reserved. +% Copyright (C) 2014 Nicola Talbot and Vincent Belaïche, all rights reserved. % \fi % \iffalse %<*driver> @@ -52,7 +52,7 @@ pdftitle={fmtcount.sty: Displaying the Values of LaTeX Counters}, pdfkeywords={LaTeX,counter}]{hyperref} -\CheckSum{9271} +\CheckSum{9726} \doxitem{Option}{option}{options} @@ -71,7 +71,7 @@ % \url{www.dickimaw-books.com} % \and % Vincent Bela\"iche} -% \date{2013-08-17 (version 2.03)\relax +% \date{2014-06-18 (version 2.04)\relax %} % \maketitle % \tableofcontents @@ -818,6 +818,9 @@ %There is a FAQ available at: %\url{http://theoval.cmp.uea.ac.uk/~nlct/latex/packages/faq/}. % +%Bug reporting should be done via the Github issue manager at: +%\url{https://github.com/nlct/fmtcount/issues/}. +% % % %\StopEventually{} @@ -1005,7 +1008,7 @@ % \end{macrocode} % \DescribeMacro\fc@parse@integer@digits Macro \cs{fc@parse@integer@digits} is used to % \begin{macrocode} -\@ifundefined{fc@parse@integer@digits}{}{% +\ifcsundef{fc@parse@integer@digits}{}{% \PackageError{fcnumparser}{Duplicate definition}{Redefinition of macro `fc@parse@integer@digits'}} \def\fc@parse@integer@digits#1#2\fc@nil{% @@ -1028,7 +1031,7 @@ % number.\newline \DescribeMacro\fc@read@unit \cs{fc@read@unit} just reads one digit and form an integer in % the range \([0 \intv 9]\). First we check that the macro is not yet defined. % \begin{macrocode} -\@ifundefined{fc@read@unit}{}{% +\ifcsundef{fc@read@unit}{}{% \PackageError{fcnumparser}{Duplicate definition}{Redefinition of macro `fc@read@unit'}} % \end{macrocode} % Arguments as follows:\def\interface{\newline\noindent @@ -1061,7 +1064,7 @@ % \DescribeMacro\fc@read@hundred Macro \cs{fc@read@hundred} is used to read a pair of digits and form an % integer in the range \([0 \intv 99]\). First we check that the macro is not yet defined. % \begin{macrocode} -\@ifundefined{fc@read@hundred}{}{% +\ifcsundef{fc@read@hundred}{}{% \PackageError{fcnumparser}{Duplicate definition}{Redefinition of macro `fc@read@hundred'}} % \end{macrocode} % Arguments as follows --- same interface as \cs{fc@read@unit}:\interface @@ -1084,7 +1087,7 @@ % \DescribeMacro\fc@read@thousand Macro \cs{fc@read@thousand} is used to read a trio of digits and form an % integer in the range \([0 \intv 999]\). First we check that the macro is not yet defined. % \begin{macrocode} -\@ifundefined{fc@read@thousand}{}{% +\ifcsundef{fc@read@thousand}{}{% \PackageError{fcnumparser}{Duplicate definition}{Redefinition of macro `fc@read@thousand'}} % \end{macrocode} @@ -1109,7 +1112,7 @@ % \DescribeMacro\fc@read@thousand Macro \cs{fc@read@myriad} is used to read a quatuor of digits and form an % integer in the range \([0 \intv 9999]\). First we check that the macro is not yet defined. % \begin{macrocode} -\@ifundefined{fc@read@myriad}{}{% +\ifcsundef{fc@read@myriad}{}{% \PackageError{fcnumparser}{Duplicate definition}{Redefinition of macro `fc@read@myriad'}} % \end{macrocode} @@ -1134,7 +1137,7 @@ % represented by digits \cs{fc@digit@}\meta{$n$}, with \(n\) in some interval, is zero, one, or more than one. % First we check that the macro is not yet defined. % \begin{macrocode} -\@ifundefined{fc@check@nonzeros}{}{% +\ifcsundef{fc@check@nonzeros}{}{% \PackageError{fcnumparser}{Duplicate definition}{Redefinition of macro `fc@check@nonzeros'}} % \end{macrocode} @@ -1246,7 +1249,7 @@ % \DescribeMacro\fc@intpart@find@last Macro \cs{fc@intpart@find@last} find the rightmost non zero digit in the % integer part. First check that the macro is not yet defined. % \begin{macrocode} -\@ifundefined{fc@intpart@find@last}{}{% +\ifcsundef{fc@intpart@find@last}{}{% \PackageError{fcnumparser}{Duplicate definition}{Redefinition of macro `fc@intpart@find@last'}} % \end{macrocode} @@ -1298,7 +1301,7 @@ % \#3&output macro 2: last word\\ % \end{tabularx} % \begin{macrocode} -\@ifundefined{fc@get@last@word}{}{\PackageError{fcnumparser}{Duplicate definition}{Redefinition +\ifcsundef{fc@get@last@word}{}{\PackageError{fcnumparser}{Duplicate definition}{Redefinition of macro `fc@get@last@word'}}% \def\fc@get@last@word#1#2#3{% {% @@ -1368,7 +1371,7 @@ % \#3&output macro 2: last letter\\ % \end{tabularx} % \begin{macrocode} -\@ifundefined{fc@get@last@letter}{}{\PackageError{fcnumparser}{Duplicate definition}{Redefinition +\ifcsundef{fc@get@last@letter}{}{\PackageError{fcnumparser}{Duplicate definition}{Redefinition of macro `fc@get@last@letter'}}% \def\fc@get@last@letter#1#2#3{% {% @@ -1596,7 +1599,7 @@ % this prefix is that of Russ Rowlett I founds its documentation on Alain Lassine's site: % \url{http://www.alain.be/Boece/grands\_nombres.html}. First check that macro is not yet defined. % \begin{macrocode} -\@ifundefined{fc@@latin@cardinal@pefix}{}{% +\ifcsundef{fc@@latin@cardinal@pefix}{}{% \PackageError{fmtcount}{Duplicate definition}{Redefinition of macro `fc@@latin@cardinal@pefix'}} % \end{macrocode} % Arguments as follows:\newline\noindent @@ -1771,7 +1774,7 @@ % etc\ldots I found the algorithm to derive this prefix on Alain Lassine's site: % \url{http://www.alain.be/Boece/nombres\_gargantuesques.html}. First check that the macro is not yet defined. % \begin{macrocode} -\@ifundefined{fc@@latin@numeral@pefix}{}{% +\ifcsundef{fc@@latin@numeral@pefix}{}{% \PackageError{fmtcount}{Duplicate definition}{Redefinition of macro `fc@@latin@numeral@pefix'}} % \end{macrocode} @@ -2020,7 +2023,7 @@ % This section deals with the code for |fmtcount.sty| % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{fmtcount}[2013/08/17 v2.03] +\ProvidesPackage{fmtcount}[2014/06/18 v2.04] \RequirePackage{ifthen} \RequirePackage{keyval} \RequirePackage{etoolbox} @@ -2174,17 +2177,18 @@ % \end{macrocode} %\end{macro} %\begin{option}{french} +%\changes{2.04}{2014-06-18}{swapped second and third arguments} % \begin{macrocode} \define@key{fmtcount}{french}[france]{% - \@ifundefined{datefrench}% + \@FC@iflangloaded{french}% + {% + \setkeys{fcfrench}{#1}% + }% {% \PackageError{fmtcount}% {Language `french' not defined}% {You need to load babel before loading fmtcount}% }% - {% - \setkeys{fcfrench}{#1}% - }% } % \end{macrocode} %\end{option} @@ -2242,7 +2246,7 @@ \newcommand*{\fmtcountsetoptions}[1]{% \def\fmtcount@fmtord{}% \setkeys{fmtcount}{#1}% - \@ifundefined{datefrench}{}% + \@FC@iflangloaded{french}{\ifcsundef{@ordinalstringMfrench}% {% \edef\@ordinalstringMfrench{\noexpand \csname @ordinalstringMfrench\fmtcount@french\noexpand\endcsname}% @@ -2260,7 +2264,7 @@ \csname @NumberstringMfrench\fmtcount@french\noexpand\endcsname}% \edef\@NumberstringFfrench{\noexpand \csname @NumberstringFfrench\fmtcount@french\noexpand\endcsname}% - }% + }{}}{}% \ifthenelse{\equal{\fmtcount@fmtord}{level}}% {% \renewcommand{\fmtord}[1]{##1}% @@ -2304,10 +2308,11 @@ % \begin{macrocode} \ProcessOptions % \end{macrocode} -%\begin{macro}{\@modulo} +%\begin{macro}{\@FCmodulo} %\begin{definition} -%\cs{@modulo}\marg{count reg}\marg{n} +%\cs{@FCmodulo}\marg{count reg}\marg{n} %\end{definition} +%\changes{2.04}{2014-06-18}{renamed \cs{@modulo} to \cs{@FCmodulo}} % Sets the count register to be its value modulo \meta{n}. % This is used for the % date, time, ordinal and numberstring commands. (The @@ -2315,7 +2320,7 @@ % \sty{datetime} package.) % \begin{macrocode} \newcount\@DT@modctr -\def\@modulo#1#2{% +\newcommand*{\@FCmodulo}[2]{% \@DT@modctr=#1\relax \divide \@DT@modctr by #2\relax \multiply \@DT@modctr by #2\relax @@ -2657,7 +2662,7 @@ % for \cs{FCordinal} to maintain compatibility with previous % versions. % \begin{macrocode} -\@ifundefined{ordinal} +\ifcsundef{ordinal} {\let\ordinal\FCordinal}% {% \PackageWarning{fmtcount}% @@ -3480,7 +3485,7 @@ % sets the macros to use English. % \begin{macrocode} \def\@setdef@ultfmtcount{% - \@ifundefined{@ordinalMenglish}{\FCloadlang{english}}{}% + \ifcsundef{@ordinalMenglish}{\FCloadlang{english}}{}% \def\@ordinalstringM{\@ordinalstringMenglish}% \let\@ordinalstringF=\@ordinalstringMenglish \let\@ordinalstringN=\@ordinalstringMenglish @@ -3761,11 +3766,11 @@ % argument) to an ordinal, and stores the result in the % second argument, which should be a control sequence. % \begin{macrocode} -\gdef\@ordinalMenglish#1#2{% +\newcommand*\@ordinalMenglish[2]{% \def\@fc@ord{}% \@orgargctr=#1\relax \@ordinalctr=#1% -\@modulo{\@ordinalctr}{100}% +\@FCmodulo{\@ordinalctr}{100}% \ifnum\@ordinalctr=11\relax \def\@fc@ord{th}% \else @@ -3775,7 +3780,7 @@ \ifnum\@ordinalctr=13\relax \def\@fc@ord{th}% \else - \@modulo{\@ordinalctr}{10}% + \@FCmodulo{\@ordinalctr}{10}% \ifcase\@ordinalctr \def\@fc@ord{th}% case 0 \or \def\@fc@ord{st}% case 1 @@ -3789,6 +3794,7 @@ \fi \edef#2{\number#1\relax\noexpand\fmtord{\@fc@ord}}% }% +\global\let\@ordinalMenglish\@ordinalMenglish % \end{macrocode} % There is no gender difference in English, so make feminine and % neuter the same as the masculine. @@ -3801,7 +3807,7 @@ % tens. First, the units: the argument should be between 0 and 9 % inclusive. % \begin{macrocode} -\gdef\@@unitstringenglish#1{% +\newcommand*\@@unitstringenglish[1]{% \ifcase#1\relax zero% \or one% @@ -3815,11 +3821,12 @@ \or nine% \fi }% +\global\let\@@unitstringenglish\@@unitstringenglish % \end{macrocode} % Next the tens, again the argument should be between 0 and 9 % inclusive. % \begin{macrocode} -\gdef\@@tenstringenglish#1{% +\newcommand*\@@tenstringenglish[1]{% \ifcase#1\relax \or ten% \or twenty% @@ -3832,11 +3839,12 @@ \or ninety% \fi }% +\global\let\@@tenstringenglish\@@tenstringenglish % \end{macrocode} % Finally the teens, again the argument should be between 0 and 9 % inclusive. % \begin{macrocode} -\gdef\@@teenstringenglish#1{% +\newcommand*\@@teenstringenglish[1]{% \ifcase#1\relax ten% \or eleven% @@ -3850,10 +3858,11 @@ \or nineteen% \fi }% +\global\let\@@teenstringenglish\@@teenstringenglish % \end{macrocode} % As above, but with the initial letter in uppercase. The units: % \begin{macrocode} -\gdef\@@Unitstringenglish#1{% +\newcommand*\@@Unitstringenglish[1]{% \ifcase#1\relax Zero% \or One% @@ -3867,10 +3876,11 @@ \or Nine% \fi }% +\global\let\@@Unitstringenglish\@@Unitstringenglish % \end{macrocode} % The tens: % \begin{macrocode} -\gdef\@@Tenstringenglish#1{% +\newcommand*\@@Tenstringenglish[1]{% \ifcase#1\relax \or Ten% \or Twenty% @@ -3883,10 +3893,11 @@ \or Ninety% \fi }% +\global\let\@@Tenstringenglish\@@Tenstringenglish % \end{macrocode} % The teens: % \begin{macrocode} -\gdef\@@Teenstringenglish#1{% +\newcommand*\@@Teenstringenglish[1]{% \ifcase#1\relax Ten% \or Eleven% @@ -3900,6 +3911,7 @@ \or Nineteen% \fi }% +\global\let\@@Teenstringenglish\@@Teenstringenglish % \end{macrocode} % This has changed in version 1.09, so that it now stores % the result in the second argument, but doesn't display anything. @@ -3907,7 +3919,7 @@ % documents created with older versions. (These internal macros are % not meant for use in documents.) % \begin{macrocode} -\gdef\@@numberstringenglish#1#2{% +\newcommand*\@@numberstringenglish[2]{% \ifnum#1>99999 \PackageError{fmtcount}{Out of range}% {This macro only works for values less than 100000}% @@ -3927,7 +3939,7 @@ this number}% \let\@@fc@numstr#2\relax \edef#2{\@@fc@numstr\@tenstring{\@strctr}}% \@strctr=#1 \divide\@strctr by 1000\relax - \@modulo{\@strctr}{10}% + \@FCmodulo{\@strctr}{10}% \ifnum\@strctr>0\relax \let\@@fc@numstr#2\relax \edef#2{\@@fc@numstr-\@unitstring{\@strctr}}% @@ -3935,7 +3947,7 @@ this number}% \else \@strctr=#1\relax \divide\@strctr by 1000\relax - \@modulo{\@strctr}{10}% + \@FCmodulo{\@strctr}{10}% \let\@@fc@numstr#2\relax \edef#2{\@@fc@numstr\@teenstring{\@strctr}}% \fi @@ -3947,7 +3959,7 @@ this number}% \edef#2{\@@fc@numstr\@unitstring{\@strctr}\ \@thousand}% \fi \fi -\@strctr=#1\relax \@modulo{\@strctr}{1000}% +\@strctr=#1\relax \@FCmodulo{\@strctr}{1000}% \divide\@strctr by 100 \ifnum\@strctr>0\relax \ifnum#1>1000\relax @@ -3957,7 +3969,7 @@ this number}% \let\@@fc@numstr#2\relax \edef#2{\@@fc@numstr\@unitstring{\@strctr}\ \@hundred}% \fi -\@strctr=#1\relax \@modulo{\@strctr}{100}% +\@strctr=#1\relax \@FCmodulo{\@strctr}{100}% \ifnum#1>100\relax \ifnum\@strctr>0\relax \let\@@fc@numstr#2\relax @@ -3968,7 +3980,7 @@ this number}% \divide\@strctr by 10\relax \let\@@fc@numstr#2\relax \edef#2{\@@fc@numstr\@tenstring{\@strctr}}% - \@strctr=#1\relax \@modulo{\@strctr}{10}% + \@strctr=#1\relax \@FCmodulo{\@strctr}{10}% \ifnum\@strctr>0\relax \let\@@fc@numstr#2\relax \edef#2{\@@fc@numstr-\@unitstring{\@strctr}}% @@ -3985,12 +3997,13 @@ this number}% \edef#2{\@@fc@numstr\@unitstring{\@strctr}}% \fi \else - \@modulo{\@strctr}{10}% + \@FCmodulo{\@strctr}{10}% \let\@@fc@numstr#2\relax \edef#2{\@@fc@numstr\@teenstring{\@strctr}}% \fi \fi }% +\global\let\@@numberstringenglish\@@numberstringenglish % \end{macrocode} % All lower case version, the second argument must be a % control sequence. @@ -4016,7 +4029,7 @@ this number}% % character (except ``and''). The second argument must be a control % sequence. % \begin{macrocode} -\gdef\@NumberstringMenglish#1#2{% +\newcommand*\@NumberstringMenglish[2]{% \let\@unitstring=\@@Unitstringenglish \let\@teenstring=\@@Teenstringenglish \let\@tenstring=\@@Tenstringenglish @@ -4024,6 +4037,7 @@ this number}% \def\@andname{and}% \@@numberstringenglish{#1}{#2}% }% +\global\let\@NumberstringMenglish\@NumberstringMenglish % \end{macrocode} % There is no gender in English, so make feminine and neuter the % same @@ -4035,7 +4049,7 @@ this number}% % Define a macro that produces an ordinal as a string. Again, break % it up into units, teens and tens. First the units: % \begin{macrocode} -\gdef\@@unitthstringenglish#1{% +\newcommand*\@@unitthstringenglish[1]{% \ifcase#1\relax zeroth% \or first% @@ -4049,10 +4063,11 @@ this number}% \or ninth% \fi }% +\global\let\@@unitthstringenglish\@@unitthstringenglish % \end{macrocode} % Next the tens: % \begin{macrocode} -\gdef\@@tenthstringenglish#1{% +\newcommand*\@@tenthstringenglish[1]{% \ifcase#1\relax \or tenth% \or twentieth% @@ -4065,10 +4080,11 @@ this number}% \or ninetieth% \fi }% +\global\let\@@tenthstringenglish\@@tenthstringenglish % \end{macrocode} % The teens: % \begin{macrocode} -\gdef\@@teenthstringenglish#1{% +\newcommand*\@@teenthstringenglish[1]{% \ifcase#1\relax tenth% \or eleventh% @@ -4082,10 +4098,11 @@ this number}% \or nineteenth% \fi }% +\global\let\@@teenthstringenglish\@@teenthstringenglish % \end{macrocode} % As before, but with the first letter in upper case. The units: % \begin{macrocode} -\gdef\@@Unitthstringenglish#1{% +\newcommand*\@@Unitthstringenglish[1]{% \ifcase#1\relax Zeroth% \or First% @@ -4099,10 +4116,11 @@ this number}% \or Ninth% \fi }% +\global\let\@@Unitthstringenglish\@@Unitthstringenglish % \end{macrocode} % The tens: % \begin{macrocode} -\gdef\@@Tenthstringenglish#1{% +\newcommand*\@@Tenthstringenglish[1]{% \ifcase#1\relax \or Tenth% \or Twentieth% @@ -4115,10 +4133,11 @@ this number}% \or Ninetieth% \fi }% +\global\let\@@Tenthstringenglish\@@Tenthstringenglish % \end{macrocode} % The teens: % \begin{macrocode} -\gdef\@@Teenthstringenglish#1{% +\newcommand*\@@Teenthstringenglish[1]{% \ifcase#1\relax Tenth% \or Eleventh% @@ -4132,13 +4151,14 @@ this number}% \or Nineteenth% \fi }% +\global\let\@@Teenthstringenglish\@@Teenthstringenglish % \end{macrocode} % Again, as from version 1.09, this has been changed to take two % arguments, where the second argument is a control sequence. % The resulting text is stored in the control sequence, and nothing % is displayed. % \begin{macrocode} -\gdef\@@ordinalstringenglish#1#2{% +\newcommand*\@@ordinalstringenglish[2]{% \@strctr=#1\relax \ifnum#1>99999 \PackageError{fmtcount}{Out of range}% @@ -4163,18 +4183,18 @@ this number}% \edef#2{\@@fc@ordstr\@tenstring{\@strctr}}% \@strctr=#1\relax \divide\@strctr by 1000\relax - \@modulo{\@strctr}{10}% + \@FCmodulo{\@strctr}{10}% \ifnum\@strctr>0\relax \let\@@fc@ordstr#2\relax \edef#2{\@@fc@ordstr-\@unitstring{\@strctr}}% \fi \else \@strctr=#1\relax \divide\@strctr by 1000\relax - \@modulo{\@strctr}{10}% + \@FCmodulo{\@strctr}{10}% \let\@@fc@ordstr#2\relax \edef#2{\@@fc@ordstr\@teenstring{\@strctr}}% \fi - \@strctr=#1\relax \@modulo{\@strctr}{1000}% + \@strctr=#1\relax \@FCmodulo{\@strctr}{1000}% \ifnum\@strctr=0\relax \let\@@fc@ordstr#2\relax \edef#2{\@@fc@ordstr\ \@thousandth}% @@ -4186,7 +4206,7 @@ this number}% \ifnum\@strctr>0\relax \let\@@fc@ordstr#2\relax \edef#2{\@@fc@ordstr\@unitstring{\@strctr}}% - \@strctr=#1\relax \@modulo{\@strctr}{1000}% + \@strctr=#1\relax \@FCmodulo{\@strctr}{1000}% \let\@@fc@ordstr#2\relax \ifnum\@strctr=0\relax \edef#2{\@@fc@ordstr\ \@thousandth}% @@ -4195,7 +4215,7 @@ this number}% \fi \fi \fi -\@strctr=#1\relax \@modulo{\@strctr}{1000}% +\@strctr=#1\relax \@FCmodulo{\@strctr}{1000}% \divide\@strctr by 100 \ifnum\@strctr>0\relax \ifnum#1>1000\relax @@ -4204,7 +4224,7 @@ this number}% \fi \let\@@fc@ordstr#2\relax \edef#2{\@@fc@ordstr\@unitstring{\@strctr}}% - \@strctr=#1\relax \@modulo{\@strctr}{100}% + \@strctr=#1\relax \@FCmodulo{\@strctr}{100}% \let\@@fc@ordstr#2\relax \ifnum\@strctr=0\relax \edef#2{\@@fc@ordstr\ \@hundredth}% @@ -4212,7 +4232,7 @@ this number}% \edef#2{\@@fc@ordstr\ \@hundred}% \fi \fi -\@strctr=#1\relax \@modulo{\@strctr}{100}% +\@strctr=#1\relax \@FCmodulo{\@strctr}{100}% \ifnum#1>100\relax \ifnum\@strctr>0\relax \let\@@fc@ordstr#2\relax @@ -4222,14 +4242,14 @@ this number}% \ifnum\@strctr>19\relax \@tmpstrctr=\@strctr \divide\@strctr by 10\relax - \@modulo{\@tmpstrctr}{10}% + \@FCmodulo{\@tmpstrctr}{10}% \let\@@fc@ordstr#2\relax \ifnum\@tmpstrctr=0\relax \edef#2{\@@fc@ordstr\@tenthstring{\@strctr}}% \else \edef#2{\@@fc@ordstr\@tenstring{\@strctr}}% \fi - \@strctr=#1\relax \@modulo{\@strctr}{10}% + \@strctr=#1\relax \@FCmodulo{\@strctr}{10}% \ifnum\@strctr>0\relax \let\@@fc@ordstr#2\relax \edef#2{\@@fc@ordstr-\@unitthstring{\@strctr}}% @@ -4246,12 +4266,13 @@ this number}% \edef#2{\@@fc@ordstr\@unitthstring{\@strctr}}% \fi \else - \@modulo{\@strctr}{10}% + \@FCmodulo{\@strctr}{10}% \let\@@fc@ordstr#2\relax \edef#2{\@@fc@ordstr\@teenthstring{\@strctr}}% \fi \fi }% +\global\let\@@ordinalstringenglish\@@ordinalstringenglish % \end{macrocode} % All lower case version. Again, the second argument must be a % control sequence in which the resulting text is stored. @@ -4348,9 +4369,9 @@ this number}% \ProvidesFCLanguage{french}[2012/10/24]% % \end{macrocode} % Package \styfmt{fcprefix} is needed to format the prefix \meta{$n$} in \meta{$n$}illion or -% \meta{$n$}illiard. Big numbers were developped based reference: +% \meta{$n$}illiard. Big numbers were developped based on reference: % \uref{http://www.alain.be/boece/noms\_de\_nombre.html} -% (Package now loaded by \sty{fmtcount}) +% (Package now loaded by \styfmt{fmtcount}) % % Options for controlling plural mark. First of all we define some temporary macro \cs{fc@french@set@plural} % in order to factorize code that defines an plural mark option:\newline\noindent @@ -4984,12 +5005,13 @@ z\'ero% % \meta{$n$}illiard, \meta{$n$}illion, mil, cent or vingt, whichever is applicable. First check that the macro % is not yet defined. % \begin{macrocode} -\@ifundefined{fc@@do@plural@mark}{}{\PackageError{fmtcount}{Duplicate definition}{Redefinition of macro +\ifcsundef{fc@@do@plural@mark}{}% +{\PackageError{fmtcount}{Duplicate definition}{Redefinition of macro `fc@@do@plural@mark'}} % \end{macrocode} % Arguments as follows:\newline % \begin{tabularx}{\linewidth}{@{}>{\raggedleft\arraybackslash\ttfamily}rX@{}} -% \#1&plural mark, `s' in general, but for mil it is \cs{fc@frenchoptions@mil@plural@mark1}\\ +% \#1&plural mark, `s' in general, but for mil it is \cs{fc@frenchoptions@mil@plural@mark}\\ % \end{tabularx} % Implicit arguments as follows:\newline % \begin{tabularx}{\linewidth}{@{}>{\raggedleft\arraybackslash\ttfamily}rX@{}} @@ -5044,7 +5066,7 @@ z\'ero% % \DescribeMacro\fc@@nbrstr@Fpreamble Macro \cs{fc@@nbrstr@Fpreamble} do the necessary preliminaries before % formatting a cardinal with feminine gender. % \begin{macrocode} -\@ifundefined{fc@@nbrstr@Fpreamble}{}{% +\ifcsundef{fc@@nbrstr@Fpreamble}{}{% \PackageError{fmtcount}{Duplicate definition}{Redefinition of macro `fc@@nbrstr@Fpreamble'}} % \end{macrocode} @@ -5076,7 +5098,7 @@ z\'ero% % powers of ten with long scale convention. The long scale convention is correct for French and elsewhere in % Europe. First we check that the macro is not yet defined. % \begin{macrocode} -\@ifundefined{fc@@pot@longscalefrench}{}{% +\ifcsundef{fc@@pot@longscalefrench}{}{% \PackageError{fmtcount}{Duplicate definition}{Redefinition of macro `fc@@pot@longscalefrench'}} % \end{macrocode} @@ -5223,7 +5245,7 @@ z\'ero% % powers of ten with short scale convention. This convention is the US convention and is not correct for % French and elsewhere in Europe. First we check that the macro is not yet defined. % \begin{macrocode} -\@ifundefined{fc@@pot@shortscalefrench}{}{% +\ifcsundef{fc@@pot@shortscalefrench}{}{% \PackageError{fmtcount}{Duplicate definition}{Redefinition of macro `fc@@pot@shortscalefrench'}} % \end{macrocode} @@ -5302,7 +5324,7 @@ z\'ero% % power of tens that are of the form ``million de milliards de milliards'' for \(10^{24}\). First we check % that the macro is not yet defined. % \begin{macrocode} -\@ifundefined{fc@@pot@recursivefrench}{}{% +\ifcsundef{fc@@pot@recursivefrench}{}{% \PackageError{fmtcount}{Duplicate definition}{Redefinition of macro `fc@@pot@recursivefrench'}} % \end{macrocode} @@ -5421,7 +5443,7 @@ z\'ero% % digits with weight \(w' > w+2\) that have already been formatted. First check that the macro is not yet % defined. % \begin{macrocode} -\@ifundefined{fc@muladdfrench}{}{% +\ifcsundef{fc@muladdfrench}{}{% \PackageError{fmtcount}{Duplicate definition}{Redefinition of macro `fc@muladdfrench'}} % \end{macrocode} @@ -5515,7 +5537,7 @@ z\'ero% % \DescribeMacro\fc@lthundredstringfrench Macro \cs{fc@lthundredstringfrench} is used to format a number in % interval \([0 \intv 99]\). First we check that it is not already defined. % \begin{macrocode} -\@ifundefined{fc@lthundredstringfrench}{}{% +\ifcsundef{fc@lthundredstringfrench}{}{% \PackageError{fmtcount}{Duplicate definition}{Redefinition of macro `fc@lthundredstringfrench'}} % \end{macrocode} @@ -5618,7 +5640,7 @@ z\'ero% % \DescribeMacro\fc@ltthousandstringfrench Macro \cs{fc@ltthousandstringfrench} is used to format a number in % interval \([0 \intv 999]\). First we check that it is not already defined. % \begin{macrocode} -\@ifundefined{fc@ltthousandstringfrench}{}{% +\ifcsundef{fc@ltthousandstringfrench}{}{% \PackageError{fmtcount}{Duplicate definition}{Redefinition of macro `fc@ltthousandstringfrench'}} % \end{macrocode} @@ -5699,7 +5721,7 @@ z\'ero% % \DescribeMacro\@@numberstringfrench Macro \cs{@@numberstringfrench} is the main engine for formatting % cadinal numbers in French. First we check that the control sequence is not yet defined. % \begin{macrocode} -\@ifundefined{@@numberstringfrench}{}{% +\ifcsundef{@@numberstringfrench}{}{% \PackageError{fmtcount}{Duplicate definition}{Redefinition of macro `@@numberstringfrench'}} % \end{macrocode} % Arguments are as follows:\newline\noindent @@ -5798,7 +5820,7 @@ z\'ero% % \DescribeMacro\@@ordinalstringfrench Macro \cs{@@ordinalstringfrench} is the main engine for formatting % ordinal numbers in French. First check it is not yet defined. % \begin{macrocode} -\@ifundefined{@@ordinalstringfrench}{}{% +\ifcsundef{@@ordinalstringfrench}{}{% \PackageError{fmtcount}{Duplicate definition}{Redefinition of macro `@@ordinalstringfrench'}} % \end{macrocode} @@ -5977,7 +5999,7 @@ z\'ero% % German definitions (thank you to K. H. Fricke for supplying % this information) % \begin{macrocode} -\ProvidesFCLanguage{german}[2013/08/17]% +\ProvidesFCLanguage{german}[2014/06/09]% % \end{macrocode} % Define macro that converts a number or count register (first % argument) to an ordinal, and stores the result in the @@ -6008,10 +6030,10 @@ z\'ero% % Units (argument must be a number from 0 to 9, 1 on its own (eins) % is dealt with separately): % \begin{macrocode} -\gdef\@@unitstringgerman#1{% +\newcommand*\@@unitstringgerman[1]{% \ifcase#1% null% - \or eins% + \or ein% \or zwei% \or drei% \or vier% @@ -6022,10 +6044,11 @@ z\'ero% \or neun% \fi }% +\global\let\@@unitstringgerman\@@unitstringgerman % \end{macrocode} % Tens (argument must go from 1 to 10): % \begin{macrocode} -\gdef\@@tenstringgerman#1{% +\newcommand*\@@tenstringgerman[1]{% \ifcase#1% \or zehn% \or zwanzig% @@ -6039,6 +6062,7 @@ z\'ero% \or einhundert% \fi }% +\global\let\@@tenstringgerman\@@tenstringgerman % \end{macrocode} % |\einhundert| is set to |einhundert| by default, user can % redefine this command to just |hundert| if required, similarly @@ -6051,7 +6075,7 @@ z\'ero% % \end{macrocode} % Teens: % \begin{macrocode} -\gdef\@@teenstringgerman#1{% +\newcommand*\@@teenstringgerman[1]{% \ifcase#1% zehn% \or elf% @@ -6065,6 +6089,7 @@ z\'ero% \or neunzehn% \fi }% +\global\let\@@teenstringgerman\@@teenstringgerman % \end{macrocode} % The results are stored in the second argument, but doesn't % display anything. @@ -6170,7 +6195,7 @@ z\'ero% %\changes{2.0}{2012-09-25}{fixed spelling mistake (correction %provided by Dominik Wa\ss enhoven)} % \begin{macrocode} -\gdef\@@unitthstringMgerman#1{% +\newcommand*\@@unitthstringMgerman[1]{% \ifcase#1% nullter% \or erster% @@ -6184,10 +6209,11 @@ z\'ero% \or neunter% \fi }% +\global\let\@@unitthstringMgerman\@@unitthstringMgerman % \end{macrocode} % Tens: % \begin{macrocode} -\gdef\@@tenthstringMgerman#1{% +\newcommand*\@@tenthstringMgerman[1]{% \ifcase#1% \or zehnter% \or zwanzigster% @@ -6200,10 +6226,11 @@ z\'ero% \or neunzigster% \fi }% +\global\let\@@tenthstringMgerman\@@tenthstringMgerman % \end{macrocode} % Teens: % \begin{macrocode} -\gdef\@@teenthstringMgerman#1{% +\newcommand*\@@teenthstringMgerman[1]{% \ifcase#1% zehnter% \or elfter% @@ -6217,10 +6244,11 @@ z\'ero% \or neunzehnter% \fi }% +\global\let\@@teenthstringMgerman\@@teenthstringMgerman % \end{macrocode} % Units (feminine): % \begin{macrocode} -\gdef\@@unitthstringFgerman#1{% +\newcommand*\@@unitthstringFgerman[1]{% \ifcase#1% nullte% \or erste% @@ -6234,10 +6262,11 @@ z\'ero% \or neunte% \fi }% +\global\let\@@unitthstringFgerman\@@unitthstringFgerman % \end{macrocode} % Tens (feminine): % \begin{macrocode} -\gdef\@@tenthstringFgerman#1{% +\newcommand*\@@tenthstringFgerman[1]{% \ifcase#1% \or zehnte% \or zwanzigste% @@ -6250,10 +6279,11 @@ z\'ero% \or neunzigste% \fi }% +\global\let\@@tenthstringFgerman\@@tenthstringFgerman % \end{macrocode} % Teens (feminine) % \begin{macrocode} -\gdef\@@teenthstringFgerman#1{% +\newcommand*\@@teenthstringFgerman[1]{% \ifcase#1% zehnte% \or elfte% @@ -6267,12 +6297,13 @@ z\'ero% \or neunzehnte% \fi }% +\global\let\@@teenthstringFgerman\@@teenthstringFgerman % \end{macrocode} % Units (neuter): %\changes{2.0}{2012-09-25}{fixed spelling mistake (correction %provided by Dominik Wa\ss enhoven)} % \begin{macrocode} -\gdef\@@unitthstringNgerman#1{% +\newcommand*\@@unitthstringNgerman[1]{% \ifcase#1% nulltes% \or erstes% @@ -6286,10 +6317,11 @@ z\'ero% \or neuntes% \fi }% +\global\let\@@unitthstringNgerman\@@unitthstringNgerman % \end{macrocode} % Tens (neuter): % \begin{macrocode} -\gdef\@@tenthstringNgerman#1{% +\newcommand*\@@tenthstringNgerman[1]{% \ifcase#1% \or zehntes% \or zwanzigstes% @@ -6302,10 +6334,11 @@ z\'ero% \or neunzigstes% \fi }% +\global\let\@@tenthstringNgerman\@@tenthstringNgerman % \end{macrocode} % Teens (neuter) % \begin{macrocode} -\gdef\@@teenthstringNgerman#1{% +\newcommand*\@@teenthstringNgerman[1]{% \ifcase#1% zehntes% \or elftes% @@ -6319,20 +6352,21 @@ z\'ero% \or neunzehntes% \fi }% +\global\let\@@teenthstringNgerman\@@teenthstringNgerman % \end{macrocode} % This appends the results to |\#2| for number |\#2| (in range 0 to % 100.) % null and eins are dealt with separately in % |\@@numberstringgerman|. % \begin{macrocode} -\gdef\@@numberunderhundredgerman#1#2{% +\newcommand*\@@numberunderhundredgerman[2]{% \ifnum#1<10\relax \ifnum#1>0\relax \eappto#2{\@unitstring{#1}}% \fi \else \@tmpstrctr=#1\relax - \@modulo{\@tmpstrctr}{10}% + \@FCmodulo{\@tmpstrctr}{10}% \ifnum#1<20\relax \eappto#2{\@teenstring{\@tmpstrctr}}% \else @@ -6346,12 +6380,13 @@ z\'ero% \fi \fi }% +\global\let\@@numberunderhundredgerman\@@numberunderhundredgerman % \end{macrocode} % This stores the results in the second argument % (which must be a control % sequence), but it doesn't display anything. % \begin{macrocode} -\gdef\@@numberstringgerman#1#2{% +\newcommand*\@@numberstringgerman[2]{% \ifnum#1>99999\relax \PackageError{fmtcount}{Out of range}% {This macro only works for values less than 100000}% @@ -6380,7 +6415,7 @@ z\'ero% \fi \fi \@strctr=#1\relax -\@modulo{\@strctr}{1000}% +\@FCmodulo{\@strctr}{1000}% \divide\@strctr by 100\relax \ifnum\@strctr>1\relax % \end{macrocode} @@ -6406,7 +6441,7 @@ z\'ero% \fi \fi \@strctr=#1\relax -\@modulo{\@strctr}{100}% +\@FCmodulo{\@strctr}{100}% \ifnum#1=0\relax \def#2{null}% \else @@ -6417,15 +6452,16 @@ z\'ero% \fi \fi }% +\global\let\@@numberstringgerman\@@numberstringgerman % \end{macrocode} % As above, but for ordinals % \begin{macrocode} -\gdef\@@numberunderhundredthgerman#1#2{% +\newcommand*\@@numberunderhundredthgerman[2]{% \ifnum#1<10\relax \eappto#2{\@unitthstring{#1}}% \else \@tmpstrctr=#1\relax - \@modulo{\@tmpstrctr}{10}% + \@FCmodulo{\@tmpstrctr}{10}% \ifnum#1<20\relax \eappto#2{\@teenthstring{\@tmpstrctr}}% \else @@ -6439,9 +6475,10 @@ z\'ero% \fi \fi }% +\global\let\@@numberunderhundredthgerman\@@numberunderhundredthgerman % \end{macrocode} % \begin{macrocode} -\gdef\@@ordinalstringgerman#1#2{% +\newcommand*\@@ordinalstringgerman[2]{% \ifnum#1>99999\relax \PackageError{fmtcount}{Out of range}% {This macro only works for values less than 100000}% @@ -6463,7 +6500,7 @@ z\'ero% % \end{macrocode} % is that it, or is there more? % \begin{macrocode} - \@tmpstrctr=#1\relax \@modulo{\@tmpstrctr}{1000}% + \@tmpstrctr=#1\relax \@FCmodulo{\@tmpstrctr}{1000}% \ifnum\@tmpstrctr=0\relax \eappto#2{\@thousandth}% \else @@ -6482,14 +6519,14 @@ z\'ero% \fi \fi \@strctr=#1\relax -\@modulo{\@strctr}{1000}% +\@FCmodulo{\@strctr}{1000}% \divide\@strctr by 100\relax \ifnum\@strctr>1\relax % \end{macrocode} % now dealing with number in range [200,999] % is that it, or is there more? % \begin{macrocode} - \@tmpstrctr=#1\relax \@modulo{\@tmpstrctr}{100}% + \@tmpstrctr=#1\relax \@FCmodulo{\@tmpstrctr}{100}% \ifnum\@tmpstrctr=0\relax \ifnum\@strctr=1\relax \eappto#2{\@hundredth}% @@ -6505,7 +6542,7 @@ z\'ero% % dealing with number in range [100,199] % is that it, or is there more? % \begin{macrocode} - \@tmpstrctr=#1\relax \@modulo{\@tmpstrctr}{100}% + \@tmpstrctr=#1\relax \@FCmodulo{\@tmpstrctr}{100}% \ifnum\@tmpstrctr=0\relax \eappto#2{\@hundredth}% \else @@ -6518,11 +6555,12 @@ z\'ero% \fi \fi \@strctr=#1\relax -\@modulo{\@strctr}{100}% +\@FCmodulo{\@strctr}{100}% \ifthenelse{\@strctr=0 \and #1>0}{}{% \@@numberunderhundredthgerman{\@strctr}{#2}% }% }% +\global\let\@@ordinalstringgerman\@@ordinalstringgerman % \end{macrocode} % Load fc-germanb.def if not already loaded % \begin{macrocode} @@ -6722,29 +6760,31 @@ z\'ero% % \subsubsection{fc-portuges.def} % Portuguse definitions % \begin{macrocode} -\ProvidesFCLanguage{portuges}[2013/08/17]% +\ProvidesFCLanguage{portuges}[2014/06/09]% % \end{macrocode} % Define macro that converts a number or count register (first % argument) to an ordinal, and stores the result in the second % argument, which should be a control sequence. Masculine: % \begin{macrocode} -\gdef\@ordinalMportuges#1#2{% +\newcommand*\@ordinalMportuges[2]{% \ifnum#1=0\relax \edef#2{\number#1}% \else \edef#2{\number#1\relax\noexpand\fmtord{o}}% \fi }% +\global\let\@ordinalMportuges\@ordinalMportuges % \end{macrocode} % Feminine: % \begin{macrocode} -\gdef\@ordinalFportuges#1#2{% +\newcommand*\@ordinalFportuges[2]{% \ifnum#1=0\relax \edef#2{\number#1}% \else \edef#2{\number#1\relax\noexpand\fmtord{a}}% \fi }% +\global\let\@ordinalFportuges\@ordinalFportuges % \end{macrocode} % Make neuter same as masculine: % \begin{macrocode} @@ -6754,8 +6794,10 @@ z\'ero% % split it up into units, tens, teens and hundreds. Units (argument % must % be a number from 0 to 9): +%\changes{2.04}{2014-06-09}{Fixed bug that had incorrect number of +%parameters specified} % \begin{macrocode} -\gdef\@@unitstringportuges#1#2{% +\newcommand*\@@unitstringportuges[1]{% \ifcase#1\relax zero% \or um% @@ -6769,10 +6811,11 @@ z\'ero% \or nove% \fi }% +\global\let\@@unitstringportuges\@@unitstringportuges % \end{macrocode} % As above, but for feminine: % \begin{macrocode} -\gdef\@@unitstringFportuges#1{% +\newcommand*\@@unitstringFportuges[1]{% \ifcase#1\relax zero% \or uma% @@ -6786,10 +6829,11 @@ z\'ero% \or nove% \fi }% +\global\let\@@unitstringFportuges\@@unitstringFportuges % \end{macrocode} % Tens (argument must be a number from 0 to 10): % \begin{macrocode} -\gdef\@@tenstringportuges#1{% +\newcommand*\@@tenstringportuges[1]{% \ifcase#1\relax \or dez% \or vinte% @@ -6803,10 +6847,11 @@ z\'ero% \or cem% \fi }% +\global\let\@@tenstringportuges\@@tenstringportuges % \end{macrocode} % Teens (argument must be a number from 0 to 9): % \begin{macrocode} -\gdef\@@teenstringportuges#1{% +\newcommand*\@@teenstringportuges[1]{% \ifcase#1\relax dez% \or onze% @@ -6820,10 +6865,11 @@ z\'ero% \or dezenove% \fi }% +\global\let\@@teenstringportuges\@@teenstringportuges % \end{macrocode} % Hundreds: % \begin{macrocode} -\gdef\@@hundredstringportuges#1{% +\newcommand*\@@hundredstringportuges[1]{% \ifcase#1\relax \or cento% \or duzentos% @@ -6836,10 +6882,11 @@ z\'ero% \or novecentos% \fi }% +\global\let\@@hundredstringportuges\@@hundredstringportuges % \end{macrocode} % Hundreds (feminine): % \begin{macrocode} -\gdef\@@hundredstringFportuges#1{% +\newcommand*\@@hundredstringFportuges[1]{% \ifcase#1\relax \or cento% \or duzentas% @@ -6852,10 +6899,11 @@ z\'ero% \or novecentas% \fi }% +\global\let\@@hundredstringFportuges\@@hundredstringFportuges % \end{macrocode} % Units (initial letter in upper case): % \begin{macrocode} -\gdef\@@Unitstringportuges#1{% +\newcommand*\@@Unitstringportuges[1]{% \ifcase#1\relax Zero% \or Um% @@ -6869,10 +6917,11 @@ z\'ero% \or Nove% \fi }% +\global\let\@@Unitstringportuges\@@Unitstringportuges % \end{macrocode} % As above, but feminine: % \begin{macrocode} -\gdef\@@UnitstringFportuges#1{% +\newcommand*\@@UnitstringFportuges[1]{% \ifcase#1\relax Zera% \or Uma% @@ -6886,10 +6935,11 @@ z\'ero% \or Nove% \fi }% +\global\let\@@UnitstringFportuges\@@UnitstringFportuges % \end{macrocode} % Tens (with initial letter in upper case): % \begin{macrocode} -\gdef\@@Tenstringportuges#1{% +\newcommand*\@@Tenstringportuges[1]{% \ifcase#1\relax \or Dez% \or Vinte% @@ -6903,10 +6953,11 @@ z\'ero% \or Cem% \fi }% +\global\let\@@Tenstringportuges\@@Tenstringportuges % \end{macrocode} % Teens (with initial letter in upper case): % \begin{macrocode} -\gdef\@@Teenstringportuges#1{% +\newcommand*\@@Teenstringportuges[1]{% \ifcase#1\relax Dez% \or Onze% @@ -6920,10 +6971,11 @@ z\'ero% \or Dezenove% \fi }% +\global\let\@@Teenstringportuges\@@Teenstringportuges % \end{macrocode} % Hundreds (with initial letter in upper case): % \begin{macrocode} -\gdef\@@Hundredstringportuges#1{% +\newcommand*\@@Hundredstringportuges[1]{% \ifcase#1\relax \or Cento% \or Duzentos% @@ -6936,10 +6988,11 @@ z\'ero% \or Novecentos% \fi }% +\global\let\@@Hundredstringportuges\@@Hundredstringportuges % \end{macrocode} % As above, but feminine: % \begin{macrocode} -\gdef\@@HundredstringFportuges#1{% +\newcommand*\@@HundredstringFportuges[1]{% \ifcase#1\relax \or Cento% \or Duzentas% @@ -6952,6 +7005,7 @@ z\'ero% \or Novecentas% \fi }% +\global\let\@@HundredstringFportuges\@@HundredstringFportuges % \end{macrocode} % This has changed in version 1.08, so that it now stores % the result in the second argument, but doesn't display @@ -7080,7 +7134,7 @@ z\'ero% % In order to do the ordinals, split into units, teens, tens % and hundreds. Units: % \begin{macrocode} -\gdef\@@unitthstringportuges#1{% +\newcommand*\@@unitthstringportuges[1]{% \ifcase#1\relax zero% \or primeiro% @@ -7094,10 +7148,11 @@ z\'ero% \or nono% \fi }% +\global\let\@@unitthstringportuges\@@unitthstringportuges % \end{macrocode} % Tens: % \begin{macrocode} -\gdef\@@tenthstringportuges#1{% +\newcommand*\@@tenthstringportuges[1]{% \ifcase#1\relax \or d\'ecimo% \or vig\'esimo% @@ -7110,19 +7165,21 @@ z\'ero% \or nonag\'esimo% \fi }% +\global\let\@@tenthstringportuges\@@tenthstringportuges % \end{macrocode} % Teens: % \begin{macrocode} -\gdef\@@teenthstringportuges#1{% +\newcommand*\@@teenthstringportuges[1]{% \@tenthstring{1}% \ifnum#1>0\relax -\@unitthstring{#1}% \fi }% +\global\let\@@teenthstringportuges\@@teenthstringportuges % \end{macrocode} % Hundreds: % \begin{macrocode} -\gdef\@@hundredthstringportuges#1{% +\newcommand*\@@hundredthstringportuges[1]{% \ifcase#1\relax \or cent\'esimo% \or ducent\'esimo% @@ -7135,10 +7192,11 @@ z\'ero% \or nongent\'esimo% \fi }% +\global\let\@@hundredthstringportuges\@@hundredthstringportuges % \end{macrocode} % Units (feminine): % \begin{macrocode} -\gdef\@@unitthstringFportuges#1{% +\newcommand*\@@unitthstringFportuges[1]{% \ifcase#1\relax zero% \or primeira% @@ -7152,10 +7210,11 @@ z\'ero% \or nona% \fi }% +\global\let\@@unitthstringFportuges\@@unitthstringFportuges % \end{macrocode} % Tens (feminine): % \begin{macrocode} -\gdef\@@tenthstringFportuges#1{% +\newcommand*\@@tenthstringFportuges[1]{% \ifcase#1\relax \or d\'ecima% \or vig\'esima% @@ -7168,10 +7227,11 @@ z\'ero% \or nonag\'esima% \fi }% +\global\let\@@tenthstringFportuges\@@tenthstringFportuges % \end{macrocode} % Hundreds (feminine): % \begin{macrocode} -\gdef\@@hundredthstringFportuges#1{% +\newcommand*\@@hundredthstringFportuges[1]{% \ifcase#1\relax \or cent\'esima% \or ducent\'esima% @@ -7184,10 +7244,11 @@ z\'ero% \or nongent\'esima% \fi }% +\global\let\@@hundredthstringFportuges\@@hundredthstringFportuges % \end{macrocode} % As above, but with initial letter in upper case. Units: % \begin{macrocode} -\gdef\@@Unitthstringportuges#1{% +\newcommand*\@@Unitthstringportuges[1]{% \ifcase#1\relax Zero% \or Primeiro% @@ -7201,10 +7262,11 @@ z\'ero% \or Nono% \fi }% +\global\let\@@Unitthstringportuges\@@Unitthstringportuges % \end{macrocode} % Tens: % \begin{macrocode} -\gdef\@@Tenthstringportuges#1{% +\newcommand*\@@Tenthstringportuges[1]{% \ifcase#1\relax \or D\'ecimo% \or Vig\'esimo% @@ -7217,10 +7279,11 @@ z\'ero% \or Nonag\'esimo% \fi }% +\global\let\@@Tenthstringportuges\@@Tenthstringportuges % \end{macrocode} % Hundreds: % \begin{macrocode} -\gdef\@@Hundredthstringportuges#1{% +\newcommand*\@@Hundredthstringportuges[1]{% \ifcase#1\relax \or Cent\'esimo% \or Ducent\'esimo% @@ -7233,10 +7296,11 @@ z\'ero% \or Nongent\'esimo% \fi }% +\global\let\@@Hundredthstringportuges\@@Hundredthstringportuges % \end{macrocode} % As above, but feminine. Units: % \begin{macrocode} -\gdef\@@UnitthstringFportuges#1{% +\newcommand*\@@UnitthstringFportuges[1]{% \ifcase#1\relax Zera% \or Primeira% @@ -7250,10 +7314,11 @@ z\'ero% \or Nona% \fi }% +\global\let\@@UnitthstringFportuges\@@UnitthstringFportuges % \end{macrocode} % Tens (feminine); % \begin{macrocode} -\gdef\@@TenthstringFportuges#1{% +\newcommand*\@@TenthstringFportuges[1]{% \ifcase#1\relax \or D\'ecima% \or Vig\'esima% @@ -7266,10 +7331,11 @@ z\'ero% \or Nonag\'esima% \fi }% +\global\let\@@TenthstringFportuges\@@TenthstringFportuges % \end{macrocode} % Hundreds (feminine): % \begin{macrocode} -\gdef\@@HundredthstringFportuges#1{% +\newcommand*\@@HundredthstringFportuges[1]{% \ifcase#1\relax \or Cent\'esima% \or Ducent\'esima% @@ -7282,6 +7348,7 @@ z\'ero% \or Nongent\'esima% \fi }% +\global\let\@@HundredthstringFportuges\@@HundredthstringFportuges % \end{macrocode} % This has changed in version 1.09, so that it now stores % the result in the second argument (a control sequence), but it @@ -7289,120 +7356,121 @@ z\'ero% % it shouldn't affect documents created with older versions. % (These internal macros are not meant for use in documents.) % \begin{macrocode} -\gdef\@@numberstringportuges#1#2{% -\ifnum#1>99999 -\PackageError{fmtcount}{Out of range}% -{This macro only works for values less than 100000}% +\newcommand*\@@numberstringportuges[2]{% +\ifnum#1>99999\relax + \PackageError{fmtcount}{Out of range}% + {This macro only works for values less than 100000}% \else -\ifnum#1<0 -\PackageError{fmtcount}{Negative numbers not permitted}% -{This macro does not work for negative numbers, however -you can try typing "minus" first, and then pass the modulus of -this number}% -\fi + \ifnum#1<0\relax + \PackageError{fmtcount}{Negative numbers not permitted}% + {This macro does not work for negative numbers, however + you can try typing "minus" first, and then pass the modulus of + this number}% + \fi \fi \def#2{}% \@strctr=#1\relax \divide\@strctr by 1000\relax -\ifnum\@strctr>9 +\ifnum\@strctr>9\relax % \end{macrocode} % \#1 is greater or equal to 10000 % \begin{macrocode} - \divide\@strctr by 10 + \divide\@strctr by 10\relax \ifnum\@strctr>1\relax \let\@@fc@numstr#2\relax - \edef#2{\@@fc@numstr\@tenstring{\@strctr}}% + \protected@edef#2{\@@fc@numstr\@tenstring{\@strctr}}% \@strctr=#1 \divide\@strctr by 1000\relax - \@modulo{\@strctr}{10}% + \@FCmodulo{\@strctr}{10}% \ifnum\@strctr>0 \ifnum\@strctr=1\relax \let\@@fc@numstr#2\relax - \edef#2{\@@fc@numstr\ \@andname}% + \protected@edef#2{\@@fc@numstr\ \@andname}% \fi \let\@@fc@numstr#2\relax - \edef#2{\@@fc@numstr\ \@unitstring{\@strctr}}% + \protected@edef#2{\@@fc@numstr\ \@unitstring{\@strctr}}% \fi \else \@strctr=#1\relax \divide\@strctr by 1000\relax - \@modulo{\@strctr}{10}% + \@FCmodulo{\@strctr}{10}% \let\@@fc@numstr#2\relax - \edef#2{\@@fc@numstr\@teenstring{\@strctr}}% + \protected@edef#2{\@@fc@numstr\@teenstring{\@strctr}}% \fi \let\@@fc@numstr#2\relax - \edef#2{\@@fc@numstr\ \@thousand}% + \protected@edef#2{\@@fc@numstr\ \@thousand}% \else \ifnum\@strctr>0\relax \ifnum\@strctr>1\relax \let\@@fc@numstr#2\relax - \edef#2{\@@fc@numstr\@unitstring{\@strctr}\ }% + \protected@edef#2{\@@fc@numstr\@unitstring{\@strctr}\ }% \fi \let\@@fc@numstr#2\relax - \edef#2{\@@fc@numstr\@thousand}% + \protected@edef#2{\@@fc@numstr\@thousand}% \fi \fi -\@strctr=#1\relax \@modulo{\@strctr}{1000}% +\@strctr=#1\relax \@FCmodulo{\@strctr}{1000}% \divide\@strctr by 100\relax \ifnum\@strctr>0\relax \ifnum#1>1000 \relax \let\@@fc@numstr#2\relax - \edef#2{\@@fc@numstr\ }% + \protected@edef#2{\@@fc@numstr\ }% \fi \@tmpstrctr=#1\relax - \@modulo{\@tmpstrctr}{1000}% + \@FCmodulo{\@tmpstrctr}{1000}% \let\@@fc@numstr#2\relax \ifnum\@tmpstrctr=100\relax - \edef#2{\@@fc@numstr\@tenstring{10}}% + \protected@edef#2{\@@fc@numstr\@tenstring{10}}% \else - \edef#2{\@@fc@numstr\@hundredstring{\@strctr}}% + \protected@edef#2{\@@fc@numstr\@hundredstring{\@strctr}}% \fi% \fi -\@strctr=#1\relax \@modulo{\@strctr}{100}% +\@strctr=#1\relax \@FCmodulo{\@strctr}{100}% \ifnum#1>100\relax \ifnum\@strctr>0\relax \let\@@fc@numstr#2\relax - \edef#2{\@@fc@numstr\ \@andname\ }% + \protected@edef#2{\@@fc@numstr\ \@andname\ }% \fi \fi \ifnum\@strctr>19\relax \divide\@strctr by 10\relax \let\@@fc@numstr#2\relax - \edef#2{\@@fc@numstr\@tenstring{\@strctr}}% - \@strctr=#1\relax \@modulo{\@strctr}{10}% + \protected@edef#2{\@@fc@numstr\@tenstring{\@strctr}}% + \@strctr=#1\relax \@FCmodulo{\@strctr}{10}% \ifnum\@strctr>0 \ifnum\@strctr=1\relax \let\@@fc@numstr#2\relax - \edef#2{\@@fc@numstr\ \@andname}% + \protected@edef#2{\@@fc@numstr\ \@andname}% \else \ifnum#1>100\relax \let\@@fc@numstr#2\relax - \edef#2{\@@fc@numstr\ \@andname}% + \protected@edef#2{\@@fc@numstr\ \@andname}% \fi \fi \let\@@fc@numstr#2\relax - \edef#2{\@@fc@numstr\ \@unitstring{\@strctr}}% + \protected@edef#2{\@@fc@numstr\ \@unitstring{\@strctr}}% \fi \else \ifnum\@strctr<10\relax \ifnum\@strctr=0\relax \ifnum#1<100\relax \let\@@fc@numstr#2\relax - \edef#2{\@@fc@numstr\@unitstring{\@strctr}}% + \protected@edef#2{\@@fc@numstr\@unitstring{\@strctr}}% \fi - \else%(>0,<10) + \else %(>0,<10) \let\@@fc@numstr#2\relax - \edef#2{\@@fc@numstr\@unitstring{\@strctr}}% + \protected@edef#2{\@@fc@numstr\@unitstring{\@strctr}}% \fi \else%>10 - \@modulo{\@strctr}{10}% + \@FCmodulo{\@strctr}{10}% \let\@@fc@numstr#2\relax - \edef#2{\@@fc@numstr\@teenstring{\@strctr}}% + \protected@edef#2{\@@fc@numstr\@teenstring{\@strctr}}% \fi \fi }% +\global\let\@@numberstringportuges\@@numberstringportuges % \end{macrocode} % As above, but for ordinals. % \begin{macrocode} -\gdef\@@ordinalstringportuges#1#2{% +\newcommand*\@@ordinalstringportuges[2]{% \@strctr=#1\relax \ifnum#1>99999 \PackageError{fmtcount}{Out of range}% @@ -7421,72 +7489,73 @@ this number}% \ifnum\@strctr>9\relax \@tmpstrctr=\@strctr \ifnum\@strctr<20 - \@modulo{\@tmpstrctr}{10}% + \@FCmodulo{\@tmpstrctr}{10}% \let\@@fc@ordstr#2\relax - \edef#2{\@@fc@ordstr\@teenthstring{\@tmpstrctr}}% + \protected@edef#2{\@@fc@ordstr\@teenthstring{\@tmpstrctr}}% \else \divide\@tmpstrctr by 10\relax \let\@@fc@ordstr#2\relax - \edef#2{\@@fc@ordstr\@tenthstring{\@tmpstrctr}}% + \protected@edef#2{\@@fc@ordstr\@tenthstring{\@tmpstrctr}}% \@tmpstrctr=\@strctr - \@modulo{\@tmpstrctr}{10}% + \@FCmodulo{\@tmpstrctr}{10}% \ifnum\@tmpstrctr>0\relax \let\@@fc@ordstr#2\relax - \edef#2{\@@fc@ordstr\@unitthstring{\@tmpstrctr}}% + \protected@edef#2{\@@fc@ordstr\@unitthstring{\@tmpstrctr}}% \fi \fi \else \let\@@fc@ordstr#2\relax - \edef#2{\@@fc@ordstr\@unitstring{\@strctr}}% + \protected@edef#2{\@@fc@ordstr\@unitstring{\@strctr}}% \fi \fi \let\@@fc@ordstr#2\relax - \edef#2{\@@fc@ordstr\@thousandth}% + \protected@edef#2{\@@fc@ordstr\@thousandth}% \fi \@strctr=#1\relax -\@modulo{\@strctr}{1000}% +\@FCmodulo{\@strctr}{1000}% \ifnum\@strctr>99\relax \@tmpstrctr=\@strctr \divide\@tmpstrctr by 100\relax \ifnum#1>1000\relax \let\@@fc@ordstr#2\relax - \edef#2{\@@fc@ordstr-}% + \protected@edef#2{\@@fc@ordstr-}% \fi \let\@@fc@ordstr#2\relax - \edef#2{\@@fc@ordstr\@hundredthstring{\@tmpstrctr}}% + \protected@edef#2{\@@fc@ordstr\@hundredthstring{\@tmpstrctr}}% \fi -\@modulo{\@strctr}{100}% +\@FCmodulo{\@strctr}{100}% \ifnum#1>99\relax \ifnum\@strctr>0\relax \let\@@fc@ordstr#2\relax - \edef#2{\@@fc@ordstr-}% + \protected@edef#2{\@@fc@ordstr-}% \fi \fi \ifnum\@strctr>9\relax \@tmpstrctr=\@strctr \divide\@tmpstrctr by 10\relax \let\@@fc@ordstr#2\relax - \edef#2{\@@fc@ordstr\@tenthstring{\@tmpstrctr}}% + \protected@edef#2{\@@fc@ordstr\@tenthstring{\@tmpstrctr}}% \@tmpstrctr=\@strctr - \@modulo{\@tmpstrctr}{10}% + \@FCmodulo{\@tmpstrctr}{10}% \ifnum\@tmpstrctr>0\relax \let\@@fc@ordstr#2\relax - \edef#2{\@@fc@ordstr-\@unitthstring{\@tmpstrctr}}% + \protected@edef#2{\@@fc@ordstr-\@unitthstring{\@tmpstrctr}}% \fi \else \ifnum\@strctr=0\relax \ifnum#1=0\relax \let\@@fc@ordstr#2\relax - \edef#2{\@@fc@ordstr\@unitstring{0}}% + \protected@edef#2{\@@fc@ordstr\@unitstring{0}}% \fi \else \let\@@fc@ordstr#2\relax - \edef#2{\@@fc@ordstr\@unitthstring{\@strctr}}% + \protected@edef#2{\@@fc@ordstr\@unitthstring{\@strctr}}% \fi \fi \fi \fi }% +\global\let\@@ordinalstringportuges\@@ordinalstringportuges % \end{macrocode} %\iffalse % \begin{macrocode} @@ -7495,6 +7564,43 @@ this number}% %\fi %\iffalse % \begin{macrocode} +%<*fc-portuguese.def> +% \end{macrocode} +%\fi +% \subsubsection{fc-portuguese.def} +% \begin{macrocode} +\ProvidesFCLanguage{portuguese}[2014/06/09]% +% \end{macrocode} +% Load fc-portuges.def if not already loaded +% \begin{macrocode} +\FCloadlang{portuges}% +% \end{macrocode} +% Set |portuguese| to be equivalent to |portuges|. +% \begin{macrocode} +\global\let\@ordinalMportuguese=\@ordinalMportuges +\global\let\@ordinalFportuguese=\@ordinalFportuges +\global\let\@ordinalNportuguese=\@ordinalNportuges +\global\let\@numberstringMportuguese=\@numberstringMportuges +\global\let\@numberstringFportuguese=\@numberstringFportuges +\global\let\@numberstringNportuguese=\@numberstringNportuges +\global\let\@NumberstringMportuguese=\@NumberstringMportuges +\global\let\@NumberstringFportuguese=\@NumberstringFportuges +\global\let\@NumberstringNportuguese=\@NumberstringNportuges +\global\let\@ordinalstringMportuguese=\@ordinalstringMportuges +\global\let\@ordinalstringFportuguese=\@ordinalstringFportuges +\global\let\@ordinalstringNportuguese=\@ordinalstringNportuges +\global\let\@OrdinalstringMportuguese=\@OrdinalstringMportuges +\global\let\@OrdinalstringFportuguese=\@OrdinalstringFportuges +\global\let\@OrdinalstringNportuguese=\@OrdinalstringNportuges +% \end{macrocode} + +%\iffalse +% \begin{macrocode} +% +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} %<*fc-spanish.def> % \end{macrocode} %\fi @@ -7508,15 +7614,17 @@ this number}% % second argument, which must be a control sequence. % Masculine: % \begin{macrocode} -\gdef\@ordinalMspanish#1{% +\newcommand*\@ordinalMspanish[2]{% \edef#2{\number#1\relax\noexpand\fmtord{o}}% }% +\global\let\@ordinalMspanish\@ordinalMspanish % \end{macrocode} % Feminine: % \begin{macrocode} -\gdef\@ordinalFspanish}[2]{% +\newcommand{\@ordinalFspanish}[2]{% \edef#2{\number#1\relax\noexpand\fmtord{a}}% }% +\global\let\@ordinalFspanish\@ordinalFspanish % \end{macrocode} % Make neuter same as masculine: % \begin{macrocode} @@ -7526,7 +7634,7 @@ this number}% % break it up into units, tens, teens, twenties and hundreds. % Units (argument must be a number from 0 to 9): % \begin{macrocode} -\gdef\@@unitstringspanish#1{% +\newcommand*\@@unitstringspanish[1]{% \ifcase#1\relax cero% \or uno% @@ -7540,10 +7648,11 @@ this number}% \or nueve% \fi }% +\global\let\@@unitstringspanish\@@unitstringspanish % \end{macrocode} % Feminine: % \begin{macrocode} -\gdef\@@unitstringFspanish#1{% +\newcommand*\@@unitstringFspanish[1]{% \ifcase#1\relax cera% \or una% @@ -7557,12 +7666,13 @@ this number}% \or nueve% \fi }% +\global\let\@@unitstringFspanish\@@unitstringFspanish % \end{macrocode} % Tens (argument must go from 1 to 10): %\changes{2.0}{2012-06-18}{fixed spelling mistake (correction %provided by Fernando Maldonado)} % \begin{macrocode} -\gdef\@@tenstringspanish#1{% +\newcommand*\@@tenstringspanish[1]{% \ifcase#1\relax \or diez% \or veinte% @@ -7576,10 +7686,11 @@ this number}% \or cien% \fi }% +\global\let\@@tenstringspanish\@@tenstringspanish % \end{macrocode} % Teens: % \begin{macrocode} -\gdef\@@teenstringspanish#1{% +\newcommand*\@@teenstringspanish[1]{% \ifcase#1\relax diez% \or once% @@ -7593,10 +7704,11 @@ this number}% \or diecinueve% \fi }% +\global\let\@@teenstringspanish\@@teenstringspanish % \end{macrocode} % Twenties: % \begin{macrocode} -\gdef\@@twentystringspanish#1{% +\newcommand*\@@twentystringspanish[1]{% \ifcase#1\relax veinte% \or veintiuno% @@ -7610,10 +7722,11 @@ this number}% \or veintinueve% \fi }% +\global\let\@@twentystringspanish\@@twentystringspanish % \end{macrocode} % Feminine form: % \begin{macrocode} -\gdef\@@twentystringFspanish#1{% +\newcommand*\@@twentystringFspanish[1]{% \ifcase#1\relax veinte% \or veintiuna% @@ -7627,10 +7740,11 @@ this number}% \or veintinueve% \fi }% +\global\let\@@twentystringFspanish\@@twentystringFspanish % \end{macrocode} % Hundreds: % \begin{macrocode} -\gdef\@@hundredstringspanish#1{% +\newcommand*\@@hundredstringspanish[1]{% \ifcase#1\relax \or ciento% \or doscientos% @@ -7643,10 +7757,11 @@ this number}% \or novecientos% \fi }% +\global\let\@@hundredstringspanish\@@hundredstringspanish % \end{macrocode} % Feminine form: % \begin{macrocode} -\gdef\@@hundredstringFspanish#1{% +\newcommand*\@@hundredstringFspanish[1]{% \ifcase#1\relax \or cienta% \or doscientas% @@ -7659,10 +7774,11 @@ this number}% \or novecientas% \fi }% +\global\let\@@hundredstringFspanish\@@hundredstringFspanish % \end{macrocode} % As above, but with initial letter uppercase: % \begin{macrocode} -\gdef\@@Unitstringspanish#1{% +\newcommand*\@@Unitstringspanish[1]{% \ifcase#1\relax Cero% \or Uno% @@ -7676,10 +7792,11 @@ this number}% \or Nueve% \fi }% +\global\let\@@Unitstringspanish\@@Unitstringspanish % \end{macrocode} % Feminine form: % \begin{macrocode} -\gdef\@@UnitstringFspanish#1{% +\newcommand*\@@UnitstringFspanish[1]{% \ifcase#1\relax Cera% \or Una% @@ -7693,12 +7810,13 @@ this number}% \or Nueve% \fi }% +\global\let\@@UnitstringFspanish\@@UnitstringFspanish % \end{macrocode} % Tens: % \begin{macrocode} %\changes{2.0}{2012-06-18}{fixed spelling mistake (correction %provided by Fernando Maldonado)} -\gdef\@@Tenstringspanish#1{% +\newcommand*\@@Tenstringspanish[1]{% \ifcase#1\relax \or Diez% \or Veinte% @@ -7712,10 +7830,11 @@ this number}% \or Cien% \fi }% +\global\let\@@Tenstringspanish\@@Tenstringspanish % \end{macrocode} % Teens: % \begin{macrocode} -\gdef\@@Teenstringspanish#1{% +\newcommand*\@@Teenstringspanish[1]{% \ifcase#1\relax Diez% \or Once% @@ -7729,10 +7848,11 @@ this number}% \or Diecinueve% \fi }% +\global\let\@@Teenstringspanish\@@Teenstringspanish % \end{macrocode} % Twenties: % \begin{macrocode} -\gdef\@@Twentystringspanish#1{% +\newcommand*\@@Twentystringspanish[1]{% \ifcase#1\relax Veinte% \or Veintiuno% @@ -7746,10 +7866,11 @@ this number}% \or Veintinueve% \fi }% +\global\let\@@Twentystringspanish\@@Twentystringspanish % \end{macrocode} % Feminine form: % \begin{macrocode} -\gdef\@@TwentystringFspanish#1{% +\newcommand*\@@TwentystringFspanish[1]{% \ifcase#1\relax Veinte% \or Veintiuna% @@ -7763,10 +7884,11 @@ this number}% \or Veintinueve% \fi }% +\global\let\@@TwentystringFspanish\@@TwentystringFspanish % \end{macrocode} % Hundreds: % \begin{macrocode} -\gdef\@@Hundredstringspanish#1{% +\newcommand*\@@Hundredstringspanish[1]{% \ifcase#1\relax \or Ciento% \or Doscientos% @@ -7779,10 +7901,11 @@ this number}% \or Novecientos% \fi }% +\global\let\@@Hundredstringspanish\@@Hundredstringspanish % \end{macrocode} % Feminine form: % \begin{macrocode} -\gdef\@@HundredstringFspanish#1{% +\newcommand*\@@HundredstringFspanish[1]{% \ifcase#1\relax \or Cienta% \or Doscientas% @@ -7795,6 +7918,7 @@ this number}% \or Novecientas% \fi }% +\global\let\@@HundredstringFspanish\@@HundredstringFspanish % \end{macrocode} % This has changed in version 1.09, so that it now stores the % result in the second argument, but doesn't display anything. @@ -7932,7 +8056,7 @@ this number}% % it is easier to split it into units, tens, teens and hundreds. % Units: % \begin{macrocode} -\gdef\@@unitthstringspanish#1{% +\newcommand*\@@unitthstringspanish[1]{% \ifcase#1\relax cero% \or primero% @@ -7946,10 +8070,11 @@ this number}% \or noveno% \fi }% +\global\let\@@unitthstringspanish\@@unitthstringspanish % \end{macrocode} % Tens: % \begin{macrocode} -\gdef\@@tenthstringspanish#1{% +\newcommand*\@@tenthstringspanish[1]{% \ifcase#1\relax \or d\'ecimo% \or vig\'esimo% @@ -7962,10 +8087,11 @@ this number}% \or nonag\'esimo% \fi }% +\global\let\@@tenthstringspanish\@@tenthstringspanish % \end{macrocode} % Teens: % \begin{macrocode} -\gdef\@@teenthstringspanish#1{% +\newcommand*\@@teenthstringspanish[1]{% \ifcase#1\relax d\'ecimo% \or und\'ecimo% @@ -7979,10 +8105,11 @@ this number}% \or decimonoveno% \fi }% +\global\let\@@teenthstringspanish\@@teenthstringspanish % \end{macrocode} % Hundreds: % \begin{macrocode} -\gdef\@@hundredthstringspanish#1{% +\newcommand*\@@hundredthstringspanish[1]{% \ifcase#1\relax \or cent\'esimo% \or ducent\'esimo% @@ -7995,10 +8122,11 @@ this number}% \or noningent\'esimo% \fi }% +\global\let\@@hundredthstringspanish\@@hundredthstringspanish % \end{macrocode} % Units (feminine): % \begin{macrocode} -\gdef\@@unitthstringFspanish#1{% +\newcommand*\@@unitthstringFspanish[1]{% \ifcase#1\relax cera% \or primera% @@ -8012,10 +8140,11 @@ this number}% \or novena% \fi }% +\global\let\@@unitthstringFspanish\@@unitthstringFspanish % \end{macrocode} % Tens (feminine): % \begin{macrocode} -\gdef\@@tenthstringFspanish#1{% +\newcommand*\@@tenthstringFspanish[1]{% \ifcase#1\relax \or d\'ecima% \or vig\'esima% @@ -8028,10 +8157,11 @@ this number}% \or nonag\'esima% \fi }% +\global\let\@@tenthstringFspanish\@@tenthstringFspanish % \end{macrocode} % Teens (feminine) % \begin{macrocode} -\gdef\@@teenthstringFspanish#1{% +\newcommand*\@@teenthstringFspanish[1]{% \ifcase#1\relax d\'ecima% \or und\'ecima% @@ -8045,10 +8175,11 @@ this number}% \or decimonovena% \fi }% +\global\let\@@teenthstringFspanish\@@teenthstringFspanish % \end{macrocode} % Hundreds (feminine) % \begin{macrocode} -\gdef\@@hundredthstringFspanish#1{% +\newcommand*\@@hundredthstringFspanish[1]{% \ifcase#1\relax \or cent\'esima% \or ducent\'esima% @@ -8061,10 +8192,11 @@ this number}% \or noningent\'esima% \fi }% +\global\let\@@hundredthstringFspanish\@@hundredthstringFspanish % \end{macrocode} % As above, but with initial letters in upper case % \begin{macrocode} -\gdef\@@Unitthstringspanish#1{% +\newcommand*\@@Unitthstringspanish[1]{% \ifcase#1\relax Cero% \or Primero% @@ -8078,10 +8210,11 @@ this number}% \or Noveno% \fi }% +\global\let\@@Unitthstringspanish\@@Unitthstringspanish % \end{macrocode} % Tens: % \begin{macrocode} -\gdef\@@Tenthstringspanish#1{% +\newcommand*\@@Tenthstringspanish[1]{% \ifcase#1\relax \or D\'ecimo% \or Vig\'esimo% @@ -8094,10 +8227,11 @@ this number}% \or Nonag\'esimo% \fi }% +\global\let\@@Tenthstringspanish\@@Tenthstringspanish % \end{macrocode} % Teens: % \begin{macrocode} -\gdef\@@Teenthstringspanish#1{% +\newcommand*\@@Teenthstringspanish[1]{% \ifcase#1\relax D\'ecimo% \or Und\'ecimo% @@ -8111,10 +8245,11 @@ this number}% \or Decimonoveno% \fi }% +\global\let\@@Teenthstringspanish\@@Teenthstringspanish % \end{macrocode} % Hundreds % \begin{macrocode} -\gdef\@@Hundredthstringspanish#1{% +\newcommand*\@@Hundredthstringspanish[1]{% \ifcase#1\relax \or Cent\'esimo% \or Ducent\'esimo% @@ -8127,10 +8262,11 @@ this number}% \or Noningent\'esimo% \fi }% +\global\let\@@Hundredthstringspanish\@@Hundredthstringspanish % \end{macrocode} % As above, but feminine. % \begin{macrocode} -\gdef\@@UnitthstringFspanish#1{% +\newcommand*\@@UnitthstringFspanish[1]{% \ifcase#1\relax Cera% \or Primera% @@ -8144,10 +8280,11 @@ this number}% \or Novena% \fi }% +\global\let\@@UnitthstringFspanish\@@UnitthstringFspanish % \end{macrocode} % Tens (feminine) % \begin{macrocode} -\gdef\@@TenthstringFspanish#1{% +\newcommand*\@@TenthstringFspanish[1]{% \ifcase#1\relax \or D\'ecima% \or Vig\'esima% @@ -8160,10 +8297,11 @@ this number}% \or Nonag\'esima% \fi }% +\global\let\@@TenthstringFspanish\@@TenthstringFspanish % \end{macrocode} % Teens (feminine): % \begin{macrocode} -\gdef\@@TeenthstringFspanish#1{% +\newcommand*\@@TeenthstringFspanish[1]{% \ifcase#1\relax D\'ecima% \or Und\'ecima% @@ -8177,10 +8315,11 @@ this number}% \or Decimonovena% \fi }% +\global\let\@@TeenthstringFspanish\@@TeenthstringFspanish % \end{macrocode} % Hundreds (feminine): % \begin{macrocode} -\gdef\@@HundredthstringFspanish#1{% +\newcommand*\@@HundredthstringFspanish[1]{% \ifcase#1\relax \or Cent\'esima% \or Ducent\'esima% @@ -8193,6 +8332,7 @@ this number}% \or Noningent\'esima% \fi }% +\global\let\@@HundredthstringFspanish\@@HundredthstringFspanish % \end{macrocode} % This has changed in version 1.09, so that it now stores the % results in the second argument (which must be a control @@ -8201,7 +8341,7 @@ this number}% % with older versions. (These internal macros are not meant for % use in documents.) % \begin{macrocode} -\gdef\@@numberstringspanish#1#2{% +\newcommand*\@@numberstringspanish[2]{% \ifnum#1>99999 \PackageError{fmtcount}{Out of range}% {This macro only works for values less than 100000}% @@ -8224,7 +8364,7 @@ this number}% \let\@@fc@numstr#2\relax \edef#2{\@@fc@numstr\@tenstring{\@strctr}}% \@strctr=#1 \divide\@strctr by 1000\relax - \@modulo{\@strctr}{10}% + \@FCmodulo{\@strctr}{10}% \ifnum\@strctr>0\relax \let\@@fc@numstr#2\relax \edef#2{\@@fc@numstr\ \@andname\ \@unitstring{\@strctr}}% @@ -8232,7 +8372,7 @@ this number}% \else \@strctr=#1\relax \divide\@strctr by 1000\relax - \@modulo{\@strctr}{10}% + \@FCmodulo{\@strctr}{10}% \let\@@fc@numstr#2\relax \edef#2{\@@fc@numstr\@teenstring{\@strctr}}% \fi @@ -8248,7 +8388,7 @@ this number}% \edef#2{\@@fc@numstr\@thousand}% \fi \fi -\@strctr=#1\relax \@modulo{\@strctr}{1000}% +\@strctr=#1\relax \@FCmodulo{\@strctr}{1000}% \divide\@strctr by 100\relax \ifnum\@strctr>0\relax \ifnum#1>1000\relax @@ -8256,7 +8396,7 @@ this number}% \edef#2{\@@fc@numstr\ }% \fi \@tmpstrctr=#1\relax - \@modulo{\@tmpstrctr}{1000}% + \@FCmodulo{\@tmpstrctr}{1000}% \ifnum\@tmpstrctr=100\relax \let\@@fc@numstr#2\relax \edef#2{\@@fc@numstr\@tenstring{10}}% @@ -8265,7 +8405,7 @@ this number}% \edef#2{\@@fc@numstr\@hundredstring{\@strctr}}% \fi \fi -\@strctr=#1\relax \@modulo{\@strctr}{100}% +\@strctr=#1\relax \@FCmodulo{\@strctr}{100}% \ifnum#1>100\relax \ifnum\@strctr>0\relax \let\@@fc@numstr#2\relax @@ -8280,7 +8420,7 @@ this number}% \divide\@strctr by 10\relax \let\@@fc@numstr#2\relax \edef#2{\@@fc@numstr\@tenstring{\@strctr}}% - \@strctr=#1\relax \@modulo{\@strctr}{10}% + \@strctr=#1\relax \@FCmodulo{\@strctr}{10}% \ifnum\@strctr>0\relax \let\@@fc@numstr#2\relax \edef#2{\@@fc@numstr\ \@andname\ \@unitstring{\@strctr}}% @@ -8298,21 +8438,22 @@ this number}% \fi \else \ifnum\@strctr>19\relax - \@modulo{\@strctr}{10}% + \@FCmodulo{\@strctr}{10}% \let\@@fc@numstr#2\relax \edef#2{\@@fc@numstr\@twentystring{\@strctr}}% \else - \@modulo{\@strctr}{10}% + \@FCmodulo{\@strctr}{10}% \let\@@fc@numstr#2\relax \edef#2{\@@fc@numstr\@teenstring{\@strctr}}% \fi \fi \fi }% +\global\let\@@numberstringspanish\@@numberstringspanish % \end{macrocode} % As above, but for ordinals % \begin{macrocode} -\gdef\@@ordinalstringspanish#1#2{% +\newcommand*\@@ordinalstringspanish[2]{% \@strctr=#1\relax \ifnum#1>99999 \PackageError{fmtcount}{Out of range}% @@ -8331,7 +8472,7 @@ this number}% \ifnum\@strctr>9\relax \@tmpstrctr=\@strctr \ifnum\@strctr<20 - \@modulo{\@tmpstrctr}{10}% + \@FCmodulo{\@tmpstrctr}{10}% \let\@@fc@ordstr#2\relax \edef#2{\@@fc@ordstr\@teenthstring{\@tmpstrctr}}% \else @@ -8339,7 +8480,7 @@ this number}% \let\@@fc@ordstr#2\relax \edef#2{\@@fc@ordstr\@tenthstring{\@tmpstrctr}}% \@tmpstrctr=\@strctr - \@modulo{\@tmpstrctr}{10}% + \@FCmodulo{\@tmpstrctr}{10}% \ifnum\@tmpstrctr>0\relax \let\@@fc@ordstr#2\relax \edef#2{\@@fc@ordstr\@unitthstring{\@tmpstrctr}}% @@ -8354,7 +8495,7 @@ this number}% \edef#2{\@@fc@ordstr\@thousandth}% \fi \@strctr=#1\relax -\@modulo{\@strctr}{1000}% +\@FCmodulo{\@strctr}{1000}% \ifnum\@strctr>99\relax \@tmpstrctr=\@strctr \divide\@tmpstrctr by 100\relax @@ -8365,7 +8506,7 @@ this number}% \let\@@fc@ordstr#2\relax \edef#2{\@@fc@ordstr\@hundredthstring{\@tmpstrctr}}% \fi -\@modulo{\@strctr}{100}% +\@FCmodulo{\@strctr}{100}% \ifnum#1>99\relax \ifnum\@strctr>0\relax \let\@@fc@ordstr#2\relax @@ -8378,14 +8519,14 @@ this number}% \let\@@fc@ordstr#2\relax \edef#2{\@@fc@ordstr\@tenthstring{\@tmpstrctr}}% \@tmpstrctr=\@strctr - \@modulo{\@tmpstrctr}{10}% + \@FCmodulo{\@tmpstrctr}{10}% \ifnum\@tmpstrctr>0\relax \let\@@fc@ordstr#2\relax \edef#2{\@@fc@ordstr\ \@unitthstring{\@tmpstrctr}}% \fi \else \ifnum\@strctr>9\relax - \@modulo{\@strctr}{10}% + \@FCmodulo{\@strctr}{10}% \let\@@fc@ordstr#2\relax \edef#2{\@@fc@ordstr\@teenthstring{\@strctr}}% \else @@ -8403,6 +8544,7 @@ this number}% \fi \fi }% +\global\let\@@ordinalstringspanish\@@ordinalstringspanish % \end{macrocode} %\iffalse diff --git a/Master/texmf-dist/source/latex/fmtcount/fmtcount.ins b/Master/texmf-dist/source/latex/fmtcount/fmtcount.ins index dbce0986f97..399d7d770a4 100644 --- a/Master/texmf-dist/source/latex/fmtcount/fmtcount.ins +++ b/Master/texmf-dist/source/latex/fmtcount/fmtcount.ins @@ -1,10 +1,10 @@ -% fmtcount.ins generated using makedtx version 0.94b 2013/8/17 16:54 +% fmtcount.ins generated using makedtx version 1.1 2014/6/18 14:52 \input docstrip \preamble fmtcount.dtx - Copyright 2013 Nicola Talbot and Vincent Belaïche + Copyright 2014 Nicola Talbot and Vincent Belaïche This work may be distributed and/or modified under the conditions of the LaTeX Project Public License, either version 1.3 @@ -18,7 +18,7 @@ The Current Maintainer of this work is Nicola Talbot and Vincent Belaïche. - This work consists of the files fmtcount.dtx and fmtcount.ins and the derived files fcnumparser.sty, fcprefix.sty, fmtcount.sty, fc-american.def, fc-british.def, fc-english.def, fc-francais.def, fc-french.def, fc-frenchb.def, fc-german.def, fc-germanb.def, fc-italian.def, fc-ngerman.def, fc-ngermanb.def, fc-portuges.def, fc-spanish.def, fc-UKenglish.def, fc-USenglish.def. + This work consists of the files fmtcount.dtx and fmtcount.ins and the derived files fcnumparser.sty, fcprefix.sty, fmtcount.sty, fc-american.def, fc-british.def, fc-english.def, fc-francais.def, fc-french.def, fc-frenchb.def, fc-german.def, fc-germanb.def, fc-italian.def, fc-ngerman.def, fc-ngermanb.def, fc-portuges.def, fc-portuguese.def, fc-spanish.def, fc-UKenglish.def, fc-USenglish.def. \endpreamble @@ -54,6 +54,8 @@ \usepostamble\defaultpostamble\from{fmtcount.dtx}{fc-ngermanb.def,package}} \file{fc-portuges.def}{\usepreamble\defaultpreamble \usepostamble\defaultpostamble\from{fmtcount.dtx}{fc-portuges.def,package}} +\file{fc-portuguese.def}{\usepreamble\defaultpreamble +\usepostamble\defaultpostamble\from{fmtcount.dtx}{fc-portuguese.def,package}} \file{fc-spanish.def}{\usepreamble\defaultpreamble \usepostamble\defaultpostamble\from{fmtcount.dtx}{fc-spanish.def,package}} \file{fc-UKenglish.def}{\usepreamble\defaultpreamble diff --git a/Master/texmf-dist/tex/latex/fmtcount/fc-UKenglish.def b/Master/texmf-dist/tex/latex/fmtcount/fc-UKenglish.def index b082acd4ab0..b514c4a21c5 100644 --- a/Master/texmf-dist/tex/latex/fmtcount/fc-UKenglish.def +++ b/Master/texmf-dist/tex/latex/fmtcount/fc-UKenglish.def @@ -7,7 +7,7 @@ %% fmtcount.dtx (with options: `fc-UKenglish.def,package') %% %% fmtcount.dtx -%% Copyright 2013 Nicola Talbot and Vincent Belaïche +%% Copyright 2014 Nicola Talbot and Vincent Belaïche %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -21,7 +21,7 @@ %% %% The Current Maintainer of this work is Nicola Talbot and Vincent Belaïche. %% -%% This work consists of the files fmtcount.dtx and fmtcount.ins and the derived files fcnumparser.sty, fcprefix.sty, fmtcount.sty, fc-american.def, fc-british.def, fc-english.def, fc-francais.def, fc-french.def, fc-frenchb.def, fc-german.def, fc-germanb.def, fc-italian.def, fc-ngerman.def, fc-ngermanb.def, fc-portuges.def, fc-spanish.def, fc-UKenglish.def, fc-USenglish.def. +%% This work consists of the files fmtcount.dtx and fmtcount.ins and the derived files fcnumparser.sty, fcprefix.sty, fmtcount.sty, fc-american.def, fc-british.def, fc-english.def, fc-francais.def, fc-french.def, fc-frenchb.def, fc-german.def, fc-germanb.def, fc-italian.def, fc-ngerman.def, fc-ngermanb.def, fc-portuges.def, fc-portuguese.def, fc-spanish.def, fc-UKenglish.def, fc-USenglish.def. %% %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z diff --git a/Master/texmf-dist/tex/latex/fmtcount/fc-USenglish.def b/Master/texmf-dist/tex/latex/fmtcount/fc-USenglish.def index 5eb38553a3f..19c7bd4efcc 100644 --- a/Master/texmf-dist/tex/latex/fmtcount/fc-USenglish.def +++ b/Master/texmf-dist/tex/latex/fmtcount/fc-USenglish.def @@ -7,7 +7,7 @@ %% fmtcount.dtx (with options: `fc-USenglish.def,package') %% %% fmtcount.dtx -%% Copyright 2013 Nicola Talbot and Vincent Belaïche +%% Copyright 2014 Nicola Talbot and Vincent Belaïche %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -21,7 +21,7 @@ %% %% The Current Maintainer of this work is Nicola Talbot and Vincent Belaïche. %% -%% This work consists of the files fmtcount.dtx and fmtcount.ins and the derived files fcnumparser.sty, fcprefix.sty, fmtcount.sty, fc-american.def, fc-british.def, fc-english.def, fc-francais.def, fc-french.def, fc-frenchb.def, fc-german.def, fc-germanb.def, fc-italian.def, fc-ngerman.def, fc-ngermanb.def, fc-portuges.def, fc-spanish.def, fc-UKenglish.def, fc-USenglish.def. +%% This work consists of the files fmtcount.dtx and fmtcount.ins and the derived files fcnumparser.sty, fcprefix.sty, fmtcount.sty, fc-american.def, fc-british.def, fc-english.def, fc-francais.def, fc-french.def, fc-frenchb.def, fc-german.def, fc-germanb.def, fc-italian.def, fc-ngerman.def, fc-ngermanb.def, fc-portuges.def, fc-portuguese.def, fc-spanish.def, fc-UKenglish.def, fc-USenglish.def. %% %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z diff --git a/Master/texmf-dist/tex/latex/fmtcount/fc-american.def b/Master/texmf-dist/tex/latex/fmtcount/fc-american.def index cc95f3d4eb7..da645326fd2 100644 --- a/Master/texmf-dist/tex/latex/fmtcount/fc-american.def +++ b/Master/texmf-dist/tex/latex/fmtcount/fc-american.def @@ -7,7 +7,7 @@ %% fmtcount.dtx (with options: `fc-american.def,package') %% %% fmtcount.dtx -%% Copyright 2013 Nicola Talbot and Vincent Belaïche +%% Copyright 2014 Nicola Talbot and Vincent Belaïche %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -21,7 +21,7 @@ %% %% The Current Maintainer of this work is Nicola Talbot and Vincent Belaïche. %% -%% This work consists of the files fmtcount.dtx and fmtcount.ins and the derived files fcnumparser.sty, fcprefix.sty, fmtcount.sty, fc-american.def, fc-british.def, fc-english.def, fc-francais.def, fc-french.def, fc-frenchb.def, fc-german.def, fc-germanb.def, fc-italian.def, fc-ngerman.def, fc-ngermanb.def, fc-portuges.def, fc-spanish.def, fc-UKenglish.def, fc-USenglish.def. +%% This work consists of the files fmtcount.dtx and fmtcount.ins and the derived files fcnumparser.sty, fcprefix.sty, fmtcount.sty, fc-american.def, fc-british.def, fc-english.def, fc-francais.def, fc-french.def, fc-frenchb.def, fc-german.def, fc-germanb.def, fc-italian.def, fc-ngerman.def, fc-ngermanb.def, fc-portuges.def, fc-portuguese.def, fc-spanish.def, fc-UKenglish.def, fc-USenglish.def. %% %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z diff --git a/Master/texmf-dist/tex/latex/fmtcount/fc-british.def b/Master/texmf-dist/tex/latex/fmtcount/fc-british.def index b6433aed280..ab6e3fae49a 100644 --- a/Master/texmf-dist/tex/latex/fmtcount/fc-british.def +++ b/Master/texmf-dist/tex/latex/fmtcount/fc-british.def @@ -7,7 +7,7 @@ %% fmtcount.dtx (with options: `fc-british.def,package') %% %% fmtcount.dtx -%% Copyright 2013 Nicola Talbot and Vincent Belaïche +%% Copyright 2014 Nicola Talbot and Vincent Belaïche %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -21,7 +21,7 @@ %% %% The Current Maintainer of this work is Nicola Talbot and Vincent Belaïche. %% -%% This work consists of the files fmtcount.dtx and fmtcount.ins and the derived files fcnumparser.sty, fcprefix.sty, fmtcount.sty, fc-american.def, fc-british.def, fc-english.def, fc-francais.def, fc-french.def, fc-frenchb.def, fc-german.def, fc-germanb.def, fc-italian.def, fc-ngerman.def, fc-ngermanb.def, fc-portuges.def, fc-spanish.def, fc-UKenglish.def, fc-USenglish.def. +%% This work consists of the files fmtcount.dtx and fmtcount.ins and the derived files fcnumparser.sty, fcprefix.sty, fmtcount.sty, fc-american.def, fc-british.def, fc-english.def, fc-francais.def, fc-french.def, fc-frenchb.def, fc-german.def, fc-germanb.def, fc-italian.def, fc-ngerman.def, fc-ngermanb.def, fc-portuges.def, fc-portuguese.def, fc-spanish.def, fc-UKenglish.def, fc-USenglish.def. %% %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z diff --git a/Master/texmf-dist/tex/latex/fmtcount/fc-english.def b/Master/texmf-dist/tex/latex/fmtcount/fc-english.def index 026ad0e46f7..0b5f820ff30 100644 --- a/Master/texmf-dist/tex/latex/fmtcount/fc-english.def +++ b/Master/texmf-dist/tex/latex/fmtcount/fc-english.def @@ -7,7 +7,7 @@ %% fmtcount.dtx (with options: `fc-english.def,package') %% %% fmtcount.dtx -%% Copyright 2013 Nicola Talbot and Vincent Belaïche +%% Copyright 2014 Nicola Talbot and Vincent Belaïche %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -21,7 +21,7 @@ %% %% The Current Maintainer of this work is Nicola Talbot and Vincent Belaïche. %% -%% This work consists of the files fmtcount.dtx and fmtcount.ins and the derived files fcnumparser.sty, fcprefix.sty, fmtcount.sty, fc-american.def, fc-british.def, fc-english.def, fc-francais.def, fc-french.def, fc-frenchb.def, fc-german.def, fc-germanb.def, fc-italian.def, fc-ngerman.def, fc-ngermanb.def, fc-portuges.def, fc-spanish.def, fc-UKenglish.def, fc-USenglish.def. +%% This work consists of the files fmtcount.dtx and fmtcount.ins and the derived files fcnumparser.sty, fcprefix.sty, fmtcount.sty, fc-american.def, fc-british.def, fc-english.def, fc-francais.def, fc-french.def, fc-frenchb.def, fc-german.def, fc-germanb.def, fc-italian.def, fc-ngerman.def, fc-ngermanb.def, fc-portuges.def, fc-portuguese.def, fc-spanish.def, fc-UKenglish.def, fc-USenglish.def. %% %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z @@ -49,11 +49,11 @@ %%\cs{latinnumeralstringnum}\marg{number}\oarg{prefix options} %%\end{definition} \ProvidesFCLanguage{english}[2013/08/17]% -\gdef\@ordinalMenglish#1#2{% +\newcommand*\@ordinalMenglish[2]{% \def\@fc@ord{}% \@orgargctr=#1\relax \@ordinalctr=#1% -\@modulo{\@ordinalctr}{100}% +\@FCmodulo{\@ordinalctr}{100}% \ifnum\@ordinalctr=11\relax \def\@fc@ord{th}% \else @@ -63,7 +63,7 @@ \ifnum\@ordinalctr=13\relax \def\@fc@ord{th}% \else - \@modulo{\@ordinalctr}{10}% + \@FCmodulo{\@ordinalctr}{10}% \ifcase\@ordinalctr \def\@fc@ord{th}% case 0 \or \def\@fc@ord{st}% case 1 @@ -77,9 +77,10 @@ \fi \edef#2{\number#1\relax\noexpand\fmtord{\@fc@ord}}% }% +\global\let\@ordinalMenglish\@ordinalMenglish \global\let\@ordinalFenglish=\@ordinalMenglish \global\let\@ordinalNenglish=\@ordinalMenglish -\gdef\@@unitstringenglish#1{% +\newcommand*\@@unitstringenglish[1]{% \ifcase#1\relax zero% \or one% @@ -93,7 +94,8 @@ \or nine% \fi }% -\gdef\@@tenstringenglish#1{% +\global\let\@@unitstringenglish\@@unitstringenglish +\newcommand*\@@tenstringenglish[1]{% \ifcase#1\relax \or ten% \or twenty% @@ -106,7 +108,8 @@ \or ninety% \fi }% -\gdef\@@teenstringenglish#1{% +\global\let\@@tenstringenglish\@@tenstringenglish +\newcommand*\@@teenstringenglish[1]{% \ifcase#1\relax ten% \or eleven% @@ -120,7 +123,8 @@ \or nineteen% \fi }% -\gdef\@@Unitstringenglish#1{% +\global\let\@@teenstringenglish\@@teenstringenglish +\newcommand*\@@Unitstringenglish[1]{% \ifcase#1\relax Zero% \or One% @@ -134,7 +138,8 @@ \or Nine% \fi }% -\gdef\@@Tenstringenglish#1{% +\global\let\@@Unitstringenglish\@@Unitstringenglish +\newcommand*\@@Tenstringenglish[1]{% \ifcase#1\relax \or Ten% \or Twenty% @@ -147,7 +152,8 @@ \or Ninety% \fi }% -\gdef\@@Teenstringenglish#1{% +\global\let\@@Tenstringenglish\@@Tenstringenglish +\newcommand*\@@Teenstringenglish[1]{% \ifcase#1\relax Ten% \or Eleven% @@ -161,7 +167,8 @@ \or Nineteen% \fi }% -\gdef\@@numberstringenglish#1#2{% +\global\let\@@Teenstringenglish\@@Teenstringenglish +\newcommand*\@@numberstringenglish[2]{% \ifnum#1>99999 \PackageError{fmtcount}{Out of range}% {This macro only works for values less than 100000}% @@ -181,7 +188,7 @@ this number}% \let\@@fc@numstr#2\relax \edef#2{\@@fc@numstr\@tenstring{\@strctr}}% \@strctr=#1 \divide\@strctr by 1000\relax - \@modulo{\@strctr}{10}% + \@FCmodulo{\@strctr}{10}% \ifnum\@strctr>0\relax \let\@@fc@numstr#2\relax \edef#2{\@@fc@numstr-\@unitstring{\@strctr}}% @@ -189,7 +196,7 @@ this number}% \else \@strctr=#1\relax \divide\@strctr by 1000\relax - \@modulo{\@strctr}{10}% + \@FCmodulo{\@strctr}{10}% \let\@@fc@numstr#2\relax \edef#2{\@@fc@numstr\@teenstring{\@strctr}}% \fi @@ -201,7 +208,7 @@ this number}% \edef#2{\@@fc@numstr\@unitstring{\@strctr}\ \@thousand}% \fi \fi -\@strctr=#1\relax \@modulo{\@strctr}{1000}% +\@strctr=#1\relax \@FCmodulo{\@strctr}{1000}% \divide\@strctr by 100 \ifnum\@strctr>0\relax \ifnum#1>1000\relax @@ -211,7 +218,7 @@ this number}% \let\@@fc@numstr#2\relax \edef#2{\@@fc@numstr\@unitstring{\@strctr}\ \@hundred}% \fi -\@strctr=#1\relax \@modulo{\@strctr}{100}% +\@strctr=#1\relax \@FCmodulo{\@strctr}{100}% \ifnum#1>100\relax \ifnum\@strctr>0\relax \let\@@fc@numstr#2\relax @@ -222,7 +229,7 @@ this number}% \divide\@strctr by 10\relax \let\@@fc@numstr#2\relax \edef#2{\@@fc@numstr\@tenstring{\@strctr}}% - \@strctr=#1\relax \@modulo{\@strctr}{10}% + \@strctr=#1\relax \@FCmodulo{\@strctr}{10}% \ifnum\@strctr>0\relax \let\@@fc@numstr#2\relax \edef#2{\@@fc@numstr-\@unitstring{\@strctr}}% @@ -239,12 +246,13 @@ this number}% \edef#2{\@@fc@numstr\@unitstring{\@strctr}}% \fi \else - \@modulo{\@strctr}{10}% + \@FCmodulo{\@strctr}{10}% \let\@@fc@numstr#2\relax \edef#2{\@@fc@numstr\@teenstring{\@strctr}}% \fi \fi }% +\global\let\@@numberstringenglish\@@numberstringenglish \DeclareRobustCommand{\@numberstringMenglish}[2]{% \let\@unitstring=\@@unitstringenglish \let\@teenstring=\@@teenstringenglish @@ -256,7 +264,7 @@ this number}% \global\let\@numberstringMenglish\@numberstringMenglish \global\let\@numberstringFenglish=\@numberstringMenglish \global\let\@numberstringNenglish=\@numberstringMenglish -\gdef\@NumberstringMenglish#1#2{% +\newcommand*\@NumberstringMenglish[2]{% \let\@unitstring=\@@Unitstringenglish \let\@teenstring=\@@Teenstringenglish \let\@tenstring=\@@Tenstringenglish @@ -264,9 +272,10 @@ this number}% \def\@andname{and}% \@@numberstringenglish{#1}{#2}% }% +\global\let\@NumberstringMenglish\@NumberstringMenglish \global\let\@NumberstringFenglish=\@NumberstringMenglish \global\let\@NumberstringNenglish=\@NumberstringMenglish -\gdef\@@unitthstringenglish#1{% +\newcommand*\@@unitthstringenglish[1]{% \ifcase#1\relax zeroth% \or first% @@ -280,7 +289,8 @@ this number}% \or ninth% \fi }% -\gdef\@@tenthstringenglish#1{% +\global\let\@@unitthstringenglish\@@unitthstringenglish +\newcommand*\@@tenthstringenglish[1]{% \ifcase#1\relax \or tenth% \or twentieth% @@ -293,7 +303,8 @@ this number}% \or ninetieth% \fi }% -\gdef\@@teenthstringenglish#1{% +\global\let\@@tenthstringenglish\@@tenthstringenglish +\newcommand*\@@teenthstringenglish[1]{% \ifcase#1\relax tenth% \or eleventh% @@ -307,7 +318,8 @@ this number}% \or nineteenth% \fi }% -\gdef\@@Unitthstringenglish#1{% +\global\let\@@teenthstringenglish\@@teenthstringenglish +\newcommand*\@@Unitthstringenglish[1]{% \ifcase#1\relax Zeroth% \or First% @@ -321,7 +333,8 @@ this number}% \or Ninth% \fi }% -\gdef\@@Tenthstringenglish#1{% +\global\let\@@Unitthstringenglish\@@Unitthstringenglish +\newcommand*\@@Tenthstringenglish[1]{% \ifcase#1\relax \or Tenth% \or Twentieth% @@ -334,7 +347,8 @@ this number}% \or Ninetieth% \fi }% -\gdef\@@Teenthstringenglish#1{% +\global\let\@@Tenthstringenglish\@@Tenthstringenglish +\newcommand*\@@Teenthstringenglish[1]{% \ifcase#1\relax Tenth% \or Eleventh% @@ -348,7 +362,8 @@ this number}% \or Nineteenth% \fi }% -\gdef\@@ordinalstringenglish#1#2{% +\global\let\@@Teenthstringenglish\@@Teenthstringenglish +\newcommand*\@@ordinalstringenglish[2]{% \@strctr=#1\relax \ifnum#1>99999 \PackageError{fmtcount}{Out of range}% @@ -370,18 +385,18 @@ this number}% \edef#2{\@@fc@ordstr\@tenstring{\@strctr}}% \@strctr=#1\relax \divide\@strctr by 1000\relax - \@modulo{\@strctr}{10}% + \@FCmodulo{\@strctr}{10}% \ifnum\@strctr>0\relax \let\@@fc@ordstr#2\relax \edef#2{\@@fc@ordstr-\@unitstring{\@strctr}}% \fi \else \@strctr=#1\relax \divide\@strctr by 1000\relax - \@modulo{\@strctr}{10}% + \@FCmodulo{\@strctr}{10}% \let\@@fc@ordstr#2\relax \edef#2{\@@fc@ordstr\@teenstring{\@strctr}}% \fi - \@strctr=#1\relax \@modulo{\@strctr}{1000}% + \@strctr=#1\relax \@FCmodulo{\@strctr}{1000}% \ifnum\@strctr=0\relax \let\@@fc@ordstr#2\relax \edef#2{\@@fc@ordstr\ \@thousandth}% @@ -393,7 +408,7 @@ this number}% \ifnum\@strctr>0\relax \let\@@fc@ordstr#2\relax \edef#2{\@@fc@ordstr\@unitstring{\@strctr}}% - \@strctr=#1\relax \@modulo{\@strctr}{1000}% + \@strctr=#1\relax \@FCmodulo{\@strctr}{1000}% \let\@@fc@ordstr#2\relax \ifnum\@strctr=0\relax \edef#2{\@@fc@ordstr\ \@thousandth}% @@ -402,7 +417,7 @@ this number}% \fi \fi \fi -\@strctr=#1\relax \@modulo{\@strctr}{1000}% +\@strctr=#1\relax \@FCmodulo{\@strctr}{1000}% \divide\@strctr by 100 \ifnum\@strctr>0\relax \ifnum#1>1000\relax @@ -411,7 +426,7 @@ this number}% \fi \let\@@fc@ordstr#2\relax \edef#2{\@@fc@ordstr\@unitstring{\@strctr}}% - \@strctr=#1\relax \@modulo{\@strctr}{100}% + \@strctr=#1\relax \@FCmodulo{\@strctr}{100}% \let\@@fc@ordstr#2\relax \ifnum\@strctr=0\relax \edef#2{\@@fc@ordstr\ \@hundredth}% @@ -419,7 +434,7 @@ this number}% \edef#2{\@@fc@ordstr\ \@hundred}% \fi \fi -\@strctr=#1\relax \@modulo{\@strctr}{100}% +\@strctr=#1\relax \@FCmodulo{\@strctr}{100}% \ifnum#1>100\relax \ifnum\@strctr>0\relax \let\@@fc@ordstr#2\relax @@ -429,14 +444,14 @@ this number}% \ifnum\@strctr>19\relax \@tmpstrctr=\@strctr \divide\@strctr by 10\relax - \@modulo{\@tmpstrctr}{10}% + \@FCmodulo{\@tmpstrctr}{10}% \let\@@fc@ordstr#2\relax \ifnum\@tmpstrctr=0\relax \edef#2{\@@fc@ordstr\@tenthstring{\@strctr}}% \else \edef#2{\@@fc@ordstr\@tenstring{\@strctr}}% \fi - \@strctr=#1\relax \@modulo{\@strctr}{10}% + \@strctr=#1\relax \@FCmodulo{\@strctr}{10}% \ifnum\@strctr>0\relax \let\@@fc@ordstr#2\relax \edef#2{\@@fc@ordstr-\@unitthstring{\@strctr}}% @@ -453,12 +468,13 @@ this number}% \edef#2{\@@fc@ordstr\@unitthstring{\@strctr}}% \fi \else - \@modulo{\@strctr}{10}% + \@FCmodulo{\@strctr}{10}% \let\@@fc@ordstr#2\relax \edef#2{\@@fc@ordstr\@teenthstring{\@strctr}}% \fi \fi }% +\global\let\@@ordinalstringenglish\@@ordinalstringenglish \DeclareRobustCommand{\@ordinalstringMenglish}[2]{% \let\@unitthstring=\@@unitthstringenglish \let\@teenthstring=\@@teenthstringenglish diff --git a/Master/texmf-dist/tex/latex/fmtcount/fc-francais.def b/Master/texmf-dist/tex/latex/fmtcount/fc-francais.def index 43e96a54ffa..356a5064561 100644 --- a/Master/texmf-dist/tex/latex/fmtcount/fc-francais.def +++ b/Master/texmf-dist/tex/latex/fmtcount/fc-francais.def @@ -7,7 +7,7 @@ %% fmtcount.dtx (with options: `fc-francais.def,package') %% %% fmtcount.dtx -%% Copyright 2013 Nicola Talbot and Vincent Belaïche +%% Copyright 2014 Nicola Talbot and Vincent Belaïche %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -21,7 +21,7 @@ %% %% The Current Maintainer of this work is Nicola Talbot and Vincent Belaïche. %% -%% This work consists of the files fmtcount.dtx and fmtcount.ins and the derived files fcnumparser.sty, fcprefix.sty, fmtcount.sty, fc-american.def, fc-british.def, fc-english.def, fc-francais.def, fc-french.def, fc-frenchb.def, fc-german.def, fc-germanb.def, fc-italian.def, fc-ngerman.def, fc-ngermanb.def, fc-portuges.def, fc-spanish.def, fc-UKenglish.def, fc-USenglish.def. +%% This work consists of the files fmtcount.dtx and fmtcount.ins and the derived files fcnumparser.sty, fcprefix.sty, fmtcount.sty, fc-american.def, fc-british.def, fc-english.def, fc-francais.def, fc-french.def, fc-frenchb.def, fc-german.def, fc-germanb.def, fc-italian.def, fc-ngerman.def, fc-ngermanb.def, fc-portuges.def, fc-portuguese.def, fc-spanish.def, fc-UKenglish.def, fc-USenglish.def. %% %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z diff --git a/Master/texmf-dist/tex/latex/fmtcount/fc-french.def b/Master/texmf-dist/tex/latex/fmtcount/fc-french.def index 2170673f54e..43180885d80 100644 --- a/Master/texmf-dist/tex/latex/fmtcount/fc-french.def +++ b/Master/texmf-dist/tex/latex/fmtcount/fc-french.def @@ -7,7 +7,7 @@ %% fmtcount.dtx (with options: `fc-french.def,package') %% %% fmtcount.dtx -%% Copyright 2013 Nicola Talbot and Vincent Belaïche +%% Copyright 2014 Nicola Talbot and Vincent Belaïche %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -21,7 +21,7 @@ %% %% The Current Maintainer of this work is Nicola Talbot and Vincent Belaïche. %% -%% This work consists of the files fmtcount.dtx and fmtcount.ins and the derived files fcnumparser.sty, fcprefix.sty, fmtcount.sty, fc-american.def, fc-british.def, fc-english.def, fc-francais.def, fc-french.def, fc-frenchb.def, fc-german.def, fc-germanb.def, fc-italian.def, fc-ngerman.def, fc-ngermanb.def, fc-portuges.def, fc-spanish.def, fc-UKenglish.def, fc-USenglish.def. +%% This work consists of the files fmtcount.dtx and fmtcount.ins and the derived files fcnumparser.sty, fcprefix.sty, fmtcount.sty, fc-american.def, fc-british.def, fc-english.def, fc-francais.def, fc-french.def, fc-frenchb.def, fc-german.def, fc-germanb.def, fc-italian.def, fc-ngerman.def, fc-ngermanb.def, fc-portuges.def, fc-portuguese.def, fc-spanish.def, fc-UKenglish.def, fc-USenglish.def. %% %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z @@ -568,7 +568,8 @@ z\'ero% } \let\@OrdinalstringFfrench=\@OrdinalstringFfrenchfrance \let\@OrdinalstringNfrench\@OrdinalstringMfrench -\@ifundefined{fc@@do@plural@mark}{}{\PackageError{fmtcount}{Duplicate definition}{Redefinition of macro +\ifcsundef{fc@@do@plural@mark}{}% +{\PackageError{fmtcount}{Duplicate definition}{Redefinition of macro `fc@@do@plural@mark'}} \def\fc@@do@plural@mark#1{% \ifcase\count10 % @@ -608,7 +609,7 @@ z\'ero% \fi \fi } -\@ifundefined{fc@@nbrstr@Fpreamble}{}{% +\ifcsundef{fc@@nbrstr@Fpreamble}{}{% \PackageError{fmtcount}{Duplicate definition}{Redefinition of macro `fc@@nbrstr@Fpreamble'}} \def\fc@@nbrstr@Fpreamble{% @@ -629,7 +630,7 @@ z\'ero% \edef\@tempa{\@tempb\fc@case une\@nil}% \fi } -\@ifundefined{fc@@pot@longscalefrench}{}{% +\ifcsundef{fc@@pot@longscalefrench}{}{% \PackageError{fmtcount}{Duplicate definition}{Redefinition of macro `fc@@pot@longscalefrench'}} \def\fc@@pot@longscalefrench#1#2#3{% @@ -704,7 +705,7 @@ z\'ero% \expandafter }\@tempa } -\@ifundefined{fc@@pot@shortscalefrench}{}{% +\ifcsundef{fc@@pot@shortscalefrench}{}{% \PackageError{fmtcount}{Duplicate definition}{Redefinition of macro `fc@@pot@shortscalefrench'}} \def\fc@@pot@shortscalefrench#1#2#3{% @@ -750,7 +751,7 @@ z\'ero% \expandafter }\@tempa } -\@ifundefined{fc@@pot@recursivefrench}{}{% +\ifcsundef{fc@@pot@recursivefrench}{}{% \PackageError{fmtcount}{Duplicate definition}{Redefinition of macro `fc@@pot@recursivefrench'}} \def\fc@@pot@recursivefrench#1#2#3{% @@ -844,7 +845,7 @@ z\'ero% \expandafter }\@tempa } -\@ifundefined{fc@muladdfrench}{}{% +\ifcsundef{fc@muladdfrench}{}{% \PackageError{fmtcount}{Duplicate definition}{Redefinition of macro `fc@muladdfrench'}} \def\fc@muladdfrench#1#2#3{% @@ -892,7 +893,7 @@ z\'ero% \expandafter }\@tempa }% -\@ifundefined{fc@lthundredstringfrench}{}{% +\ifcsundef{fc@lthundredstringfrench}{}{% \PackageError{fmtcount}{Duplicate definition}{Redefinition of macro `fc@lthundredstringfrench'}} \def\fc@lthundredstringfrench#1{% @@ -962,7 +963,7 @@ z\'ero% \expandafter }\@tempa } -\@ifundefined{fc@ltthousandstringfrench}{}{% +\ifcsundef{fc@ltthousandstringfrench}{}{% \PackageError{fmtcount}{Duplicate definition}{Redefinition of macro `fc@ltthousandstringfrench'}} \def\fc@ltthousandstringfrench#1{% @@ -1014,7 +1015,7 @@ z\'ero% \expandafter }\@tempa } -\@ifundefined{@@numberstringfrench}{}{% +\ifcsundef{@@numberstringfrench}{}{% \PackageError{fmtcount}{Duplicate definition}{Redefinition of macro `@@numberstringfrench'}} \def\@@numberstringfrench#1#2{% {% @@ -1054,7 +1055,7 @@ z\'ero% \ifnum\count6>\count0 \else \repeat } -\@ifundefined{@@ordinalstringfrench}{}{% +\ifcsundef{@@ordinalstringfrench}{}{% \PackageError{fmtcount}{Duplicate definition}{Redefinition of macro `@@ordinalstringfrench'}} \def\@@ordinalstringfrench#1#2{% diff --git a/Master/texmf-dist/tex/latex/fmtcount/fc-frenchb.def b/Master/texmf-dist/tex/latex/fmtcount/fc-frenchb.def index fccdafd5e4b..65ee11c0e15 100644 --- a/Master/texmf-dist/tex/latex/fmtcount/fc-frenchb.def +++ b/Master/texmf-dist/tex/latex/fmtcount/fc-frenchb.def @@ -7,7 +7,7 @@ %% fmtcount.dtx (with options: `fc-frenchb.def,package') %% %% fmtcount.dtx -%% Copyright 2013 Nicola Talbot and Vincent Belaïche +%% Copyright 2014 Nicola Talbot and Vincent Belaïche %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -21,7 +21,7 @@ %% %% The Current Maintainer of this work is Nicola Talbot and Vincent Belaïche. %% -%% This work consists of the files fmtcount.dtx and fmtcount.ins and the derived files fcnumparser.sty, fcprefix.sty, fmtcount.sty, fc-american.def, fc-british.def, fc-english.def, fc-francais.def, fc-french.def, fc-frenchb.def, fc-german.def, fc-germanb.def, fc-italian.def, fc-ngerman.def, fc-ngermanb.def, fc-portuges.def, fc-spanish.def, fc-UKenglish.def, fc-USenglish.def. +%% This work consists of the files fmtcount.dtx and fmtcount.ins and the derived files fcnumparser.sty, fcprefix.sty, fmtcount.sty, fc-american.def, fc-british.def, fc-english.def, fc-francais.def, fc-french.def, fc-frenchb.def, fc-german.def, fc-germanb.def, fc-italian.def, fc-ngerman.def, fc-ngermanb.def, fc-portuges.def, fc-portuguese.def, fc-spanish.def, fc-UKenglish.def, fc-USenglish.def. %% %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z diff --git a/Master/texmf-dist/tex/latex/fmtcount/fc-german.def b/Master/texmf-dist/tex/latex/fmtcount/fc-german.def index 63fc7923336..6f951e27153 100644 --- a/Master/texmf-dist/tex/latex/fmtcount/fc-german.def +++ b/Master/texmf-dist/tex/latex/fmtcount/fc-german.def @@ -7,7 +7,7 @@ %% fmtcount.dtx (with options: `fc-german.def,package') %% %% fmtcount.dtx -%% Copyright 2013 Nicola Talbot and Vincent Belaïche +%% Copyright 2014 Nicola Talbot and Vincent Belaïche %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -21,7 +21,7 @@ %% %% The Current Maintainer of this work is Nicola Talbot and Vincent Belaïche. %% -%% This work consists of the files fmtcount.dtx and fmtcount.ins and the derived files fcnumparser.sty, fcprefix.sty, fmtcount.sty, fc-american.def, fc-british.def, fc-english.def, fc-francais.def, fc-french.def, fc-frenchb.def, fc-german.def, fc-germanb.def, fc-italian.def, fc-ngerman.def, fc-ngermanb.def, fc-portuges.def, fc-spanish.def, fc-UKenglish.def, fc-USenglish.def. +%% This work consists of the files fmtcount.dtx and fmtcount.ins and the derived files fcnumparser.sty, fcprefix.sty, fmtcount.sty, fc-american.def, fc-british.def, fc-english.def, fc-francais.def, fc-french.def, fc-frenchb.def, fc-german.def, fc-germanb.def, fc-italian.def, fc-ngerman.def, fc-ngermanb.def, fc-portuges.def, fc-portuguese.def, fc-spanish.def, fc-UKenglish.def, fc-USenglish.def. %% %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z @@ -48,7 +48,7 @@ %%\begin{definition}[\DescribeMacro{\latinnumeralstringnum}] %%\cs{latinnumeralstringnum}\marg{number}\oarg{prefix options} %%\end{definition} -\ProvidesFCLanguage{german}[2013/08/17]% +\ProvidesFCLanguage{german}[2014/06/09]% \newcommand{\@ordinalMgerman}[2]{% \edef#2{\number#1\relax.}% }% @@ -61,10 +61,10 @@ \edef#2{\number#1\relax.}% }% \global\let\@ordinalNgerman\@ordinalNgerman -\gdef\@@unitstringgerman#1{% +\newcommand*\@@unitstringgerman[1]{% \ifcase#1% null% - \or eins% + \or ein% \or zwei% \or drei% \or vier% @@ -75,7 +75,8 @@ \or neun% \fi }% -\gdef\@@tenstringgerman#1{% +\global\let\@@unitstringgerman\@@unitstringgerman +\newcommand*\@@tenstringgerman[1]{% \ifcase#1% \or zehn% \or zwanzig% @@ -89,11 +90,12 @@ \or einhundert% \fi }% +\global\let\@@tenstringgerman\@@tenstringgerman \providecommand*{\einhundert}{einhundert}% \providecommand*{\eintausend}{eintausend}% \global\let\einhundert\einhundert \global\let\eintausend\eintausend -\gdef\@@teenstringgerman#1{% +\newcommand*\@@teenstringgerman[1]{% \ifcase#1% zehn% \or elf% @@ -107,6 +109,7 @@ \or neunzehn% \fi }% +\global\let\@@teenstringgerman\@@teenstringgerman \DeclareRobustCommand{\@numberstringMgerman}[2]{% \let\@unitstring=\@@unitstringgerman \let\@teenstring=\@@teenstringgerman @@ -174,7 +177,7 @@ \edef#2{\noexpand\MakeUppercase\expandonce\@@num@str}% }% \global\let\@OrdinalstringNgerman\@OrdinalstringNgerman -\gdef\@@unitthstringMgerman#1{% +\newcommand*\@@unitthstringMgerman[1]{% \ifcase#1% nullter% \or erster% @@ -188,7 +191,8 @@ \or neunter% \fi }% -\gdef\@@tenthstringMgerman#1{% +\global\let\@@unitthstringMgerman\@@unitthstringMgerman +\newcommand*\@@tenthstringMgerman[1]{% \ifcase#1% \or zehnter% \or zwanzigster% @@ -201,7 +205,8 @@ \or neunzigster% \fi }% -\gdef\@@teenthstringMgerman#1{% +\global\let\@@tenthstringMgerman\@@tenthstringMgerman +\newcommand*\@@teenthstringMgerman[1]{% \ifcase#1% zehnter% \or elfter% @@ -215,7 +220,8 @@ \or neunzehnter% \fi }% -\gdef\@@unitthstringFgerman#1{% +\global\let\@@teenthstringMgerman\@@teenthstringMgerman +\newcommand*\@@unitthstringFgerman[1]{% \ifcase#1% nullte% \or erste% @@ -229,7 +235,8 @@ \or neunte% \fi }% -\gdef\@@tenthstringFgerman#1{% +\global\let\@@unitthstringFgerman\@@unitthstringFgerman +\newcommand*\@@tenthstringFgerman[1]{% \ifcase#1% \or zehnte% \or zwanzigste% @@ -242,7 +249,8 @@ \or neunzigste% \fi }% -\gdef\@@teenthstringFgerman#1{% +\global\let\@@tenthstringFgerman\@@tenthstringFgerman +\newcommand*\@@teenthstringFgerman[1]{% \ifcase#1% zehnte% \or elfte% @@ -256,7 +264,8 @@ \or neunzehnte% \fi }% -\gdef\@@unitthstringNgerman#1{% +\global\let\@@teenthstringFgerman\@@teenthstringFgerman +\newcommand*\@@unitthstringNgerman[1]{% \ifcase#1% nulltes% \or erstes% @@ -270,7 +279,8 @@ \or neuntes% \fi }% -\gdef\@@tenthstringNgerman#1{% +\global\let\@@unitthstringNgerman\@@unitthstringNgerman +\newcommand*\@@tenthstringNgerman[1]{% \ifcase#1% \or zehntes% \or zwanzigstes% @@ -283,7 +293,8 @@ \or neunzigstes% \fi }% -\gdef\@@teenthstringNgerman#1{% +\global\let\@@tenthstringNgerman\@@tenthstringNgerman +\newcommand*\@@teenthstringNgerman[1]{% \ifcase#1% zehntes% \or elftes% @@ -297,14 +308,15 @@ \or neunzehntes% \fi }% -\gdef\@@numberunderhundredgerman#1#2{% +\global\let\@@teenthstringNgerman\@@teenthstringNgerman +\newcommand*\@@numberunderhundredgerman[2]{% \ifnum#1<10\relax \ifnum#1>0\relax \eappto#2{\@unitstring{#1}}% \fi \else \@tmpstrctr=#1\relax - \@modulo{\@tmpstrctr}{10}% + \@FCmodulo{\@tmpstrctr}{10}% \ifnum#1<20\relax \eappto#2{\@teenstring{\@tmpstrctr}}% \else @@ -318,7 +330,8 @@ \fi \fi }% -\gdef\@@numberstringgerman#1#2{% +\global\let\@@numberunderhundredgerman\@@numberunderhundredgerman +\newcommand*\@@numberstringgerman[2]{% \ifnum#1>99999\relax \PackageError{fmtcount}{Out of range}% {This macro only works for values less than 100000}% @@ -341,7 +354,7 @@ \fi \fi \@strctr=#1\relax -\@modulo{\@strctr}{1000}% +\@FCmodulo{\@strctr}{1000}% \divide\@strctr by 100\relax \ifnum\@strctr>1\relax \eappto#2{\@unitstring{\@strctr}hundert}% @@ -355,7 +368,7 @@ \fi \fi \@strctr=#1\relax -\@modulo{\@strctr}{100}% +\@FCmodulo{\@strctr}{100}% \ifnum#1=0\relax \def#2{null}% \else @@ -366,12 +379,13 @@ \fi \fi }% -\gdef\@@numberunderhundredthgerman#1#2{% +\global\let\@@numberstringgerman\@@numberstringgerman +\newcommand*\@@numberunderhundredthgerman[2]{% \ifnum#1<10\relax \eappto#2{\@unitthstring{#1}}% \else \@tmpstrctr=#1\relax - \@modulo{\@tmpstrctr}{10}% + \@FCmodulo{\@tmpstrctr}{10}% \ifnum#1<20\relax \eappto#2{\@teenthstring{\@tmpstrctr}}% \else @@ -385,7 +399,8 @@ \fi \fi }% -\gdef\@@ordinalstringgerman#1#2{% +\global\let\@@numberunderhundredthgerman\@@numberunderhundredthgerman +\newcommand*\@@ordinalstringgerman[2]{% \ifnum#1>99999\relax \PackageError{fmtcount}{Out of range}% {This macro only works for values less than 100000}% @@ -401,7 +416,7 @@ \@strctr=#1\relax \divide\@strctr by 1000\relax \ifnum\@strctr>1\relax \@@numberunderhundredgerman{\@strctr}{#2}% - \@tmpstrctr=#1\relax \@modulo{\@tmpstrctr}{1000}% + \@tmpstrctr=#1\relax \@FCmodulo{\@tmpstrctr}{1000}% \ifnum\@tmpstrctr=0\relax \eappto#2{\@thousandth}% \else @@ -417,10 +432,10 @@ \fi \fi \@strctr=#1\relax -\@modulo{\@strctr}{1000}% +\@FCmodulo{\@strctr}{1000}% \divide\@strctr by 100\relax \ifnum\@strctr>1\relax - \@tmpstrctr=#1\relax \@modulo{\@tmpstrctr}{100}% + \@tmpstrctr=#1\relax \@FCmodulo{\@tmpstrctr}{100}% \ifnum\@tmpstrctr=0\relax \ifnum\@strctr=1\relax \eappto#2{\@hundredth}% @@ -432,7 +447,7 @@ \fi \else \ifnum\@strctr=1\relax - \@tmpstrctr=#1\relax \@modulo{\@tmpstrctr}{100}% + \@tmpstrctr=#1\relax \@FCmodulo{\@tmpstrctr}{100}% \ifnum\@tmpstrctr=0\relax \eappto#2{\@hundredth}% \else @@ -445,11 +460,12 @@ \fi \fi \@strctr=#1\relax -\@modulo{\@strctr}{100}% +\@FCmodulo{\@strctr}{100}% \ifthenelse{\@strctr=0 \and #1>0}{}{% \@@numberunderhundredthgerman{\@strctr}{#2}% }% }% +\global\let\@@ordinalstringgerman\@@ordinalstringgerman \FCloadlang{germanb}% \endinput diff --git a/Master/texmf-dist/tex/latex/fmtcount/fc-germanb.def b/Master/texmf-dist/tex/latex/fmtcount/fc-germanb.def index a2832feba9a..7dd3ce7e4b4 100644 --- a/Master/texmf-dist/tex/latex/fmtcount/fc-germanb.def +++ b/Master/texmf-dist/tex/latex/fmtcount/fc-germanb.def @@ -7,7 +7,7 @@ %% fmtcount.dtx (with options: `fc-germanb.def,package') %% %% fmtcount.dtx -%% Copyright 2013 Nicola Talbot and Vincent Belaïche +%% Copyright 2014 Nicola Talbot and Vincent Belaïche %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -21,7 +21,7 @@ %% %% The Current Maintainer of this work is Nicola Talbot and Vincent Belaïche. %% -%% This work consists of the files fmtcount.dtx and fmtcount.ins and the derived files fcnumparser.sty, fcprefix.sty, fmtcount.sty, fc-american.def, fc-british.def, fc-english.def, fc-francais.def, fc-french.def, fc-frenchb.def, fc-german.def, fc-germanb.def, fc-italian.def, fc-ngerman.def, fc-ngermanb.def, fc-portuges.def, fc-spanish.def, fc-UKenglish.def, fc-USenglish.def. +%% This work consists of the files fmtcount.dtx and fmtcount.ins and the derived files fcnumparser.sty, fcprefix.sty, fmtcount.sty, fc-american.def, fc-british.def, fc-english.def, fc-francais.def, fc-french.def, fc-frenchb.def, fc-german.def, fc-germanb.def, fc-italian.def, fc-ngerman.def, fc-ngermanb.def, fc-portuges.def, fc-portuguese.def, fc-spanish.def, fc-UKenglish.def, fc-USenglish.def. %% %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z diff --git a/Master/texmf-dist/tex/latex/fmtcount/fc-italian.def b/Master/texmf-dist/tex/latex/fmtcount/fc-italian.def index ca815bbac4d..f9b728231d8 100644 --- a/Master/texmf-dist/tex/latex/fmtcount/fc-italian.def +++ b/Master/texmf-dist/tex/latex/fmtcount/fc-italian.def @@ -7,7 +7,7 @@ %% fmtcount.dtx (with options: `fc-italian.def,package') %% %% fmtcount.dtx -%% Copyright 2013 Nicola Talbot and Vincent Belaïche +%% Copyright 2014 Nicola Talbot and Vincent Belaïche %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -21,7 +21,7 @@ %% %% The Current Maintainer of this work is Nicola Talbot and Vincent Belaïche. %% -%% This work consists of the files fmtcount.dtx and fmtcount.ins and the derived files fcnumparser.sty, fcprefix.sty, fmtcount.sty, fc-american.def, fc-british.def, fc-english.def, fc-francais.def, fc-french.def, fc-frenchb.def, fc-german.def, fc-germanb.def, fc-italian.def, fc-ngerman.def, fc-ngermanb.def, fc-portuges.def, fc-spanish.def, fc-UKenglish.def, fc-USenglish.def. +%% This work consists of the files fmtcount.dtx and fmtcount.ins and the derived files fcnumparser.sty, fcprefix.sty, fmtcount.sty, fc-american.def, fc-british.def, fc-english.def, fc-francais.def, fc-french.def, fc-frenchb.def, fc-german.def, fc-germanb.def, fc-italian.def, fc-ngerman.def, fc-ngermanb.def, fc-portuges.def, fc-portuguese.def, fc-spanish.def, fc-UKenglish.def, fc-USenglish.def. %% %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z diff --git a/Master/texmf-dist/tex/latex/fmtcount/fc-ngerman.def b/Master/texmf-dist/tex/latex/fmtcount/fc-ngerman.def index 47e84c6bdd6..a0e81dd3541 100644 --- a/Master/texmf-dist/tex/latex/fmtcount/fc-ngerman.def +++ b/Master/texmf-dist/tex/latex/fmtcount/fc-ngerman.def @@ -7,7 +7,7 @@ %% fmtcount.dtx (with options: `fc-ngerman.def,package') %% %% fmtcount.dtx -%% Copyright 2013 Nicola Talbot and Vincent Belaïche +%% Copyright 2014 Nicola Talbot and Vincent Belaïche %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -21,7 +21,7 @@ %% %% The Current Maintainer of this work is Nicola Talbot and Vincent Belaïche. %% -%% This work consists of the files fmtcount.dtx and fmtcount.ins and the derived files fcnumparser.sty, fcprefix.sty, fmtcount.sty, fc-american.def, fc-british.def, fc-english.def, fc-francais.def, fc-french.def, fc-frenchb.def, fc-german.def, fc-germanb.def, fc-italian.def, fc-ngerman.def, fc-ngermanb.def, fc-portuges.def, fc-spanish.def, fc-UKenglish.def, fc-USenglish.def. +%% This work consists of the files fmtcount.dtx and fmtcount.ins and the derived files fcnumparser.sty, fcprefix.sty, fmtcount.sty, fc-american.def, fc-british.def, fc-english.def, fc-francais.def, fc-french.def, fc-frenchb.def, fc-german.def, fc-germanb.def, fc-italian.def, fc-ngerman.def, fc-ngermanb.def, fc-portuges.def, fc-portuguese.def, fc-spanish.def, fc-UKenglish.def, fc-USenglish.def. %% %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z diff --git a/Master/texmf-dist/tex/latex/fmtcount/fc-ngermanb.def b/Master/texmf-dist/tex/latex/fmtcount/fc-ngermanb.def index 4c01ee36232..c3bfe07f7f2 100644 --- a/Master/texmf-dist/tex/latex/fmtcount/fc-ngermanb.def +++ b/Master/texmf-dist/tex/latex/fmtcount/fc-ngermanb.def @@ -7,7 +7,7 @@ %% fmtcount.dtx (with options: `fc-ngermanb.def,package') %% %% fmtcount.dtx -%% Copyright 2013 Nicola Talbot and Vincent Belaïche +%% Copyright 2014 Nicola Talbot and Vincent Belaïche %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -21,7 +21,7 @@ %% %% The Current Maintainer of this work is Nicola Talbot and Vincent Belaïche. %% -%% This work consists of the files fmtcount.dtx and fmtcount.ins and the derived files fcnumparser.sty, fcprefix.sty, fmtcount.sty, fc-american.def, fc-british.def, fc-english.def, fc-francais.def, fc-french.def, fc-frenchb.def, fc-german.def, fc-germanb.def, fc-italian.def, fc-ngerman.def, fc-ngermanb.def, fc-portuges.def, fc-spanish.def, fc-UKenglish.def, fc-USenglish.def. +%% This work consists of the files fmtcount.dtx and fmtcount.ins and the derived files fcnumparser.sty, fcprefix.sty, fmtcount.sty, fc-american.def, fc-british.def, fc-english.def, fc-francais.def, fc-french.def, fc-frenchb.def, fc-german.def, fc-germanb.def, fc-italian.def, fc-ngerman.def, fc-ngermanb.def, fc-portuges.def, fc-portuguese.def, fc-spanish.def, fc-UKenglish.def, fc-USenglish.def. %% %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z diff --git a/Master/texmf-dist/tex/latex/fmtcount/fc-portuges.def b/Master/texmf-dist/tex/latex/fmtcount/fc-portuges.def index 015629fb1ff..52262fa5745 100644 --- a/Master/texmf-dist/tex/latex/fmtcount/fc-portuges.def +++ b/Master/texmf-dist/tex/latex/fmtcount/fc-portuges.def @@ -7,7 +7,7 @@ %% fmtcount.dtx (with options: `fc-portuges.def,package') %% %% fmtcount.dtx -%% Copyright 2013 Nicola Talbot and Vincent Belaïche +%% Copyright 2014 Nicola Talbot and Vincent Belaïche %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -21,7 +21,7 @@ %% %% The Current Maintainer of this work is Nicola Talbot and Vincent Belaïche. %% -%% This work consists of the files fmtcount.dtx and fmtcount.ins and the derived files fcnumparser.sty, fcprefix.sty, fmtcount.sty, fc-american.def, fc-british.def, fc-english.def, fc-francais.def, fc-french.def, fc-frenchb.def, fc-german.def, fc-germanb.def, fc-italian.def, fc-ngerman.def, fc-ngermanb.def, fc-portuges.def, fc-spanish.def, fc-UKenglish.def, fc-USenglish.def. +%% This work consists of the files fmtcount.dtx and fmtcount.ins and the derived files fcnumparser.sty, fcprefix.sty, fmtcount.sty, fc-american.def, fc-british.def, fc-english.def, fc-francais.def, fc-french.def, fc-frenchb.def, fc-german.def, fc-germanb.def, fc-italian.def, fc-ngerman.def, fc-ngermanb.def, fc-portuges.def, fc-portuguese.def, fc-spanish.def, fc-UKenglish.def, fc-USenglish.def. %% %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z @@ -48,23 +48,25 @@ %%\begin{definition}[\DescribeMacro{\latinnumeralstringnum}] %%\cs{latinnumeralstringnum}\marg{number}\oarg{prefix options} %%\end{definition} -\ProvidesFCLanguage{portuges}[2013/08/17]% -\gdef\@ordinalMportuges#1#2{% +\ProvidesFCLanguage{portuges}[2014/06/09]% +\newcommand*\@ordinalMportuges[2]{% \ifnum#1=0\relax \edef#2{\number#1}% \else \edef#2{\number#1\relax\noexpand\fmtord{o}}% \fi }% -\gdef\@ordinalFportuges#1#2{% +\global\let\@ordinalMportuges\@ordinalMportuges +\newcommand*\@ordinalFportuges[2]{% \ifnum#1=0\relax \edef#2{\number#1}% \else \edef#2{\number#1\relax\noexpand\fmtord{a}}% \fi }% +\global\let\@ordinalFportuges\@ordinalFportuges \global\let\@ordinalNportuges\@ordinalMportuges -\gdef\@@unitstringportuges#1#2{% +\newcommand*\@@unitstringportuges[1]{% \ifcase#1\relax zero% \or um% @@ -78,7 +80,8 @@ \or nove% \fi }% -\gdef\@@unitstringFportuges#1{% +\global\let\@@unitstringportuges\@@unitstringportuges +\newcommand*\@@unitstringFportuges[1]{% \ifcase#1\relax zero% \or uma% @@ -92,7 +95,8 @@ \or nove% \fi }% -\gdef\@@tenstringportuges#1{% +\global\let\@@unitstringFportuges\@@unitstringFportuges +\newcommand*\@@tenstringportuges[1]{% \ifcase#1\relax \or dez% \or vinte% @@ -106,7 +110,8 @@ \or cem% \fi }% -\gdef\@@teenstringportuges#1{% +\global\let\@@tenstringportuges\@@tenstringportuges +\newcommand*\@@teenstringportuges[1]{% \ifcase#1\relax dez% \or onze% @@ -120,7 +125,8 @@ \or dezenove% \fi }% -\gdef\@@hundredstringportuges#1{% +\global\let\@@teenstringportuges\@@teenstringportuges +\newcommand*\@@hundredstringportuges[1]{% \ifcase#1\relax \or cento% \or duzentos% @@ -133,7 +139,8 @@ \or novecentos% \fi }% -\gdef\@@hundredstringFportuges#1{% +\global\let\@@hundredstringportuges\@@hundredstringportuges +\newcommand*\@@hundredstringFportuges[1]{% \ifcase#1\relax \or cento% \or duzentas% @@ -146,7 +153,8 @@ \or novecentas% \fi }% -\gdef\@@Unitstringportuges#1{% +\global\let\@@hundredstringFportuges\@@hundredstringFportuges +\newcommand*\@@Unitstringportuges[1]{% \ifcase#1\relax Zero% \or Um% @@ -160,7 +168,8 @@ \or Nove% \fi }% -\gdef\@@UnitstringFportuges#1{% +\global\let\@@Unitstringportuges\@@Unitstringportuges +\newcommand*\@@UnitstringFportuges[1]{% \ifcase#1\relax Zera% \or Uma% @@ -174,7 +183,8 @@ \or Nove% \fi }% -\gdef\@@Tenstringportuges#1{% +\global\let\@@UnitstringFportuges\@@UnitstringFportuges +\newcommand*\@@Tenstringportuges[1]{% \ifcase#1\relax \or Dez% \or Vinte% @@ -188,7 +198,8 @@ \or Cem% \fi }% -\gdef\@@Teenstringportuges#1{% +\global\let\@@Tenstringportuges\@@Tenstringportuges +\newcommand*\@@Teenstringportuges[1]{% \ifcase#1\relax Dez% \or Onze% @@ -202,7 +213,8 @@ \or Dezenove% \fi }% -\gdef\@@Hundredstringportuges#1{% +\global\let\@@Teenstringportuges\@@Teenstringportuges +\newcommand*\@@Hundredstringportuges[1]{% \ifcase#1\relax \or Cento% \or Duzentos% @@ -215,7 +227,8 @@ \or Novecentos% \fi }% -\gdef\@@HundredstringFportuges#1{% +\global\let\@@Hundredstringportuges\@@Hundredstringportuges +\newcommand*\@@HundredstringFportuges[1]{% \ifcase#1\relax \or Cento% \or Duzentas% @@ -228,6 +241,7 @@ \or Novecentas% \fi }% +\global\let\@@HundredstringFportuges\@@HundredstringFportuges \DeclareRobustCommand{\@numberstringMportuges}[2]{% \let\@unitstring=\@@unitstringportuges \let\@teenstring=\@@teenstringportuges @@ -312,7 +326,7 @@ }% \global\let\@OrdinalstringFportuges\@OrdinalstringFportuges \global\let\@OrdinalstringNportuges\@OrdinalstringMportuges -\gdef\@@unitthstringportuges#1{% +\newcommand*\@@unitthstringportuges[1]{% \ifcase#1\relax zero% \or primeiro% @@ -326,7 +340,8 @@ \or nono% \fi }% -\gdef\@@tenthstringportuges#1{% +\global\let\@@unitthstringportuges\@@unitthstringportuges +\newcommand*\@@tenthstringportuges[1]{% \ifcase#1\relax \or d\'ecimo% \or vig\'esimo% @@ -339,13 +354,15 @@ \or nonag\'esimo% \fi }% -\gdef\@@teenthstringportuges#1{% +\global\let\@@tenthstringportuges\@@tenthstringportuges +\newcommand*\@@teenthstringportuges[1]{% \@tenthstring{1}% \ifnum#1>0\relax -\@unitthstring{#1}% \fi }% -\gdef\@@hundredthstringportuges#1{% +\global\let\@@teenthstringportuges\@@teenthstringportuges +\newcommand*\@@hundredthstringportuges[1]{% \ifcase#1\relax \or cent\'esimo% \or ducent\'esimo% @@ -358,7 +375,8 @@ \or nongent\'esimo% \fi }% -\gdef\@@unitthstringFportuges#1{% +\global\let\@@hundredthstringportuges\@@hundredthstringportuges +\newcommand*\@@unitthstringFportuges[1]{% \ifcase#1\relax zero% \or primeira% @@ -372,7 +390,8 @@ \or nona% \fi }% -\gdef\@@tenthstringFportuges#1{% +\global\let\@@unitthstringFportuges\@@unitthstringFportuges +\newcommand*\@@tenthstringFportuges[1]{% \ifcase#1\relax \or d\'ecima% \or vig\'esima% @@ -385,7 +404,8 @@ \or nonag\'esima% \fi }% -\gdef\@@hundredthstringFportuges#1{% +\global\let\@@tenthstringFportuges\@@tenthstringFportuges +\newcommand*\@@hundredthstringFportuges[1]{% \ifcase#1\relax \or cent\'esima% \or ducent\'esima% @@ -398,7 +418,8 @@ \or nongent\'esima% \fi }% -\gdef\@@Unitthstringportuges#1{% +\global\let\@@hundredthstringFportuges\@@hundredthstringFportuges +\newcommand*\@@Unitthstringportuges[1]{% \ifcase#1\relax Zero% \or Primeiro% @@ -412,7 +433,8 @@ \or Nono% \fi }% -\gdef\@@Tenthstringportuges#1{% +\global\let\@@Unitthstringportuges\@@Unitthstringportuges +\newcommand*\@@Tenthstringportuges[1]{% \ifcase#1\relax \or D\'ecimo% \or Vig\'esimo% @@ -425,7 +447,8 @@ \or Nonag\'esimo% \fi }% -\gdef\@@Hundredthstringportuges#1{% +\global\let\@@Tenthstringportuges\@@Tenthstringportuges +\newcommand*\@@Hundredthstringportuges[1]{% \ifcase#1\relax \or Cent\'esimo% \or Ducent\'esimo% @@ -438,7 +461,8 @@ \or Nongent\'esimo% \fi }% -\gdef\@@UnitthstringFportuges#1{% +\global\let\@@Hundredthstringportuges\@@Hundredthstringportuges +\newcommand*\@@UnitthstringFportuges[1]{% \ifcase#1\relax Zera% \or Primeira% @@ -452,7 +476,8 @@ \or Nona% \fi }% -\gdef\@@TenthstringFportuges#1{% +\global\let\@@UnitthstringFportuges\@@UnitthstringFportuges +\newcommand*\@@TenthstringFportuges[1]{% \ifcase#1\relax \or D\'ecima% \or Vig\'esima% @@ -465,7 +490,8 @@ \or Nonag\'esima% \fi }% -\gdef\@@HundredthstringFportuges#1{% +\global\let\@@TenthstringFportuges\@@TenthstringFportuges +\newcommand*\@@HundredthstringFportuges[1]{% \ifcase#1\relax \or Cent\'esima% \or Ducent\'esima% @@ -478,114 +504,116 @@ \or Nongent\'esima% \fi }% -\gdef\@@numberstringportuges#1#2{% -\ifnum#1>99999 -\PackageError{fmtcount}{Out of range}% -{This macro only works for values less than 100000}% +\global\let\@@HundredthstringFportuges\@@HundredthstringFportuges +\newcommand*\@@numberstringportuges[2]{% +\ifnum#1>99999\relax + \PackageError{fmtcount}{Out of range}% + {This macro only works for values less than 100000}% \else -\ifnum#1<0 -\PackageError{fmtcount}{Negative numbers not permitted}% -{This macro does not work for negative numbers, however -you can try typing "minus" first, and then pass the modulus of -this number}% -\fi + \ifnum#1<0\relax + \PackageError{fmtcount}{Negative numbers not permitted}% + {This macro does not work for negative numbers, however + you can try typing "minus" first, and then pass the modulus of + this number}% + \fi \fi \def#2{}% \@strctr=#1\relax \divide\@strctr by 1000\relax -\ifnum\@strctr>9 - \divide\@strctr by 10 +\ifnum\@strctr>9\relax + \divide\@strctr by 10\relax \ifnum\@strctr>1\relax \let\@@fc@numstr#2\relax - \edef#2{\@@fc@numstr\@tenstring{\@strctr}}% + \protected@edef#2{\@@fc@numstr\@tenstring{\@strctr}}% \@strctr=#1 \divide\@strctr by 1000\relax - \@modulo{\@strctr}{10}% + \@FCmodulo{\@strctr}{10}% \ifnum\@strctr>0 \ifnum\@strctr=1\relax \let\@@fc@numstr#2\relax - \edef#2{\@@fc@numstr\ \@andname}% + \protected@edef#2{\@@fc@numstr\ \@andname}% \fi \let\@@fc@numstr#2\relax - \edef#2{\@@fc@numstr\ \@unitstring{\@strctr}}% + \protected@edef#2{\@@fc@numstr\ \@unitstring{\@strctr}}% \fi \else \@strctr=#1\relax \divide\@strctr by 1000\relax - \@modulo{\@strctr}{10}% + \@FCmodulo{\@strctr}{10}% \let\@@fc@numstr#2\relax - \edef#2{\@@fc@numstr\@teenstring{\@strctr}}% + \protected@edef#2{\@@fc@numstr\@teenstring{\@strctr}}% \fi \let\@@fc@numstr#2\relax - \edef#2{\@@fc@numstr\ \@thousand}% + \protected@edef#2{\@@fc@numstr\ \@thousand}% \else \ifnum\@strctr>0\relax \ifnum\@strctr>1\relax \let\@@fc@numstr#2\relax - \edef#2{\@@fc@numstr\@unitstring{\@strctr}\ }% + \protected@edef#2{\@@fc@numstr\@unitstring{\@strctr}\ }% \fi \let\@@fc@numstr#2\relax - \edef#2{\@@fc@numstr\@thousand}% + \protected@edef#2{\@@fc@numstr\@thousand}% \fi \fi -\@strctr=#1\relax \@modulo{\@strctr}{1000}% +\@strctr=#1\relax \@FCmodulo{\@strctr}{1000}% \divide\@strctr by 100\relax \ifnum\@strctr>0\relax \ifnum#1>1000 \relax \let\@@fc@numstr#2\relax - \edef#2{\@@fc@numstr\ }% + \protected@edef#2{\@@fc@numstr\ }% \fi \@tmpstrctr=#1\relax - \@modulo{\@tmpstrctr}{1000}% + \@FCmodulo{\@tmpstrctr}{1000}% \let\@@fc@numstr#2\relax \ifnum\@tmpstrctr=100\relax - \edef#2{\@@fc@numstr\@tenstring{10}}% + \protected@edef#2{\@@fc@numstr\@tenstring{10}}% \else - \edef#2{\@@fc@numstr\@hundredstring{\@strctr}}% + \protected@edef#2{\@@fc@numstr\@hundredstring{\@strctr}}% \fi% \fi -\@strctr=#1\relax \@modulo{\@strctr}{100}% +\@strctr=#1\relax \@FCmodulo{\@strctr}{100}% \ifnum#1>100\relax \ifnum\@strctr>0\relax \let\@@fc@numstr#2\relax - \edef#2{\@@fc@numstr\ \@andname\ }% + \protected@edef#2{\@@fc@numstr\ \@andname\ }% \fi \fi \ifnum\@strctr>19\relax \divide\@strctr by 10\relax \let\@@fc@numstr#2\relax - \edef#2{\@@fc@numstr\@tenstring{\@strctr}}% - \@strctr=#1\relax \@modulo{\@strctr}{10}% + \protected@edef#2{\@@fc@numstr\@tenstring{\@strctr}}% + \@strctr=#1\relax \@FCmodulo{\@strctr}{10}% \ifnum\@strctr>0 \ifnum\@strctr=1\relax \let\@@fc@numstr#2\relax - \edef#2{\@@fc@numstr\ \@andname}% + \protected@edef#2{\@@fc@numstr\ \@andname}% \else \ifnum#1>100\relax \let\@@fc@numstr#2\relax - \edef#2{\@@fc@numstr\ \@andname}% + \protected@edef#2{\@@fc@numstr\ \@andname}% \fi \fi \let\@@fc@numstr#2\relax - \edef#2{\@@fc@numstr\ \@unitstring{\@strctr}}% + \protected@edef#2{\@@fc@numstr\ \@unitstring{\@strctr}}% \fi \else \ifnum\@strctr<10\relax \ifnum\@strctr=0\relax \ifnum#1<100\relax \let\@@fc@numstr#2\relax - \edef#2{\@@fc@numstr\@unitstring{\@strctr}}% + \protected@edef#2{\@@fc@numstr\@unitstring{\@strctr}}% \fi - \else%(>0,<10) + \else %(>0,<10) \let\@@fc@numstr#2\relax - \edef#2{\@@fc@numstr\@unitstring{\@strctr}}% + \protected@edef#2{\@@fc@numstr\@unitstring{\@strctr}}% \fi \else%>10 - \@modulo{\@strctr}{10}% + \@FCmodulo{\@strctr}{10}% \let\@@fc@numstr#2\relax - \edef#2{\@@fc@numstr\@teenstring{\@strctr}}% + \protected@edef#2{\@@fc@numstr\@teenstring{\@strctr}}% \fi \fi }% -\gdef\@@ordinalstringportuges#1#2{% +\global\let\@@numberstringportuges\@@numberstringportuges +\newcommand*\@@ordinalstringportuges[2]{% \@strctr=#1\relax \ifnum#1>99999 \PackageError{fmtcount}{Out of range}% @@ -604,72 +632,73 @@ this number}% \ifnum\@strctr>9\relax \@tmpstrctr=\@strctr \ifnum\@strctr<20 - \@modulo{\@tmpstrctr}{10}% + \@FCmodulo{\@tmpstrctr}{10}% \let\@@fc@ordstr#2\relax - \edef#2{\@@fc@ordstr\@teenthstring{\@tmpstrctr}}% + \protected@edef#2{\@@fc@ordstr\@teenthstring{\@tmpstrctr}}% \else \divide\@tmpstrctr by 10\relax \let\@@fc@ordstr#2\relax - \edef#2{\@@fc@ordstr\@tenthstring{\@tmpstrctr}}% + \protected@edef#2{\@@fc@ordstr\@tenthstring{\@tmpstrctr}}% \@tmpstrctr=\@strctr - \@modulo{\@tmpstrctr}{10}% + \@FCmodulo{\@tmpstrctr}{10}% \ifnum\@tmpstrctr>0\relax \let\@@fc@ordstr#2\relax - \edef#2{\@@fc@ordstr\@unitthstring{\@tmpstrctr}}% + \protected@edef#2{\@@fc@ordstr\@unitthstring{\@tmpstrctr}}% \fi \fi \else \let\@@fc@ordstr#2\relax - \edef#2{\@@fc@ordstr\@unitstring{\@strctr}}% + \protected@edef#2{\@@fc@ordstr\@unitstring{\@strctr}}% \fi \fi \let\@@fc@ordstr#2\relax - \edef#2{\@@fc@ordstr\@thousandth}% + \protected@edef#2{\@@fc@ordstr\@thousandth}% \fi \@strctr=#1\relax -\@modulo{\@strctr}{1000}% +\@FCmodulo{\@strctr}{1000}% \ifnum\@strctr>99\relax \@tmpstrctr=\@strctr \divide\@tmpstrctr by 100\relax \ifnum#1>1000\relax \let\@@fc@ordstr#2\relax - \edef#2{\@@fc@ordstr-}% + \protected@edef#2{\@@fc@ordstr-}% \fi \let\@@fc@ordstr#2\relax - \edef#2{\@@fc@ordstr\@hundredthstring{\@tmpstrctr}}% + \protected@edef#2{\@@fc@ordstr\@hundredthstring{\@tmpstrctr}}% \fi -\@modulo{\@strctr}{100}% +\@FCmodulo{\@strctr}{100}% \ifnum#1>99\relax \ifnum\@strctr>0\relax \let\@@fc@ordstr#2\relax - \edef#2{\@@fc@ordstr-}% + \protected@edef#2{\@@fc@ordstr-}% \fi \fi \ifnum\@strctr>9\relax \@tmpstrctr=\@strctr \divide\@tmpstrctr by 10\relax \let\@@fc@ordstr#2\relax - \edef#2{\@@fc@ordstr\@tenthstring{\@tmpstrctr}}% + \protected@edef#2{\@@fc@ordstr\@tenthstring{\@tmpstrctr}}% \@tmpstrctr=\@strctr - \@modulo{\@tmpstrctr}{10}% + \@FCmodulo{\@tmpstrctr}{10}% \ifnum\@tmpstrctr>0\relax \let\@@fc@ordstr#2\relax - \edef#2{\@@fc@ordstr-\@unitthstring{\@tmpstrctr}}% + \protected@edef#2{\@@fc@ordstr-\@unitthstring{\@tmpstrctr}}% \fi \else \ifnum\@strctr=0\relax \ifnum#1=0\relax \let\@@fc@ordstr#2\relax - \edef#2{\@@fc@ordstr\@unitstring{0}}% + \protected@edef#2{\@@fc@ordstr\@unitstring{0}}% \fi \else \let\@@fc@ordstr#2\relax - \edef#2{\@@fc@ordstr\@unitthstring{\@strctr}}% + \protected@edef#2{\@@fc@ordstr\@unitthstring{\@strctr}}% \fi \fi \fi \fi }% +\global\let\@@ordinalstringportuges\@@ordinalstringportuges \endinput %% %% End of file `fc-portuges.def'. diff --git a/Master/texmf-dist/tex/latex/fmtcount/fc-portuguese.def b/Master/texmf-dist/tex/latex/fmtcount/fc-portuguese.def new file mode 100644 index 00000000000..60bdc54d659 --- /dev/null +++ b/Master/texmf-dist/tex/latex/fmtcount/fc-portuguese.def @@ -0,0 +1,71 @@ +%% +%% This is file `fc-portuguese.def', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% fmtcount.dtx (with options: `fc-portuguese.def,package') +%% +%% fmtcount.dtx +%% Copyright 2014 Nicola Talbot and Vincent Belaïche +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license of (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +%% +%% This work has the LPPL maintenance status `maintained'. +%% +%% The Current Maintainer of this work is Nicola Talbot and Vincent Belaïche. +%% +%% This work consists of the files fmtcount.dtx and fmtcount.ins and the derived files fcnumparser.sty, fcprefix.sty, fmtcount.sty, fc-american.def, fc-british.def, fc-english.def, fc-francais.def, fc-french.def, fc-frenchb.def, fc-german.def, fc-germanb.def, fc-italian.def, fc-ngerman.def, fc-ngermanb.def, fc-portuges.def, fc-portuguese.def, fc-spanish.def, fc-UKenglish.def, fc-USenglish.def. +%% +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +%%\subsection{Prefixes} +%%\label{sec:latin-prefixes} +%% +%%\begin{definition}[\DescribeMacro{\latinnumeralstring}] +%%\cs{latinnumeralstring}\marg{counter}\oarg{prefix options} +%%\end{definition} +%% +%%\begin{definition}[\DescribeMacro{\latinnumeralstringnum}] +%%\cs{latinnumeralstringnum}\marg{number}\oarg{prefix options} +%%\end{definition} +\ProvidesFCLanguage{portuguese}[2014/06/09]% +\FCloadlang{portuges}% +\global\let\@ordinalMportuguese=\@ordinalMportuges +\global\let\@ordinalFportuguese=\@ordinalFportuges +\global\let\@ordinalNportuguese=\@ordinalNportuges +\global\let\@numberstringMportuguese=\@numberstringMportuges +\global\let\@numberstringFportuguese=\@numberstringFportuges +\global\let\@numberstringNportuguese=\@numberstringNportuges +\global\let\@NumberstringMportuguese=\@NumberstringMportuges +\global\let\@NumberstringFportuguese=\@NumberstringFportuges +\global\let\@NumberstringNportuguese=\@NumberstringNportuges +\global\let\@ordinalstringMportuguese=\@ordinalstringMportuges +\global\let\@ordinalstringFportuguese=\@ordinalstringFportuges +\global\let\@ordinalstringNportuguese=\@ordinalstringNportuges +\global\let\@OrdinalstringMportuguese=\@OrdinalstringMportuges +\global\let\@OrdinalstringFportuguese=\@OrdinalstringFportuges +\global\let\@OrdinalstringNportuguese=\@OrdinalstringNportuges + +\endinput +%% +%% End of file `fc-portuguese.def'. diff --git a/Master/texmf-dist/tex/latex/fmtcount/fc-spanish.def b/Master/texmf-dist/tex/latex/fmtcount/fc-spanish.def index 99d5f240631..1d59ac7ae85 100644 --- a/Master/texmf-dist/tex/latex/fmtcount/fc-spanish.def +++ b/Master/texmf-dist/tex/latex/fmtcount/fc-spanish.def @@ -7,7 +7,7 @@ %% fmtcount.dtx (with options: `fc-spanish.def,package') %% %% fmtcount.dtx -%% Copyright 2013 Nicola Talbot and Vincent Belaïche +%% Copyright 2014 Nicola Talbot and Vincent Belaïche %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -21,7 +21,7 @@ %% %% The Current Maintainer of this work is Nicola Talbot and Vincent Belaïche. %% -%% This work consists of the files fmtcount.dtx and fmtcount.ins and the derived files fcnumparser.sty, fcprefix.sty, fmtcount.sty, fc-american.def, fc-british.def, fc-english.def, fc-francais.def, fc-french.def, fc-frenchb.def, fc-german.def, fc-germanb.def, fc-italian.def, fc-ngerman.def, fc-ngermanb.def, fc-portuges.def, fc-spanish.def, fc-UKenglish.def, fc-USenglish.def. +%% This work consists of the files fmtcount.dtx and fmtcount.ins and the derived files fcnumparser.sty, fcprefix.sty, fmtcount.sty, fc-american.def, fc-british.def, fc-english.def, fc-francais.def, fc-french.def, fc-frenchb.def, fc-german.def, fc-germanb.def, fc-italian.def, fc-ngerman.def, fc-ngermanb.def, fc-portuges.def, fc-portuguese.def, fc-spanish.def, fc-UKenglish.def, fc-USenglish.def. %% %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z @@ -49,14 +49,16 @@ %%\cs{latinnumeralstringnum}\marg{number}\oarg{prefix options} %%\end{definition} \ProvidesFCLanguage{spanish}[2013/08/17]% -\gdef\@ordinalMspanish#1{% +\newcommand*\@ordinalMspanish[2]{% \edef#2{\number#1\relax\noexpand\fmtord{o}}% }% -\gdef\@ordinalFspanish}[2]{% +\global\let\@ordinalMspanish\@ordinalMspanish +\newcommand{\@ordinalFspanish}[2]{% \edef#2{\number#1\relax\noexpand\fmtord{a}}% }% +\global\let\@ordinalFspanish\@ordinalFspanish \global\let\@ordinalNspanish\@ordinalMspanish -\gdef\@@unitstringspanish#1{% +\newcommand*\@@unitstringspanish[1]{% \ifcase#1\relax cero% \or uno% @@ -70,7 +72,8 @@ \or nueve% \fi }% -\gdef\@@unitstringFspanish#1{% +\global\let\@@unitstringspanish\@@unitstringspanish +\newcommand*\@@unitstringFspanish[1]{% \ifcase#1\relax cera% \or una% @@ -84,7 +87,8 @@ \or nueve% \fi }% -\gdef\@@tenstringspanish#1{% +\global\let\@@unitstringFspanish\@@unitstringFspanish +\newcommand*\@@tenstringspanish[1]{% \ifcase#1\relax \or diez% \or veinte% @@ -98,7 +102,8 @@ \or cien% \fi }% -\gdef\@@teenstringspanish#1{% +\global\let\@@tenstringspanish\@@tenstringspanish +\newcommand*\@@teenstringspanish[1]{% \ifcase#1\relax diez% \or once% @@ -112,7 +117,8 @@ \or diecinueve% \fi }% -\gdef\@@twentystringspanish#1{% +\global\let\@@teenstringspanish\@@teenstringspanish +\newcommand*\@@twentystringspanish[1]{% \ifcase#1\relax veinte% \or veintiuno% @@ -126,7 +132,8 @@ \or veintinueve% \fi }% -\gdef\@@twentystringFspanish#1{% +\global\let\@@twentystringspanish\@@twentystringspanish +\newcommand*\@@twentystringFspanish[1]{% \ifcase#1\relax veinte% \or veintiuna% @@ -140,7 +147,8 @@ \or veintinueve% \fi }% -\gdef\@@hundredstringspanish#1{% +\global\let\@@twentystringFspanish\@@twentystringFspanish +\newcommand*\@@hundredstringspanish[1]{% \ifcase#1\relax \or ciento% \or doscientos% @@ -153,7 +161,8 @@ \or novecientos% \fi }% -\gdef\@@hundredstringFspanish#1{% +\global\let\@@hundredstringspanish\@@hundredstringspanish +\newcommand*\@@hundredstringFspanish[1]{% \ifcase#1\relax \or cienta% \or doscientas% @@ -166,7 +175,8 @@ \or novecientas% \fi }% -\gdef\@@Unitstringspanish#1{% +\global\let\@@hundredstringFspanish\@@hundredstringFspanish +\newcommand*\@@Unitstringspanish[1]{% \ifcase#1\relax Cero% \or Uno% @@ -180,7 +190,8 @@ \or Nueve% \fi }% -\gdef\@@UnitstringFspanish#1{% +\global\let\@@Unitstringspanish\@@Unitstringspanish +\newcommand*\@@UnitstringFspanish[1]{% \ifcase#1\relax Cera% \or Una% @@ -194,7 +205,8 @@ \or Nueve% \fi }% -\gdef\@@Tenstringspanish#1{% +\global\let\@@UnitstringFspanish\@@UnitstringFspanish +\newcommand*\@@Tenstringspanish[1]{% \ifcase#1\relax \or Diez% \or Veinte% @@ -208,7 +220,8 @@ \or Cien% \fi }% -\gdef\@@Teenstringspanish#1{% +\global\let\@@Tenstringspanish\@@Tenstringspanish +\newcommand*\@@Teenstringspanish[1]{% \ifcase#1\relax Diez% \or Once% @@ -222,7 +235,8 @@ \or Diecinueve% \fi }% -\gdef\@@Twentystringspanish#1{% +\global\let\@@Teenstringspanish\@@Teenstringspanish +\newcommand*\@@Twentystringspanish[1]{% \ifcase#1\relax Veinte% \or Veintiuno% @@ -236,7 +250,8 @@ \or Veintinueve% \fi }% -\gdef\@@TwentystringFspanish#1{% +\global\let\@@Twentystringspanish\@@Twentystringspanish +\newcommand*\@@TwentystringFspanish[1]{% \ifcase#1\relax Veinte% \or Veintiuna% @@ -250,7 +265,8 @@ \or Veintinueve% \fi }% -\gdef\@@Hundredstringspanish#1{% +\global\let\@@TwentystringFspanish\@@TwentystringFspanish +\newcommand*\@@Hundredstringspanish[1]{% \ifcase#1\relax \or Ciento% \or Doscientos% @@ -263,7 +279,8 @@ \or Novecientos% \fi }% -\gdef\@@HundredstringFspanish#1{% +\global\let\@@Hundredstringspanish\@@Hundredstringspanish +\newcommand*\@@HundredstringFspanish[1]{% \ifcase#1\relax \or Cienta% \or Doscientas% @@ -276,6 +293,7 @@ \or Novecientas% \fi }% +\global\let\@@HundredstringFspanish\@@HundredstringFspanish \DeclareRobustCommand{\@numberstringMspanish}[2]{% \let\@unitstring=\@@unitstringspanish \let\@teenstring=\@@teenstringspanish @@ -364,7 +382,7 @@ }% \global\let\@OrdinalstringFspanish\@OrdinalstringFspanish \global\let\@OrdinalstringNspanish\@OrdinalstringMspanish -\gdef\@@unitthstringspanish#1{% +\newcommand*\@@unitthstringspanish[1]{% \ifcase#1\relax cero% \or primero% @@ -378,7 +396,8 @@ \or noveno% \fi }% -\gdef\@@tenthstringspanish#1{% +\global\let\@@unitthstringspanish\@@unitthstringspanish +\newcommand*\@@tenthstringspanish[1]{% \ifcase#1\relax \or d\'ecimo% \or vig\'esimo% @@ -391,7 +410,8 @@ \or nonag\'esimo% \fi }% -\gdef\@@teenthstringspanish#1{% +\global\let\@@tenthstringspanish\@@tenthstringspanish +\newcommand*\@@teenthstringspanish[1]{% \ifcase#1\relax d\'ecimo% \or und\'ecimo% @@ -405,7 +425,8 @@ \or decimonoveno% \fi }% -\gdef\@@hundredthstringspanish#1{% +\global\let\@@teenthstringspanish\@@teenthstringspanish +\newcommand*\@@hundredthstringspanish[1]{% \ifcase#1\relax \or cent\'esimo% \or ducent\'esimo% @@ -418,7 +439,8 @@ \or noningent\'esimo% \fi }% -\gdef\@@unitthstringFspanish#1{% +\global\let\@@hundredthstringspanish\@@hundredthstringspanish +\newcommand*\@@unitthstringFspanish[1]{% \ifcase#1\relax cera% \or primera% @@ -432,7 +454,8 @@ \or novena% \fi }% -\gdef\@@tenthstringFspanish#1{% +\global\let\@@unitthstringFspanish\@@unitthstringFspanish +\newcommand*\@@tenthstringFspanish[1]{% \ifcase#1\relax \or d\'ecima% \or vig\'esima% @@ -445,7 +468,8 @@ \or nonag\'esima% \fi }% -\gdef\@@teenthstringFspanish#1{% +\global\let\@@tenthstringFspanish\@@tenthstringFspanish +\newcommand*\@@teenthstringFspanish[1]{% \ifcase#1\relax d\'ecima% \or und\'ecima% @@ -459,7 +483,8 @@ \or decimonovena% \fi }% -\gdef\@@hundredthstringFspanish#1{% +\global\let\@@teenthstringFspanish\@@teenthstringFspanish +\newcommand*\@@hundredthstringFspanish[1]{% \ifcase#1\relax \or cent\'esima% \or ducent\'esima% @@ -472,7 +497,8 @@ \or noningent\'esima% \fi }% -\gdef\@@Unitthstringspanish#1{% +\global\let\@@hundredthstringFspanish\@@hundredthstringFspanish +\newcommand*\@@Unitthstringspanish[1]{% \ifcase#1\relax Cero% \or Primero% @@ -486,7 +512,8 @@ \or Noveno% \fi }% -\gdef\@@Tenthstringspanish#1{% +\global\let\@@Unitthstringspanish\@@Unitthstringspanish +\newcommand*\@@Tenthstringspanish[1]{% \ifcase#1\relax \or D\'ecimo% \or Vig\'esimo% @@ -499,7 +526,8 @@ \or Nonag\'esimo% \fi }% -\gdef\@@Teenthstringspanish#1{% +\global\let\@@Tenthstringspanish\@@Tenthstringspanish +\newcommand*\@@Teenthstringspanish[1]{% \ifcase#1\relax D\'ecimo% \or Und\'ecimo% @@ -513,7 +541,8 @@ \or Decimonoveno% \fi }% -\gdef\@@Hundredthstringspanish#1{% +\global\let\@@Teenthstringspanish\@@Teenthstringspanish +\newcommand*\@@Hundredthstringspanish[1]{% \ifcase#1\relax \or Cent\'esimo% \or Ducent\'esimo% @@ -526,7 +555,8 @@ \or Noningent\'esimo% \fi }% -\gdef\@@UnitthstringFspanish#1{% +\global\let\@@Hundredthstringspanish\@@Hundredthstringspanish +\newcommand*\@@UnitthstringFspanish[1]{% \ifcase#1\relax Cera% \or Primera% @@ -540,7 +570,8 @@ \or Novena% \fi }% -\gdef\@@TenthstringFspanish#1{% +\global\let\@@UnitthstringFspanish\@@UnitthstringFspanish +\newcommand*\@@TenthstringFspanish[1]{% \ifcase#1\relax \or D\'ecima% \or Vig\'esima% @@ -553,7 +584,8 @@ \or Nonag\'esima% \fi }% -\gdef\@@TeenthstringFspanish#1{% +\global\let\@@TenthstringFspanish\@@TenthstringFspanish +\newcommand*\@@TeenthstringFspanish[1]{% \ifcase#1\relax D\'ecima% \or Und\'ecima% @@ -567,7 +599,8 @@ \or Decimonovena% \fi }% -\gdef\@@HundredthstringFspanish#1{% +\global\let\@@TeenthstringFspanish\@@TeenthstringFspanish +\newcommand*\@@HundredthstringFspanish[1]{% \ifcase#1\relax \or Cent\'esima% \or Ducent\'esima% @@ -580,7 +613,8 @@ \or Noningent\'esima% \fi }% -\gdef\@@numberstringspanish#1#2{% +\global\let\@@HundredthstringFspanish\@@HundredthstringFspanish +\newcommand*\@@numberstringspanish[2]{% \ifnum#1>99999 \PackageError{fmtcount}{Out of range}% {This macro only works for values less than 100000}% @@ -600,7 +634,7 @@ this number}% \let\@@fc@numstr#2\relax \edef#2{\@@fc@numstr\@tenstring{\@strctr}}% \@strctr=#1 \divide\@strctr by 1000\relax - \@modulo{\@strctr}{10}% + \@FCmodulo{\@strctr}{10}% \ifnum\@strctr>0\relax \let\@@fc@numstr#2\relax \edef#2{\@@fc@numstr\ \@andname\ \@unitstring{\@strctr}}% @@ -608,7 +642,7 @@ this number}% \else \@strctr=#1\relax \divide\@strctr by 1000\relax - \@modulo{\@strctr}{10}% + \@FCmodulo{\@strctr}{10}% \let\@@fc@numstr#2\relax \edef#2{\@@fc@numstr\@teenstring{\@strctr}}% \fi @@ -624,7 +658,7 @@ this number}% \edef#2{\@@fc@numstr\@thousand}% \fi \fi -\@strctr=#1\relax \@modulo{\@strctr}{1000}% +\@strctr=#1\relax \@FCmodulo{\@strctr}{1000}% \divide\@strctr by 100\relax \ifnum\@strctr>0\relax \ifnum#1>1000\relax @@ -632,7 +666,7 @@ this number}% \edef#2{\@@fc@numstr\ }% \fi \@tmpstrctr=#1\relax - \@modulo{\@tmpstrctr}{1000}% + \@FCmodulo{\@tmpstrctr}{1000}% \ifnum\@tmpstrctr=100\relax \let\@@fc@numstr#2\relax \edef#2{\@@fc@numstr\@tenstring{10}}% @@ -641,7 +675,7 @@ this number}% \edef#2{\@@fc@numstr\@hundredstring{\@strctr}}% \fi \fi -\@strctr=#1\relax \@modulo{\@strctr}{100}% +\@strctr=#1\relax \@FCmodulo{\@strctr}{100}% \ifnum#1>100\relax \ifnum\@strctr>0\relax \let\@@fc@numstr#2\relax @@ -652,7 +686,7 @@ this number}% \divide\@strctr by 10\relax \let\@@fc@numstr#2\relax \edef#2{\@@fc@numstr\@tenstring{\@strctr}}% - \@strctr=#1\relax \@modulo{\@strctr}{10}% + \@strctr=#1\relax \@FCmodulo{\@strctr}{10}% \ifnum\@strctr>0\relax \let\@@fc@numstr#2\relax \edef#2{\@@fc@numstr\ \@andname\ \@unitstring{\@strctr}}% @@ -670,18 +704,19 @@ this number}% \fi \else \ifnum\@strctr>19\relax - \@modulo{\@strctr}{10}% + \@FCmodulo{\@strctr}{10}% \let\@@fc@numstr#2\relax \edef#2{\@@fc@numstr\@twentystring{\@strctr}}% \else - \@modulo{\@strctr}{10}% + \@FCmodulo{\@strctr}{10}% \let\@@fc@numstr#2\relax \edef#2{\@@fc@numstr\@teenstring{\@strctr}}% \fi \fi \fi }% -\gdef\@@ordinalstringspanish#1#2{% +\global\let\@@numberstringspanish\@@numberstringspanish +\newcommand*\@@ordinalstringspanish[2]{% \@strctr=#1\relax \ifnum#1>99999 \PackageError{fmtcount}{Out of range}% @@ -700,7 +735,7 @@ this number}% \ifnum\@strctr>9\relax \@tmpstrctr=\@strctr \ifnum\@strctr<20 - \@modulo{\@tmpstrctr}{10}% + \@FCmodulo{\@tmpstrctr}{10}% \let\@@fc@ordstr#2\relax \edef#2{\@@fc@ordstr\@teenthstring{\@tmpstrctr}}% \else @@ -708,7 +743,7 @@ this number}% \let\@@fc@ordstr#2\relax \edef#2{\@@fc@ordstr\@tenthstring{\@tmpstrctr}}% \@tmpstrctr=\@strctr - \@modulo{\@tmpstrctr}{10}% + \@FCmodulo{\@tmpstrctr}{10}% \ifnum\@tmpstrctr>0\relax \let\@@fc@ordstr#2\relax \edef#2{\@@fc@ordstr\@unitthstring{\@tmpstrctr}}% @@ -723,7 +758,7 @@ this number}% \edef#2{\@@fc@ordstr\@thousandth}% \fi \@strctr=#1\relax -\@modulo{\@strctr}{1000}% +\@FCmodulo{\@strctr}{1000}% \ifnum\@strctr>99\relax \@tmpstrctr=\@strctr \divide\@tmpstrctr by 100\relax @@ -734,7 +769,7 @@ this number}% \let\@@fc@ordstr#2\relax \edef#2{\@@fc@ordstr\@hundredthstring{\@tmpstrctr}}% \fi -\@modulo{\@strctr}{100}% +\@FCmodulo{\@strctr}{100}% \ifnum#1>99\relax \ifnum\@strctr>0\relax \let\@@fc@ordstr#2\relax @@ -747,14 +782,14 @@ this number}% \let\@@fc@ordstr#2\relax \edef#2{\@@fc@ordstr\@tenthstring{\@tmpstrctr}}% \@tmpstrctr=\@strctr - \@modulo{\@tmpstrctr}{10}% + \@FCmodulo{\@tmpstrctr}{10}% \ifnum\@tmpstrctr>0\relax \let\@@fc@ordstr#2\relax \edef#2{\@@fc@ordstr\ \@unitthstring{\@tmpstrctr}}% \fi \else \ifnum\@strctr>9\relax - \@modulo{\@strctr}{10}% + \@FCmodulo{\@strctr}{10}% \let\@@fc@ordstr#2\relax \edef#2{\@@fc@ordstr\@teenthstring{\@strctr}}% \else @@ -772,6 +807,7 @@ this number}% \fi \fi }% +\global\let\@@ordinalstringspanish\@@ordinalstringspanish \endinput %% diff --git a/Master/texmf-dist/tex/latex/fmtcount/fcnumparser.sty b/Master/texmf-dist/tex/latex/fmtcount/fcnumparser.sty index a1bb5a2c6ff..e55bea04492 100644 --- a/Master/texmf-dist/tex/latex/fmtcount/fcnumparser.sty +++ b/Master/texmf-dist/tex/latex/fmtcount/fcnumparser.sty @@ -7,7 +7,7 @@ %% fmtcount.dtx (with options: `fcnumparser.sty,package') %% %% fmtcount.dtx -%% Copyright 2013 Nicola Talbot and Vincent Belaïche +%% Copyright 2014 Nicola Talbot and Vincent Belaïche %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -21,7 +21,7 @@ %% %% The Current Maintainer of this work is Nicola Talbot and Vincent Belaïche. %% -%% This work consists of the files fmtcount.dtx and fmtcount.ins and the derived files fcnumparser.sty, fcprefix.sty, fmtcount.sty, fc-american.def, fc-british.def, fc-english.def, fc-francais.def, fc-french.def, fc-frenchb.def, fc-german.def, fc-germanb.def, fc-italian.def, fc-ngerman.def, fc-ngermanb.def, fc-portuges.def, fc-spanish.def, fc-UKenglish.def, fc-USenglish.def. +%% This work consists of the files fmtcount.dtx and fmtcount.ins and the derived files fcnumparser.sty, fcprefix.sty, fmtcount.sty, fc-american.def, fc-british.def, fc-english.def, fc-francais.def, fc-french.def, fc-frenchb.def, fc-german.def, fc-germanb.def, fc-italian.def, fc-ngerman.def, fc-ngermanb.def, fc-portuges.def, fc-portuguese.def, fc-spanish.def, fc-UKenglish.def, fc-USenglish.def. %% %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z @@ -148,7 +148,7 @@ \expandafter\fc@parse@integer@digits\fc@fractional@part\fc@end\fc@nil \edef\fc@min@weight{\the\fc@digit@counter}% } -\@ifundefined{fc@parse@integer@digits}{}{% +\ifcsundef{fc@parse@integer@digits}{}{% \PackageError{fcnumparser}{Duplicate definition}{Redefinition of macro `fc@parse@integer@digits'}} \def\fc@parse@integer@digits#1#2\fc@nil{% @@ -165,7 +165,7 @@ \newcommand*{\fc@unit@weight}{0} -\@ifundefined{fc@read@unit}{}{% +\ifcsundef{fc@read@unit}{}{% \PackageError{fcnumparser}{Duplicate definition}{Redefinition of macro `fc@read@unit'}} \def\fc@read@unit#1#2{% \ifnum#2>\fc@max@weight @@ -185,7 +185,7 @@ \fi \fi } -\@ifundefined{fc@read@hundred}{}{% +\ifcsundef{fc@read@hundred}{}{% \PackageError{fcnumparser}{Duplicate definition}{Redefinition of macro `fc@read@hundred'}} \def\fc@read@hundred#1#2{% {% @@ -201,7 +201,7 @@ \expandafter }\@tempb } -\@ifundefined{fc@read@thousand}{}{% +\ifcsundef{fc@read@thousand}{}{% \PackageError{fcnumparser}{Duplicate definition}{Redefinition of macro `fc@read@thousand'}} \def\fc@read@thousand#1#2{% @@ -218,7 +218,7 @@ \expandafter }\@tempb } -\@ifundefined{fc@read@myriad}{}{% +\ifcsundef{fc@read@myriad}{}{% \PackageError{fcnumparser}{Duplicate definition}{Redefinition of macro `fc@read@myriad'}} \def\fc@read@myriad#1#2{% @@ -235,7 +235,7 @@ \expandafter }\@tempb } -\@ifundefined{fc@check@nonzeros}{}{% +\ifcsundef{fc@check@nonzeros}{}{% \PackageError{fcnumparser}{Duplicate definition}{Redefinition of macro `fc@check@nonzeros'}} \def\fc@check@nonzeros#1#2#3{% @@ -298,7 +298,7 @@ \fi \next } -\@ifundefined{fc@intpart@find@last}{}{% +\ifcsundef{fc@intpart@find@last}{}{% \PackageError{fcnumparser}{Duplicate definition}{Redefinition of macro `fc@intpart@find@last'}} \def\fc@intpart@find@last#1{% @@ -325,7 +325,7 @@ \expandafter }\@tempa\space } -\@ifundefined{fc@get@last@word}{}{\PackageError{fcnumparser}{Duplicate definition}{Redefinition +\ifcsundef{fc@get@last@word}{}{\PackageError{fcnumparser}{Duplicate definition}{Redefinition of macro `fc@get@last@word'}}% \def\fc@get@last@word#1#2#3{% {% @@ -359,7 +359,7 @@ \expandafter }\@tempa } -\@ifundefined{fc@get@last@letter}{}{\PackageError{fcnumparser}{Duplicate definition}{Redefinition +\ifcsundef{fc@get@last@letter}{}{\PackageError{fcnumparser}{Duplicate definition}{Redefinition of macro `fc@get@last@letter'}}% \def\fc@get@last@letter#1#2#3{% {% diff --git a/Master/texmf-dist/tex/latex/fmtcount/fcprefix.sty b/Master/texmf-dist/tex/latex/fmtcount/fcprefix.sty index b8bd2717a5c..44b7832fbcb 100644 --- a/Master/texmf-dist/tex/latex/fmtcount/fcprefix.sty +++ b/Master/texmf-dist/tex/latex/fmtcount/fcprefix.sty @@ -7,7 +7,7 @@ %% fmtcount.dtx (with options: `fcprefix.sty,package') %% %% fmtcount.dtx -%% Copyright 2013 Nicola Talbot and Vincent Belaïche +%% Copyright 2014 Nicola Talbot and Vincent Belaïche %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -21,7 +21,7 @@ %% %% The Current Maintainer of this work is Nicola Talbot and Vincent Belaïche. %% -%% This work consists of the files fmtcount.dtx and fmtcount.ins and the derived files fcnumparser.sty, fcprefix.sty, fmtcount.sty, fc-american.def, fc-british.def, fc-english.def, fc-francais.def, fc-french.def, fc-frenchb.def, fc-german.def, fc-germanb.def, fc-italian.def, fc-ngerman.def, fc-ngermanb.def, fc-portuges.def, fc-spanish.def, fc-UKenglish.def, fc-USenglish.def. +%% This work consists of the files fmtcount.dtx and fmtcount.ins and the derived files fcnumparser.sty, fcprefix.sty, fmtcount.sty, fc-american.def, fc-british.def, fc-english.def, fc-francais.def, fc-french.def, fc-frenchb.def, fc-german.def, fc-germanb.def, fc-italian.def, fc-ngerman.def, fc-ngermanb.def, fc-portuges.def, fc-portuguese.def, fc-spanish.def, fc-UKenglish.def, fc-USenglish.def. %% %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z @@ -141,7 +141,7 @@ } \let\fc@power@of@millia@init\@gobbletwo \let\fc@power@of@millia\fc@@prefix@millia -\@ifundefined{fc@@latin@cardinal@pefix}{}{% +\ifcsundef{fc@@latin@cardinal@pefix}{}{% \PackageError{fmtcount}{Duplicate definition}{Redefinition of macro `fc@@latin@cardinal@pefix'}} \def\fc@@latin@cardinal@pefix#1#2{% {% @@ -251,7 +251,7 @@ \expandafter }\@tempa } -\@ifundefined{fc@@latin@numeral@pefix}{}{% +\ifcsundef{fc@@latin@numeral@pefix}{}{% \PackageError{fmtcount}{Duplicate definition}{Redefinition of macro `fc@@latin@numeral@pefix'}} \def\fc@@latin@numeral@pefix#1#2{% diff --git a/Master/texmf-dist/tex/latex/fmtcount/fmtcount.sty b/Master/texmf-dist/tex/latex/fmtcount/fmtcount.sty index 4cfa2a54d90..8c2ee534e9d 100644 --- a/Master/texmf-dist/tex/latex/fmtcount/fmtcount.sty +++ b/Master/texmf-dist/tex/latex/fmtcount/fmtcount.sty @@ -7,7 +7,7 @@ %% fmtcount.dtx (with options: `fmtcount.sty,package') %% %% fmtcount.dtx -%% Copyright 2013 Nicola Talbot and Vincent Belaïche +%% Copyright 2014 Nicola Talbot and Vincent Belaïche %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -21,7 +21,7 @@ %% %% The Current Maintainer of this work is Nicola Talbot and Vincent Belaïche. %% -%% This work consists of the files fmtcount.dtx and fmtcount.ins and the derived files fcnumparser.sty, fcprefix.sty, fmtcount.sty, fc-american.def, fc-british.def, fc-english.def, fc-francais.def, fc-french.def, fc-frenchb.def, fc-german.def, fc-germanb.def, fc-italian.def, fc-ngerman.def, fc-ngermanb.def, fc-portuges.def, fc-spanish.def, fc-UKenglish.def, fc-USenglish.def. +%% This work consists of the files fmtcount.dtx and fmtcount.ins and the derived files fcnumparser.sty, fcprefix.sty, fmtcount.sty, fc-american.def, fc-british.def, fc-english.def, fc-francais.def, fc-french.def, fc-frenchb.def, fc-german.def, fc-germanb.def, fc-italian.def, fc-ngerman.def, fc-ngermanb.def, fc-portuges.def, fc-portuguese.def, fc-spanish.def, fc-UKenglish.def, fc-USenglish.def. %% %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z @@ -49,7 +49,7 @@ %%\cs{latinnumeralstringnum}\marg{number}\oarg{prefix options} %%\end{definition} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{fmtcount}[2013/08/17 v2.03] +\ProvidesPackage{fmtcount}[2014/06/18 v2.04] \RequirePackage{ifthen} \RequirePackage{keyval} \RequirePackage{etoolbox} @@ -109,15 +109,15 @@ \@fc@loadifbabelorpolyglossialdf{italian} \def\fmtcount@french{france} \define@key{fmtcount}{french}[france]{% - \@ifundefined{datefrench}% + \@FC@iflangloaded{french}% + {% + \setkeys{fcfrench}{#1}% + }% {% \PackageError{fmtcount}% {Language `french' not defined}% {You need to load babel before loading fmtcount}% }% - {% - \setkeys{fcfrench}{#1}% - }% } \define@key{fmtcount}{fmtord}{% \ifthenelse{\equal{#1}{level} @@ -154,7 +154,7 @@ \newcommand*{\fmtcountsetoptions}[1]{% \def\fmtcount@fmtord{}% \setkeys{fmtcount}{#1}% - \@ifundefined{datefrench}{}% + \@FC@iflangloaded{french}{\ifcsundef{@ordinalstringMfrench}% {% \edef\@ordinalstringMfrench{\noexpand \csname @ordinalstringMfrench\fmtcount@french\noexpand\endcsname}% @@ -172,7 +172,7 @@ \csname @NumberstringMfrench\fmtcount@french\noexpand\endcsname}% \edef\@NumberstringFfrench{\noexpand \csname @NumberstringFfrench\fmtcount@french\noexpand\endcsname}% - }% + }{}}{}% \ifthenelse{\equal{\fmtcount@fmtord}{level}}% {% \renewcommand{\fmtord}[1]{##1}% @@ -198,7 +198,7 @@ \def\fmtord#1{\textsuperscript{#1}}} \ProcessOptions \newcount\@DT@modctr -\def\@modulo#1#2{% +\newcommand*{\@FCmodulo}[2]{% \@DT@modctr=#1\relax \divide \@DT@modctr by #2\relax \multiply \@DT@modctr by #2\relax @@ -441,7 +441,7 @@ \expandafter\protect\expandafter\ordinalnum{% \expandafter\the\csname c@#1\endcsname}% } -\@ifundefined{ordinal} +\ifcsundef{ordinal} {\let\ordinal\FCordinal}% {% \PackageWarning{fmtcount}% @@ -949,7 +949,7 @@ \expandafter\the\csname c@#1\endcsname}% } \def\@setdef@ultfmtcount{% - \@ifundefined{@ordinalMenglish}{\FCloadlang{english}}{}% + \ifcsundef{@ordinalMenglish}{\FCloadlang{english}}{}% \def\@ordinalstringM{\@ordinalstringMenglish}% \let\@ordinalstringF=\@ordinalstringMenglish \let\@ordinalstringN=\@ordinalstringMenglish -- cgit v1.2.3