Extension:Math/zh

Category:GPL licensed extensions/zh
Math
Category:Stable extensions/zh
Category:Tag extensions/zh
描述 可呈現数学的公式
作者
  • Moritz Schubotz,
  • Tomasz Wegrzanowski,
  • Brooke Vibber,
  • Johannes Stegmüller,
  • André Greiner-Petter,
  • 以及其他贡献者
最新版本 持續更新
快照跟随MediaWiki发布。
math
mathoid
mathlatexml
GNU通用公眾授權條款2.0或更新版本
下載 Category:Extensions in Wikimedia version control/zh
  • $wgMathEnableWikibaseDataType
  • $wgMathDefaultLaTeXMLSetting
  • $wgMathUseInternalRestbasePath
  • $wgMathMathMLUrl
  • $wgMathFullRestbaseURL
  • $wgMathTexVCService
  • $wgMathInternalRestbaseURL
  • $wgMathConcurrentReqs
  • $wgMathTexMaxLength
  • $wgMathValidModes
  • $wgMathWikibasePropertyIdSymbolRepresents
  • $wgMathEntitySelectorFallbackUrl
  • $wgMathoidCli
  • $wgMathWikibasePropertyIdQuantitySymbol
  • $wgMathDisableTexFilter
  • $wgMathSvgRenderer
  • $wgMathWikibasePropertyIdInDefiningFormula
  • $wgMathWikibasePropertyIdHasPart
  • $wgMathEnableFormulaLinks
  • $wgMathWikibasePropertyIdDefiningFormula
  • $wgMathMathMLTimeout
  • $wgMathLaTeXMLUrl
  • $wgMathLaTeXMLTimeout
  • $wgMathEnableExperimentalInputFormats
<math>
季度下載量 64 (Ranked 42nd)
正在使用的公开wiki数 7,934 (Ranked 18th)
前往translatewiki.net翻譯Math
問題 开启的任务 ·
Category:All extensions/zh
Category:Pages using deprecated NoteTA template#%20

数学(Math)扩展提供呈現数学公式的支持。

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

請參閱擴充功能:數學/語法中目前可使用此擴充功能的概述。

安裝

随附于MediaWiki 1.38及更高版本。 因此您无需另外下载。 但是,您仍需遵循此页面提供的其他使用说明。
Category:Extensions bundled with MediaWiki 1.38/zh
  • 下载,并将解压后的Math移动到extensions/目录中。
    开发者和代码贡献人员应从Git安装扩展,输入:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/Math
  • 将下列放置在您的LocalSettings.php 的底部:
    wfLoadExtension( 'Math' );
    
  • 如果您使用的是MediaWiki 1.42之前的版本,請執行update.php 腳本來建立必要的資料庫表。 如果您是在MediaWiki 1.42+中安裝Math,則不再需要這麼做。
  • 要查看純文本輸出之外的數學輸出模式,請按照以下說明啟用各種數學輸出模式
  • 如果您在尝试使用RESTBase时遇到表示公式的问题,您可以尝试使用以下修复
  • Yes 完成 – 在您的wiki上Special:Version,以验证已成功安装


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

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

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

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

用法

一旦安裝之後,您可以在<math>標籤內使用TeX 標記語法寫公式。例如:

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

會生成:

E=mc2

查看数学公式

輸出類型取決於您用來閱讀頁面的軟體。 如果可的以話,数学扩展会依次尝试输出MathML,否則它就輸出SVG图片(将字符转换成<path> elements)或PNG图片(最低优先级)。 基本數學功能支持適用於所有瀏覽器。但是,為獲得最佳結果,你可能需要變更你的設定值:

配置设置

设置名 描述
$wgMathValidModes [ 'source', 'mathml' ] 定义该服务器上可用的模式
$wgMathDisableTexFilter 'never' 將tex過濾器停用的選項。如果設定為true,任何LaTeX表達式都會被解析,這可能是潛在的安全風險。如果設為false,則只允許使用TeX命令的子集。詳情請參閱維基百科的說明:數學公式頁面。 使用「always」去停用此功能。
$wgMathFullRestbaseURL false 如果有的話,數學扩展會從Visual Editor取得預設設定。 详情.
$wgMathPreferRestbaseURL true 是否允許使用內部的RESTBase路徑,而不是$wgMathFullRestbaseURL和$wgVisualEditorFullRestbaseURL。 如果您想在任何情況下使用外部的RESTBase,請設定false為false。

数学输出模式

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

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

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

Mathoid

模式: 'mathml'

警告 警告: Mathoid is no longer actively developed in favor of Native MathML mode. 它最終會被中止。

您可以使用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;
如果您在一個包含SELinux 的系統中執行MediaWiki,並且在錯誤記錄中得到Mathoid cli '/path/to/mathoid/cli.js' is not executable,您可以執行以下步驟來確定Apache伺服器允許更改系統限制:
setsebool -P httpd_execmem 1
setsebool -P httpd_setrlimit 1

