News

MathJax v3.1.3 now available

The MathJax team is pleased to announce version 3.1.3 of MathJax, released earlier today. This is a bug-fix release that fixes over 70 issues. It also updates the Speech-Rule Engine to version 3.2, and includes a few new features as well.

New Features in this Release

  • The speech-rule engine (SRE) has been updated to v3.2.0. (SRE release notes.)
  • The options controlling the SRE have been separated out from the other assistive options so they can be configured independently. (documentation)
  • The MathDocument reset() command now allows resetting input and output jax. (#647)
  • LaTeX environments can now be defined in the MathJax configuration, just like macros. (#2505) (documentation)
  • Add support for all \mathXYZ and \symXYZ macros (e.g., \mathsfit, \symbfup) and use multi-letter <mi> when possible. (#2595)
  • Add support for trapping and reporting SRE errors. (#679) (documentation)
  • Add ability to trigger links within expressions (via the return key) while using the expression explorer. (#687)
  • Update the mhchem extension to the latest version from the author. (#688)
  • Update AsciiMath to current version. (#2640)

Bugs Addressed in this release

TeX Input Issues

  • Allow \middle to work when a style or color is open. (#2663)
  • Fully clear tagging on equation start. (#2643)
  • Ignore * in \\* and \\*[...] constructions. (#2433)
  • Fix problems with SVG output being misplaced. (#2554, mathjax/MathJax#2624, mathjax/MathJax#2577)
  • Fix problem with \| being stretchy when it shouldn’t be. (#2632)
  • Fix placement of undefined macro when textmacros and noundefined are both in effect. (#2622)
  • Fix problem with autoloading when macro name is followed by a space. (#2580)

MathML Input Issues

  • Fix problem with loading entity files when MathML input encounters an entity that isn’t defined. (#2650)
  • Fix handling of <mrow> nodes that look like \left...\right to be TeX class INNER. (mathjax/Mathjax#2584)
  • Don’t mark <mrow> nodes as fences if the parentheses aren’t stretchy. (#583)
  • Make <mspace> elements have TeX class NONE. (#2576)

Output Issues

  • Fix MathML spacing rules for <mo> elements to better follow the specification. (#2392)
  • Better handling of minimum height and width for SVG (so they don’t disappear). (#2605)
  • Fix issues with placement of <menclose> notations. (#2571)
  • Fix several issues with tables (label alignment in CHTML, lines in SVG in tables with tags, vertical centering). (mathjax/Mathjax#2601)
  • Update SVG output so that following a link scrolls to the top of the tag rather than the baseline in all browsers. (#2588)
  • Use a colon in link anchor ids so that links work in Safari in SVG output. (#2586)
  • Improve positioning of extenders for stretchy characters. (#2547, mathjax/MathJax#2598)
  • Improve heights of successively larger multi-character surds. (#2658)
  • Handle variant forms for pseudo-scripts better in fonts that have them. (#2519)
  • Allow stylesheet to be obtained even after it was created. (#2542)
  • Correct errors in the horizontal stretchy data for several characters. (#645)
  • Updates to handle smallmatrix environment properly. (#582, #621)
  • Fix problem with selectors for SVG path widths. (#2618)
  • Fix incorrect glyph for script capital I. (mathjax/MathJax-src#2555)
  • Add a small separation between super- and subscripts and their base. (#2406)
  • Allow “single-character” <mi> elements to include trailing combining characters. (#2617)
  • Improve spacing between accents and their bases, and handle under- and over-lines more like TeX. (#619)
  • Handle accents more like TeX does (better sizes and placement). (#712, mathjax/MathJax#2474)
  • Fix handling of italic correction for <munderover> and <msubsup> combinations. (#634)
  • Better handling of the placement of scripts in enriched MathML. (zorkow/speech-rule-engine#462, #617)
  • Handle spacing in <mroot> elements properly. (#2630)
  • Make sure hit-box is translated along with the hit-able element in SVG output. (#2530)
  • Add support for setting the unknown character family for when a character is not in the MathJax fonts. (#576)
  • Make sure bevelled fraction is symmetrically placed. (#580)
  • Prevent border-spacing and border-collapse from being inherited from an outer table. (#686)

Miscellaneous

  • Update operator dictionary to the current state of Appendix C of the specification. (#652)
  • Skip DOM node types that MathJax can’t process. (#2662)
  • Fix a problem where enableEnrich and other a11y options could not be configured. (#2651)
  • Properly serialize <annotation-xml> content. (#678)
  • Reset the tex labels and ids when A11y changes force re-rendering. (#2597)
  • Trim TeX and annotations before copying to clipboard. (#2574)
  • Remove role='presentation' attributes. (#2608)
  • Handle measuring of elements in jsdom adaptor the same way as in liteDOM, since jsdom doesn’t do measurements. (#2550)
  • Show more internal properties in serialized MathML. (#2585)
  • Improve build tools to make it easier to create custom components. (#592)
  • Fix pack and makeAll commands to display the modules used in version 5 of webpack. (#591, #579)
  • Fix webpack.common.js to handle windows paths correctly. (demos-web#30)
  • Update LiteAdaptor to handle full-width characters better. (demos-node#29)

Potential Future Breaking Changes

Some of the changes made to the options to accommodate the updated speech-rule engine are potentially breaking changes, in that the previous options (enrichSpeech, a11y.locale, a11y.speechRules) are no longer valid options. Since MathJax flags invalid options and stops processing when it encounters one, this means any configurations that used the older options would no longer work. Version 3.1.3 includes code to transfer the old options to their new locations, but that code will be removed in version 3.2. This gives page authors the opportunity to fix the issue before version 3.2 is released and their pages break.

Similarly, the code that automatically renames the older TeX package names to their current all-lower-case versions (e.g., configMacros to configmacros and colorV2 to colorv2) will likely be removed from version 3.2, so if you are using old package names, you should change your configurations before version 3.2. This applies to \require{} macros that refer to the older names as well as their names in the loader section, the tex.packages array, and the tex.autoload block.

Version 3.2 will also see the removal of the matchFontHeight option for the SVG output jax, since it only applies to the CommonHTML output, but is currently allowed in the svg configuration block, while doing nothing.

Version 3.2 may include other breaking changes, such as the removal of the toArray() method from the LinkedList class (and its subclasses), so any custom code that uses that should switch to using Array.from(...) around the list instead.

Finally, the Box.ts and CssStyles.ts (and their associated .js files) have been moved from the output directories to the util directory. Compatibility files were placed in the original locations so that older code would continue to work, but these will likely be removed in v3.2, so you should modify any custom code that loads these files to obtain them from the util directory instead.

Availability of version 3.1.3

Although version 3.1.3 was released earlier today, it may take a day or two for the new version to propagate to the various CDN network computers, so you may not see v3.1.3 immediately if you are loading mathjax using a generic mathjax@3 URL. You should be able to obtain it immediately if you use the full version mathjax@3.1.3.

You may also have a cached version in your browser, so may need to either clear the browser cache, or relaunch your browser (or both) in order to get the latest version (the cached version should expire in about a week, depending on the CDN being used).

Note that it is possible for some files to be updated before others, so it may be the case that users of websites that load extensions (either explicitly or by autoloading TeX packages) may get mixed versions for until the CDN versions stabilize, which should be within a day. If you are loading one of the combined components (e.g., tex-chml.js), this is less likely to be an issue, and if you are loading a component ending in -full it is even less likely to occur.

Version 3.1.3 is available immediately from npm and GitHub for use in node applications.

Previous News

Taylor & Francis continues as MathJax Sponsor
MAA continues as MathJax Sponsor
Elsevier continues as MathJax Sponsor
EBSCO continues as MathJax supporter
MathJax v3.1.2 now available
MathJax v3.1.0 now available
MathJax v2.7.9 now available
Springer Nature continues as MathJax supporter
The London Mathematical Society continues as MathJax supporter
MathJax v3.0.5 now available
MathJax v2.7.8 now available
Taylor & Francis continues as MathJax Supporter
MathJax v2.7.6 now available
MathJax v3 beta.4 released
MathJax v3 beta.3 released
MathJax v3 beta.2 released
MathJax v2.7.5 now available
MathJax v3 beta released
The American Statistical Association becomes a MathJax Supporter
MathJax v2.7.4 now available
MathJax v2.7.3 now available
MathWorks continues as MathJax Supporter
Oxford University Press continues as MathJax Supporter
EBSCO Information Services continues as a MathJax Supporter
The London Mathematical Society continues as MathJax supporter
IOP Publishing continues as MathJax Supporter
RedLink becomes a MathJax Supporter
Elsevier continues as MathJax Sponsor
AIP Publishing continues as MathJax Supporter
OSA Publishing continues as MathJax Supporter
The Mathematical Association of America continues as MathJax Supporter
PLOS continues as MathJax Supporter
MathJax v2.7.2 now available
IBM continues as MathJax Supporter
MathJax v2.7.2 beta now available
Cambridge University Press continues as MathJax Supporter
Springer Nature continues as a MathJax Supporter
American Physical Society continues as MathJax Supporter
Stack Overflow continues as MathJax Partner
Pearson continues as MathJax Supporter
The London Mathematical Society continues as MathJax supporter
IEEE continues as MathJax Partner
MathJax CDN shutting down on April 30, 2017.
Alternatives available.
Taylor & Francis continues as MathJax Supporter
MathJax-node v1.0 released
Atypon continues as a MathJax Supporter
Wiley continues as MathJax Supporter
MathJax awarded grant from Simons Foundation for 'Universally enhancing math on the web'
EBSCO Information Services continues as a MathJax Supporter
2016 in review
IOP Publishing continues as MathJax Supporter
MathWorks continues as MathJax Supporter
Project Euclid continues as MathJax Supporter
The Mathematical Association of America continues as MathJax Supporter
MathJax v2.7 now available
Cambridge University Press continues as MathJax Supporter
Elsevier continues as MathJax Sponsor
IBM becomes a MathJax Supporter
MathJax v2.7 beta now available
MathJax wins PAM Division Award 2016
Springer Nature continues as a MathJax Supporter
AIP Publishing continues as MathJax Supporter
OSA Publishing continues as MathJax Supporter
American Physical Society continues as MathJax Supporter
Pearson becomes a MathJax Supporter
IEEE continues as MathJax Partner
MathJax Accessibility Extensions v1.0 now available
Stack Overflow continues as MathJax Partner
Oxford University Press continues as MathJax Supporter
Atypon continues as a MathJax Supporter
Wiley continues as MathJax Supporter
PLOS continues as MathJax Supporter
Taylor & Francis continues as MathJax Supporter
EBSCO Information Services becomes a MathJax Supporter
HighWire continues as MathJax Supporter
MathJax v2.6 now available
IOP Publishing continues as MathJax Supporter
The MathWorks continues as MathJax Supporter
Responsive Equations
MathJax whitepaper "Towards MathJax v3.0" released
The London Mathematical Society continues as MathJax supporter
Project Euclid continues as MathJax Supporter
The Mathematical Association of America continues as MathJax Supporter
MathJax v2.6 beta now available
AIP Publishing continues as MathJax Supporter
Springer Science+Business Media continues as a MathJax Supporter
Elsevier continues as MathJax Sponsor
American Physical Society continues as MathJax Supporter
Cambridge University Press continues as MathJax Supporter
OSA Publishing continues as MathJax Supporter
Stack Exchange continues as MathJax Partner
MathJax Community Update #8
IEEE continues as MathJax Partner
Oxford University Press continues as MathJax Supporter
Making math on Wikipedia more awesome | an interview with Moritz Schubotz
Atypon continues as a MathJax Supporter
Taylor & Francis continues as MathJax Supporter
MathJax announces PLOS is latest to join its sponsorship program
Wiley becomes a MathJax Supporter
MathJax v2.5 now available
IOP Publishing continues as MathJax Supporter
MathJax v2.5 beta now available
Thank you for your support in 2014!
A quick stroll around our code repositories
HighWire continues as MathJax Supporter
Project Euclid continues as a MathJax Supporter
The London Mathematical Society continues as MathJax supporter
The MathWorks continues as MathJax Supporter
MathJax Community Update #7
The Mathematical Association of America continues as MathJax Supporter
Springer Science+Business Media continues as a MathJax Supporter
AIP Publishing continues as MathJax Supporter
Static site generation for researchers | an interview with Wonseok Shin
Changes to the MathJax CDN
American Physical Society continues as MathJax Supporter
Cambridge University Press continues as MathJax Supporter
The Optical Society of America continues as MathJax Supporter
MathJax v2.4 now available
Elsevier continues as MathJax Partner
MathJax Community Update #6
MathJax v2.4 beta now available
Stack Exchange continues as MathJax Partner
IEEE continues as MathJax Partner
Christian Perfect joins the MathJax team
Google+ Hangout on Air on open math textbooks
Taylor & Francis supports MathJax as a MathJax Supporter
Oxford University Press continues as MathJax Supporter
Social media for students and educators | an interview with Demonstranda
MathJax community update #5
Google+ Hangout on Air Q&A with Davide Cervone, Peter Jipsen, and David Lippman
Atypon continues as a MathJax Supporter
IOP Publishing continues as a MathJax Supporter
The London Mathematical Society continues as MathJax supporter
MathJax community update #4
HighWire supports MathJax as a MathJax Supporter
Project Euclid continues as a MathJax Supporter
MathJax v2.3 now available
MathJax community update #3
Getting a response from STEM audiences | an interview with LetsFeedback
MathJax v2.3 beta now available
Markdown authoring as webapp | an interview with StackEdit
MathWorks supports MathJax as a MathJax Supporter
Springer Science+Business Media continues as a MathJax Supporter
MathJax community update
The Mathematical Association of America continues as MathJax Supporter
MathJax community update
AIP Publishing continues as MathJax Partner
Introducing COMM / Interview at Fidus Writer
Cengage Learning and MathJax Improve User Experience through Delivery of Mathematical Equations in Digital Solutions
The Optical Society of America continues as MathJax Supporter
Cambridge University Press becomes a MathJax Supporter
Stack Exchange continues as MathJax Partner
American Physical Society continues as MathJax Supporter
MathJax v2.2 now available
Elsevier becomes a MathJax Partner
MathJax v2.2 beta now available
IEEE becomes a MathJax Partner
Elsevier Announces MathJax Now Available on ScienceDirect
Oxford University Press supports MathJax
AMS becomes managing partner of the MathJax Consortium
Frédéric Wang joins MathJax as core developer
Atypon becomes a MathJax Supporter
Getting ready for the Joint Math Meetings 2013
The London Mathematical Society continues as MathJax supporter
IOP Publishing continues as MathJax Supporter
MathJax community meetup at the Joint Mathematics Meetings 2013
Project Euclid continues as MathJax Supporter
MathJax v2.1 now available
MathJax v2.1-beta now available on the CDN
The Mathematical Association of America becomes a MathJax Supporter
BISG endorses epub3 as preferred standard
American Physical Society continues as MathJax Supporter
The Optical Society of America continues as MathJax Supporter
Stack Exchange continues as MathJax Partner
Springer Science+Business Media becomes a MathJax Supporter
Website maintenance on June 11, 2012
Upcoming changes to the CDN
Readium adds MathML support via MathJax
Why cdn.mathjax.org was unavailable for 4 hours on March 13
MathJax 2.0 and the default rendering in Firefox
MathJax version 2.0 now available
MathJax v2.0-beta now available on CDN
MathJax Staff for 2012
MathJax Meet-up at JMM in Boston
A sad day
AIP Publishing Partners with MathJax
MathJax is looking for a Business Development Manager
Support from IEEE boosts MathJax
Scheduled CDN Maintenance September 11-12
Article about MathJax in E-learning websites released
Mathematics E-learning Community Benefits from MathJax
IOP Publishing becomes a MathJax Supporter
Project Euclid Renews Sponsorship of MathJax
Video tutorial “Using MathJax in Blackboard” released
The MathJax project is now accepting donations
MathJax CDN Service very successful
MathJax v1.1a Now Available
American Physical Society continues as MathJax Supporter
Video tutorial “How to use MathJax with Tumblr” released
WebAssign becomes a MathJax Supporter
The Optical Society becomes a MathJax Supporter
Stack Exchange becomes MathJax Partner
MathJax Launches CDN Service with 1.1 Release
MathJax starts Discussion Group on LinkedIn
MathJax: Time to Step Up
Leading journals illustrate MathJax's flexible use in scholarly communication
MathJax version 1.1 Beta Ready for Testing
Project Euclid Enables MathJax for 20 Journals
Update for Firefox 3.6.13
MathJax Developer Resources Have Moved
Russian Mathematics Portal Moves to MathJax
MathSciNet Now Uses MathJax
Business Development Manager Sought
MathML in HTML5: Problems with IE9
Accessible Pages with MathJax
GitHub Chooses MathJax For Math Support
MathJax 1.0 is Now Available
Developers: Source Control Changes Coming Thursday July 29
Job: MathJax API Designer/Developer Wanted
MathJax Beta 2 Adds MathML Support
MathJax Gets A Facebook Page (And Twitter)
Project Euclid Joins MathJax as a Supporter
MathML Development Roadmap
Presentations preview MathML support, ideas on copy and paste
Elsevier Adds Support To MathJax
MathJax Beta Released
American Physical Society Becomes a MathJax Supporter
MathJax at the Joint Mathematics Meetings
Preview Page Goes Live!
MathSciNet with MathJax
American Scientist Spotlights MathJax