擴充功能:數學
Math 發佈狀態: 穩定 |
|
---|---|
![]() |
|
Implementation | Tag |
描述 | Allows to render mathematical formulas |
作者 |
|
最新版本 | continuous updates |
MediaWiki | 1.25+ |
Database changes | 有 |
Tables | math mathoid mathlatexml |
許可 | GNU General Public License 2.0 or later |
下載 | |
|
|
<math> |
|
若果有喺translatewiki.net提供嘅話翻譯Math呢個擴充功能 | |
問題 | Open tasks · 報告臭蟲 |
The Math extension provides support for rendering mathematical formulae. An overview of what can currently be done with this extension is available at the English Wikipedia's documentation.
More information about installing and configuring this extension, including for older versions, can be found at Extension:Math/advancedSettings .
睇數學
The Math extension tries to deliver MathML output, with fallback to images in SVG (converting characters to <path>s) or PNG (least preferentially). 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 Firefox or other Gecko browsers, it is required to install the Native MathML extension and math fonts.
Accessibility support is provided by NVDA, VoiceOver or Orca. Additionally, NVDA requires the MathPlayer plugin to read mathematics.
- For Safari or other WebKit browsers, you may also install math fonts and enable native MathML rendering by inserting some CSS rules into the custom style sheet of your browser preference.
- For Chrome you must insert some CSS rules into the custom style sheet of your browser preference in order to get accessibility support via ChromeVox or visual rendering via the MathJax plugin.
- In some versions of Internet Explorer, it is possible to use MathPlayer as an assistive technology.
安裝
- If using Vagrant , install with
vagrant roles enable math --provision
- Manual installation
- Download and place the file(s) in a directory called
Math
in yourextensions/
folder. - Add the following code at the bottom of your LocalSettings.php:
wfLoadExtension( 'Math' ); // 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.
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 https://phabricator.wikimedia.org
Unfortunately, there is no well tested guide on installing Mathoid and RESTBase to work with the Math extension, but there is at least a working draft. Extension:Math/Restbase please contribute.
In addition, there is a Guide for Installing and Setting up Mediawiki with Restbase and Mathoid in MW1.28.
Math output modes
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
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.
Mathoid as a service
To use Mathoid as a service, resulting in performance benefits, the following settings are recommended:
// Set MathML as default rendering option
$wgDefaultUserOptions['math'] = 'mathml';
$wgMathFullRestbaseURL = 'https://en.wikipedia.org/api/rest_';
$wgMathMathMLUrl = 'https://mathoid-beta.wmflabs.org/';
See Mathoid for instructions on how to run your own Mathoid server. Note that as of March 2017 this is likely to also require a RESTBase server/installation (see task T154394).
Mathoid's CLI interface
To use Mathoid's CLI interface, which is possibly easier to set up and resulting in less permanent memory consumption, while degrading performance, the following settings are recommended:
// Set MathML as default rendering option
$wgDefaultUserOptions['math'] = 'mathml';
// Please create a config.yaml in advance. Templates are in the Mathoid repository.
$wgMathoidCli = ['/path/to/mathoid/cli.js', '-c', '/path/to/mathoid/config.yaml'];
// Raise MediaWiki's memory limit to 1.2G for mathoid.
$wgMaxShellMemory = 1228800;
If you run MediaWiki under system containing SELinux and you get Mathoid cli '/path/to/mathoid/cli.js' is not executable
message from the error log, you can run
setsebool -P httpd_execmem 1 setsebool -P httpd_setrlimit 1
to make sure the Apache server allow to change system limits.
LaTeX
Mode: 'png' (pre-July 2015: MW_MATH_PNG)
Since MediaWiki 1.32, this mode will also require a Mathoid server to work. In older versions, it requires installing texvc and texvccheck, which may require the most setup work.
LaTeXML
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
Mode: 'source', (pre-July 2015: MW_MATH_SOURCE)
This mode will forward the Latex input without rendering, presenting it in a <span>
element, surrounded by $ :formula $.
Make sure to set $wgMathDisableTexFilter to 'always' (see below) if you only want the raw latex formula, else an error will appear due to the failed check for PNG depictions.
MathJax
List of significant configuration settings
Setting name | Default value | Description |
---|---|---|
$wgMathValidModes | array( 'png', 'source', 'mathml' )
|
Defines the mode allowed on the server. |
$wgMathDisableTexFilter | 'never'
|
Option to disable the tex filter. If set to true any LaTeX expression 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. |
Tracking categories
The extension creates a number of tracking categories to detect errors and deprecated features. The exact name of the categories is determined by pages in the MediaWiki namespace.
MediaWiki page | Default | Description |
---|---|---|
MediaWiki:Math-tracking-category-error | Category:Pages with math errors | Pages where there is a syntax error in the formula causing the rendering to fail |
MediaWiki:Math-tracking-category-render-error | Category:Pages with math render errors | Pages where there has been a temporary error in the rendering pipeline causing the rendering to fail. These normally fix themselves |
MediaWiki:Math-tracking-category-texvc-deprecation | Category:Pages that use a deprecated format of the math tags | Pages which use deprecated texvc syntax like $ % \and \or \part \ang \C \H \bold \Bbb\ \pagecolor , which should be replaced by more standard LaTeX \$ \% \land \lor \partial \angle \Complex \mathbb{H} \mathbf \mathbb (removed) respectively. See Extension:Math/Roadmap .
|
MediaWiki:Math-tracking-category-mhchem-deprecation | Category:Pages that use a deprecated format of the chem tags |
Deprecated chemical markup, see Extension:Math/Roadmap#Step 1 Part C: Manual fixing of mhchem syntax. |
貼士
- You can use the Firefox MathML copy addon to copy formulae to other applications such as Microsoft Word (video), or Google docs with the g(Math) plugin (video)
- You can override the user preferred and default rendermode by adding the
forcemathmode
attribute to the <math> element. eg.. to force an image being rendered <math forcemathmode="png">...</math>.
- All images of rendered formula are stored in a cache and not automatically recreated if the page is viewed or edited.
To force the re-rendering of all formulas of a page, purge using the ?action=purge&mathpurge=true
action. For example the URL https://en.wikipedia.org/w/index.php?title=Integral&action=purge&mathpurge=true will force re-rendering of the w:Integer article. Afterwards you need to bypass your browser cache so that the new created images of the formulas are actually downloaded.
Error reporting
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
See Extension:Math/advancedSettings for old versions and further information.
Subpages
睇埋
- Extension:Math/Roadmap
- Mathoid
- Extension:SimpleMathJax - an alternative way to provide support for rendering mathematical formulas on-wiki, without texvc or LaTeX
- texvc - description of texvc
- Texvc PHP Alternative
- LaTeX on a shared host
- Another alternative is to use: LaTeX with google chart
- Manual:Enable TeX/problems
- Manual:Math
![]() | This extension is being used on one or more Wikimedia projects. This probably means that the extension is stable and works well enough to be used by such high-traffic websites. Look for this extension's name in Wikimedia's CommonSettings.php and InitialiseSettings.php configuration files to see where it's installed. A full list of the extensions installed on a particular wiki can be seen on the wiki's Special:Version page. |
- Stable extensions/yue
- Tag extensions/yue
- GPL licensed extensions/yue
- Extensions in Wikimedia version control/yue
- GetPreferences extensions/yue
- LoadExtensionSchemaUpdates extensions/yue
- MaintenanceRefreshLinksInit extensions/yue
- PageRenderingHash extensions/yue
- ParserAfterTidy extensions/yue
- ParserFirstCallInit extensions/yue
- ParserTestTables extensions/yue
- SpecialPage initList extensions/yue
- WikibaseClientDataTypes extensions/yue
- WikibaseRepoDataTypes extensions/yue
- All extensions/yue
- Extensions used on Wikimedia/yue
- TeX/yue
- Math display extensions/yue
- Extensions with VisualEditor support/yue