Extension:Math

The Math extension provides support for rendering mathematical formulas on-wiki via texvc and other backends. It was a part of the core MediaWiki software until MediaWiki 1.18, r85706. See also the related bug #14202 on Bugzilla.

Configuration settings
The following variables can be defined in LocalSettings.php after calling :

MathJax
From 1.19/1.20, the Math extension supports rendering via MathJax, a client-side JavaScript library for parsing latex or mathml code and producing in-browser representation using the browser's native support for HTML+CSS, or MathML, or SVG.

This can render math expressions more sharply (using subpixel antialiasing) and larger (scaling up for zoomed view, printing, or high-resolution screens).

Set $wgUseMathJax to enable MathJax rendering mode; it is still somewhat experimental. For now, users will have to opt in to MathJax on their preferences. In the future we hope to make it the default rendering mode.


 * Settings (Math 1.1 // MW 1.19 - 1.22)


 * Settings (Math 1.2 // MW 1.23+)

How to modify the MathJax contextual menu
mw.loader.using with any of the MathJax hooks(ex. 'ext.math.mathjax.localization') to execute the code after MathJax has loaded. Otherwise, the code will start running before MathJax has loaded, which will cause an error. MathJax.Callback.Queue(    MathJax.Hub.Register.StartupHook("MathMenu Ready",function  { Then the program will wait until the MathMenu is loaded to begin executing.
 * Edit the common.js page
 * Use the function
 * Add
 * Now you can add your modifications to the menu.

LaTeXML
A convenient option to render LaTeX is to use the LaTeXML web service. This service converts LaTeX to high quality MathML.


 * Settings (MW 1.22) most or all of the 1.23+ settings also work

A short guide to install LaTeXML on your own server can be found here: Install LaTeXML
 * Settings (Math 1.2 // MW 1.23+)

The installation of Math is simplified to:

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 bugzilla. In addition you should check how your problem relates to the automated unit tests that are generated from the page mediawikiwiki:Extension:Math/CoverageTest.

MathJax errors
MathJax has more bugs that latex. So please check it it's an MediaWiki Bug or a MathJax problem. If it's a MathJax problem that has been fixed you might consider to port the change to MediaWiki version of MathJax. Therefore a development environment is required. Just cherrypick the change from MathJax and apply it to the modules/MathJax folder in the Math extension. Afterwards you can submit your change for review.