vincentb1 / fmtcount

Source for LaTeX fmtcount package
11 stars 5 forks source link

\ORDINALstringnum does not work in Italian #14

Open vincentb1 opened 9 years ago

vincentb1 commented 9 years ago

Whatever the number in argument, it outputs NOVANTADUESIMO. For instance

\ORDINALstringnum{10}

will output NOVANTADUESIMO.

Strangely \ORDINALstringnum has another behaviour within a \multido, so

\multido{\i=10+1}{1}{\expandafter\ORDINALstringnum\expandafter{\i}}

will output PRIMO --- however, it seems that this depends on some hidden context.

My feeling is that there is some border effect on to some context macros behind the scene, and what the outcome is depends on this context.

vincentb1 commented 9 years ago

Here is an ECM:

\documentclass{article}
\usepackage[italian]{babel}
\usepackage{fmtcount}
\usepackage{multido}
\begin{document}
\section{Basic tests}
\ORDINALstringnum{1}, \def\toto{1}\expandafter\ORDINALstringnum\expandafter{\toto}
\section{With multidoing}
\noindent\multido{\i=1+1}{100}{\i$\Rightarrow$\expandafter\ORDINALstringnum\expandafter{\i}%
\newline}
\section{With direct values}
\noindent1$\Rightarrow$\ORDINALstringnum{1}\newline
2$\Rightarrow$\ORDINALstringnum{2}\newline
3$\Rightarrow$\ORDINALstringnum{3}\newline
4$\Rightarrow$\ORDINALstringnum{4}\newline
5$\Rightarrow$\ORDINALstringnum{5}\newline
6$\Rightarrow$\ORDINALstringnum{6}\newline
7$\Rightarrow$\ORDINALstringnum{7}\newline
8$\Rightarrow$\ORDINALstringnum{8}\newline
9$\Rightarrow$\ORDINALstringnum{9}\newline
10$\Rightarrow$\ORDINALstringnum{10}\newline
11$\Rightarrow$\ORDINALstringnum{11}\newline
12$\Rightarrow$\ORDINALstringnum{12}\newline
13$\Rightarrow$\ORDINALstringnum{13}\newline
14$\Rightarrow$\ORDINALstringnum{14}\newline
15$\Rightarrow$\ORDINALstringnum{15}\newline
16$\Rightarrow$\ORDINALstringnum{16}\newline
17$\Rightarrow$\ORDINALstringnum{17}\newline
18$\Rightarrow$\ORDINALstringnum{18}\newline
19$\Rightarrow$\ORDINALstringnum{19}\newline
20$\Rightarrow$\ORDINALstringnum{20}\newline
21$\Rightarrow$\ORDINALstringnum{21}\newline
22$\Rightarrow$\ORDINALstringnum{22}\newline
23$\Rightarrow$\ORDINALstringnum{23}\newline
24$\Rightarrow$\ORDINALstringnum{24}\newline
25$\Rightarrow$\ORDINALstringnum{25}\newline
26$\Rightarrow$\ORDINALstringnum{26}\newline
27$\Rightarrow$\ORDINALstringnum{27}\newline
28$\Rightarrow$\ORDINALstringnum{28}\newline
29$\Rightarrow$\ORDINALstringnum{29}\newline
30$\Rightarrow$\ORDINALstringnum{30}\newline
31$\Rightarrow$\ORDINALstringnum{31}\newline
32$\Rightarrow$\ORDINALstringnum{32}\newline
33$\Rightarrow$\ORDINALstringnum{33}\newline
34$\Rightarrow$\ORDINALstringnum{34}\newline
35$\Rightarrow$\ORDINALstringnum{35}\newline
36$\Rightarrow$\ORDINALstringnum{36}\newline
37$\Rightarrow$\ORDINALstringnum{37}\newline
38$\Rightarrow$\ORDINALstringnum{38}\newline
39$\Rightarrow$\ORDINALstringnum{39}\newline
40$\Rightarrow$\ORDINALstringnum{40}\newline
41$\Rightarrow$\ORDINALstringnum{41}\newline
42$\Rightarrow$\ORDINALstringnum{42}\newline
43$\Rightarrow$\ORDINALstringnum{43}\newline
44$\Rightarrow$\ORDINALstringnum{44}\newline
45$\Rightarrow$\ORDINALstringnum{45}\newline
46$\Rightarrow$\ORDINALstringnum{46}\newline
47$\Rightarrow$\ORDINALstringnum{47}\newline
48$\Rightarrow$\ORDINALstringnum{48}\newline
49$\Rightarrow$\ORDINALstringnum{49}\newline
50$\Rightarrow$\ORDINALstringnum{50}\newline
51$\Rightarrow$\ORDINALstringnum{51}\newline
52$\Rightarrow$\ORDINALstringnum{52}\newline
53$\Rightarrow$\ORDINALstringnum{53}\newline
54$\Rightarrow$\ORDINALstringnum{54}\newline
55$\Rightarrow$\ORDINALstringnum{55}\newline
56$\Rightarrow$\ORDINALstringnum{56}\newline
57$\Rightarrow$\ORDINALstringnum{57}\newline
58$\Rightarrow$\ORDINALstringnum{58}\newline
59$\Rightarrow$\ORDINALstringnum{59}\newline
60$\Rightarrow$\ORDINALstringnum{60}\newline
61$\Rightarrow$\ORDINALstringnum{61}\newline
62$\Rightarrow$\ORDINALstringnum{62}\newline
63$\Rightarrow$\ORDINALstringnum{63}\newline
64$\Rightarrow$\ORDINALstringnum{64}\newline
65$\Rightarrow$\ORDINALstringnum{65}\newline
66$\Rightarrow$\ORDINALstringnum{66}\newline
67$\Rightarrow$\ORDINALstringnum{67}\newline
68$\Rightarrow$\ORDINALstringnum{68}\newline
69$\Rightarrow$\ORDINALstringnum{69}\newline
70$\Rightarrow$\ORDINALstringnum{70}\newline
71$\Rightarrow$\ORDINALstringnum{71}\newline
72$\Rightarrow$\ORDINALstringnum{72}\newline
73$\Rightarrow$\ORDINALstringnum{73}\newline
74$\Rightarrow$\ORDINALstringnum{74}\newline
75$\Rightarrow$\ORDINALstringnum{75}\newline
76$\Rightarrow$\ORDINALstringnum{76}\newline
77$\Rightarrow$\ORDINALstringnum{77}\newline
78$\Rightarrow$\ORDINALstringnum{78}\newline
79$\Rightarrow$\ORDINALstringnum{79}\newline
80$\Rightarrow$\ORDINALstringnum{80}\newline
81$\Rightarrow$\ORDINALstringnum{81}\newline
82$\Rightarrow$\ORDINALstringnum{82}\newline
83$\Rightarrow$\ORDINALstringnum{83}\newline
84$\Rightarrow$\ORDINALstringnum{84}\newline
85$\Rightarrow$\ORDINALstringnum{85}\newline
86$\Rightarrow$\ORDINALstringnum{86}\newline
87$\Rightarrow$\ORDINALstringnum{87}\newline
88$\Rightarrow$\ORDINALstringnum{88}\newline
89$\Rightarrow$\ORDINALstringnum{89}\newline
90$\Rightarrow$\ORDINALstringnum{90}\newline
91$\Rightarrow$\ORDINALstringnum{91}\newline
92$\Rightarrow$\ORDINALstringnum{92}\newline
93$\Rightarrow$\ORDINALstringnum{93}\newline
94$\Rightarrow$\ORDINALstringnum{94}\newline
95$\Rightarrow$\ORDINALstringnum{95}\newline
96$\Rightarrow$\ORDINALstringnum{96}\newline
97$\Rightarrow$\ORDINALstringnum{97}\newline
98$\Rightarrow$\ORDINALstringnum{98}\newline
99$\Rightarrow$\ORDINALstringnum{99}\newline
100$\Rightarrow$\ORDINALstringnum{100}\newline
\end{document}
vincentb1 commented 9 years ago

Here is the output of the exemple code in my previous comment.

ecm-0 ecm-1 ecm-2 ecm-3 ecm-4

vincentb1 commented 9 years ago

Please note that with \multido-ing it looks like working if we start from 1, however a code like:

\noindent\multido{\i=10+1}{1}{\i$\Rightarrow$\expandafter\ORDINALstringnum\expandafter{\i}%
\newline}

would output 10⇒PRIMO instead of 10⇒DECIMO.