What’s New in MathJax v2.2

MathJax v2.2 includes a number of new features, as well a more than 40 important bug fixes.

Features:

  • Localization of MathJax user interface. (German and French translations currently available in addition to English.)

  • Commutative diagrams via the AMScd extension.

  • New Safe-mode extension that allows you to restrict potentially dangerous features of MathJax when it is used in a shared environment (e.g., href to javascript, styles and classes, etc.)

  • Improve MathML rendering for mfenced and mlabeldtr elements in browsers that don’t support them well.

  • Experimental Content MathML support.

TeX input:

  • Avoid potential infinite loops in \mathchoice constructs. (Issue #373)

  • Add error message when an environment closes with unbalanced braces. (Issue #454)

  • Allow spaces in the RGB, rgb, and greyscale color specifications. (Issue #446)

  • Process \$ in \text arguments. (ssue #349)

  • Preserve spaces within \verb arguments. (Issue #381)

  • Make \smallfrown and \smallsmile come from the variant font so they have the correct size. (Issue #436)

  • Make the input TeX jax generate mrow plus mo elements rather than mfenced elements (for better compatibility with native MathML implementations).

  • Make \big and its relatives use script or scriptscript fonts (although size is still absolute, as it is in TeX) so that it balances the text weight in scripts. (Issue #350)

  • Convert true and false attributes to booleans in \mmlToken. (Issue #451)

AsciiMath:

  • Rename AsciiMath config option from decimal to decimalsign. (Issue #384)

Fonts:

  • Add Greek Delta to SVG fonts. (Issue #347)

  • Fix monospace space character to be the same width as the other monospace characters. (Issue #380)

  • Better handling of unknown or invalid values for mathvariant or values not supported by generic fonts.

MathML:

  • Handle empty child nodes better.

  • Improved MathML rendering for mfenced and mlabeldtr elements.

  • Ignore linebreak attribute on mspace when dimensional attributes are set. (Issue #388)

  • Implement rowspacing/columnspacing for mtable in native MathML output in Firefox using cell padding.

HTML-CSS/SVG output

  • Allow \color to override link color in SVG output. (Issue #427)

  • Add min-width to displayed equations with labels so that they cause their containers to have non-zero width (like when they are in a table cell or an absolutely positioned element). (Issue #428)

  • Fix a processing error with elements that contain hyperlinks. (Issue #364)

  • Try to isolate MathJax from CSS transitions. (Issue #449)

  • Go back to using em’s (rounded to nearest pixel) for Chrome. Rounding makes the placement work more reliably, while still being in relative units. (Issue #443)

  • Prevent error when math contains characters outside of the MathJax fonts. (Issue #441)

  • Make final math size be in relative units so that it prints even if print media has a different font size. (Issue #386)

  • Don’t scale line thickness for menclose elements (so lines won’t disappear in scripts). (Issue #414)

  • Fix fontdata.js to allow it to be included in combined configuration files. (Issue #413)

  • Makes math-based tooltips be spaced properly when rendered. (Issue #412)

  • Fix Math Processing Error when ⁡ is used without preceding content. (Issue #410)

  • Fix a problem using an empty table as a super- or subscript. (Issue #392)

  • Handle the case where selection in maction is invalid or out of range. (Issue #365)

  • Add a pixel extra around the SVG output to accommodate antialiasing pixels. (Issue #383)

  • Fix Math Processing Error for msubsup/msub/msup elements.

  • Limit the number of repetition to build stretchy chars in HTML-CSS. (Issue #366)

  • Fix Math Processing Error in mmultiscripts/menclose. (Issue 362)

Interface:

  • Make zoom work properly with expressions that have full width (e.g., tagged equations).

  • Handle zooming when it is inside a scrollable element when it is not the main body element. (Issue #435)

  • Update math processing errors to include original format and actual error message in the “Show Math As” menu. (Issue #450)

  • Add a Help dialog box (rather than link to mathjax.org).

  • Remove the v1.0 configuration warning. (Issue #445)

  • Trap errors while saving cookies (and go on silently). (Issue #374)

  • Fix typo in IE warning message. (Issue #397)

  • Use UA string sniffing for identifying Firefox and handle detecting mobile versions better.

  • Make MathML source show non-BMP characters properly. (Issue #361)

  • Make tool tips appear above zoom boxes. (Issue #351)

Miscellaneous:

  • Allow preview for preprocessors to be just a plain string (rather than requiring [string]).

  • Remap back-tick to back-quote. (Issue #402)

  • Handle script tags in HTML.Element() so they work in IE. (Issue #342)

  • Add the MathJax_Preview class to the ignoreClass list so that tex2jax and asciimath2jax won’t process previews accidentally. (Issue #378)

  • Fix processing errors with various table and menclose attributes. (Issue #367)

  • Use hasOwnProperty() when checking file specification objects (prevents problems when Object.prototype has been modified). (Issue #352)