LaTeX

MediaWiki版本:
1.39

模式: 'png'

自MediaWiki 1.32起,此模式也需要Mathoid伺服器才能運作。 在舊版本中,它需要安裝texvc和texvccheck,這可能需要最多的設定工作。

LaTeXML

模式: 'latexml'

使用LaTeXML工具。 渲染是透過線上服務完成的(以$wgLaTeXMLUrl設定,預設值為https://latexml.formulasearchengine.com/convert)。

原生的MathML

MediaWiki版本:
1.40

模式: 'native'

此模式將透過PHP從LaTeX產生MathML,而「無需」Mathoid。 請注意此模式沒有影像回退功能,因此只有在瀏覽器支援MathML的情況下,公式才能正確顯示。 Firefox和Safari很早就引入了MathML支援 (2006 和 2008),但Chromium-based的瀏覽器對MathML的支援則是最近才加入的 (Chrome 109是在2023年發行的)。

MathJax

MediaWiki版本:
1.42

模式: 'mathjax'

此模式與 Native MathML 模式 (透過 PHP 從 LaTeX 產生 MathML) 運作相同,但會使用 MathJax 3 來呈現 MathML。 因此,它將適用於不支援MathML的瀏覽器,但會在頁面檢視時載入MathJax函式庫(捆綁在Math的擴充功能中)。

警告 警告: 之前,MediaWiki 1.19-1.25 中提供了基於 MathJax 2 的 MathJax 模式。 To use MathJax to render formulas in MediaWiki 1.26-1.41, see 擴展:SimpleMathJax .

不渲染

模式: 'source'

此模式將轉送Latex的輸入而不進行渲染,並將其顯示在由$ :formula $所包圍的<span>元素中。

如果您只想要原始的latex公式,請務必設定$wgMathDisableTexFilter為'always'(請參閱下文),否則會因為PNG敘述的檢查失敗而出現錯誤。

扩展会创建一系列跟踪分类,以检测错误和不被推荐的特性。 他們的訊息鍵以math-開頭。 管理員可以透過編輯該 wiki 的 MediaWiki 命名空間中的訊息值,來變更該 wiki 中追蹤類別的名稱。 Special:TrackingCategories shows each tracking category's name, message key, and description.

MediaWiki页面 描述
MediaWiki:Math-tracking-category-errorCategory:Pages with math errors 含有导致渲染失败的公式语法错误的页面
MediaWiki:Math-tracking-category-render-errorCategory:Pages with math render errors 渲染管道中出現臨時錯誤而導致渲染失敗的頁面。這些頁面通常會自行解決
MediaWiki:Math-tracking-category-texvc-deprecationCategory:Pages that use a deprecated format of the math tags 使用已被淘汰的texvc語法 (如$ % \and \or \part \ang \C \H \bold \Bbb\ \pagecolor) 的頁面,應分別以更標準的LaTeX \$ \% \land \lor \partial \angle \Complex \mathbb{H} \mathbf \mathbb (removed)取代。 参见Extension:Math/Roadmap
MediaWiki:Math-tracking-category-mhchem-deprecationCategory: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生成的自动化单元测试有何关系。

延伸阅读

旧版本以及更多信息可参考:

子页面

參見

Category:Extensions used on Wikimedia/zh#Math/zh Category:TeX/zh Category:Math display extensions/zh Category:Extensions with VisualEditor support/zh
Category:All extensions/zh Category:Extensions bundled with MediaWiki 1.38/zh Category:Extensions in Wikimedia version control/zh Category:Extensions included in BlueSpice/zh Category:Extensions included in Canasta/zh Category:Extensions included in Fandom/zh Category:Extensions included in Miraheze/zh Category:Extensions included in ProWiki/zh Category:Extensions included in Telepedia/zh Category:Extensions included in WikiForge/zh Category:Extensions included in wiki.gg/zh Category:Extensions used on Wikimedia/zh Category:Extensions with VisualEditor support/zh Category:GPL licensed extensions/zh Category:GetPreferences extensions/zh Category:LoadExtensionSchemaUpdates extensions/zh Category:MaintenanceRefreshLinksInit extensions/zh Category:Math display extensions/zh Category:Pages using deprecated NoteTA template Category:ParserAfterTidy extensions/zh Category:ParserFirstCallInit extensions/zh Category:ParserOptionsRegister extensions/zh Category:ResourceLoaderGetConfigVars extensions/zh Category:SpecialPage initList extensions/zh Category:Stable extensions/zh Category:Tag extensions/zh Category:TeX/zh Category:UserGetDefaultOptions extensions/zh Category:WikibaseClientDataTypes extensions/zh Category:WikibaseRepoDataTypes extensions/zh