Closed poliveira89 closed 7 years ago
Thank you for reporting that.
The attached fix should work better.
Some of the code documentation has spilled into the code, and I overlooked that during the non-regression tests because the code was docstripped by an AWK script rather than by the docstrip utility.
I am doing the necessary fixes in the testbench, and as soon as this is done I will deliver a fixed version to CTAN.
Vincent.
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast. https://www.avast.com/antivirus
%%
%% This is file fc-portuges.def', %% generated with the docstrip utility. %% %% The original source files were: %% %% fmtcount.dtx (with options:
fc-portuges.def,package')
%%
%% fmtcount.dtx
%% Copyright 2017 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 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, fcnumparser.sty, fcprefix.sty, fmtcount.sty. %% %% \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}
%% Local Variables:
%% coding: utf-8
%% End:
\ProvidesFCLanguage{portuges}[2016/01/12]%
\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
\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
\newcommand\@@unitstringportuges[1]{%
\ifcase#1\relax
zero%
\or um%
\or dois%
\or tr\^es%
\or quatro%
\or cinco%
\or seis%
\or sete%
\or oito%
\or nove%
\fi
}%
\global\let\@@unitstringportuges\@@unitstringportuges
\newcommand\@@unitstringFportuges[1]{%
\ifcase#1\relax
zero%
\or uma%
\or duas%
\or tr\^es%
\or quatro%
\or cinco%
\or seis%
\or sete%
\or oito%
\or nove%
\fi
}%
\global\let\@@unitstringFportuges\@@unitstringFportuges
\newcommand\@@tenstringportuges[1]{%
\ifcase#1\relax
\or dez%
\or vinte%
\or trinta%
\or quarenta%
\or cinq\"uenta%
\or sessenta%
\or setenta%
\or oitenta%
\or noventa%
\or cem%
\fi
}%
\global\let\@@tenstringportuges\@@tenstringportuges
\newcommand\@@teenstringportuges[1]{%
\ifcase#1\relax
dez%
\or onze%
\or doze%
\or treze%
\or quatorze%
\or quinze%
\or dezesseis%
\or dezessete%
\or dezoito%
\or dezenove%
\fi
}%
\global\let\@@teenstringportuges\@@teenstringportuges
\newcommand\@@hundredstringportuges[1]{%
\ifcase#1\relax
\or cento%
\or duzentos%
\or trezentos%
\or quatrocentos%
\or quinhentos%
\or seiscentos%
\or setecentos%
\or oitocentos%
\or novecentos%
\fi
}%
\global\let\@@hundredstringportuges\@@hundredstringportuges
\newcommand\@@hundredstringFportuges[1]{%
\ifcase#1\relax
\or cento%
\or duzentas%
\or trezentas%
\or quatrocentas%
\or quinhentas%
\or seiscentas%
\or setecentas%
\or oitocentas%
\or novecentas%
\fi
}%
\global\let\@@hundredstringFportuges\@@hundredstringFportuges
\newcommand\@@Unitstringportuges[1]{%
\ifcase#1\relax
Zero%
\or Um%
\or Dois%
\or Tr\^es%
\or Quatro%
\or Cinco%
\or Seis%
\or Sete%
\or Oito%
\or Nove%
\fi
}%
\global\let\@@Unitstringportuges\@@Unitstringportuges
\newcommand\@@UnitstringFportuges[1]{%
\ifcase#1\relax
Zera%
\or Uma%
\or Duas%
\or Tr\^es%
\or Quatro%
\or Cinco%
\or Seis%
\or Sete%
\or Oito%
\or Nove%
\fi
}%
\global\let\@@UnitstringFportuges\@@UnitstringFportuges
\newcommand\@@Tenstringportuges[1]{%
\ifcase#1\relax
\or Dez%
\or Vinte%
\or Trinta%
\or Quarenta%
\or Cinq\"uenta%
\or Sessenta%
\or Setenta%
\or Oitenta%
\or Noventa%
\or Cem%
\fi
}%
\global\let\@@Tenstringportuges\@@Tenstringportuges
\newcommand\@@Teenstringportuges[1]{%
\ifcase#1\relax
Dez%
\or Onze%
\or Doze%
\or Treze%
\or Quatorze%
\or Quinze%
\or Dezesseis%
\or Dezessete%
\or Dezoito%
\or Dezenove%
\fi
}%
\global\let\@@Teenstringportuges\@@Teenstringportuges
\newcommand\@@Hundredstringportuges[1]{%
\ifcase#1\relax
\or Cento%
\or Duzentos%
\or Trezentos%
\or Quatrocentos%
\or Quinhentos%
\or Seiscentos%
\or Setecentos%
\or Oitocentos%
\or Novecentos%
\fi
}%
\global\let\@@Hundredstringportuges\@@Hundredstringportuges
\newcommand\@@HundredstringFportuges[1]{%
\ifcase#1\relax
\or Cento%
\or Duzentas%
\or Trezentas%
\or Quatrocentas%
\or Quinhentas%
\or Seiscentas%
\or Setecentas%
\or Oitocentas%
\or Novecentas%
\fi
}%
\global\let\@@HundredstringFportuges\@@HundredstringFportuges
\newcommand{\@numberstringMportuges}[2]{%
\let\@unitstring=\@@unitstringportuges
\let\@teenstring=\@@teenstringportuges
\let\@tenstring=\@@tenstringportuges
\let\@hundredstring=\@@hundredstringportuges
\def\@hundred{cem}\def\@thousand{mil}%
\def\@andname{e}%
\@@numberstringportuges{#1}{#2}%
}%
\global\let\@numberstringMportuges\@numberstringMportuges
\newcommand{\@numberstringFportuges}[2]{%
\let\@unitstring=\@@unitstringFportuges
\let\@teenstring=\@@teenstringportuges
\let\@tenstring=\@@tenstringportuges
\let\@hundredstring=\@@hundredstringFportuges
\def\@hundred{cem}\def\@thousand{mil}%
\def\@andname{e}%
\@@numberstringportuges{#1}{#2}%
}%
\global\let\@numberstringFportuges\@numberstringFportuges
\global\let\@numberstringNportuges\@numberstringMportuges
\newcommand{\@NumberstringMportuges}[2]{%
\let\@unitstring=\@@Unitstringportuges
\let\@teenstring=\@@Teenstringportuges
\let\@tenstring=\@@Tenstringportuges
\let\@hundredstring=\@@Hundredstringportuges
\def\@hundred{Cem}\def\@thousand{Mil}%
\def\@andname{e}%
\@@numberstringportuges{#1}{#2}%
}%
\global\let\@NumberstringMportuges\@NumberstringMportuges
\newcommand{\@NumberstringFportuges}[2]{%
\let\@unitstring=\@@UnitstringFportuges
\let\@teenstring=\@@Teenstringportuges
\let\@tenstring=\@@Tenstringportuges
\let\@hundredstring=\@@HundredstringFportuges
\def\@hundred{Cem}\def\@thousand{Mil}%
\def\@andname{e}%
\@@numberstringportuges{#1}{#2}%
}%
\global\let\@NumberstringFportuges\@NumberstringFportuges
\global\let\@NumberstringNportuges\@NumberstringMportuges
\newcommand{\@ordinalstringMportuges}[2]{%
\let\@unitthstring=\@@unitthstringportuges
\let\@unitstring=\@@unitstringportuges
\let\@teenthstring=\@@teenthstringportuges
\let\@tenthstring=\@@tenthstringportuges
\let\@hundredthstring=\@@hundredthstringportuges
\def\@thousandth{mil\'esimo}%
\@@ordinalstringportuges{#1}{#2}%
}%
\global\let\@ordinalstringMportuges\@ordinalstringMportuges
\newcommand{\@ordinalstringFportuges}[2]{%
\let\@unitthstring=\@@unitthstringFportuges
\let\@unitstring=\@@unitstringFportuges
\let\@teenthstring=\@@teenthstringportuges
\let\@tenthstring=\@@tenthstringFportuges
\let\@hundredthstring=\@@hundredthstringFportuges
\def\@thousandth{mil\'esima}%
\@@ordinalstringportuges{#1}{#2}%
}%
\global\let\@ordinalstringFportuges\@ordinalstringFportuges
\global\let\@ordinalstringNportuges\@ordinalstringMportuges
\newcommand{\@OrdinalstringMportuges}[2]{%
\let\@unitthstring=\@@Unitthstringportuges
\let\@unitstring=\@@Unitstringportuges
\let\@teenthstring=\@@teenthstringportuges
\let\@tenthstring=\@@Tenthstringportuges
\let\@hundredthstring=\@@Hundredthstringportuges
\def\@thousandth{Mil\'esimo}%
\@@ordinalstringportuges{#1}{#2}%
}%
\global\let\@OrdinalstringMportuges\@OrdinalstringMportuges
\newcommand{\@OrdinalstringFportuges}[2]{%
\let\@unitthstring=\@@UnitthstringFportuges
\let\@unitstring=\@@UnitstringFportuges
\let\@teenthstring=\@@teenthstringportuges
\let\@tenthstring=\@@TenthstringFportuges
\let\@hundredthstring=\@@HundredthstringFportuges
\def\@thousandth{Mil\'esima}%
\@@ordinalstringportuges{#1}{#2}%
}%
\global\let\@OrdinalstringFportuges\@OrdinalstringFportuges
\global\let\@OrdinalstringNportuges\@OrdinalstringMportuges
\newcommand\@@unitthstringportuges[1]{%
\ifcase#1\relax
zero%
\or primeiro%
\or segundo%
\or terceiro%
\or quarto%
\or quinto%
\or sexto%
\or s\'etimo%
\or oitavo%
\or nono%
\fi
}%
\global\let\@@unitthstringportuges\@@unitthstringportuges
\newcommand\@@tenthstringportuges[1]{%
\ifcase#1\relax
\or d\'ecimo%
\or vig\'esimo%
\or trig\'esimo%
\or quadrag\'esimo%
\or q\"uinquag\'esimo%
\or sexag\'esimo%
\or setuag\'esimo%
\or octog\'esimo%
\or nonag\'esimo%
\fi
}%
\global\let\@@tenthstringportuges\@@tenthstringportuges
\newcommand\@@teenthstringportuges[1]{%
\@tenthstring{1}%
\ifnum#1>0\relax
-\@unitthstring{#1}%
\fi
}%
\global\let\@@teenthstringportuges\@@teenthstringportuges
\newcommand\@@hundredthstringportuges[1]{%
\ifcase#1\relax
\or cent\'esimo%
\or ducent\'esimo%
\or trecent\'esimo%
\or quadringent\'esimo%
\or q\"uingent\'esimo%
\or seiscent\'esimo%
\or setingent\'esimo%
\or octingent\'esimo%
\or nongent\'esimo%
\fi
}%
\global\let\@@hundredthstringportuges\@@hundredthstringportuges
\newcommand\@@unitthstringFportuges[1]{%
\ifcase#1\relax
zero%
\or primeira%
\or segunda%
\or terceira%
\or quarta%
\or quinta%
\or sexta%
\or s\'etima%
\or oitava%
\or nona%
\fi
}%
\global\let\@@unitthstringFportuges\@@unitthstringFportuges
\newcommand\@@tenthstringFportuges[1]{%
\ifcase#1\relax
\or d\'ecima%
\or vig\'esima%
\or trig\'esima%
\or quadrag\'esima%
\or q\"uinquag\'esima%
\or sexag\'esima%
\or setuag\'esima%
\or octog\'esima%
\or nonag\'esima%
\fi
}%
\global\let\@@tenthstringFportuges\@@tenthstringFportuges
\newcommand\@@hundredthstringFportuges[1]{%
\ifcase#1\relax
\or cent\'esima%
\or ducent\'esima%
\or trecent\'esima%
\or quadringent\'esima%
\or q\"uingent\'esima%
\or seiscent\'esima%
\or setingent\'esima%
\or octingent\'esima%
\or nongent\'esima%
\fi
}%
\global\let\@@hundredthstringFportuges\@@hundredthstringFportuges
\newcommand\@@Unitthstringportuges[1]{%
\ifcase#1\relax
Zero%
\or Primeiro%
\or Segundo%
\or Terceiro%
\or Quarto%
\or Quinto%
\or Sexto%
\or S\'etimo%
\or Oitavo%
\or Nono%
\fi
}%
\global\let\@@Unitthstringportuges\@@Unitthstringportuges
\newcommand\@@Tenthstringportuges[1]{%
\ifcase#1\relax
\or D\'ecimo%
\or Vig\'esimo%
\or Trig\'esimo%
\or Quadrag\'esimo%
\or Q\"uinquag\'esimo%
\or Sexag\'esimo%
\or Setuag\'esimo%
\or Octog\'esimo%
\or Nonag\'esimo%
\fi
}%
\global\let\@@Tenthstringportuges\@@Tenthstringportuges
\newcommand\@@Hundredthstringportuges[1]{%
\ifcase#1\relax
\or Cent\'esimo%
\or Ducent\'esimo%
\or Trecent\'esimo%
\or Quadringent\'esimo%
\or Q\"uingent\'esimo%
\or Seiscent\'esimo%
\or Setingent\'esimo%
\or Octingent\'esimo%
\or Nongent\'esimo%
\fi
}%
\global\let\@@Hundredthstringportuges\@@Hundredthstringportuges
\newcommand\@@UnitthstringFportuges[1]{%
\ifcase#1\relax
Zera%
\or Primeira%
\or Segunda%
\or Terceira%
\or Quarta%
\or Quinta%
\or Sexta%
\or S\'etima%
\or Oitava%
\or Nona%
\fi
}%
\global\let\@@UnitthstringFportuges\@@UnitthstringFportuges
\newcommand\@@TenthstringFportuges[1]{%
\ifcase#1\relax
\or D\'ecima%
\or Vig\'esima%
\or Trig\'esima%
\or Quadrag\'esima%
\or Q\"uinquag\'esima%
\or Sexag\'esima%
\or Setuag\'esima%
\or Octog\'esima%
\or Nonag\'esima%
\fi
}%
\global\let\@@TenthstringFportuges\@@TenthstringFportuges
\newcommand\@@HundredthstringFportuges[1]{%
\ifcase#1\relax
\or Cent\'esima%
\or Ducent\'esima%
\or Trecent\'esima%
\or Quadringent\'esima%
\or Q\"uingent\'esima%
\or Seiscent\'esima%
\or Setingent\'esima%
\or Octingent\'esima%
\or Nongent\'esima%
\fi
}%
\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\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\relax
\divide\@strctr by 10\relax
\ifnum\@strctr>1\relax
\let\@@fc@numstr#2\relax
\protected@edef#2{\@@fc@numstr\@tenstring{\@strctr}}%
\@strctr=#1 \divide\@strctr by 1000\relax
\@FCmodulo{\@strctr}{10}%
\ifnum\@strctr>0
\ifnum\@strctr=1\relax
\let\@@fc@numstr#2\relax
\protected@edef#2{\@@fc@numstr\ \@andname}%
\fi
\let\@@fc@numstr#2\relax
\protected@edef#2{\@@fc@numstr\ \@unitstring{\@strctr}}%
\fi
\else
\@strctr=#1\relax
\divide\@strctr by 1000\relax
\@FCmodulo{\@strctr}{10}%
\let\@@fc@numstr#2\relax
\protected@edef#2{\@@fc@numstr\@teenstring{\@strctr}}%
\fi
\let\@@fc@numstr#2\relax
\protected@edef#2{\@@fc@numstr\ \@thousand}%
\else
\ifnum\@strctr>0\relax
\ifnum\@strctr>1\relax
\let\@@fc@numstr#2\relax
\protected@edef#2{\@@fc@numstr\@unitstring{\@strctr}\ }%
\fi
\let\@@fc@numstr#2\relax
\protected@edef#2{\@@fc@numstr\@thousand}%
\fi
\fi
\@strctr=#1\relax \@FCmodulo{\@strctr}{1000}%
\divide\@strctr by 100\relax
\ifnum\@strctr>0\relax
\ifnum#1>1000 \relax
\let\@@fc@numstr#2\relax
\protected@edef#2{\@@fc@numstr\ }%
\fi
\@tmpstrctr=#1\relax
\@FCmodulo{\@tmpstrctr}{1000}%
\let\@@fc@numstr#2\relax
\ifnum\@tmpstrctr=100\relax
\protected@edef#2{\@@fc@numstr\@tenstring{10}}%
\else
\protected@edef#2{\@@fc@numstr\@hundredstring{\@strctr}}%
\fi%
\fi
\@strctr=#1\relax \@FCmodulo{\@strctr}{100}%
\ifnum#1>100\relax
\ifnum\@strctr>0\relax
\let\@@fc@numstr#2\relax
\protected@edef#2{\@@fc@numstr\ \@andname\ }%
\fi
\fi
\ifnum\@strctr>19\relax
\divide\@strctr by 10\relax
\let\@@fc@numstr#2\relax
\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
\protected@edef#2{\@@fc@numstr\ \@andname}%
\else
\ifnum#1>100\relax
\let\@@fc@numstr#2\relax
\protected@edef#2{\@@fc@numstr\ \@andname}%
\fi
\fi
\let\@@fc@numstr#2\relax
\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
\protected@edef#2{\@@fc@numstr\@unitstring{\@strctr}}%
\fi
\else %(>0,<10)
\let\@@fc@numstr#2\relax
\protected@edef#2{\@@fc@numstr\@unitstring{\@strctr}}%
\fi
\else%>10
\@FCmodulo{\@strctr}{10}%
\let\@@fc@numstr#2\relax
\protected@edef#2{\@@fc@numstr\@teenstring{\@strctr}}%
\fi
\fi
}%
\global\let\@@numberstringportuges\@@numberstringportuges
\newcommand*\@@ordinalstringportuges[2]{%
\@strctr=#1\relax
\ifnum#1>99999
\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}%
\else
\def#2{}%
\ifnum\@strctr>999\relax
\divide\@strctr by 1000\relax
\ifnum\@strctr>1\relax
\ifnum\@strctr>9\relax
\@tmpstrctr=\@strctr
\ifnum\@strctr<20
\@FCmodulo{\@tmpstrctr}{10}%
\let\@@fc@ordstr#2\relax
\protected@edef#2{\@@fc@ordstr\@teenthstring{\@tmpstrctr}}%
\else
\divide\@tmpstrctr by 10\relax
\let\@@fc@ordstr#2\relax
\protected@edef#2{\@@fc@ordstr\@tenthstring{\@tmpstrctr}}%
\@tmpstrctr=\@strctr
\@FCmodulo{\@tmpstrctr}{10}%
\ifnum\@tmpstrctr>0\relax
\let\@@fc@ordstr#2\relax
\protected@edef#2{\@@fc@ordstr\@unitthstring{\@tmpstrctr}}%
\fi
\fi
\else
\let\@@fc@ordstr#2\relax
\protected@edef#2{\@@fc@ordstr\@unitstring{\@strctr}}%
\fi
\fi
\let\@@fc@ordstr#2\relax
\protected@edef#2{\@@fc@ordstr\@thousandth}%
\fi
\@strctr=#1\relax
\@FCmodulo{\@strctr}{1000}%
\ifnum\@strctr>99\relax
\@tmpstrctr=\@strctr
\divide\@tmpstrctr by 100\relax
\ifnum#1>1000\relax
\let\@@fc@ordstr#2\relax
\protected@edef#2{\@@fc@ordstr-}%
\fi
\let\@@fc@ordstr#2\relax
\protected@edef#2{\@@fc@ordstr\@hundredthstring{\@tmpstrctr}}%
\fi
\@FCmodulo{\@strctr}{100}%
\ifnum#1>99\relax
\ifnum\@strctr>0\relax
\let\@@fc@ordstr#2\relax
\protected@edef#2{\@@fc@ordstr-}%
\fi
\fi
\ifnum\@strctr>9\relax
\@tmpstrctr=\@strctr
\divide\@tmpstrctr by 10\relax
\let\@@fc@ordstr#2\relax
\protected@edef#2{\@@fc@ordstr\@tenthstring{\@tmpstrctr}}%
\@tmpstrctr=\@strctr
\@FCmodulo{\@tmpstrctr}{10}%
\ifnum\@tmpstrctr>0\relax
\let\@@fc@ordstr#2\relax
\protected@edef#2{\@@fc@ordstr-\@unitthstring{\@tmpstrctr}}%
\fi
\else
\ifnum\@strctr=0\relax
\ifnum#1=0\relax
\let\@@fc@ordstr#2\relax
\protected@edef#2{\@@fc@ordstr\@unitstring{0}}%
\fi
\else
\let\@@fc@ordstr#2\relax
\protected@edef#2{\@@fc@ordstr\@unitthstring{\@strctr}}%
\fi
\fi
\fi
\fi
}%
\global\let\@@ordinalstringportuges\@@ordinalstringportuges
\iffalse Local variables: \fi
\iffalse mode: docTeX \fi
\iffalse End: \fi
\endinput
%%
%% End of file `fc-portuges.def'.
%%
%% 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 2017 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 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, fcnumparser.sty, fcprefix.sty, fmtcount.sty. %% %% \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}
%% Local Variables:
%% coding: utf-8
%% End:
\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'.
I commited the changes, and delivered to CTAN. It will be public on the CTAN repo within a few days, but that will take a little more time before MikTeX package repo is updated also.
Next time such an issue won't happen, as now by default the styfiles used for the non-regression test are exactly the same as those you get by installing the package.
Thank you Vincent for your quick reply. 👍
I'm on a MacOS Sierra and installed da MacTex 2017 version with homebrew. This did not happened with the 2016.
The file/line which triggers this error is:
/usr/local/texlive/2017/texmf-dist/tex/latex/fmtcount/fc-portugues.def:248
.The content is:
\cs{newcommand*} as robustness is handled now at top level in %
I
grep
this file it the only case which 'newcommand' is surrounded by curly parenthesis.EDIT: On a Linux environment with texlive-full package this does not happen for the same latex project.
Thanks for any help you can give. 👍