Phabricator project: #Math


Jump to: navigation, search
Translate this page; This page contains changes which are not marked for translation.

Other languages:
català • ‎Deutsch • ‎English • ‎español • ‎suomi • ‎français • ‎italiano • ‎日本語 • ‎한국어 • ‎polski • ‎português • ‎português do Brasil • ‎sicilianu • ‎Tiếng Việt • ‎中文
MediaWiki extensions manual
Crystal Clear action run.png

Release status: stable

Implementation Tag
Description Allows to render mathematical formulas
Author(s) Tomasz Wegrzanowski, Brion Vibber and others
Latest version continuous updates
MediaWiki 1.19+
Database changes Yes
Tables math
License GNU General Public License 2.0
  • $wgUseTeX
  • $wgTexvc
  • $wgTexvcBackgroundColor
  • $wgMathCheckFiles
  • $wgMathPath
  • $wgMathDirectory
  • $wgMathFileBackend
Hooks used


Translate the Math extension if it is available at

Check usage and version matrix; code metrics


Open tasks · Report a bug

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 document how to install, configure and test recent versions of the Extension:Math. For advanced usages and documentation of old versions refere to /advancedSettings.

Installation[edit | edit source]

Manual installation
  • Download and place the file(s) in a directory called Math in your extensions/ folder.
  • Add the following code at the bottom of your LocalSettings.php:
require_once "$IP/extensions/Math/Math.php";
// See below for installation requirements and configuration settings:
  • Run the update script which will automatically create the necessary database tables that this extension needs.
  • To see math beyond a plain text output, follow instructions below for enabling various math output modes.
  • YesY Done - Navigate to Special:Version on your wiki to verify that the extension is successfully installed.

Configuration[edit | edit source]

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:

// Set Mathoid as default rendering option;
$wgDefaultUserOptions['math'] = 'mathml';

Check out Mathoid to find instructions how to run your own Mathoid server.

Test your installation[edit | edit source]

Navigate to where you should replace with the hostname of your wiki.

Troubleshooting[edit | edit source]

If tests don't work please make sure that your server can connect to $wgMathMathMLUrl = "";. For a large variety of systems the following command is a good test:

 sudo -u www-data curl -d 'q=E=mc^2'

which should return the following MathML fragment

<math xmlns="" display="block" alttext="upper E equals m c squared">
        <mrow class="MJX-TeXAtom-ORD">
    <annotation encoding="application/x-tex">E=mc^{2}</annotation>

If that does not work create a task on

List of significant configuration settings[edit | edit source]

Setting name Default value Description
$wgMathValidModesManual:$wgMathValidModes array( 'png', 'source', 'mathml' ) Defines the mode allowed on the server.
$wgMathMathMLTimeoutManual:$wgMathMathMLTimeout 20 The timeout for the HTTP-Request sent to the MathML to render an equation, in seconds.
$wgMathDisableTexFilterManual:$wgMathDisableTexFilter false Option to disable the tex filter. If set to true any LaTeX espression is parsed this can be a potential security risk. If set to false only a subset of the TeX commands is allowed. See the wikipedia page Help:Math for details.
$wgMathMathMLUrl Defines the link to the mathoid server.

Purging pages that contain equations[edit | edit source]

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[edit | edit source]

If something is wrong with the math extension you can report that at Phabricator. In addition you should check how your problem relates to the automated unit tests that are generated from the page CoverageTest.

Further reading[edit | edit source]

The Math extension can do much more, beside the basics described here. Check out Extension:Math/advancedSettings for old versions and further information.

See also[edit | edit source]