Solving Latex (MathJax) Bug - Partial Derivatives

  • Context: LaTeX 
  • Thread starter Thread starter AlephZero
  • Start date Start date
  • Tags Tags
    Bug Latex Mathjax
Click For Summary
SUMMARY

The discussion addresses a common issue with LaTeX typesetting, specifically regarding the use of the "array" environment for partial derivatives. The user initially encountered problems when omitting an alignment directive, which was resolved by adding an empty brace before the first derivative. The conversation emphasizes the superiority of AMS environments like "align" over "array" and "eqnarray" due to layout consistency and broader compatibility. It concludes that while various environments can work, AMS environments are recommended for reliable equation formatting.

PREREQUISITES
  • Understanding of LaTeX syntax and environments
  • Familiarity with MathJax rendering
  • Knowledge of AMS math environments (align, gather, etc.)
  • Basic concepts of typesetting equations
NEXT STEPS
  • Research the differences between LaTeX environments: array, matrix, and align
  • Learn about AMS math environments and their advantages in typesetting
  • Explore MathJax documentation for compatibility with LaTeX
  • Investigate common LaTeX typesetting errors and their solutions
USEFUL FOR

Mathematicians, LaTeX users, educators, and anyone involved in typesetting equations who seeks to improve their document formatting and rendering accuracy.

AlephZero
Science Advisor
Homework Helper
Messages
6,998
Reaction score
299
This doesn't work properly:

Code:
\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} <br /> \frac {\partial}{\partial a^1} = \cdots \\<br /> \frac {\partial}{\partial a^2} = \cdots \\<br /> \frac {\partial}{\partial a^3} = \cdots<br /> \end{array}<br />

I found a workround, namely to change the first line to
Code:
{} \frac {\partial}{\partial a^1} = \cdots \\
which does work:
\begin{array} <br /> {} \frac {\partial}{\partial a^1} = \cdots \\<br /> \frac {\partial}{\partial a^2} = \cdots \\<br /> \frac {\partial}{\partial a^3} = \cdots<br /> \end{array}<br />
 
Physics news on Phys.org
That's because the "array" environment expects an alignment directive as its first argument:

Code:
\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}<br /> \frac {\partial}{\partial a^1} = \cdots \cdots \\<br /> \frac {\partial}{\partial a^2} = \cdots \\<br /> \frac {\partial}{\partial a^3} = \cdots<br /> \end{array}

Not a bug!

(Although it would be nice if MathJax gave a proper error.)
 
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!
 
Another memo (that I had already written to myself before :wink:):
If the first symbol for some reason doesn't show, consider that perhaps tex expects an alignment directive there.
 
AlephZero said:
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!
If you were using it for equations, actually "align" is recommended:
Code:
\begin{align}
\frac {\partial}{\partial a^1} &= \cdots \\
\frac {\partial}{\partial a^2} &= \cdots \\
\frac {\partial}{\partial a^3} &= \cdots
\end{align}
\begin{align}<br /> \frac {\partial}{\partial a^1} &amp;= \cdots \\<br /> \frac {\partial}{\partial a^2} &amp;= \cdots \\<br /> \frac {\partial}{\partial a^3} &amp;= \cdots<br /> \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.
 
diazona said:
If you were using it for equations, actually "align" is recommended:

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.
 
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:

Similar threads

  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 10 ·
Replies
10
Views
695
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 5 ·
Replies
5
Views
3K
  • · Replies 3 ·
Replies
3
Views
2K
Replies
5
Views
2K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 3 ·
Replies
3
Views
744
  • · Replies 1 ·
Replies
1
Views
618
  • · Replies 1 ·
Replies
1
Views
2K