itex2MML 1.0 and AbiWord
itex2MML is the engine we use to convert TeX input to MathML output. It’s used by my plugins for MovableType, WordPress and ecto. Originally written by Paul Gartside, I’ve sorta been its default maintainer these past several years.
So you can imagine that I was pleased to learn that the forthcoming AbiWord 2.4 uses itex2MML and gtkMathView to generate and display MathML.
Francis James Franklin and Marc Maurer put a lot of effort into adapting itex2MML for use in AbiWord and, at the same time, cleaning up the code considerably.
I’ve decided to fold their changes into my distribution and bump the version number up to 1.0.
One of the nifty new features of itex2MML 1.0 is the improved error-reporting. Unfortunately, Mozilla, for some reason, decides to “hide” <merror>
elements in display equations. So, to see the new, improved error messages, you need to add
merror {display:inline;font-size:1em;}
to your CSS stylesheet.
I’ve also decided to start distributing both Linux and MacOSX binaries, in addition to the source code. Let me know if you have trouble with the binaries or in compiling the source code from scratch.
Whither Safari?
Back in June, I wrote excitedly about the new open-source WebKit, and how it might soon lead to MathML support in Safari. The MathML in Webkit project doesn’t seem to have gone anywhere (though there’s been a flurry of activity on SVG support).
In the meantime, Frank, who’s the maintainer of the MacOSX port of AbiWord, helped Luca Padovani port gtkMathView to MacOSX. So there’s a whole new, high quality, MathML rendering engine on MacOSX1. And it’s highly modular, supporting a variety of frontend inputs and backend renderers.
Is someone interested in working with Luca to incorporate gtkMathView as Safari’s MathML rendering engine?
Update (9/15/2005):
A minor revision, itex2MML 1.01, solves the problem noted by Gong yi Liao below. Subscripts and superscripts for \det, \gcd, \inf, \lim, \liminf, \limsup, \max, \min, \Pr
and \sup
are now handled correctly2 in display equations.
If you have compilation problems, please give some details as to the system you’re compiling on.
1 Considering the crappy state of Mozilla/Mac’s MathML rendering engine, it’s probably, far and away, the best MathML rendering engine for MacOSX.
2 in display equations (versus in inline equations), as per p. 162 of The TeX Book.
Re: itex2MML 1.0 and AbiWord
It seems that the “lim” entity takes the p -> 0 as a subscript but not put it bottom of the string “lim”,
and the following is my dirty work on it: itex2MML.l:
“\lim” {yylval=itex2MMLcopystring(yytext+1); return MOB;}
and the line 830 of itex2MML.l:
YY_FLUSH_BUFFER;
should be commented out, or the program can’t be getting compiled.