Re: [NTG-context] page numbering in words?

2007-04-17 Thread Mojca Miklavec

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?

2007-04-16 Thread Robin Kirkham
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?

2007-03-29 Thread Taco Hoekwater
[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?

2007-03-28 Thread cormullion
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-03-28 Thread Wolfgang Schuster

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?

2007-03-28 Thread Zhichu Chen

\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?

2007-03-28 Thread cormullion
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?

2007-03-28 Thread Zhichu Chen

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?

2007-03-28 Thread cormullion
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?

2007-03-26 Thread Wolfgang Schuster
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?

2007-03-26 Thread Wolfgang Schuster
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?

2007-03-26 Thread cormullion
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?

2007-03-26 Thread cormullion
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