@dpvc dpvc released this Oct 4, 2018

Assets 2

This is the second public beta release of MathJax v3.


This is a beta release. Do not use this in production but please test it and report issues at!

The master branch is not the beta release; it is the current development copy, set up for development testing. The beta branch is the beta release.

What's New

The TeX input jax has been updated and expanded to include more complete coverage, including a number of extensions that were not previously available (e.g., mhchem, cancel, and verb) as well as implementations for features such as tags and labels.

The CommonHTML output was refactored to separate out functions that can be used by other output renderers (such as bounding box computations and positioning computations) from the HTML-specific code. This made is easy to implement the new output renderer for SVG output, which is included in this beta release.

In addition, a number of bug fixes and enhancements are included. For example, both output renderers now handle characters that aren't in the MathJax TeX fonts.

What's Included

This beta version includes two input processors (TeX and MathML) and two output processors (CommonHTML and SVG). Other input and output processors (e.g., AsciiMath input) will be added in the future.

The current TeX input processor has all the core functionality of the MathJax v2 TeX input, and several of the extensions built in, but some extensions are still to come. For example, \unicode, \bbox, and the color extension are not yet available.

The CommonHTML and SVG output implement all the MathML elements that they do in v2, but do not yet include support for line breaking (neither automatic nor explicit ones); this will be implemented in a later beta version. Both output renderers currently only support the MathJax TeX font; other fonts will be added in the future.

The CommonHTML output currently uses a very large CSS file that encodes the font information needed for all the characters in the MathJax TeX fonts. This is a preliminary implementation of the font support, which will be updated to reduce the size of the CSS in future versions.

The SVG output currently uses explicit SVG <path> elements for the characters it displays, whereas version 2 cached the paths in a common SVG <defs> element so that paths didn't have to be repeated in the individual expressions that used them. This will be implemented in a future version.

The MathJax contextual menu is not yet implemented.

The ability to configure MathJax through a configuration object, as in v2, is limited at the moment. In version 3, this type of customization is handled through building custom packed versions of MathJax, and that is not yet fully documented.


The repository includes examples and webpacked files for the beta release. See the instructions there for how to use them.

The repository includes examples for how to use MathJax version 3 with NodeJS.