Re: [NTG-context] page numbering in words?
Hello, I have just noticed this thread (I cannot really catch up reading all the stuff here) and remembered that I have some really old files lying somewhere on my computer. The file dates back to the time when Brooks Moses Hans have implemented \defineconversion [sl] [a] [\sloveniancharacters] for me, so I needed to make sure that I understood the concept. I didn't review the content, I have just added a small demo at the end. On 4/16/07, Robin Kirkham wrote: Hi all, There are still a few problems with \numstr when you get beyond the hundreds. Perhaps this is unlikely when it is a page number, but I was interested in using this macro for contracts, where an amount of money is often written out in words. \input numstr.tex \starttext \numstr{-1}\par \numstr{0}\par \numstr{101}\par \numstr{1001}\par \numstr{101}\par \numstr{1200021} \stoptext This produces output: null null one hundred and one one thousand one one millionone one million two hundred thousand twenty-one I didn't follow the thread, but the problems might result from the fact that it was translated from a german counter rather than written from scratch following some rules. which should be: minus one zero one hundred and one one thousand and one one million and one My example fails on this one, but I guess that it could be fixed if you tell me the rule to distinguish the two cases. one million, two hundred thousand and twenty-one In English, the tens/units (if not zero) should be preceded by and if the number exceeds 100 (so 101 is correct in the above output). This applies whether the tens/units is truly tens/units, or is a thousands or millions multiplier (12 = one hundred and twenty thousand). The use of a comma after millions and sometimes thousands is helpful but not essential, and it only appears in certain cases. I'll have to think a bit more about a rule for that! The use of a hyphen between tens and units (twenty-one) is not incorrect but is nowadays probably regarded as a little old-fashioned (but personally, I like it). Best, Robin I have used this page as a source: http://www.ego4u.com/en/cram-up/vocabulary/numbers/cardinal Mojca Note 1: If the functionality/documentation can be polished out nicely, the core or m-something might be a better place for such a module than third-party modules. But I guess that Hans would want to split this into *.mkii and *.mkiv anyway, so I would probably need to write the lua implementation for it before asking for inclusion ;) Note 2: there are some switches which would need to be implemented in a higher level user interface. Note that the German counter might be useless since I have never finished it. t-counting.tex Description: TeX document ___ ntg-context mailing list ntg-context@ntg.nl http://www.ntg.nl/mailman/listinfo/ntg-context
Re: [NTG-context] page numbering in words?
Hi all, There are still a few problems with \numstr when you get beyond the hundreds. Perhaps this is unlikely when it is a page number, but I was interested in using this macro for contracts, where an amount of money is often written out in words. \input numstr.tex \starttext \numstr{-1}\par \numstr{0}\par \numstr{101}\par \numstr{1001}\par \numstr{101}\par \numstr{1200021} \stoptext This produces output: null null one hundred and one one thousand one one millionone one million two hundred thousand twenty-one which should be: minus one zero one hundred and one one thousand and one one million and one one million, two hundred thousand and twenty-one In English, the tens/units (if not zero) should be preceded by and if the number exceeds 100 (so 101 is correct in the above output). This applies whether the tens/units is truly tens/units, or is a thousands or millions multiplier (12 = one hundred and twenty thousand). The use of a comma after millions and sometimes thousands is helpful but not essential, and it only appears in certain cases. I'll have to think a bit more about a rule for that! The use of a hyphen between tens and units (twenty-one) is not incorrect but is nowadays probably regarded as a little old-fashioned (but personally, I like it). Best, Robin Date: 2007-03-29 17:38 +1000 To: mailing list for ConTeXt users Subject: Re: [NTG-context] page numbering in words? cormullion.at.remove.this.mac.com wrote: On 2007-03-28, at 16:49.0, Zhichu Chen wrote: I modified Wolfgang's macro as the attached file. But I'm really not a native American, so there must be some special rules that I've ignored. Wish you good luck. Yes - this works great now. Thank you for sorting out the TeX code, which is like no other language I know ;-). I've changed only one spelling (fourty - forty) and the rest looks perfect. It would be nice if someone (one of the module tutorial attendants :-) could wrap this command in a module for the contextgarden page. Cheers, Taco ___ ntg-context mailing list ntg-context@ntg.nl http://www.ntg.nl/mailman/listinfo/ntg-context
Re: [NTG-context] page numbering in words?
[EMAIL PROTECTED] wrote: On 2007-03-28, at 16:49.0, Zhichu Chen wrote: I modified Wolfgang's macro as the attached file. But I'm really not a native American, so there must be some special rules that I've ignored. Wish you good luck. Yes - this works great now. Thank you for sorting out the TeX code, which is like no other language I know ;-). I've changed only one spelling (fourty - forty) and the rest looks perfect. It would be nice if someone (one of the module tutorial attendants :-) could wrap this command in a module for the contextgarden page. Cheers, Taco ___ ntg-context mailing list ntg-context@ntg.nl http://www.ntg.nl/mailman/listinfo/ntg-context
Re: [NTG-context] page numbering in words?
On 2007-03-26, at 17:39.0, [EMAIL PROTECTED] wrote: is it possible to adjust options so as to get page numbering done in words? Eg one two . eighty-nine ... three hundred and sixty seven ? I can't see how to do this in ConText. I can see that the first task - converting an integer to a string - could be done by a macro or external command, such as Wolfgang's zahl2string But how to do the second job - feed in a 'raw' pagenumber and output and print a converted one? ___ ntg-context mailing list ntg-context@ntg.nl http://www.ntg.nl/mailman/listinfo/ntg-context
Re: [NTG-context] page numbering in words?
2007/3/28, [EMAIL PROTECTED] [EMAIL PROTECTED]: On 2007-03-26, at 17:39.0, [EMAIL PROTECTED] wrote: is it possible to adjust options so as to get page numbering done in words? Eg one two . eighty-nine ... three hundred and sixty seven ? I can't see how to do this in ConText. I can see that the first task - converting an integer to a string - could be done by a macro or external command, such as Wolfgang's zahl2string But how to do the second job - feed in a 'raw' pagenumber and output and print a converted one? Hi, the last to feed in the pagenumber is very easy. I show in next example how the print the pagenumber in the header with words rather than numbers: \usemodule[zahl2string] \starttext \setuppagenumbering[location=] \setupheadertexts[\numstr\pagenumber] Text \stoptext BTW, these are not my macros, they come from Jonathan Sauerand I convertred them only to plain TeX. Wolfgang ___ ntg-context mailing list ntg-context@ntg.nl http://www.ntg.nl/mailman/listinfo/ntg-context
Re: [NTG-context] page numbering in words?
\defineconversion [numstring][\numstr] \setuppagenumbering[conversion=numstring] On 3/28/07, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: On 2007-03-26, at 17:39.0, [EMAIL PROTECTED] wrote: is it possible to adjust options so as to get page numbering done in words? Eg one two . eighty-nine ... three hundred and sixty seven ? I can't see how to do this in ConText. I can see that the first task - converting an integer to a string - could be done by a macro or external command, such as Wolfgang's zahl2string But how to do the second job - feed in a 'raw' pagenumber and output and print a converted one? ___ ntg-context mailing list ntg-context@ntg.nl http://www.ntg.nl/mailman/listinfo/ntg-context -- Sincerely yours, Chen Zhi-chu Chen | Shanghai Synchrotron Radiation Facility No. 2019 | Jialuo Rd. | Jiading | Shanghai | P.R. China tel: 086 21 5955 3405 | zhichu.chen.googlepages.com | www.sinap.ac.cn ___ ntg-context mailing list ntg-context@ntg.nl http://www.ntg.nl/mailman/listinfo/ntg-context
Re: [NTG-context] page numbering in words?
Thanks, Wolfgang and Zhichu. I've managed to get it working. The only problem now is to work out how to modify the original macros. Numbering is OK up to 20. Then we get onetwenty, twotwenty, threetwenty (I did find out how to remove the 'und'). So that's another project! thanks again ___ ntg-context mailing list ntg-context@ntg.nl http://www.ntg.nl/mailman/listinfo/ntg-context
Re: [NTG-context] page numbering in words?
Hi, cormullion I modified Wolfgang's macro as the attached file. But I'm really not a native American, so there must be some special rules that I've ignored. Wish you good luck. On 3/28/07, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: Thanks, Wolfgang and Zhichu. I've managed to get it working. The only problem now is to work out how to modify the original macros. Numbering is OK up to 20. Then we get onetwenty, twotwenty, threetwenty (I did find out how to remove the 'und'). So that's another project! thanks again ___ ntg-context mailing list ntg-context@ntg.nl http://www.ntg.nl/mailman/listinfo/ntg-context -- Sincerely yours, Chen Zhi-chu Chen | Shanghai Synchrotron Radiation Facility No. 2019 | Jialuo Rd. | Jiading | Shanghai | P.R. China tel: 086 21 5955 3405 | zhichu.chen.googlepages.com | www.sinap.ac.cn numstr.tex Description: TeX document ___ ntg-context mailing list ntg-context@ntg.nl http://www.ntg.nl/mailman/listinfo/ntg-context
Re: [NTG-context] page numbering in words?
On 2007-03-28, at 16:49.0, Zhichu Chen wrote: I modified Wolfgang's macro as the attached file. But I'm really not a native American, so there must be some special rules that I've ignored. Wish you good luck. Yes - this works great now. Thank you for sorting out the TeX code, which is like no other language I know ;-). I've changed only one spelling (fourty - forty) and the rest looks perfect. thanks again! ___ ntg-context mailing list ntg-context@ntg.nl http://www.ntg.nl/mailman/listinfo/ntg-context
Re: [NTG-context] page numbering in words?
On Mon, 26 Mar 2007 17:39:38 +0100 [EMAIL PROTECTED] wrote: is it possible to adjust options so as to get page numbering done in words? Eg one two . eighty-nine ... three hundred and sixty seven ? Or does this require some more work/code? Hi ???, I don't think there is something like this in ConTeXt. You can try to make somthing by yourself and start with the zahl2string [1] package for LaTeX and adapt it to ConTeXt. This should be not such a big problem, you need only to replace the \newcommand defintions with \def and replace the german texts with english ones or whatever language you like. [1] http://ctan.org/tex-archive/macros/latex/contrib/sauerj/ Wolfgang ___ ntg-context mailing list ntg-context@ntg.nl http://www.ntg.nl/mailman/listinfo/ntg-context
Re: [NTG-context] page numbering in words?
On Mon, 26 Mar 2007 17:39:38 +0100 [EMAIL PROTECTED] wrote: is it possible to adjust options so as to get page numbering done in words? Eg one two . eighty-nine ... three hundred and sixty seven ? Or does this require some more work/code? I converted the macro to the plain TeX format. The only thing you need to do now is to change the german text you own. Wolfgang [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED]@[EMAIL PROTECTED] [EMAIL PROTECTED]@@Numstring\expandafter{\number#1}} \def\@@Numstring#1% [EMAIL PROTECTED]@numstring{#1}}% [EMAIL PROTECTED] [EMAIL PROTECTED]@[EMAIL PROTECTED] [EMAIL PROTECTED]@@Ordstring\expandafter{\number#1}} \def\@@Ordstring#1% [EMAIL PROTECTED]@ordstring{#1}}% [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] {\ifnum\number#1[EMAIL PROTECTED] #3% \else\ifnum\number#110 % [EMAIL PROTECTED] \else% [EMAIL PROTECTED] \fi\fi} [EMAIL PROTECTED] \expandafter\ns@@numstring% \ifcase% \ifnum#110 1% \else\ifnum#1100 2% \else\ifnum#1[EMAIL PROTECTED] 3% \else\ifnum#1[EMAIL PROTECTED] 4% \else\ifnum#110 5% \else\ifnum#1100 6% \else\ifnum#11000 7% \else\ifnum#11 8% \else9% \fi\fi\fi\fi\fi\fi\fi\fi % \or#1% case 1: Add 8 leading zeros \or000#1% case 2: Add 7 leading zeros \or00#1% case 3: Add 6 leading zeros \or0#1%case 4: Add 5 leading zeros \or#1% case 5: Add 4 leading zeros \or000#1% case 6: Add 3 leading zeros \or00#1% case 7: Add 2 leading zeros \or0#1%case 8: Add 1 leading zero \or#1% case 9: Add no leading zeros \or% [EMAIL PROTECTED] \fi} \def\ns@@[EMAIL PROTECTED] {\ifnum#1#2#3\z@ [EMAIL PROTECTED] \ifnum#4#5#6[EMAIL PROTECTED] \fi% \ifnum#4#5#6[EMAIL PROTECTED] [EMAIL PROTECTED]@neunzehn% \ifnum#4#5#6[EMAIL PROTECTED] tau\-send% \ifnum#7[EMAIL PROTECTED] \fi% [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED]@neunzehne% \space% Mil\-lion% \else% [EMAIL PROTECTED]@neunzehns% \space% Mil\-lio\-nen% \fi} [EMAIL PROTECTED] {\ifnum#1[EMAIL PROTECTED] \ifnum#4#1[EMAIL PROTECTED]@neunzehn#1\-\fi% hun\-dert% \ifnum#2#3[EMAIL PROTECTED] \fi% \ifnum#2#320 % \ifnum#5#2#3[EMAIL PROTECTED] \else% \ifnum#3[EMAIL PROTECTED]@neunzehn#3\-und\-\fi% [EMAIL PROTECTED] #60% \fi} [EMAIL PROTECTED] {\ifcase#1\empty\or ein\or zwei\or drei\or vier\or f\unf\or sechs\or% sie\-ben\or acht\or neun\or zehn\or elf\or zw\olf\or drei\-zehn\or% vier\-zehn\or f\unf\-zehn\or sech\-zehn\or sieb\-zehn\or% acht\-zehn\or neun\-zehn\fi} [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] {\ifcase#1\-ste% \or er\-ste% \or zwei\-te% \or drit\-te% \or vier\-te% \or f\unf\-te% \or sech\-ste% \or sieb\-te% \or ach\-te% \or neun\-te% \or zehn\-te% \or elf\-te% \or zw\olf\-te% \or drei\-zehn\-te% \or vier\-zehn\-te% \or f\unf\-zehn\-te% \or sech\-zehn\-te% \or sieb\-zehn\-te% \or acht\-zehn\-te% \or neun\-zehn\-te% \fi} [EMAIL PROTECTED] {\ifcase#1 \or \or zwan\-zig% \or drei\ss ig% \or vier\-zig% \or f\unf\-zig% \or sech\-zig% \or sieb\-zig% \or acht\-zig% \or neun\-zig% \fi} [EMAIL PROTECTED] \endinput \input zahl2string \long\def\zahlexamples#1 {0 $\Longrightarrow$ #1{0}\endgraf 7 $\Longrightarrow$ #1{7}\endgraf 13 $\Longrightarrow$ #1{13}\endgraf 23 $\Longrightarrow$ #1{23}\endgraf 42 $\Longrightarrow$ #1{42}\endgraf 99 $\Longrightarrow$ #1{99}\endgraf 127 $\Longrightarrow$ #1{127}\endgraf 999 $\Longrightarrow$ #1{999}\endgraf 1000 $\Longrightarrow$ #1{1000}\endgraf 1001 $\Longrightarrow$ #1{1001}\endgraf 2004 $\Longrightarrow$ #1{2004}\endgraf 2017 $\Longrightarrow$ #1{2017}\endgraf 2029 $\Longrightarrow$ #1{2029}\endgraf $\Longrightarrow$ #1{}\endgraf 1 $\Longrightarrow$ #1{1}\endgraf 101101 $\Longrightarrow$ #1{101101}\endgraf 99 $\Longrightarrow$ #1{99}\endgraf 100 $\Longrightarrow$ #1{100}\endgraf 1234567 $\Longrightarrow$ #1{1234567}\endgraf 123456789 $\Longrightarrow$ #1{123456789}\endgraf 101101101 $\Longrightarrow$ #1{101101101}\endgraf 9 $\Longrightarrow$ #1{9}} \zahlexamples{\numstr} \zahlexamples{\ordstr} \bye ___ ntg-context mailing list ntg-context@ntg.nl http://www.ntg.nl/mailman/listinfo/ntg-context
Re: [NTG-context] page numbering in words?
On 2007-03-26, at 19:16.0, Wolfgang Schuster wrote: On Mon, 26 Mar 2007 17:39:38 +0100 [EMAIL PROTECTED] wrote: is it possible to adjust options so as to get page numbering done in words? I don't think there is something like this in ConTeXt. You can try to make somthing by yourself and start with the zahl2string [1] package for LaTeX and adapt it to ConTeXt. This should be not such a big problem, you need only to replace the \newcommand defintions with \def and replace the german texts with english ones or whatever language you like. Thanks - it does look quite complicated! But this is a good start... ___ ntg-context mailing list ntg-context@ntg.nl http://www.ntg.nl/mailman/listinfo/ntg-context
Re: [NTG-context] page numbering in words?
On 2007-03-26, at 19:40.0, Wolfgang Schuster wrote: On Mon, 26 Mar 2007 17:39:38 +0100 [EMAIL PROTECTED] wrote: is it possible to adjust options so as to get page numbering done in words? Eg one two . eighty-nine ... three hundred and sixty seven ? Or does this require some more work/code? I converted the macro to the plain TeX format. The only thing you need to do now is to change the german text you own. thanks - looks like it's do-able, perhaps! ___ ntg-context mailing list ntg-context@ntg.nl http://www.ntg.nl/mailman/listinfo/ntg-context