# Bug Latex (mathjax] bug

1. Sep 18, 2011

### AlephZero

This doesn't work properly:

Code (Text):

\begin{array}
\frac {\partial}{\partial a^1} = \cdots \\
\frac {\partial}{\partial a^2} = \cdots \\
\frac {\partial}{\partial a^3} = \cdots
\end{array}

It gives
$$\begin{array} \frac {\partial}{\partial a^1} = \cdots \\ \frac {\partial}{\partial a^2} = \cdots \\ \frac {\partial}{\partial a^3} = \cdots \end{array}$$

I found a workround, namely to change the first line to
Code (Text):

{} \frac {\partial}{\partial a^1} = \cdots \\

which does work:
$$\begin{array} {} \frac {\partial}{\partial a^1} = \cdots \\ \frac {\partial}{\partial a^2} = \cdots \\ \frac {\partial}{\partial a^3} = \cdots \end{array}$$

2. Sep 19, 2011

### I like Serena

That's because the "array" environment expects an alignment directive as its first argument:

Code (Text):

\begin{array}{r}
\frac {\partial}{\partial a^1} = \cdots \cdots \\
\frac {\partial}{\partial a^2} = \cdots \\
\frac {\partial}{\partial a^3} = \cdots
\end{array}

yields
$$\begin{array}{r} \frac {\partial}{\partial a^1} = \cdots \cdots \\ \frac {\partial}{\partial a^2} = \cdots \\ \frac {\partial}{\partial a^3} = \cdots \end{array}$$

Not a bug!

(Although it would be nice if MathJax gave a proper error.)

3. Sep 19, 2011

### AlephZero

Actually, the real bug was typing "array" when I meant "matrix". Oh well, we all get brain-fade sometimes.

Memo to self: next time, try it in a "real" tex environment before you decide it's a PF problem!

4. Sep 19, 2011

### I like Serena

If the first symbol for some reason doesn't show, consider that perhaps tex expects an alignment directive there.

5. Sep 19, 2011

### diazona

If you were using it for equations, actually "align" is recommended:
Code (Text):
\begin{align}
\frac {\partial}{\partial a^1} &= \cdots \\
\frac {\partial}{\partial a^2} &= \cdots \\
\frac {\partial}{\partial a^3} &= \cdots
\end{align}
\begin{align} \frac {\partial}{\partial a^1} &= \cdots \\ \frac {\partial}{\partial a^2} &= \cdots \\ \frac {\partial}{\partial a^3} &= \cdots \end{align}
With the AMS math environments (align, gather, multline, matrix, etc.) there's almost never any reason to use array or especially eqnarray anymore.

6. Sep 19, 2011

### I like Serena

What is the reasoning behind this recommendation?

Since I mostly post equations on forums, I'd prefer the environment that "always works".
Meaning I don't want to be dependent of (parts of) an AMS environment or another environment that may or may not be available.

As far as I can tell matrix, pmatrix, array, eqnarray, align all seem to work in various environments, so they are all eligible.
What I haven't yet figured out is why one would be preferable over another.

7. Sep 19, 2011

### diazona

Reasons why eqnarray is deprecated: http://www.tug.org/pracjourn/2006-4/madsen/, http://texblog.net/latex-archive/maths/eqnarray-align-environment/, http://www.math.uiuc.edu/~hildebr/tex/displays.html (and much of the same reasoning applies to array). Basically it's because of layout problems - though to be fair, those aren't as much of an issue when rendering to MathML, as MathJax does. It might even be the case that MathJax implements array and eqnarray as synonyms for matrix and align (with slightly different syntax).

Still, it's pretty common knowledge throughout the LaTeX community that the AMS environments are strictly better than array and eqnarray when you're typesetting a paper, and no worse anywhere else, so you're unlikely to find any environment where they are not supported. (MathJaX supports all the AMS environments natively, and every LaTeX distribution includes the AMS packages, so I can't think of a legitimate reason you would be unable to use them. The website administrator would have had to explicitly disable them, which would be silly.)

Last edited by a moderator: Apr 26, 2017