Hello,
Just to let you know - thanks to John Bowman (Michail Vidiassov is
also working on it) these are some latest posts from asymptote
developers on their forum - if anyone would like to play with
asymptote, feel free to test.
I didn't take a look, but John Bowman says that he needed null.tex to
get context into interactive mode for some reason. Any clue about
that?
Mojca
PS: I really really have to avoid the temptation to get distracted in
the next few days/weeks unless I find an excuse that I need to make
3D/movies for my reports (which is not so unlikely to happen after all
:) I have converted asycolors.sty; if anyone wants to take a look at
asymptote.sty feel free to take it over. I might come back to it, but
not right now. My quick first impression is that it does something
similar to t-gnuplot, t-r, t-vim, t-lilypond, etc., that is: it
defines some high-level commands, writes a file, lets asymptote
process it and then includes the resulting graphic back.
PPS: Recent Asymptote logs say "Updates to facilitate TeXLive builds."
Sounds promissing.
----------------------------------------------------------------------
Good news: After digesting the advice /.../, I have been able to
implement full support for a context tex engine in 2D.
First of all, with TeXLive 2008 it is necessary to configure both lua and
context:
luatools --generate
context --make
We also rely on the empty tex file misc/null.tex. Hopefully everyone has that.
We use this to
get into context interactive mode, for the tex pipe (phase 1 of Asymptote's
2-phase typesetting system):
context misc/null
This was a crucial trick that I did not see documented anywhere.
I didn't like the need for the \hbox but I too could not find a way around
this; it seems that context takes liberties with the vertical spacing (glue?)
otherwise, in a seemingly unpredictable manner. I was able to work around the
one problem that I could forsee, with \eject (newpage() in asy, for multipage
output).
Everything appears to be working: label clipping, minipage, and even
functionshading.
This was the benefit of using specials; once the high-level code was in place,
all of the low-level support was ready to go.
The only thing that I haven't tested is inlinetex mode with the context tex
engine. Could someone please test this for me? Thanks.
----------------------------------------------------------------------
I checked that -inlinetex -tex context appears to be generating the right files.
Now all that needs to be done is for someone familiar with context to port
asymptote.sty to a context module.
----------------------------------------------------------------------
I forgot to mention that context support is committed to svn and will be in
1.74 release (likely tomorrow).
Regarding fonts, one can either use the low-level TeX \font way using
fontcommand
or,
as the following contextfonts.asy example illustrates, the high-level way
(see the definition of font in plain_pens.asy):
settings.tex="context";
texpreamble("\usetypescript[iwona][ec]");
texpreamble("\usetypescript[antykwa-torunska][t5]");
label("$A$",0,N,font("iwona"));
label("$A$",0,S,font("antykwa")+red);
----------------------------------------------------------------------