Jump to content

Extension:Math(数学)

本頁使用了標題或全文手工轉換
From mediawiki.org
This page is a translated version of the page Extension:Math and the translation is 98% complete.
MediaWiki扩展手册
Math
发行状态: 稳定版
实现 标签
描述 可呈現数学的公式
作者
  • Moritz Schubotz,
  • Tomasz Wegrzanowski,
  • Brooke Vibber,
  • Johannes Stegmüller,
  • André Greiner-Petter,
  • 以及其他贡献者
最新版本 持續更新
兼容性政策 快照跟随MediaWiki发布。 master分支不向后兼容。
数据库更改
math
mathoid
mathlatexml
许可协议 GNU通用公眾授權條款2.0或更新版本
下載
  • $wgMathEnableWikibaseDataType
  • $wgMathDefaultLaTeXMLSetting
  • $wgMathUseInternalRestbasePath
  • $wgMathMathMLUrl
  • $wgMathFullRestbaseURL
  • $wgMathLaTeXMLUrl
  • $wgMathInternalRestbaseURL
  • $wgMathConcurrentReqs
  • $wgMathTexMaxLength
  • $wgMathValidModes
  • $wgMathWikibasePropertyIdSymbolRepresents
  • $wgMathEntitySelectorFallbackUrl
  • $wgMathoidCli
  • $wgMathWikibasePropertyIdQuantitySymbol
  • $wgMathDisableTexFilter
  • $wgMathMathMLTimeout
  • $wgMathWikibasePropertyIdInDefiningFormula
  • $wgMathWikibasePropertyIdHasPart
  • $wgMathEnableFormulaLinks
  • $wgMathWikibasePropertyIdDefiningFormula
  • $wgMathEnableExperimentalInputFormats
  • $wgMathLaTeXMLTimeout
  • $wgMathSvgRenderer
  • $wgMathTexVCService
‎<math>
前往translatewiki.net翻譯Math扩展
問題 开启的任务 · 报告错误

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

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

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

安裝

此扩展随附于MediaWiki 1.38及更新版本,因此您無需下載它。 但其余的配置的指示仍须依循執行。
  • 下载文件,并解压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 ,请通过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的教程

用法

一旦安裝之後,您可以在‎<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. 對於使用比較新版本的MediaWiki網站,更建議使用Native MathML模式。

您可以修改这些设置去使用不同的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 模式。 想在MediaWiki 1.26-1.41版中使用MathJax渲染方程式的話,詳見擴展:SimpleMathJax

不渲染

模式: 'source'

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

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

追踪分类

扩展会创建一系列跟踪分类 ,以检测错误和不被推荐的特性。 他們的訊息鍵以math-開頭。 管理員可以透過編輯該 wiki 的 MediaWiki 命名空間中的訊息值,來變更該 wiki 中追蹤類別的名稱。 Special:TrackingCategories會列出每個追蹤分類的名稱、訊息名稱和相關敘述。

MediaWiki页面 默认 描述
MediaWiki:Math-tracking-category-error Category:Pages with math errors 含有导致渲染失败的公式语法错误的页面
MediaWiki:Math-tracking-category-render-error Category:Pages with math render errors 渲染管道中出現臨時錯誤而導致渲染失敗的頁面。這些頁面通常會自行解決
MediaWiki:Math-tracking-category-texvc-deprecation Category: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-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:数学/高级设定

子页面

參見