%% %% 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 2013 Nicola Talbot and Vincent Belaïche %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 %% 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-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{portuges}[2013/08/17]% \gdef\@ordinalMportuges#1#2{% \ifnum#1=0\relax \edef#2{\number#1}% \else \edef#2{\number#1\relax\noexpand\fmtord{o}}% \fi }% \gdef\@ordinalFportuges#1#2{% \ifnum#1=0\relax \edef#2{\number#1}% \else \edef#2{\number#1\relax\noexpand\fmtord{a}}% \fi }% \global\let\@ordinalNportuges\@ordinalMportuges \gdef\@@unitstringportuges#1#2{% \ifcase#1\relax zero% \or um% \or dois% \or tr\^es% \or quatro% \or cinco% \or seis% \or sete% \or oito% \or nove% \fi }% \gdef\@@unitstringFportuges#1{% \ifcase#1\relax zero% \or uma% \or duas% \or tr\^es% \or quatro% \or cinco% \or seis% \or sete% \or oito% \or nove% \fi }% \gdef\@@tenstringportuges#1{% \ifcase#1\relax \or dez% \or vinte% \or trinta% \or quarenta% \or cinq\"uenta% \or sessenta% \or setenta% \or oitenta% \or noventa% \or cem% \fi }% \gdef\@@teenstringportuges#1{% \ifcase#1\relax dez% \or onze% \or doze% \or treze% \or quatorze% \or quinze% \or dezesseis% \or dezessete% \or dezoito% \or dezenove% \fi }% \gdef\@@hundredstringportuges#1{% \ifcase#1\relax \or cento% \or duzentos% \or trezentos% \or quatrocentos% \or quinhentos% \or seiscentos% \or setecentos% \or oitocentos% \or novecentos% \fi }% \gdef\@@hundredstringFportuges#1{% \ifcase#1\relax \or cento% \or duzentas% \or trezentas% \or quatrocentas% \or quinhentas% \or seiscentas% \or setecentas% \or oitocentas% \or novecentas% \fi }% \gdef\@@Unitstringportuges#1{% \ifcase#1\relax Zero% \or Um% \or Dois% \or Tr\^es% \or Quatro% \or Cinco% \or Seis% \or Sete% \or Oito% \or Nove% \fi }% \gdef\@@UnitstringFportuges#1{% \ifcase#1\relax Zera% \or Uma% \or Duas% \or Tr\^es% \or Quatro% \or Cinco% \or Seis% \or Sete% \or Oito% \or Nove% \fi }% \gdef\@@Tenstringportuges#1{% \ifcase#1\relax \or Dez% \or Vinte% \or Trinta% \or Quarenta% \or Cinq\"uenta% \or Sessenta% \or Setenta% \or Oitenta% \or Noventa% \or Cem% \fi }% \gdef\@@Teenstringportuges#1{% \ifcase#1\relax Dez% \or Onze% \or Doze% \or Treze% \or Quatorze% \or Quinze% \or Dezesseis% \or Dezessete% \or Dezoito% \or Dezenove% \fi }% \gdef\@@Hundredstringportuges#1{% \ifcase#1\relax \or Cento% \or Duzentos% \or Trezentos% \or Quatrocentos% \or Quinhentos% \or Seiscentos% \or Setecentos% \or Oitocentos% \or Novecentos% \fi }% \gdef\@@HundredstringFportuges#1{% \ifcase#1\relax \or Cento% \or Duzentas% \or Trezentas% \or Quatrocentas% \or Quinhentas% \or Seiscentas% \or Setecentas% \or Oitocentas% \or Novecentas% \fi }% \DeclareRobustCommand{\@numberstringMportuges}[2]{% \let\@unitstring=\@@unitstringportuges \let\@teenstring=\@@teenstringportuges \let\@tenstring=\@@tenstringportuges \let\@hundredstring=\@@hundredstringportuges \def\@hundred{cem}\def\@thousand{mil}% \def\@andname{e}% \@@numberstringportuges{#1}{#2}% }% \global\let\@numberstringMportuges\@numberstringMportuges \DeclareRobustCommand{\@numberstringFportuges}[2]{% \let\@unitstring=\@@unitstringFportuges \let\@teenstring=\@@teenstringportuges \let\@tenstring=\@@tenstringportuges \let\@hundredstring=\@@hundredstringFportuges \def\@hundred{cem}\def\@thousand{mil}% \def\@andname{e}% \@@numberstringportuges{#1}{#2}% }% \global\let\@numberstringFportuges\@numberstringFportuges \global\let\@numberstringNportuges\@numberstringMportuges \DeclareRobustCommand{\@NumberstringMportuges}[2]{% \let\@unitstring=\@@Unitstringportuges \let\@teenstring=\@@Teenstringportuges \let\@tenstring=\@@Tenstringportuges \let\@hundredstring=\@@Hundredstringportuges \def\@hundred{Cem}\def\@thousand{Mil}% \def\@andname{e}% \@@numberstringportuges{#1}{#2}% }% \global\let\@NumberstringMportuges\@NumberstringMportuges \DeclareRobustCommand{\@NumberstringFportuges}[2]{% \let\@unitstring=\@@UnitstringFportuges \let\@teenstring=\@@Teenstringportuges \let\@tenstring=\@@Tenstringportuges \let\@hundredstring=\@@HundredstringFportuges \def\@hundred{Cem}\def\@thousand{Mil}% \def\@andname{e}% \@@numberstringportuges{#1}{#2}% }% \global\let\@NumberstringFportuges\@NumberstringFportuges \global\let\@NumberstringNportuges\@NumberstringMportuges \DeclareRobustCommand{\@ordinalstringMportuges}[2]{% \let\@unitthstring=\@@unitthstringportuges \let\@unitstring=\@@unitstringportuges \let\@teenthstring=\@@teenthstringportuges \let\@tenthstring=\@@tenthstringportuges \let\@hundredthstring=\@@hundredthstringportuges \def\@thousandth{mil\'esimo}% \@@ordinalstringportuges{#1}{#2}% }% \global\let\@ordinalstringMportuges\@ordinalstringMportuges \DeclareRobustCommand{\@ordinalstringFportuges}[2]{% \let\@unitthstring=\@@unitthstringFportuges \let\@unitstring=\@@unitstringFportuges \let\@teenthstring=\@@teenthstringportuges \let\@tenthstring=\@@tenthstringFportuges \let\@hundredthstring=\@@hundredthstringFportuges \def\@thousandth{mil\'esima}% \@@ordinalstringportuges{#1}{#2}% }% \global\let\@ordinalstringFportuges\@ordinalstringFportuges \global\let\@ordinalstringNportuges\@ordinalstringMportuges \DeclareRobustCommand{\@OrdinalstringMportuges}[2]{% \let\@unitthstring=\@@Unitthstringportuges \let\@unitstring=\@@Unitstringportuges \let\@teenthstring=\@@teenthstringportuges \let\@tenthstring=\@@Tenthstringportuges \let\@hundredthstring=\@@Hundredthstringportuges \def\@thousandth{Mil\'esimo}% \@@ordinalstringportuges{#1}{#2}% }% \global\let\@OrdinalstringMportuges\@OrdinalstringMportuges \DeclareRobustCommand{\@OrdinalstringFportuges}[2]{% \let\@unitthstring=\@@UnitthstringFportuges \let\@unitstring=\@@UnitstringFportuges \let\@teenthstring=\@@teenthstringportuges \let\@tenthstring=\@@TenthstringFportuges \let\@hundredthstring=\@@HundredthstringFportuges \def\@thousandth{Mil\'esima}% \@@ordinalstringportuges{#1}{#2}% }% \global\let\@OrdinalstringFportuges\@OrdinalstringFportuges \global\let\@OrdinalstringNportuges\@OrdinalstringMportuges \gdef\@@unitthstringportuges#1{% \ifcase#1\relax zero% \or primeiro% \or segundo% \or terceiro% \or quarto% \or quinto% \or sexto% \or s\'etimo% \or oitavo% \or nono% \fi }% \gdef\@@tenthstringportuges#1{% \ifcase#1\relax \or d\'ecimo% \or vig\'esimo% \or trig\'esimo% \or quadrag\'esimo% \or q\"uinquag\'esimo% \or sexag\'esimo% \or setuag\'esimo% \or octog\'esimo% \or nonag\'esimo% \fi }% \gdef\@@teenthstringportuges#1{% \@tenthstring{1}% \ifnum#1>0\relax -\@unitthstring{#1}% \fi }% \gdef\@@hundredthstringportuges#1{% \ifcase#1\relax \or cent\'esimo% \or ducent\'esimo% \or trecent\'esimo% \or quadringent\'esimo% \or q\"uingent\'esimo% \or seiscent\'esimo% \or setingent\'esimo% \or octingent\'esimo% \or nongent\'esimo% \fi }% \gdef\@@unitthstringFportuges#1{% \ifcase#1\relax zero% \or primeira% \or segunda% \or terceira% \or quarta% \or quinta% \or sexta% \or s\'etima% \or oitava% \or nona% \fi }% \gdef\@@tenthstringFportuges#1{% \ifcase#1\relax \or d\'ecima% \or vig\'esima% \or trig\'esima% \or quadrag\'esima% \or q\"uinquag\'esima% \or sexag\'esima% \or setuag\'esima% \or octog\'esima% \or nonag\'esima% \fi }% \gdef\@@hundredthstringFportuges#1{% \ifcase#1\relax \or cent\'esima% \or ducent\'esima% \or trecent\'esima% \or quadringent\'esima% \or q\"uingent\'esima% \or seiscent\'esima% \or setingent\'esima% \or octingent\'esima% \or nongent\'esima% \fi }% \gdef\@@Unitthstringportuges#1{% \ifcase#1\relax Zero% \or Primeiro% \or Segundo% \or Terceiro% \or Quarto% \or Quinto% \or Sexto% \or S\'etimo% \or Oitavo% \or Nono% \fi }% \gdef\@@Tenthstringportuges#1{% \ifcase#1\relax \or D\'ecimo% \or Vig\'esimo% \or Trig\'esimo% \or Quadrag\'esimo% \or Q\"uinquag\'esimo% \or Sexag\'esimo% \or Setuag\'esimo% \or Octog\'esimo% \or Nonag\'esimo% \fi }% \gdef\@@Hundredthstringportuges#1{% \ifcase#1\relax \or Cent\'esimo% \or Ducent\'esimo% \or Trecent\'esimo% \or Quadringent\'esimo% \or Q\"uingent\'esimo% \or Seiscent\'esimo% \or Setingent\'esimo% \or Octingent\'esimo% \or Nongent\'esimo% \fi }% \gdef\@@UnitthstringFportuges#1{% \ifcase#1\relax Zera% \or Primeira% \or Segunda% \or Terceira% \or Quarta% \or Quinta% \or Sexta% \or S\'etima% \or Oitava% \or Nona% \fi }% \gdef\@@TenthstringFportuges#1{% \ifcase#1\relax \or D\'ecima% \or Vig\'esima% \or Trig\'esima% \or Quadrag\'esima% \or Q\"uinquag\'esima% \or Sexag\'esima% \or Setuag\'esima% \or Octog\'esima% \or Nonag\'esima% \fi }% \gdef\@@HundredthstringFportuges#1{% \ifcase#1\relax \or Cent\'esima% \or Ducent\'esima% \or Trecent\'esima% \or Quadringent\'esima% \or Q\"uingent\'esima% \or Seiscent\'esima% \or Setingent\'esima% \or Octingent\'esima% \or Nongent\'esima% \fi }% \gdef\@@numberstringportuges#1#2{% \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}% \fi \fi \def#2{}% \@strctr=#1\relax \divide\@strctr by 1000\relax \ifnum\@strctr>9 \divide\@strctr by 10 \ifnum\@strctr>1\relax \let\@@fc@numstr#2\relax \edef#2{\@@fc@numstr\@tenstring{\@strctr}}% \@strctr=#1 \divide\@strctr by 1000\relax \@modulo{\@strctr}{10}% \ifnum\@strctr>0 \ifnum\@strctr=1\relax \let\@@fc@numstr#2\relax \edef#2{\@@fc@numstr\ \@andname}% \fi \let\@@fc@numstr#2\relax \edef#2{\@@fc@numstr\ \@unitstring{\@strctr}}% \fi \else \@strctr=#1\relax \divide\@strctr by 1000\relax \@modulo{\@strctr}{10}% \let\@@fc@numstr#2\relax \edef#2{\@@fc@numstr\@teenstring{\@strctr}}% \fi \let\@@fc@numstr#2\relax \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}\ }% \fi \let\@@fc@numstr#2\relax \edef#2{\@@fc@numstr\@thousand}% \fi \fi \@strctr=#1\relax \@modulo{\@strctr}{1000}% \divide\@strctr by 100\relax \ifnum\@strctr>0\relax \ifnum#1>1000 \relax \let\@@fc@numstr#2\relax \edef#2{\@@fc@numstr\ }% \fi \@tmpstrctr=#1\relax \@modulo{\@tmpstrctr}{1000}% \let\@@fc@numstr#2\relax \ifnum\@tmpstrctr=100\relax \edef#2{\@@fc@numstr\@tenstring{10}}% \else \edef#2{\@@fc@numstr\@hundredstring{\@strctr}}% \fi% \fi \@strctr=#1\relax \@modulo{\@strctr}{100}% \ifnum#1>100\relax \ifnum\@strctr>0\relax \let\@@fc@numstr#2\relax \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}% \ifnum\@strctr>0 \ifnum\@strctr=1\relax \let\@@fc@numstr#2\relax \edef#2{\@@fc@numstr\ \@andname}% \else \ifnum#1>100\relax \let\@@fc@numstr#2\relax \edef#2{\@@fc@numstr\ \@andname}% \fi \fi \let\@@fc@numstr#2\relax \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}}% \fi \else%(>0,<10) \let\@@fc@numstr#2\relax \edef#2{\@@fc@numstr\@unitstring{\@strctr}}% \fi \else%>10 \@modulo{\@strctr}{10}% \let\@@fc@numstr#2\relax \edef#2{\@@fc@numstr\@teenstring{\@strctr}}% \fi \fi }% \gdef\@@ordinalstringportuges#1#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 \@modulo{\@tmpstrctr}{10}% \let\@@fc@ordstr#2\relax \edef#2{\@@fc@ordstr\@teenthstring{\@tmpstrctr}}% \else \divide\@tmpstrctr by 10\relax \let\@@fc@ordstr#2\relax \edef#2{\@@fc@ordstr\@tenthstring{\@tmpstrctr}}% \@tmpstrctr=\@strctr \@modulo{\@tmpstrctr}{10}% \ifnum\@tmpstrctr>0\relax \let\@@fc@ordstr#2\relax \edef#2{\@@fc@ordstr\@unitthstring{\@tmpstrctr}}% \fi \fi \else \let\@@fc@ordstr#2\relax \edef#2{\@@fc@ordstr\@unitstring{\@strctr}}% \fi \fi \let\@@fc@ordstr#2\relax \edef#2{\@@fc@ordstr\@thousandth}% \fi \@strctr=#1\relax \@modulo{\@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-}% \fi \let\@@fc@ordstr#2\relax \edef#2{\@@fc@ordstr\@hundredthstring{\@tmpstrctr}}% \fi \@modulo{\@strctr}{100}% \ifnum#1>99\relax \ifnum\@strctr>0\relax \let\@@fc@ordstr#2\relax \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}}% \@tmpstrctr=\@strctr \@modulo{\@tmpstrctr}{10}% \ifnum\@tmpstrctr>0\relax \let\@@fc@ordstr#2\relax \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}}% \fi \else \let\@@fc@ordstr#2\relax \edef#2{\@@fc@ordstr\@unitthstring{\@strctr}}% \fi \fi \fi \fi }% \endinput %% %% End of file `fc-portuges.def'.