This page is a translated version of the page Extension:Math and the translation is 54% complete.
Outdated translations are marked like this.
MediaWiki扩展手册
Math
发行状态: 稳定版
实现 标签
描述 允许生成数学公式
作者
  • Moritz Schubotz,
  • Tomasz Wegrzanowski,
  • Brooke Vibber,
  • André Greiner-Petter,
  • 以及其他贡献者
最新版本 continuous updates
兼容性政策 快照跟随MediaWiki发布。 master分支不向后兼容。
MediaWiki >= 1.43
数据库更改
math
mathoid
mathlatexml
许可协议 GNU通用公眾授權條款2.0或更新版本
下載
  • $wgMathEnableWikibaseDataType
  • $wgMathDefaultLaTeXMLSetting
  • $wgMathUseInternalRestbasePath
  • $wgMathMathMLUrl
  • $wgMathFullRestbaseURL
  • $wgMathTexVCService
  • $wgMathInternalRestbaseURL
  • $wgMathConcurrentReqs
  • $wgMathEnableFormulaLinks
  • $wgMathValidModes
  • $wgMathEntitySelectorFallbackUrl
  • $wgMathWikibasePropertyIdSymbolRepresents
  • $wgMathWikibasePropertyIdQuantitySymbol
  • $wgMathDisableTexFilter
  • $wgMathSvgRenderer
  • $wgMathoidCli
  • $wgMathWikibasePropertyIdInDefiningFormula
  • $wgMathWikibasePropertyIdHasPart
  • $wgMathWikibasePropertyIdDefiningFormula
  • $wgMathMathMLTimeout
  • $wgMathLaTeXMLUrl
  • $wgMathLaTeXMLTimeout
  • $wgMathEnableExperimentalInputFormats
‎<math>
季度下載量 146 (Ranked 40th)
正在使用的公开wiki数 7,934 (Ranked 18th)
前往translatewiki.net翻譯Math扩展
問題 开启的任务 · 报告错误

数学(Math)扩展提供渲染数学公式的支持。有关当前此扩展的功能的概述,请参考m:Help:显示公式

更多有关安装和配置此扩展(包括旧版本)的信息,可在Extension:Math/advancedSettings 中查阅。

See an overview of what can currently be done with this extension at Extension:Math/Syntax.

安裝

此扩展随附于MediaWiki 1.38及更高版本。 因此您无需另外下载。 但是,您仍需遵循此页面提供的其他使用说明。
  • 下载文件,并将解压后的Math文件夹移动到extensions/目录中。
    开发者和代码贡献人员应从Git安装扩展,输入:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/Math
  • 将下列代码放置在您的LocalSettings.php 的底部:
    wfLoadExtension( 'Math' );
    
  • 运行更新脚本,它将自动创建此扩展必须依赖的数据库表。
  • 要查看純文本輸出之外的數學輸出模式,請按照以下說明啟用各種數學輸出模式
  • 如果您在尝试使用RESTBase时遇到表示公式的问题,您可以尝试使用以下修复
  •   完成 – 在您的wiki上导航至Special:Version,以验证已成功安装扩展。


使用Vagrant安装:

  • 如果使用Vagrant ,请通过vagrant roles enable math --provision安装

您还应该转到页面Special:MathStatus以查看Math扩展的所有组件现在是否正常工作。 对于你遇到的任何问题,最好的办法是在https://phabricator.wikimedia.org创建一个任务。

可惜还没有经过良好测试的关于安装Mathoid RESTBase 以使用Math扩展的指南,但至少有个进展中的草稿。 Extension:Math/RESTBase 请贡献。

此外,GitHub上有个通过RESTBase和MW 1.28的Mathoid安装并设置MediaWiki的教程

Usage

Once installed, you write formulas using TeX markup syntax inside the ‎<math> tag. For example:

<math>E=mc^2</math>

Renders as:

E=mc2


查看数学公式

The type of output depends on the software that you use to read the page. 若是可的以話,数学扩展会依次尝试输出MathML,否則它就輸出SVG图片(将字符转换成<path> elements)或PNG图片(最低优先级)。 基本數學功能支持適用於所有瀏覽器。但是,為獲得最佳結果,你可能需要變更你的設定值:

重要的配置设置列表

设置名 默认值 描述
$wgMathValidModes [ 'source', 'mathml' ] 定义该服务器上可用的渲染模式
$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. 详情.
$wgMathPreferRestbaseURL true Whether to allow using of internal RESTBase path instead of $wgMathFullRestbaseURL and $wgVisualEditorFullRestbaseURL. Set false if you want to use external RESTBase in any case.

数学输出模式

