diff options
Diffstat (limited to 'Master/texmf-dist/doc/latex/fmtcount')
-rw-r--r-- | Master/texmf-dist/doc/latex/fmtcount/CHANGES | 11 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/fmtcount/README | 4 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/fmtcount/fc-lang.tex | 14 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/fmtcount/fc-samp.tex | 3 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/fmtcount/fmtcount.pdf | bin | 121492 -> 133652 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/fmtcount/fmtcount.perl | 470 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/fmtcount/manual.html | 148 |
7 files changed, 608 insertions, 42 deletions
diff --git a/Master/texmf-dist/doc/latex/fmtcount/CHANGES b/Master/texmf-dist/doc/latex/fmtcount/CHANGES index 412416bd5d7..13afa7d9565 100644 --- a/Master/texmf-dist/doc/latex/fmtcount/CHANGES +++ b/Master/texmf-dist/doc/latex/fmtcount/CHANGES @@ -1,5 +1,16 @@ fmtcount package versions: +Version 1.09: Added upper case variants \ORDINALstring etc +(\MakeUppercase{\ordinalstring{<counter>}} doesn't work because +of the way \MakeUppercase expands its argument). + +Added commands to store textual representations \storeordinalstring etc + +Version 1.08: fixed Portugues spelling mistakes (tr\`es -> tr\^es +centa -> cento) + +Version 1.07: fixed bug that causes fc-english.def to be loaded twice + Version 1.06: fixed language-related bug Version 1.05: fixed bug in \padzeroes diff --git a/Master/texmf-dist/doc/latex/fmtcount/README b/Master/texmf-dist/doc/latex/fmtcount/README index bad070ef6f2..6d2c2d426f0 100644 --- a/Master/texmf-dist/doc/latex/fmtcount/README +++ b/Master/texmf-dist/doc/latex/fmtcount/README @@ -1,6 +1,6 @@ -LaTeX Package : fmtcount v 1.06 +LaTeX Package : fmtcount v 1.09 -Last Modified : 6 January 2007 +Last Modified : 21 April 2007 Author : Nicola Talbot diff --git a/Master/texmf-dist/doc/latex/fmtcount/fc-lang.tex b/Master/texmf-dist/doc/latex/fmtcount/fc-lang.tex index 3600e0b5abd..0c81dc887fd 100644 --- a/Master/texmf-dist/doc/latex/fmtcount/fc-lang.tex +++ b/Master/texmf-dist/doc/latex/fmtcount/fc-lang.tex @@ -138,8 +138,10 @@ Current language: French (Belgium). \typeout{Which format?^^J} \typeout{[1] ordinalstring} \typeout{[2] Ordinalstring} -\typeout{[3] numberstring} -\typeout{[4] Numberstring} +\typeout{[3] ORDINALstring} +\typeout{[4] numberstring} +\typeout{[5] Numberstring} +\typeout{[6] NUMBERstring} \typein[\response]{Default: 1} @@ -147,16 +149,20 @@ Current language: French (Belgium). \ifthenelse{\equal{\response}{1}}{\myctr=1}{ \ifthenelse{\equal{\response}{2}}{\myctr=2}{ \ifthenelse{\equal{\response}{3}}{\myctr=3}{ -\ifthenelse{\equal{\response}{4}}{\myctr=4}{\myctr=-1 -\typeout{Invalid response '\response', please select a number from 1 to 4}}}}} +\ifthenelse{\equal{\response}{4}}{\myctr=4}{ +\ifthenelse{\equal{\response}{5}}{\myctr=5}{ +\ifthenelse{\equal{\response}{6}}{\myctr=6}{\myctr=-1 +\typeout{Invalid response '\response', please select a number from 1 to 4}}}}}}} \ifnum\myctr=-1 \repeat \ifcase\myctr \or\def\stringtype{ordinalstring} \or\def\stringtype{Ordinalstring} +\or\def\stringtype{ORDINALstring} \or\def\stringtype{numberstring} \or\def\stringtype{Numberstring} +\or\def\stringtype{NUMBERstring} \fi \ifnum\langid>3 diff --git a/Master/texmf-dist/doc/latex/fmtcount/fc-samp.tex b/Master/texmf-dist/doc/latex/fmtcount/fc-samp.tex index 4c5a6e47f4e..1a18321c004 100644 --- a/Master/texmf-dist/doc/latex/fmtcount/fc-samp.tex +++ b/Master/texmf-dist/doc/latex/fmtcount/fc-samp.tex @@ -120,7 +120,8 @@ numberstring Referencing a label: \ref{ex}. Passing numbers explicitly: \ordinalnum{10}, -\Numberstringnum{10}, \Ordinalstringnum{10}. +\Numberstringnum{10}, \NUMBERstringnum{10}, \Ordinalstringnum{10}, +\ORDINALstringnum{10}. \end{document} \endinput diff --git a/Master/texmf-dist/doc/latex/fmtcount/fmtcount.pdf b/Master/texmf-dist/doc/latex/fmtcount/fmtcount.pdf Binary files differindex 8f4ba512f43..64163d43156 100644 --- a/Master/texmf-dist/doc/latex/fmtcount/fmtcount.pdf +++ b/Master/texmf-dist/doc/latex/fmtcount/fmtcount.pdf diff --git a/Master/texmf-dist/doc/latex/fmtcount/fmtcount.perl b/Master/texmf-dist/doc/latex/fmtcount/fmtcount.perl index 875f41febc1..2cf6bb3a091 100644 --- a/Master/texmf-dist/doc/latex/fmtcount/fmtcount.perl +++ b/Master/texmf-dist/doc/latex/fmtcount/fmtcount.perl @@ -1,7 +1,7 @@ # File : fmtcount.perl # Author : Nicola Talbot -# Date : 3 Mar 2005 -# Version : 1.02 +# Date : 21 April 2007 +# Version : 1.04 # Description : LaTeX2HTML implementation of fmtcount package package main; @@ -171,6 +171,58 @@ sub do_cmd_ordinal{ } } +sub do_cmd_storeordinal{ + local($_) = @_; + local($key); + + $key = &missing_braces + unless ((s/$next_pair_pr_rx//o)&&($key=$2)); + + local($ctr, $val, $id, $_) = &read_counter_value($_); + local($gender)='m'; + + $_ =~ s/${OP}$id${CP}$ctr${OP}$id${CP}//; + + if ($_ =~s/\s*\[(.)\]//) + { + $gender = $1; + } + + if ($ctr eq 'DAY' or $ctr eq 'MONTH' or $ctr eq 'YEAR') + { + # this is a cludge to make it work with newdateformat + $fmtcntvar{$key} = join('', '{ORDINAL{', $ctr, '}}'); + } + else + { + $fmtcntvar{$key} = &getordinal($val, $gender); + } + + $_; +} + +sub do_cmd_storeordinalnum{ + local($_) = @_; + local($key, $val); + + $key = &missing_braces + unless ((s/$next_pair_pr_rx//o)&&($key=$2)); + + $val = &missing_braces + unless ((s/$next_pair_pr_rx//o)&&($val=$2)); + + local($gender)='m'; + + if ($_ =~s/\s*\[(.)\]//) + { + $gender = $1; + } + + $fmtcntvar{$key} = &getordinal($val, $gender); + + $_; +} + @unitthstring = ('zeroth', 'first', 'second', @@ -496,7 +548,7 @@ $thousandthnamespanish = "mil\\'esimo"; @unitstringportuges = ('zero', 'um', 'dois', - 'tr\`es', + 'tr\^es', 'quatro', 'cinco', 'seis', @@ -762,7 +814,7 @@ sub get_numberstringportuges{ { $hundreds = $hundredstringportuges[$num/100]; - if ($gender eq 'f') + if ($gender eq 'f' and $num >= 200) { $hundreds =~s/o(s?)$/a\1/; } @@ -860,6 +912,58 @@ sub do_cmd_numberstring{ } } +sub do_cmd_storenumberstring{ + local($_) = @_; + local($key); + + $key = &missing_braces + unless ((s/$next_pair_pr_rx//o)&&($key=$2)); + + local($ctr, $val, $id, $_) = &read_counter_value($_); + local($gender)='m'; + + $_ =~ s/${OP}$id${CP}$ctr${OP}$id${CP}//; + + if ($_ =~s/\s*\[(.)\]//) + { + $gender = $1; + } + + if ($ctr eq 'DAY' or $ctr eq 'MONTH' or $ctr eq 'YEAR') + { + # this is a cludge to make it work with newdateformat + $fmtcntvar{$key} = join('', '{NUMBERSTRING{', $ctr, '}}'); + } + else + { + $fmtcntvar{$key} = join('', &get_numberstring($val, $gender)); + } + + $_; +} + +sub do_cmd_storenumberstringnum{ + local($_) = @_; + local($key, $val); + + $key = &missing_braces + unless ((s/$next_pair_pr_rx//o)&&($key=$2)); + + $val = &missing_braces + unless ((s/$next_pair_pr_rx//o)&&($val=$2)); + + local($gender)='m'; + + if ($_ =~s/\s*\[(.)\]//) + { + $gender = $1; + } + + $fmtcntvar{$key} = join('', &get_numberstring($val, $gender)); + + $_; +} + sub get_Numberstring{ local($val,$gender) = @_; local($string) = &get_numberstring($val,$gender); @@ -925,6 +1029,150 @@ sub do_cmd_Numberstring{ } } +sub do_cmd_storeNumberstring{ + local($_) = @_; + local($key); + + $key = &missing_braces + unless ((s/$next_pair_pr_rx//o)&&($key=$2)); + + local($ctr, $val, $id, $_) = &read_counter_value($_); + local($gender)='m'; + + $_ =~ s/${OP}$id${CP}$ctr${OP}$id${CP}//; + + if ($_ =~s/\s*\[(.)\]//) + { + $gender = $1; + } + + if ($ctr eq 'DAY' or $ctr eq 'MONTH' or $ctr eq 'YEAR') + { + # this is a cludge to make it work with newdateformat + $fmtcntvar{$key} = join('', '{NNUMBERSTRING{', $ctr, '}}'); + } + else + { + $fmtcntvar{$key} = join('', &get_Numberstring($val, $gender)); + } + + $_; +} + +sub do_cmd_storeNumberstringnum{ + local($_) = @_; + local($key, $val); + + $key = &missing_braces + unless ((s/$next_pair_pr_rx//o)&&($key=$2)); + + $val = &missing_braces + unless ((s/$next_pair_pr_rx//o)&&($val=$2)); + + local($gender)='m'; + + if ($_ =~s/\s*\[(.)\]//) + { + $gender = $1; + } + + $fmtcntvar{$key} = join('', &get_Numberstring($val, $gender)); + + $_; +} + +sub do_cmd_NUMBERstringnum{ + local($_) = @_; + local($num,$gender); + $num = &missing_braces + unless (($_[0]=~s/$next_pair_pr_rx//o)&&($num=$2)); + + if ($_[0] =~ s/\[(m|f)\]//) + { + $gender = $1; + } + else + { + $gender = 'm'; + } + + join('', uc(&get_numberstring($num,$gender)), $_[0]); +} + +sub do_cmd_NUMBERstring{ + local($ctr, $val, $id, $_) = &read_counter_value($_[0]); + local($gender)='m'; + + $_[0] =~ s/${OP}$id${CP}$ctr${OP}$id${CP}//; + + if ($_[0]=~s/\[(.)\]//) + { + $gender = $1; + } + + if ($ctr eq 'DAY' or $ctr eq 'MONTH' or $ctr eq 'YEAR') + { + # this is a cludge to make it work with newdateformat + join('', '{CAPNUMBERSTRING{', $ctr, '}}', $_); + } + else + { + join('', uc(&get_numberstring($val, $gender)), $_); + } +} + +sub do_cmd_storeNUMBERstring{ + local($_) = @_; + local($key); + + $key = &missing_braces + unless ((s/$next_pair_pr_rx//o)&&($key=$2)); + + local($ctr, $val, $id, $_) = &read_counter_value($_); + local($gender)='m'; + + $_ =~ s/${OP}$id${CP}$ctr${OP}$id${CP}//; + + if ($_ =~s/\s*\[(.)\]//) + { + $gender = $1; + } + + if ($ctr eq 'DAY' or $ctr eq 'MONTH' or $ctr eq 'YEAR') + { + # this is a cludge to make it work with newdateformat + $fmtcntvar{$key} = join('', '{CAPNUMBERSTRING{', $ctr, '}}'); + } + else + { + $fmtcntvar{$key} = uc(&get_numberstring($val, $gender)); + } + + $_; +} + +sub do_cmd_storeNUMBERstringnum{ + local($_) = @_; + local($key, $val); + + $key = &missing_braces + unless ((s/$next_pair_pr_rx//o)&&($key=$2)); + + $val = &missing_braces + unless ((s/$next_pair_pr_rx//o)&&($val=$2)); + + local($gender)='m'; + + if ($_ =~s/\s*\[(.)\]//) + { + $gender = $1; + } + + $fmtcntvar{$key} = uc(&get_numberstring($val, $gender)); + + $_; +} + sub get_ordinalstringenglish{ local($num) = @_; local($name)=""; @@ -1361,18 +1609,82 @@ sub do_cmd_ordinalstring{ if ($ctr eq 'DAY' or $ctr eq 'MONTH' or $ctr eq 'YEAR') { # this is a cludge to make it work with newdateformat - join('', '{ORDINALSTRING{', $ctr, '}}', $_[0]); + join('', '{ORDINALSTRING{', $ctr, '}}', $_); } else { - join('', &get_ordinalstring($val, $gender), $_[0]); + join('', &get_ordinalstring($val, $gender), $_); } } + %fmtcntvar = (); + +sub do_cmd_FMCuse{ + local($_) = @_; + local($key); + + $key = &missing_braces + unless ((s/$next_pair_pr_rx//o)&&($key=$2)); + + $fmtcntvar{$key}.$_; +} + +sub do_cmd_storeordinalstring{ + local($_) = @_; + local($key); + + $key = &missing_braces + unless ((s/$next_pair_pr_rx//o)&&($key=$2)); + + local($ctr, $val, $id, $_) = &read_counter_value($_); + local($gender)='m'; + + $_ =~ s/${OP}$id${CP}$ctr${OP}$id${CP}//; + + if ($_ =~s/\s*\[(.)\]//) + { + $gender = $1; + } + + if ($ctr eq 'DAY' or $ctr eq 'MONTH' or $ctr eq 'YEAR') + { + # this is a cludge to make it work with newdateformat + $fmtcntvar{$key} = join('', '{ORDINALSTRING{', $ctr, '}}'); + } + else + { + $fmtcntvar{$key} = join('', &get_ordinalstring($val, $gender)); + } + + $_; +} + +sub do_cmd_storeordinalstringnum{ + local($_) = @_; + local($key, $val); + + $key = &missing_braces + unless ((s/$next_pair_pr_rx//o)&&($key=$2)); + + $val = &missing_braces + unless ((s/$next_pair_pr_rx//o)&&($val=$2)); + + local($gender)='m'; + + if ($_ =~s/\s*\[(.)\]//) + { + $gender = $1; + } + + $fmtcntvar{$key} = join('', &get_ordinalstring($val, $gender)); + + $_; +} + sub get_Ordinalstring{ local($val,$gender) = @_; local($string) = &get_ordinalstring($val,$gender); - $string =~ s/([a-z])([^\s\-]+)/\u\1\2/g; + $string =~ s/\b([a-z])([^\s\-]+)/\u\1\2/g; if ($default_language eq 'french') { @@ -1426,6 +1738,150 @@ sub do_cmd_Ordinalstring{ } } +sub do_cmd_storeOrdinalstring{ + local($_) = @_; + local($key); + + $key = &missing_braces + unless ((s/$next_pair_pr_rx//o)&&($key=$2)); + + local($ctr, $val, $id, $_) = &read_counter_value($_); + local($gender)='m'; + + $_ =~ s/${OP}$id${CP}$ctr${OP}$id${CP}//; + + if ($_ =~s/\s*\[(.)\]//) + { + $gender = $1; + } + + if ($ctr eq 'DAY' or $ctr eq 'MONTH' or $ctr eq 'YEAR') + { + # this is a cludge to make it work with newdateformat + $fmtcntvar{$key} = join('', '{OORDINALSTRING{', $ctr, '}}'); + } + else + { + $fmtcntvar{$key} = join('', &get_Ordinalstring($val, $gender)); + } + + $_; +} + +sub do_cmd_storeOrdinalstringnum{ + local($_) = @_; + local($key, $val); + + $key = &missing_braces + unless ((s/$next_pair_pr_rx//o)&&($key=$2)); + + $val = &missing_braces + unless ((s/$next_pair_pr_rx//o)&&($val=$2)); + + local($gender)='m'; + + if ($_ =~s/\s*\[(.)\]//) + { + $gender = $1; + } + + $fmtcntvar{$key} = join('', &get_Ordinalstring($val, $gender)); + + $_; +} + +sub do_cmd_ORDINALstringnum{ + local($_) = @_; + local($num,$gender); + $num = &missing_braces + unless (($_[0]=~s/$next_pair_pr_rx//o)&&($num=$2)); + + if ($_[0] =~ s/\[(m|f)\]//) + { + $gender = $1; + } + else + { + $gender = 'm'; + } + + join('', uc(&get_ordinalstring($num,$gender)), $_[0]); +} + +sub do_cmd_ORDINALstring{ + local($ctr, $val, $id, $_) = &read_counter_value($_[0]); + local($gender)='m'; + + $_[0] =~ s/${OP}$id${CP}$ctr${OP}$id${CP}//; + + if ($_[0]=~s/\[(.)\]//) + { + $gender = $1; + } + + if ($ctr eq 'DAY' or $ctr eq 'MONTH' or $ctr eq 'YEAR') + { + # this is a cludge to make it work with newdateformat + join('', '{CAPORDINALSTRING{', $ctr, '}}', $_); + } + else + { + join('', uc(&get_ordinalstring($val, $gender)), $_); + } +} + +sub do_cmd_storeORDINALstring{ + local($_) = @_; + local($key); + + $key = &missing_braces + unless ((s/$next_pair_pr_rx//o)&&($key=$2)); + + local($ctr, $val, $id, $_) = &read_counter_value($_); + local($gender)='m'; + + $_ =~ s/${OP}$id${CP}$ctr${OP}$id${CP}//; + + if ($_ =~s/\s*\[(.)\]//) + { + $gender = $1; + } + + if ($ctr eq 'DAY' or $ctr eq 'MONTH' or $ctr eq 'YEAR') + { + # this is a cludge to make it work with newdateformat + $fmtcntvar{$key} = join('', '{CAPORDINALSTRING{', $ctr, '}}'); + } + else + { + $fmtcntvar{$key} = uc(&get_ordinalstring($val, $gender)); + } + + $_; +} + +sub do_cmd_storeORDINALstringnum{ + local($_) = @_; + local($key, $val); + + $key = &missing_braces + unless ((s/$next_pair_pr_rx//o)&&($key=$2)); + + $val = &missing_braces + unless ((s/$next_pair_pr_rx//o)&&($val=$2)); + + local($gender)='m'; + + if ($_ =~s/\s*\[(.)\]//) + { + $gender = $1; + } + + $fmtcntvar{$key} = uc(&get_ordinalstring($val, $gender)); + + $_; +} + sub do_cmd_fmtcountsetoptions{ local($_) = @_; local($options) = &missing_braces unless ($_[0]=~(s/$next_pair_pr_rx//o)&&($options=$2)); diff --git a/Master/texmf-dist/doc/latex/fmtcount/manual.html b/Master/texmf-dist/doc/latex/fmtcount/manual.html index d8ae7bd7712..c1cbfa97cc8 100644 --- a/Master/texmf-dist/doc/latex/fmtcount/manual.html +++ b/Master/texmf-dist/doc/latex/fmtcount/manual.html @@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds Jens Lippmann, Marek Rouchal, Martin Wilck and others --> <HTML> <HEAD> -<TITLE>fmtcount.sty v1.06: Displaying the Values of LaTeX Counters</TITLE> -<META NAME="description" CONTENT="fmtcount.sty v1.06: Displaying the Values of LaTeX Counters"> +<TITLE>fmtcount.sty v1.09: Displaying the Values of LaTeX Counters</TITLE> +<META NAME="description" CONTENT="fmtcount.sty v1.09: Displaying the Values of LaTeX Counters"> <META NAME="keywords" CONTENT="manual"> <META NAME="resource-type" CONTENT="document"> <META NAME="distribution" CONTENT="global"> @@ -32,10 +32,10 @@ original version by: Nikos Drakos, CBLU, University of Leeds <P> - <H1 ALIGN="CENTER">fmtcount.sty v1.06: Displaying the Values of + <H1 ALIGN="CENTER">fmtcount.sty v1.09: Displaying the Values of LaTeX Counters</H1> <P ALIGN="CENTER"><STRONG>Nicola L.C. Talbot</STRONG></P> -<P ALIGN="CENTER"><STRONG>6 January 2007</STRONG></P> +<P ALIGN="CENTER"><STRONG>21st April 2007</STRONG></P> <BR> <H2><A NAME="SECTION00010000000000000000"> @@ -44,25 +44,25 @@ Contents</A> <!--Table of Contents--> <UL> -<LI><A NAME="tex2html18" - HREF="manual.html#SECTION00020000000000000000">Introduction</A> <LI><A NAME="tex2html19" - HREF="manual.html#SECTION00030000000000000000">Installation</A> + HREF="manual.html#SECTION00020000000000000000">Introduction</A> <LI><A NAME="tex2html20" - HREF="manual.html#SECTION00040000000000000000">Available Commands</A> + HREF="manual.html#SECTION00030000000000000000">Installation</A> <LI><A NAME="tex2html21" - HREF="manual.html#SECTION00050000000000000000">Package Options</A> + HREF="manual.html#SECTION00040000000000000000">Available Commands</A> <LI><A NAME="tex2html22" - HREF="manual.html#SECTION00060000000000000000">Multilingual Support</A> + HREF="manual.html#SECTION00050000000000000000">Package Options</A> <LI><A NAME="tex2html23" - HREF="manual.html#SECTION00070000000000000000">Configuration File fmtcount.cfg</A> + HREF="manual.html#SECTION00060000000000000000">Multilingual Support</A> <LI><A NAME="tex2html24" - HREF="manual.html#SECTION00080000000000000000">LaTeX2HTML style</A> + HREF="manual.html#SECTION00070000000000000000">Configuration File fmtcount.cfg</A> <LI><A NAME="tex2html25" - HREF="manual.html#SECTION00090000000000000000">Acknowledgements</A> + HREF="manual.html#SECTION00080000000000000000">LaTeX2HTML style</A> <LI><A NAME="tex2html26" - HREF="manual.html#SECTION000100000000000000000">Troubleshooting</A> + HREF="manual.html#SECTION00090000000000000000">Acknowledgements</A> <LI><A NAME="tex2html27" + HREF="manual.html#SECTION000100000000000000000">Troubleshooting</A> +<LI><A NAME="tex2html28" HREF="manual.html#SECTION000110000000000000000">Contact Details</A> </UL> <!--End of Table of Contents--> @@ -139,11 +139,20 @@ The macro <code>\numberstring{</code><I>counter</I><code>}</code> will print the <code>\numberstring</code>, but with initial letters in uppercase. For example, <code>\Numberstring{section}</code> will produce: Three. +The macro <code>\NUMBERstring{</code><I>counter</I><code>}</code> does the same +as <code>\numberstring</code>, but converted to upper case. Note that +<code>\MakeUppercase{\NUMBERstring{</code><I>counter</I><code>}}</code> doesn't +work, due to the way that <code>\MakeUppercase</code> expands its +argument<A NAME="tex2html4" + HREF="#foot288"><SUP>1</SUP></A>. + <P> -The macros <code>\numberstringnum</code> and -<code>\Numberstringnum</code> work like -<code>\numberstring</code> and -<code>\Numberstring</code>, respectively, but take an actual number +The macros <code>\numberstringnum</code>, +<code>\Numberstringnum</code> and +<code>\NUMBERstringnum</code> work like +<code>\numberstring</code>, +<code>\Numberstring</code> and +<code>\NUMBERstring</code>, respectively, but take an actual number rather than a counter as the argument. For example: <code>\Numberstringnum{105}</code> will produce: One Hundred and Five. @@ -154,16 +163,92 @@ The macro <code>\ordinalstring{</code><I>counter</I><code>}</code> will print th The macro <code>\Ordinalstring{</code><I>counter</I><code>}</code> does the same as <code>\ordinalstring</code>, but with initial letters in uppercase. For example, <code>\Ordinalstring{section}</code> will produce: Third. + + The macro <code>\ORDINALstring{</code><I>counter</I><code>}</code> does the same as +<code>\ordinalstring</code>, but with all words in upper case (see previous +note about <TT>\MakeUppercase</TT>). <P> -The macros <code>\ordinalstringnum</code> and -<code>\Ordinalstringnum</code> work like -<code>\Ordinalstring</code> and -<code>\Ordinalstring</code>, respectively, but take an actual number +The macros <code>\ordinalstringnum</code>, +<code>\Ordinalstringnum</code> and <TT>\ORDINALstringnum</TT> work like +<code>\ordinalstring</code>, +<code>\Ordinalstring</code> and <TT>\ORDINALstring</TT>, respectively, but take an actual number rather than a counter as the argument. For example, <code>\ordinalstringnum{3}</code> will produce: third. <P> +As from version 1.09, textual representations can be stored for +later use. This overcomes the problems encountered when you +attempt to use one of the above commands in <TT>\edef</TT>. + +<P> +Each of the following commands takes a label as the first argument, +the other arguments are as the analogous commands above. These +commands do not display anything, but store the textual +representation. This can later be retrieved using +<TT>\FMCuse</TT>{<I>label</I>}. +Note: with <TT>\storeordinal</TT> and <TT>\storeordinalnum</TT>, the +only bit that doesn't get expanded is <TT>\fmtord</TT>. So, for +example, <code>\storeordinalnum{mylabel}{3}</code> will be stored as +<code>3\relax \fmtord{rd}</code>. + +<P> + +<TT>\storeordinal</TT>{<I>label</I>}{<I>counter</I>}[<I>gender</I>] + +<P> + +<TT>\storeordinalstring</TT>{<I>label</I>}{<I>counter</I>}[<I>gender</I>] + +<P> + +<TT>\storeOrdinalstring</TT>{<I>label</I>}{<I>counter</I>}[<I>gender</I>] + +<P> + +<TT>\storeORDINALstring</TT>{<I>label</I>}{<I>counter</I>}[<I>gender</I>] + +<P> + +<TT>\storenumberstring</TT>{<I>label</I>}{<I>counter</I>}[<I>gender</I>] + +<P> + +<TT>\storeNumberstring</TT>{<I>label</I>}{<I>counter</I>}[<I>gender</I>] + +<P> + +<TT>\storeNUMBERstring</TT>{<I>label</I>}{<I>counter</I>}[<I>gender</I>] + +<P> + +<TT>\storeordinalnum</TT>{<I>label</I>}{<I>number</I>}[<I>gender</I>] + +<P> + +<TT>\storeordinalstring</TT>{<I>label</I>}{<I>number</I>}[<I>gender</I>] + +<P> + +<TT>\storeOrdinalstringnum</TT>{<I>label</I>}{<I>number</I>}[<I>gender</I>] + +<P> + +<TT>\storeORDINALstringnum</TT>{<I>label</I>}{<I>number</I>}[<I>gender</I>] + +<P> + +<TT>\storenumberstring</TT>{<I>label</I>}{<I>number</I>}[<I>gender</I>] + +<P> + +<TT>\storeNumberstring</TT>{<I>label</I>}{<I>number</I>}[<I>gender</I>] + +<P> + +<TT>\storeNUMBERstring</TT>{<I>label</I>}{<I>number</I>}[<I>gender</I>] + +<P> The macro <code>\binary{</code><I>counter</I><code>}</code> will print the value of <I>counter</I> as a binary number. E.g. <code>\binary{section}</code> will produce: 11. The declaration @@ -306,8 +391,8 @@ Version 1.02 of the <TT>fmtcount</TT> package now has limited multilingual support. The following languages are implemented: English, Spanish, Portuguese, French, French (Swiss) and French (Belgian). The package checks to see if the -command <code>\date</code><I>language</I> is defined<A NAME="tex2html4" - HREF="#foot192"><SUP>1</SUP></A>, and will +command <code>\date</code><I>language</I> is defined<A NAME="tex2html5" + HREF="#foot289"><SUP>2</SUP></A>, and will load the code for those languages. The commands <code>\ordinal</code>, <code>\ordinalstring</code> and <code>\numberstring</code> (and their variants) will then be formatted in the currently @@ -418,7 +503,7 @@ Troubleshooting</A> </H1> <P> -There is a FAQ available at: <TT><A NAME="tex2html5" +There is a FAQ available at: <TT><A NAME="tex2html6" HREF="http://theoval.cmp.uea.ac.uk/~nlct/latex/packages/faq/">http://theoval.cmp.uea.ac.uk/~nlct/latex/packages/faq/</A></TT>. <P> @@ -435,12 +520,19 @@ University of East Anglia Norwich. NR4 7TJ. <BR> United Kingdom. -<BR> <TT><A NAME="tex2html6" +<BR> <TT><A NAME="tex2html7" HREF="http://theoval.cmp.uea.ac.uk/~nlct/">http://theoval.cmp.uea.ac.uk/~nlct/</A></TT> <BR><HR><H4>Footnotes</H4> <DL> -<DT><A NAME="foot192">... defined</A><A +<DT><A NAME="foot288">... +argument</A><A HREF="manual.html#tex2html4"><SUP>1</SUP></A></DT> +<DD>See all the various postings to +<TT>comp.text.tex</TT> about <TT>\MakeUppercase</TT> + +</DD> +<DT><A NAME="foot289">... defined</A><A + HREF="manual.html#tex2html5"><SUP>2</SUP></A></DT> <DD>this will be true if you have loaded <TT>babel</TT> @@ -451,7 +543,7 @@ will be true if you have loaded <TT>babel</TT> <A href=http://theoval.cmp.uea.ac.uk/~nlct/>Nicola L. C. Talbot</A>. <A HREF=http://www.cmp.uea.ac.uk/>School of Computing Sciences</A>. <A HREF=http://www.uea.ac.uk/>University of East Anglia.</A> -Last Modified: 2007-01-06 +Last Modified: 2007-04-21 </ADDRESS> </BODY> </HTML> |