On Tue, 30 Jan 2007, Mojca Miklavec wrote:
> Hello,
>
> instead of checking the problems with MyWay about database module, I
> created another unfinished piece about \sometxt (as promised already
> long ago):
>
> http://dl.contextgarden.net/myway/sometxt.pdf
>
> \sometxt{...} should be used instead of textext("...") in metafun
> graphics whenever possible, since it's much more efficient. An average
> user shouldn't care about much more than that. The MyWay is devoted to
> the curious ones. I hope that I included all the major ideas which
> Hans implemented in Summer/Autumn 2006 on my request. Although not all
> of them are documented well enough, I tried to mention them at least.
Very nice. Now, I do not need to look up old mails to figure out how
to manipulate sometxt. I have one example where \sometxt[...]{...} is
useful. If you are interested, I can send it to you.
I thought a bit about your feature request, and it is not too
difficult to implement it. Here is a patch that allows you to use
\sometext[font][iwona,20pt]{...}. Careful of spurious linebreaks.
%=======================================================
\long\def\redofiltersometxt[#1]%
{\doifnextcharelse[{\reredofiltersometxt[#1]}{\redodofiltersometxt[#1]}}
\long\def\redodofiltersometxt[#1]#2%
{\increment\txtcounter
\TeXtext[#1]\txtcounter{#2}%
\filtersometxt}
\long\def\reredofiltersometxt[#1][#2]#3%
{\increment\txtcounter
\TeXtext[#1]\txtcounter{\switchtobodyfont[#2]\strut#3}%
\filtersometxt}
\definetextext[font]{\donothing}
\usetypescript[iwona][texnansi]
\starttext
\startMPcode
draw fullcircle xyscaled (3cm,2cm);
label(\sometxt{Hello world!}, origin);
\stopMPcode
% Does not cause any harm.
\startMPcode
draw fullcircle xyscaled (3cm,2cm);
label(\sometxt[font]{Hello world!}, origin);
\stopMPcode
\startMPcode
draw fullcircle xyscaled (3cm,2cm);
label(\sometxt[font][iwona,20pt]{Hello world!}, origin);
\stopMPcode
\stoptext
%===============================================================
I haven't tested it, but I do not think that this should cause any
problems with existing code. \definetextext[font] is just a dummy. It
should work with other things also. You can get rid of the dummy
by checking in redodofiltersometxt if #1 is has a comma or not. Would
that extra overhead be useful of gnuplot?
Hans, is there a reason for not defining dodofiltersometxt as
\long\def\dodofiltersometxt#1#2% #3
{\ifx#2\empty
\else
\increment\txtcounter
\TeXtext\txtcounter{#1}%
\expandafter\filtersometxt
\fi#2}% #3
whih will be a bit faster.
Aditya
_______________________________________________
dev-context mailing list
[email protected]
http://www.ntg.nl/mailman/listinfo/dev-context