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 manualManual:Extensions
Crystal Clear action run.png

Release status:Extension status stable

ImplementationTemplate:Extension#type Tag
DescriptionTemplate:Extension#description Allows to render mathematical formulas
Author(s)Template:Extension#username Tomasz Wegrzanowski, Brion Vibber and others
Latest versionTemplate:Extension#version continuous updates
MediaWikiTemplate:Extension#mediawiki 1.23+
Database changesTemplate:Extension#needs-updatephp Yes
TablesTemplate:Extension#table1 mathExtension:Math/math table
mathoidExtension:Math/mathoid table
mathlatexmlExtension:Math/mathlatexml table
LicenseTemplate:Extension#license GNU General Public License 2.0 or later
  • $wgUseTeX
  • $wgTexvc
  • $wgTexvcBackgroundColor
  • $wgMathCheckFiles
  • $wgMathPath
  • $wgMathDirectory
  • $wgMathFileBackend
Hooks usedTemplate:Extension#hook

Translate the Math extension if it is available at

Check usage and version matrix.


Open tasks · Report a bug

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

This extension was part of core MediaWiki until MediaWiki version 1.18.

More information about installing and configuring this extension, including for older versions, can be found at Extension:Math/advancedSettingsExtension:Math/advancedSettings.

Installation[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.

You should additionally go to the page Special:MathStatus to see whether all of the components of the Math extension now work. For any problems you see, the best option is to create a task on

Math output modes[edit source]

The setting $wgMathValidModes holds an array with the names of output modes that can be used for rendering. If multiple modes are enabled, logged-in users can set a personal preference in the appearance pane of their user preferences page.

You can also use the $wgDefaultUserOptions setting to set which of these modes should be the default, e.g.:

$wgDefaultUserOptions['math'] = 'mathml';

Mathoid[edit source]

Mode: 'mathml' (pre-July 2015: MW_MATH_MATHML)

For MW 1.23 and higher, you can use a Mathoid server that uses MathJax to convert texvc input on the server side to MathML+SVG rendering. This is the most recommended option; Mathoid is the rendering mode that will be used on Wikipedia in the future.

To use Mathoid, the following settings are recommended:

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

See Mathoid for instructions on how to run your own Mathoid server.

LaTeX[edit source]

Mode: 'png' (pre-July 2015: MW_MATH_PNG)

This is the mode that requires the most setup work, since at least the texvc utility has to be installed for it to work, and ideally texvccheck as well. See Installing texvc for how to install both of these.

LaTeXML[edit source]

Mode: 'latexml' (pre-July 2015: MW_MATH_LATEXML)

Uses the LaTeXML utility. The rendering is done via an online service (set with $wgLaTeXMLUrl, which has a default value).

No rendering[edit source]

Mode: 'source', (pre-July 2015: MW_MATH_SOURCE)

MathJax[edit source]


This mode uses the MathJax application for client-side rendering. It is now deprecated, and requires MediaWiki 1.25 or lower in order to run. See Client-side rendering with MathJax for how to use it.

List of significant configuration settings[edit source]

Setting name Default value Description
$wgMathValidModes array( 'png', 'source', 'mathml' ) Defines the mode allowed on the server.
$wgMathDisableTexFilterManual:$wgMathDisableTexFilter 'never' 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. Use "always" to disable this feature.
$wgMathFullRestbaseURL false The math extension gets the default config from the Visual Editor, if available. Details

Viewing math[edit source]

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:

  • For Safari or other WebKit browsers, you may also install math fonts and enable native MathML rendering by [[<tvar|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.

Accessibility support is provided by the VoiceOver screen reader but not by Orca yet.

Tips and tricks[edit source]

Forcing a re-render of equations[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 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 source]

See Extension:Math/advancedSettingsExtension:Math/advancedSettings for old versions and further information.

See also[edit source]