MathJax is an open-source JavaScript display engine that enables display of mathematical notation in all modern browsers. It was created with an aim to gather all recent advances in web technologies and design on their basis a single math-on-the-web platform that is cross-browser and cross-platform. With MathJax page authors can write formulas using TeX, ASCIIMathML and LaTeX notation, MathML, or a W3C standard for representing mathematics in XML format.
MathJax does not require installation of additional software or extra fonts on the user’s system. Instead of equation images or Flash, it uses combination of HTML and CSS, browser's native MathML support or web-based fonts, if browsers have it, to produce high-quality scalable typesetting. The choice of the math typeset method depends on the functionality of the user's browser, installed fonts, and configuration settings.
MathJax makes math in the content visible in any browsers with JavaScript support (including IE, Mozilla, Chrome, Safari, Opera, Konqueror), as well as on mobile devices ( iPad/iPhone/iTouch, Android stock browser, BlackBerry, Symbian), even Gecko and WebKit browsers. MathJax has modular and extensible design, so it loads components only when necessary and can be extended to enable new functionality. Using rich API developers can create interactive advanced authoring tools, course materials, and math-enabled web apps.
Rich API allows easy integration with many popular platforms, blogs, wikis, web pages and other web apps. There is MathJax integration for Plone - collective.mathjax. This package provides MathJax as browser resources for Plone and registers them in the Resource Registry.
MathJax was designed to provide several powerful features to improve its accessibility. Since formulas with MathJax are text-based and they are available for search engines - mathematics becomes searchable. MathJax also includes copy-paste capabilities. Notations can be copied from the web sources into Word and LaTeX documents, web apps, research wikis, calculation software like Maple, Mathematica, etc.
MathJax did everything to make notations easier to see and read, both for ordinary users and those with vision or learning disabilities. There are two out-of-the-box features: scaling all equations in a page or zooming in on a particular equation, both of them allow readers to see small details like scripts, primes and hats. This and compatibility with screen readers, screen magnifiers, and learning disability software helps all users to access mathematical content.
Such easy-to-use technology together with the consistent development and testing practices advances mathematical and scientific content on the web. The key MathJax features are:
- no special software or browser configuration required;
- high-quality display of formulas in all browsers;
- support for LaTeX, MathML, ASCIIMathML and other equation markup;
- support for zooming, copy/paste, math-aware search and other features;
- an extensible and modular design with a rich API;
- integration into web applications and compatibility with other math software.
To get more information on this state-of-the-art JavaScript platform for display of mathematics visit mathjax.org.