itex2MML 1.1.5
Bugs, bugs, bugs. It seems there’s always something to fix.
Since itex2MML 1.1.3, I’ve fixed the following:
\backslash
,\setminus
and\smallsetminus
were defined in funny and inconsistent ways. In AMSLaTeX,\setminus
and\smallsetminus
correspond to different glyphs. In MathML, they’re both mapped to U+2216. After some struggle, I eventually settled on\smallsetminus
= U+FE68 and\setminus
= U+2216 (\backslash
is U+05C), which seem to be the best match for the corresponding glyphs in LaTeX. In both MathML and TeX,\setminus
is stretchy, but, at least in Mozilla/Firefox, the MathML version is not as stretchy as in TeX. Sigh.- Fixed some miscellaneous bugs in
\tensor
,\multiscripts
and\over
. - Fixed a really annoying regression that had the effect of rendering arrows non-stretchy. As a byproduct, there are now fewer superfluous
<mrow>
s in the output of itex2MML (not that anyone but the truly anal-retentive cares). - Added
\stackrel
as a synonym for\overset
. - Added
\big
,\Big
,\bigg
,\Bigg
,\bigl
,\Bigl
,\biggl
,\Biggl
and\bigr
,\Bigr
,\biggr
,\Biggr
, which create large fixed-size delimiters (for those occasions when\left
and\right
don’t give you fine-enough control)1.
Enjoy the new, improved, release.
On a related note, Ian Hickson suggests allowing MathML in text/html
, as part of HTML5. This is an excellent idea, which will considerably ease the barrier to entry on the authoring side.
Producing XHTML is hard, and most existing tools are not up to the task of doing so reliably. On the other hand, MathPlayer 2.0 is an existence proof that well-formed MathML fragments (as produced by tools like itex2MML) can live happily in tag-soup HTML documents. MathPlayer demands2 that the document be served as application/xhtml+xml
, but only the MathML fragments need to be well-formed. The rest of the document is happily handled by Internet Explorer’s tag-soup parser.
On the reader’s side, rendering bugs like this one will persist as long as browsers have to grab glyphs willy-nilly from whatever mathematical fonts happen to be installed3 on the system (and even that seems to require an annoying popup to prompt the user to install something). As long as I’ve been running this weblog, the Stix fonts have been 6 months away from release. So I expect the problem will not be cured anytime soon.
1 This required yet another tweak to our sanitize spec.
2 As far as I can tell, the only reason for this is to piggy-back on the fact that Mozilla/Firefox actually parses the whole document as XML, and so authors go to pains to ensure that their documents (and hence the MathML fragments therein) are well-formed. Not having to think about error-correction is a saving, but not that big a saving.
3 The current best-case scenario, font-wise is
- IE + MathPlayer
- Use the fonts installed with the plugin + install Code2001.
- Mozilla/Firefox on Windows
- Install the MathML fonts package (instructions) + Code2001.
- Mozilla/Firefox on Linux
- If you have a Pango-enabled build, make sure you disable Pango.
- Install the Bakoma CM fonts and Code2001.
- Mozilla/Firefox/Camino on MacOSX
- Install the Mathematica 4.1 fonts (instructions) + Code2001.
which is not pretty.
Note that, theoretically, you ought to have good enough glyph coverage with just the Computer Modern fonts. Unfortunately, for reasons that are not entirely transparent, Mozilla’s lack of support for Plane-1 characters is not easily worked-around. Hence the need for the not-very-pretty, but serviceable, Code2001 font.
Note also that, on MacOSX, you are still missing some important glyphs, like \star
=⋆ (U+22C6). At first, I suggested installing Code2000, but that causes problems with \overline
. Really, if you’re running MacOSX 10.3 or later, these glyphs would not be missing at all, were it not for this bug.
Re: itex2MML 1.1.5
The URL references to Code2001 should be corrected to http://www.code2000.net/code2001.htm