### itex2MML 1.1

One of the annoying misfeatures of itex2MML, heretofore, was that it used a rather nonstandard syntax,

`\array{ ... }`

or`\array{ \arrayopts{...} ... }`

to create matrices and aligned equations. I’m not sure of the historical origin of this peculiarly un-LaTeX-like syntax but, for some time now, I’ve been meaning to add support for the standard AMSLaTeX constructs.

With itex2MML 1.1, we now support

`\begin{`

env} ... \end{env}

where

is any one of the following*env*

`matrix`

- a matrix, $\begin{matrix} a & b \\ c & d \end{matrix}\, .$
`pmatrix`

- a matrix, enclosed in parentheses, $\begin{pmatrix} a & b \\ c & d \end{pmatrix}\, .$
`bmatrix`

- a matrix, enclosed in square brackets, $\begin{bmatrix} a & b \\ c & d \end{bmatrix}\, .$
`Bmatrix`

- a matrix, enclosed in brace brackets, $\begin{Bmatrix} a & b \\ c & d \end{Bmatrix}\, .$
`vmatrix`

- a matrix, enclosed in vertical bars, $\begin{vmatrix} a & b \\ c & d \end{vmatrix}\, .$
`Vmatrix`

- a matrix, enclosed in double vertical bars, $\begin{Vmatrix} a & b \\ c & d \end{Vmatrix}\, .$
`smallmatrix`

- a small matrix, suitable for use in inline equations, $\begin{smallmatrix} a & b \\ c & d \end{smallmatrix}$.
`cases`

- cases construct, $|x|=\begin{cases}x&\text{for}\, x\geq 0,\\ -x& \text{for}\, x\lt 0.\end{cases}$
`aligned`

- produces aligned equations (or sub-blocks thereof).

So

`$$ \begin{aligned} A =& \begin{pmatrix}a & b \\ c & d \end{pmatrix} \\ A^{-1} =& \frac{1}{\det A} \begin{pmatrix}d & -b \\ -c & a \end{pmatrix} \\ =& \frac{1}{a d - b c} \begin{pmatrix}d & -b \\ -c & a \end{pmatrix} \end{aligned} $$`

produces $\begin{aligned} A =& \begin{pmatrix}a & b \\ c & d \end{pmatrix} \\ A^{-1} =& \frac{1}{\det A} \begin{pmatrix}d & -b \\ -c & a \end{pmatrix} \\ =& \frac{1}{a d - b c} \begin{pmatrix}d & -b \\ -c & a \end{pmatrix} \end{aligned}$

Another AMSLaTeX construct I’ve been pining for is `\substack{...}`

, as in

`$$ A = \sum_{\substack{m,n \in \mathbb{Z} \\ m \geq n }} a_{m,n} $$`

which now produces $A = \sum_{\substack{m,n \in \mathbb{Z} \\ m \geq n }} a_{m,n}$

If you’re viewing this in **Mozilla/Firefox**, you’ll note that the vertical spacing in all these matrices (and in `\substack{...}`

) is screwed-up because of this bug.

For sheer lack of time, I don’t see myself implementing the myriad of other AMSLaTeX constructs anytime soon. But if there are particular ones you’ve been pining for, let me know.

As usual, my distribution comes with precompiled binaries for MacOSX and Linux and a plugin for MovableType.

#### Update (5/31/2006):

Spurred by Urs’s question, I decided it was time to produce some new documentation for itex2MML. It’s not much, but check out the itex Command Summary Page.In the process of reviewing the features of itex2MML, I made a slew of bugfixes/improvements. So it’s time to release itex2MML 1.1.2 with the following improvements.

`\backslash`

is now mapped correctly.`\Box`

was added as a synonym for`\square`

.- Several characters were changed from
`<mo>`

s to`<mi>`

s. - Wide and regular-width accents now work as expected (well, except for this bug with
`\overline`

). - Corrected support for
`\pmod`

and add support for`\mod`

. - Status-line messages in
`\toggle`

were a NOOP. Dropped. - Fixed the
`\href`

command so that it will play nice with the W3C Validator, and hence will work here^{1}. If you downloaded itex2MML in the past few hours, download it again, to get the fixed-up version (sorry 'bout that!).

#### Update (6/2/2006):

For yet more enhancements, see the next entry.^{1} Getting `\href`

to work in comments required a small rejiggering of our sanitize spec.

## Re: itex2MML 1.1

Very nice.

One fine day, there will be xypic support for web-based math. I hope. But I guess that’s out of reach for anything realizable in terms of MathML.