Extension:Math

The Math extension provides support for rendering mathematical formulae. An overview of what can currently be done with this extension is found at the English Wikipedia's documentation.

This article documents how to install, configure and test recent versions of this extension.

For advanced usages and documentation of old versions refer to .

Viewing math
The Math extension tries to deliver MathML output, with fallback to SVG or PNG images respectively.

Depending on the capabilities of the device you are using, the sort of output is chosen.

Basic math support works for all browsers. However, for optimal rendering specific tuning may be needed:

Accessibility support is provided by NVDA, VoiceOver or Orca. Additionally, NVDA requires the MathPlayer plugin to read mathematics.
 * For Firefox or other Gecko browsers, it is required to install the [https://addons.mozilla.org/en-US/firefox/addon/native-mathml/ Native MathML extension] and [https://developer.mozilla.org/en-US/docs/Mozilla/MathML_Project/Fonts math fonts].

Accessibility support is provided by the VoiceOver screen reader but not by Orca yet.
 * For Safari or other WebKit browsers, you may also install math fonts and enable native MathML rendering by ext>Special:MyLanguage/Extension:Math/advancedSettings#CSS for the MathML with SVG fallback mode|inserting some CSS rules into the custom style sheet of your browser preference.


 * For Chrome you must ext>Special:MyLanguage/Extension:Math/advancedSettings#CSS for the MathML with SVG fallback mode|insert some CSS rules into the custom style sheet of your browser preference in order to get accessibility support via [http://www.chromevox.com/ ChromeVox] or visual rendering via the [https://chrome.google.com/webstore/detail/math-anywhere/gebhifiddmaaeecbaiemfpejghjdjmhc MathJax plugin].


 * In some versions of Internet Explorer, it is possible to use [https://www.dessci.com/en/products/mathplayer/ MathPlayer] as an assistive technology.

Configuration
Beginning from MW 1.23+ you can use a Mathoid server that uses MathJax to convert texvc input on the server side to MathML+SVG rendering. Mathoid is the rendering mode that is going to be used on future Wikipedia. For that the following settings are recommended:

Check out mathoid>Special:MyLanguage/Mathoid|Mathoid to find instructions how to run your own Mathoid server.

Test your installation
Navigate to https://en.wikipedia.org/wiki/Special:MathStatus</> where you should replace en.wikipedia.org with the hostname of your wiki.

If that does not work create a task on <tvar|url>https://phabricator.wikimedia.org</>

Purging pages that contain equations
Specifying the URL-parameter action=purge does not force the math equation to re-render the math tags. If a complete re-rendering of the math tags is desired the URL-parameter action=purge&mathpurge=true has to be passed. Be aware that this might cause side effects with other pages since the math extension uses the hash of the input TeX-input-string as the caching key. e.g. if you would force the re-rending with mathpurge option for a page containing the equation $E=mc^2$, the new rendering result would be used on all other pages containing $E=mc^2$ after the individual page caches are invalidated.

Error reporting
If something is wrong with the math extension you can report that at [<tvar|phabricator>https://phabricator.wikimedia.org/maniphest/task/create/?projects=MediaWiki-extensions-Math</> Phabricator]. In addition you should check how your problem relates to the automated unit tests that are generated from the page math-test>Special:MyLanguage/Extension:Math/CoverageTest</>|CoverageTest.

== ==

The Math extension can do much more, beside the basics described here.

Check out <tvar|1></> for old versions and further information.