Test run of IllustRender

When the IllustRender plugin is configured correctly, this will be a wonderful graphic, taken from the LaTeX Graphics Companion:

here ->

pickup pencircle scaled 4pt yscaled .2pt rotated 60;
n := 5;
for i:= (n*20) step -(n) until (n):
 draw (i,0)..(0,i)..(-i,0)..(0,-(i-n))..(i-n,0);
endfor
and another here if everything is seamless, as opposed to just sort of working->

picture p; path q;
p := thelabel(btex \Large
\begin{minipage}{4in}
\begin{gather}
\iint\limits_A f(x,y)\,dx\,dy\qquad
\iiint\limits_A f(x,y,z)\,dx\,dy\,dz\
\iiiint\limits_A f(w,x,y,z)\,dw\,dx\,dy\,dz
\qquad\idotsint\limits_A f(x_1,\dots,x_k)
\end{gather}
\end{minipage}
etex,(0,0));
q := fullcircle scaled 2.5in;
fill q withcolor black;
clip p to q;
draw p rotated (90) withcolor white;

Update: IllustRender seems to be working now. Just a few cosmetics and convenience issues to address before it is ready for public consumption. While working on it, I realized that neither it nor LatexRender would handle the case where MetaFont had to run in order to generate a couple of fonts for a document well, if MetaFont ran too long— because, if I recall correctly, as a security feature, servers kill scripts that take longer than a few seconds to run. That issue doesn’t seem to affect LatexRender though, and a person is much more likely to change fonts in TeX code than in MetaPost code, so I’m going to ignore it. While I’m at it, I’m going to add support for Postscript (and bundle it with PSMath), so that folk who don’t have access to mpost (although, if they have access to latex, they probably would also have access to mpost) can use that; also, who doesn’t want choices?

Here is a sample of Postscript code, using the PSMath library. It is a depiction of the Mercedes-Benz frame in \mathcal{R}^2:


%PS
% The Mercedes-Benz frame in R^2
100 100 translate
 .55 .55 scale
/makeaxes {
          O [0 1] vsub len 1.15 mul smul O [0 1] vadd len 1.15 mul smul arrow
          gsave
          0.25 setgray fill
          grestore
          O [1 0] vsub len 1.15 mul smul O [1 0] vadd len 1.15 mul smul arrow
          gsave
          0.25 setgray fill
          grestore
          stroke
} def
/drawvect {
        O vadd O exch len smul varrow
        gsave
        1 setgray fill
        grestore
        stroke
} def
% pass-in length, vectors
/makeillust {
            /vects xdef
            /len xdef
            lw-dec
            makeaxes
            lw-std
            1 1 vects length {
              1 sub vects exch get drawvect
            } for
} def
/O [0 0] def
/frame1 [ [1 0] [120 cos 120 sin] [240 cos 240 sin] ] def
/len1 1 inch def
/frame2 [ [1 0] [120 cos 120 sin] [60 cos 60 sin] ] def
/len2 1 inch def
/frame3 [ [30 cos 30 sin] [90 cos 90 sin] [150 cos 150 sin] ] def
/len3 1 inch def
gsave
len1 frame1 makeillust
2.6 inch 0 translate
len2 frame2 makeillust
2.6 inch 0 translate
len3 frame3 makeillust
grestore
(Mercedes-Benz tight frame in $R^2$) [2.6 inch -1.5 inch] 2 2 label

Possibly relevant posts:

Dec 31st, 2004 | Posted in General
Tags:
  1. Jan 1st, 2005 at 06:09 | #1

    Let me know when you’re happy with IllustRender so that
    a) I can try it out for myself
    b) link to it from http://www.mayer.dial.pipex.com/tex.htm#latexrender and http://sixthform.info/steve/wordpress/

Leave a comment

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">
CommentLuv Enabled