From: Hans Hagen <pragma@wxs.nl>
Cc: ntg-context@ntg.nl
Subject: Re: [ConTeXt] Re: pictures for numbers
Date: Fri, 16 Nov 2001 17:37:12 +0100 [thread overview]
Message-ID: <5.1.0.14.1.20011116171336.03241368@server-1> (raw)
In-Reply-To: <20011116160637.G29519@cs.uu.nl>
At 04:06 PM 11/16/2001 +0100, Andres Loeh wrote:
> > Date: Fri, 16 Nov 2001 12:53:14 +0100
> > From: Hans Hagen <pragma@wxs.nl>
> > Subject: [ConTeXt] Re: pictures for numbers
>
>Hello again,
>
>thanks for your help so far. I tried to construct a solution out of
>Taco's and your remarks, and I got that far:
>
>%--BEGIN
>\useexternalfigure [sleutelI] [sleutelsI_new] [height=3ex]
>\useexternalfigure [sleutelV] [sleutelsV_new] [height=3ex]
>\useexternalfigure [sleutelX] [sleutelsX_new] [height=3ex]
>
>\def\Sleutels#1%
> {\hbox{\expandafter\DoSleutels\romannumeral #1\relax}\relax}
>
>\def\DoSleutels#1%
> {\if #1\relax
> \let\next\relax
> \else
> \if #1i%
> \externalfigure[sleutelI]
> \else
> \if #1v%
> \externalfigure[sleutelV]
> \else
> \if #1x%
> \externalfigure[sleutelX]
> \else
> \relax
> \fi
> \fi
> \fi
> \let\next\DoSleutels
> \fi
> \next}
>
>The generation of the pictures works perfectly as
>a standalone function. However, I want them to appear
>as chapter numbers. If I uncomment either the line marked
>%(1)% or the lines marked %(2)%, I get errors:
>
>(1):
As said, the #1 is not really a number but a whole bunch of info, liek font
switches; try \showargument{#1} in your macro and you will see what i mean.
This is why you need the alternative that i send you. That one uses the raw
number. If you want an uppercase rommannumeral, use
\def\MyNiceNumber#1%
{\edef\TheRomanNumber{\Romannumerals\currentheadnumber}%
\expandafter\handletokens\TheRomanNumber\with\MyRomanPicture}
\def\MyRomanPicture#1%
{\hbox{\externalfigure[RomanDigit#1][widyh=1cm]}}
\setuphead[chapter][numbercommand=\MyNiceNumber]
\dorecurse{25}{\chapter{It Works}}
For this to work you need the following macro (which i made for patrick
some weeks ago, in core-con, but that one generates a \relax:
\def\doRomannumerals#1#2\relax % spaces after ifcase prevent \relax
{\ifnum#1#2<10
\ifcase0#1#2 \or I\or II\or III\or IV\or V\or VI\or VII\or VIII\or IX\fi
\else\ifnum#1#2<100
\ifcase0#1 \or X\or XX\or XXX\or XL\or L\or LX\or LXX\or LXXX\or XC\fi
\doRomannumerals#2\relax
\else\ifnum#1#2<1000
\ifcase0#1 \or C\or CC\or CCC\or CD\or D\or DC\or DCC\or DCCC\or CM\fi
\doRomannumerals#2\relax
\else\ifnum#1#2<4000
\ifcase0#1 \or M\or MM\or MMM\fi
\doRomannumerals#2\relax
\else
\uppercase\expandafter{\romannumeral#1#2}%
\fi\fi\fi\fi}
-------------------------------------------------------------------------
Hans Hagen | PRAGMA ADE | pragma@wxs.nl
Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
tel: +31 (0)38 477 53 69 | fax: +31 (0)38 477 53 74 | www.pragma-ade.com
-------------------------------------------------------------------------
next prev parent reply other threads:[~2001-11-16 16:37 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-11-16 9:55 Andres Loeh
2001-11-16 10:36 ` Taco Hoekwater
2001-11-16 11:55 ` Hans Hagen
2001-11-16 11:53 ` Hans Hagen
2001-11-16 15:06 ` [ConTeXt] " Andres Loeh
2001-11-16 16:37 ` Hans Hagen [this message]
2001-11-16 15:29 ` Andres Loeh
2001-11-16 16:38 ` Hans Hagen
[not found] <Your message of "Fri, 16 Nov 2001 16:06:37 +0100." <20011116160637.G29519@cs.uu.nl>
2001-11-16 15:47 ` [ConTeXt] " Patrick Gundlach
2001-11-16 16:48 ` Hans Hagen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5.1.0.14.1.20011116171336.03241368@server-1 \
--to=pragma@wxs.nl \
--cc=ntg-context@ntg.nl \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).