> 1. When using \left( .... \right), the parentheses disappear when
> the equation is wrapped. Of course, having these delimiters on
> separate lines doesn't work in Latex. But it is an unexpected
> consequence. I know a few workarounds, such as using \Biggl( ...
> \Biggr), but it is surprising to have parentheses disappear, and I
> doubt I will catch all the cases where this will happen.
OK, thanks. This is a bug with the linebreaking of <mfenced>
elements, and will have to be fixed. I have opened an issue tracker
for it at
https://github.com/mathjax/MathJax/issues/255
> 2. At least for FF 12 on Ubuntu, the wrapping doesn't take into
> account equation numbers, so the equation numbers sometimes overlap
> with the equation for certain width screens.
There are still things to be added to the line breaking algorithm.
One of them is that entries in tables aren't broken unless the entry
is too wide all by itself (the other columns aren't taken into
account). This is pertinent because labeled equations are handled as
a table with one <mlabeledtr> row, and that means the cell containing
the main equation doesn't take the label into account at the moment.
On the other hand, if most of your equations are numbered, you could
set the width for line wrapping to something smaller than 100%. For
example
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
"HTML-CSS": { linebreaks: { automatic: true, width: "75%
container" } },
"SVG": { linebreaks: { automatic: true, width: "75% container" } }
});
</script>
would cause the linebreaks to occur at 75% of the full width of the
page, which should give you room for the equation numbers.
> 3. Is it feasible to eventually have a way to suggest line breaks
> with the tex input jax? For example, I'd be nice to have it
> selectively break at the = signs and not break between sequential
> \int's. It seems my only option now is to learn how to write the
> equations in MathML.
Well, you could define some macros like the following
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
TeX: {
Macros: {
goodbreak: '\\mmlToken{mo}[linebreak="goodbreak"]{}',
badbreak: ['\\mmlToken{mo}[linebreak="nobreak"]{#1}',1],
nobreak: ['\\mmlToken{mo}[linebreak="nobreak"]{#1}',1],
invisibletimes: ['\\mmlToken{mo}{\u2062}']
}
}
});
</script>
Here you an use \goodbreak to indicate a position that is a good
breakpoint. The \badbreak and \nobreak macros are a little different;
they take an argument which is the operator where the break is to be
discouraged or prevented. The parameter is treated as text (i.e., not
further processed as TeX macros), so \badbreak{+} would make a plus
sign where there should not be a break unless really needed, and
\nobreak{+} would be one where a break should not be allowed.
The line-breaking algorithm takes nesting levels into account, so if
you but braces around some terms, that will discourage MathJax from
breaking within those braces. E.g.
a + b + c + { \int_0^1\!\!\!\int_0^1 x y\, dxdy } + d + e
would be unlikely to break between the integral signs.
> 4. If it is eventually possible to suggest line breaks, a great
> feature would be to have an option in the "line break suggestion
> tag" that causes MathJax to insert a character when the line break
> occurs. In many cases, I'd want the equation to have a \times after
> the line break.
The MathML3 specification includes the ability to duplicate an
operator at the linebreak, and to provide a visible character to use
when a break occurs at an invisible times, so those are the only
possible effects that MathJax could provide, since it must be able to
represent everything it does in MathML somehow. Unfortunately,
neither of these are currently implemented (as I said, there is still
more work to be done with line breaking). I have provided an
\invisibletimes macro above so that you can use that to provide
appropriate locations for linebreaks at multiplication. Note that
MathJax's TeX input jax doesn't insert them itself.
These don't completely solve your issues, but I hope it helps.
Davide