Attention

Version 3 is now the current version of MathJax. This document is for version 2.

What’s New in MathJax v2.5

MathJax v2.5 includes a number of new features, as well a more than 70 important bug fixes. The following are some of the highlights.

Features

  • Speed improvements. The HTML-CSS output performance was improved by 30-40% (depending on content complexity, with higher gains in more complex content such as very long documents).
  • New output for fast preview. The new CommonHTML output provides a rough but 10x-faster rendering. The CHTML-preview extension will use this fast output as a preview mode for HTML-CSS or SVG output.
  • Improved Content MathML support. Content MathML is now fully supported via a new extension, in particular this allows customization of the conversion process.
  • Improved elementary math support The experimental support for elementary math elements has been significantly improved special thanks to David Carlisle.
  • NodeJS compatibility. Enable the implementation of a NodeJS API (released as MathJax-node).

Numerous display bugs, line-breaking problems, and interface issues have been resolved; for a detailed listing please check the release milestone.

Interface

  • #834 Fix incorrect line-width when zooming which can cause line-breaking problems.
  • #918 Fix zoom box size in NativeMML output.
  • #835 Fix zoom for equations extending beyond their bounding box.
  • #893 Fix outdated ARIA values for HTML-CSS and SVG output.
  • #860, #502 Preserve RDFa, microdata, aria labels, and other attributes in HTML-CSS and SVG output.
  • #935 Escape special characters in TeX annotations.
  • #912 Fix missing mstyle attributes in toMathML output.
  • #971 Fix lost attributes when toMathML is restarted.

Line-breaking

  • #949 Fix processing error due to empty elements.

HTML-CSS/SVG/nativeMML display

  • #863 Fix broken MathML preview in MathML pre-processor.
  • #891 Fix deprecated regexp affecting mtable alignment.
  • #323 Improve MathPlayer compatibility on Internet Explorer 10+.
  • #826 Scale content in fallback fonts.
  • #898 Fix invalid SVG output when using fallback characters.
  • #800 Fix misplaced background color for stretched mphantom elements in SVG output.
  • #490 Fix \overline issues in combination with text-style limits.
  • #829 Implement \delimitershortfall, \delimiterfactor.
  • #775 Fix lost text content in SVG output.
  • #917 Fix cases of incorrect bounding boxes in HTML-CSS output.
  • #807 Fix clipping of table columns in HTML-CSS output.
  • #804 Fix cases of uneven subscripts.
  • #944 Fix rendering error when scaling-all-math of labeled equations.
  • #930 Fix SVG output failure when <math> element has inline styles with border or padding.
  • #931 Fix baseline alignment in Safari 6.2/7.1/8.0.
  • #937 Fix incorrect width in MathJax font data affecting underlining.
  • #966 Fix SVG output overlapping when using prefix notation.
  • #993 Add workaround for Native MathML in Gecko to re-enable mlabeledtr etc.
  • #1002 Enable SVG output to inherit surrounding text color.

TeX emulation

  • #881 Allow \newenvironment to process optional parameters.
  • #889 remove extra space around some parenthesis constructs.
  • #856 Recognize comma as decimal delimiter in units.
  • #877 Fix bug related to multiple accent having different width.
  • #832 Fix multline environment not being centered in HTML-CSS output.
  • #776 Fix stretchy delimiters of binom and choose.
  • #900 Fix \buildrel getting TeX class ORD instead of REL.
  • #890 Enable px as dimension in \\[...].
  • #901 Allow \limits in more cases and add errors for some cases of multiple subscripts.
  • #903 Allow \hfill to set alignment in matrices and arrays (for old fashioned TeX layout).
  • #902 Convert \eqalignno and \leqalignno into mlabeledtr.
  • #906 Allow comma separated parameters in \mmlToken.
  • #913 Allow attributes in \mmlToken whose defaults are false or blank.
  • #972 Fix autoload of the color extension.
  • #375 Add \{, \}, and \\ to macros working within \text{} etc.
  • #969 Fix incorrect spacing with some \frac constructs.
  • #982 Fix incorrect spacing in aligned environments.
  • #1013 Fix processing error caused by ' in commutative diagrams using AMScd.js.
  • #1005 Add wikipedia-texvc.js extension.

Asciimath

MathML Handling

  • #847 Fix line-breaks in annotation elements.
  • #805 Prevent empty annotation elements from causing math processing errors.
  • #769 Update indentshift implementation to meet clarified MathML specification.
  • #768 Fix processing of percentage values for indenshift.
  • #839 Update inheritance of displaystyle in mtable to meet clarified MathML specification.
  • #695 Allow Content MathML converion to be customized.
  • #964 Move experimental support for elementary math and RTL to its own extension.

Fonts

  • #845 Fix webfont bug in Safari 7.
  • #950 Fix webfont bug in IE 11.

Localization

  • #979 Updated locales thanks to Translatewiki.net; activate locales for Scots and Southern Balochi.

APIs

  • #873 Combine array of elements when typesetting.
  • #693 Add API to allow listeners to be cleared.

Misc.

  • #870 Add Composer package information.
  • #872 Add small delay between input and output phase to prevent performance degredation.
  • #1016 Fix bug related to <script> elements with namespace prefix, e.g., in xHTML.