From: "Mojca Miklavec" <mojca.miklavec.lists@gmail.com>
Subject: how to figure out the number of elements inside \defineconversion?
Date: Thu, 10 Aug 2006 16:16:38 +0200 [thread overview]
Message-ID: <6faad9f00608100716l5715b634p51f823f76ac51221@mail.gmail.com> (raw)
Hello,
I would like to \defineconversion and the use that set of symbols
inside a metapost graphic. But I need to know the number of symbols,
so that I can define enough "metapost images with symbols" in advance.
I realise that there might be a problem since conversion can sometimes
take an arbitrary number (using a command defined elsewhere), but if I
could have a reasonable guess for conversions defined explicitely,
that would already help a lot. (As a workaround and/or if there is no
easy method to figure that out I can still hardcode "25" and wait
until someone complains that that is not enough to satisfy his/her
needs.)
Thanks a lot,
Mojca
\startMPextensions
numeric variant; variant = 1;
vardef gp_the_symbol(expr n) =
picture pict;
% using metapost
if variant=1:
pict := image( fill fullcircle scaled 4pt; ); % TODO
% using TeX, variant = 2
else: % TODO: limit the number first
pict := sometxt(n);
fi;
pict shifted -center pict
enddef ;
def gp_point(expr x, y, n) =
draw (gp_the_symbol(n) scaled 1 shifted (x,y));
enddef ;
\stopMPextensions
\starttext
\defineconversion[abc][$\star$,$\bullet$,$\ast$]
\startTeXtexts
% TODO: 6 is only a guess: I need a better guess (3 in this case)
\dostepwiserecurse{1}{6}{1}{\TeXtext{\recurselevel}{{\convertnumber{abc}{\recurselevel}}}}
\stopTeXtexts
\startMPcode
variant := 1;
gp_point(1cm,0cm,1);
gp_point(2cm,0cm,2);
variant := 2;
gp_point(1cm,1cm,1);
gp_point(2cm,1cm,2);
gp_point(3cm,1cm,3);
gp_point(4cm,1cm,4);
gp_point(5cm,1cm,8);
\stopMPcode
\stoptext
next reply other threads:[~2006-08-10 14:16 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-08-10 14:16 Mojca Miklavec [this message]
2006-08-10 15:22 ` Hans Hagen
2006-08-10 19:36 ` Mojca Miklavec
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=6faad9f00608100716l5715b634p51f823f76ac51221@mail.gmail.com \
--to=mojca.miklavec.lists@gmail.com \
--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).