设置$wgMathValidModes包含含有可以用于渲染的输出模式的名称的数组。 如果多个模式启用,已登录的用户可以在用户参数设置页面的appearance面板中设置个人偏好。

你也可以使用$wgDefaultUserOptions设置来设置哪个模式是默认的,比如:

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

Mathoid

模式: 'mathml'

  警告: Mathoid is no longer actively developed in favor of Native MathML mode. It will eventually be discontinued.

您可以使用Mathoid,这是一个在服务器端使用MathJax将texvc输入转换为MathML+SVG渲染的应用。 这是最推荐的选项,Mathoid是维基百科上使用的数学渲染模式。

服务器上的Mathoid

“Mathoid as a service”是Math扩展的推荐方法,也是默认方法。如果您不向LocalSettings.php添加任何其他设置,Math将使用Beta cluster的MathoidRESTBase 服务来渲染所有数学公式。默认设置为:

// 将MathML设为默认渲染选项
$wgDefaultUserOptions['math'] = 'mathml';
$wgMathUseInternalRestbasePath = false;
$wgMathFullRestbaseURL = 'https://wikimedia.org/api/rest_';
$wgMathMathMLUrl = 'https://mathoid-beta.wmflabs.org';
  警告: Wikimedia plans to discontinue RESTBase services including the Mathoid endpoint used by Math extension by default, though there is no specific EOL date yet. For sites using newer MediaWiki versions, Native MathML mode is recommended instead.

您可以修改这些设置,以使用不同的Mathoid和RESTBase服务,可能包括您自己的。

Mathoid的命令行接口

您还可以在本地服务器上将Mathoid作为命令行实用程序运行。 要使用此方法,建议使用以下设置:

// 将MathML设为默认渲染选项
$wgDefaultUserOptions['math'] = 'mathml';
// 请提前创建一个config.yaml。模板位于Mathoid存储库中。
$wgMathoidCli = ['/path/to/mathoid/cli.js', '-c', '/path/to/mathoid/config.yaml'];
// 因为Mathoid,将MediaWiki的内存限制提高到1.2G。
$wgMaxShellMemory = 1228800;

If you run MediaWiki in a system containing SELinux and you get the message Mathoid cli '/path/to/mathoid/cli.js' is not executable in the error log, you can run the following to make sure that the Apache server allows to change system limits:

setsebool -P httpd_execmem 1
setsebool -P httpd_setrlimit 1

LaTeX

MediaWiki版本:
1.39

模式: '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

模式: 'latexml'

Uses the LaTeXML utility. The rendering is done via an online service (set with $wgLaTeXMLUrl, which has a default value of https://latexml.formulasearchengine.com/convert).

Native MathML

MediaWiki版本:
1.40

Mode: 'native'

This mode will generate MathML from LaTeX via PHP without Mathoid. Note this mode does not have image fallback, so formulas will only be displayed correctly if the browser supports MathML. Firefox and Safari introduced MathML support early (2006 and 2008), but support in Chromium-based browsers is a much more recent addition (Chrome 109, released in 2023).

MathJax

MediaWiki版本:
1.42

Mode: 'mathjax'

This mode works the same as Native MathML mode (generating MathML from LaTeX via PHP), but it will use MathJax 3 to render MathML. Therefore it will work for browsers that do not have MathML support, with the overhead of loading MathJax library (bundled in Math extension) on page views.

  警告: Previously, a MathJax mode based on MathJax 2 is provided in MediaWiki 1.19-1.25. To use MathJax to render formulas in MediaWiki 1.26-1.41, see 擴展:SimpleMathJax .

未渲染

模式: '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.

追踪分类

扩展会创建一系列跟踪分类,以检测错误和不被推荐的特性。 Their message keys begin with math-. Administrators may change a tracking category's name in a wiki by editing the message's value in that wiki's MediaWiki namespace. Special:TrackingCategories shows each tracking category's name, message key, and description.

MediaWiki页面 默认 描述
MediaWiki:Math-tracking-category-error Category:Pages with math errors 含有导致渲染失败的公式语法错误的页面
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. 参见Extension:Math/Roadmap
MediaWiki:Math-tracking-category-mhchem-deprecation Category:Pages that use a deprecated format of the chem tags

不被推荐的化学标记,参见Extension:Math/Roadmap#Step 1 Part C: Manual fixing of mhchem syntax

提示与技巧

错误报告

如果Math扩展有问题,您可以在Phabricator报告。此外,您应检查您的问题与页面CoverageTest生成的自动化单元测试有何关系。

延伸阅读

旧版本以及更多信息可参考Extension:Math/advancedSettings

子页面

參見