Jump to content

Extension:Math

From mediawiki.org
This page is a translated version of the page Extension:Math and the translation is 100% complete.
MediaWiki 拡張機能マニュアル
Math
リリースの状態: 安定
実装 タグ
説明 数式をレンダリングできるようにする
作者
  • モリッツ・シュボッツ、
  • トーマス・ウェグランズワスキー、
  • ブルック・ヴィバー、
  • ヨハネス・ステグミュラー、
  • アンドレ・グレイナー=ペッター、
  • その他
最新バージョン 継続的な更新
互換性の方針 スナップショットが MediaWiki とともにリリースされます。 master には後方互換性がありません。
データベースの変更 はい
  • $wgMathEnableWikibaseDataType
  • $wgMathDefaultLaTeXMLSetting
  • $wgMathoidCli
  • $wgMathMathMLUrl
  • $wgMathFullRestbaseURL
  • $wgMathLaTeXMLUrl
  • $wgMathInternalRestbaseURL
  • $wgMathConcurrentReqs
  • $wgMathTexMaxLength
  • $wgMathValidModes
  • $wgMathWikibasePropertyIdSymbolRepresents
  • $wgMathEntitySelectorFallbackUrl
  • $wgMathEnableExperimentalInputFormats
  • $wgMathWikibasePropertyIdQuantitySymbol
  • $wgMathDisableTexFilter
  • $wgMathMathMLTimeout
  • $wgMathWikibasePropertyIdInDefiningFormula
  • $wgMathWikibasePropertyIdHasPart
  • $wgMathEnableFormulaLinks
  • $wgMathWikibasePropertyIdDefiningFormula
  • $wgMathLaTeXMLTimeout
  • $wgMathTexVCService
  • $wgMathSvgRenderer
  • $wgMathHTTPProxy
‎<math>
ライセンス GNU 一般公衆利用許諾書 2.0 以降
ダウンロード
translatewiki.net で翻訳を利用できる場合は、Math 拡張機能の翻訳にご協力ください
問題点 未解決のタスク · バグを報告

Math拡張機能は、数式を表現するためのサポートを提供します。

古いバージョンを含め、この拡張機能のインストールと設定に関する詳細はExtension:Math/高度な設定 にあります。

この拡張機能で現在、何ができるかについては Special:MyLanguage/Extension:Math/Syntax にまとめてあります。

インストール

この拡張機能は MediaWiki 1.38 以降に同梱されているため、ダウンロードする必要はありません。 残りの設定手順は必ず従ってください。
  • ダウンロードして、ファイルをextensions/フォルダー内のMathという名前のディレクトリ内に配置します。
    開発者とコード寄稿者は、上記の代わりに以下を使用してGitからインストールします:
    cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/Math
    
  • 以下のコードを LocalSettings.php ファイルの末尾に追加します:
    wfLoadExtension( 'Math' );
    
  • 1.42 以前の MediaWiki バージョンを使用している場合は、必要なデータベース表を作成するために update.php スクリプトを実行します。 これはMediaWiki 1.42+にMathをインストールしている場合は、もはや必要ありません。
  • 平文以外の出力で数式を表示するには、以下の手順に従い、さまざまな数式の出力モードを有効にします。
  • RESTBase を使用する際に、数式の表示に問題がある場合は、次の パッチ を使用できます。
  • Yes 完了 – ウィキの「Special:Version」に移動して、拡張機能が正しくインストールされたことを確認します。


Vagrantでのインストール:

  • Vagrant を使用している場合は、vagrant roles enable math --provisionでインストールしてください。

さらに、Math拡張子のすべての構成要素が現在動作しているか確認するには、ページ Special:MathStatus に移動してください。 何か問題が発生した場合は、https://phabricator.wikimedia.org にタスクを作成することをお勧めします

残念ながら、Mathoid RESTBase のインストールについては、Math拡張機能を使用するための十分にテストされたガイドはありませんが、少なくとも作業用のドラフトはあります。 Extension:Math/RESTBase に貢献してください。

さらに、MW1.28にRESTBaseとMathoidをインストールしてセットアップするためのガイドがあります。

使用法

インストールした後に、‎<math>タグの中にTeXマークアップ構文で数式を書きます。例えば、

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

次のように表示されます:

E=mc2

数式の表示

輸出の種類は、ページを読むために使用するソフトウェアに依存します。 可能な場合、Math 拡張機能が MathML を出力します。それ以外の場合は、文字を <path> 要素に変換した SVG 画像または PNG 画像を出力します。 基本的な数式のサポートはすべてのブラウザーで機能します。ただし、最良の結果を得るためには、設定を変更する必要があるかもしれません:

環境設定

設定名 既定値 説明
$wgMathValidModes [ 'source', 'native', 'mathjax' ] サーバー上で許可されるモードを定義します。
$wgMathDisableTexFilter 'new' To access this at run-time, use MathConfig::texCheckDisabled(). Do not use the non-normalized configuration directly.
$wgMathFullRestbaseURL 'https://wikimedia.org/api/rest_' 数式の拡張機能の既定の設定は、ビジュアルエディターにある場合はそこから取ってきます。 詳細.
$wgMathPreferRestbaseURL true (除去済) 内部 RESTBase パースを $wgMathFullRestbaseURL と $wgVisualEditorFullRestbaseURL の代わりに使用することを許可するか。 任意の場合、外部 RESTBase を使用したい場合は false を設定します。

数式の出力モード

$wgMathValidModes を設定すると、レンダリングに使用できる出力モードの名前を持つ配列が保持されます。 複数のモードが有効になっている場合、ログインした利用者はユーザー・プレバエンスページの外観パネルで個人選択設定することができます。

$wgDefaultUserOptions 設定を使用して、これらのモードのどれを既定にするかを設定することもできます。例:

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

Mathoid

モード: 'mathml'

警告 警告: ネイティブMathMLモードへの移行に伴い、Mathoidはもはやアクティブに開発されていません。 終末に廃止されるでしょう。

texvc入力をMathML+SVGレンダリングに変換するサーバー側でMathJaxを使用するアプリケーションであるMathoidを利用できます。 Mathoidは現在ウィキペディアで使用されている数学レンダリングモードです。

Mathoid をサービスとして提供する

「Mathoid をサービスとして提供する」は、Math拡張機能の推奨される方法であり、かつ既定の方法です。LocalSettings.phpに追加の設定を行わない場合、Mathはすべての数式をレンダリングするためにベータクラスターのMathoidおよびRESTBase サービスを使用します。既定の設定は:

// 既定のレンダリング設定としてMathMLを設定する
$wgDefaultUserOptions['math'] = 'mathml';
$wgMathUseInternalRestbasePath = false;
$wgMathFullRestbaseURL = 'https://wikimedia.org/api/rest_';
$wgMathMathMLUrl = 'https://mathoid-beta.wmflabs.org';
警告 警告: ウィキメディアは、Math拡張で使用するMathoidエンドポイントを含む RESTBase サービスを既定で停止する予定ですが、まだ特定の EOL 日付はありません。 より新しい MediaWiki バージョンを使用しているサイトでは、代わりにネイティブ MathML モードが推奨されます。

異なるMathoidとRESTBaseサービスを利用するためにこれらの設定を変更できます。

Mathoidの CLI インターフェース

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'

このモードは、MathoidなしでPHPでLaTeXからMathMLを生成します。 このモードには画像バックバックがないので、ブラウザが MathML をサポートしている場合にのみ公式が正しく表示されます。 FirefoxとSafariはMathMLサポートを早期(2006年と2008年)に導入しましたが、Chromiumベースのブラウザのサポートは、はるかに最近の追加です(Chrome 109は2023年にリリースされました)。

MathJax

MediaWiki バージョン:
1.42

モード: 'mathjax'

このモードはネイティブMathMLモード(PHPを通じてLaTeXからMathMLを生成する)と同じ動作がしますが、MathMLをレンダリングするためにMathJax 3を使用します。 MathMLサポートがないブラウザではMathJaxライブラリ(Math拡張機能でまとめて)をページビューに載せることが多いのです。

警告 警告: 以前は、MediaWiki 1.19-1.25でMathJax 2をベースにしたMathJaxモードが提供されていました。 MediaWiki 1.26-1.41の公式をレンダリングするためにMathJaxを使用するには、Extension:SimpleMathJax を参照してください。

構文解析をしない

モード: 'source'

このモードでは、レテックス入力をレンダリングなしで転送し、 $ 2に囲まれた‎<span>要素で提示します。

ローラテックス公式のみが表示される場合は、必ず$wgMathDisableTexFilterから'always'(下記を参照) を設定してください。そうでなければ、PNG画像のチェックが失敗したためエラーが表示されます。

カテゴリの追跡

拡張機能は、エラーと廃止予定された特徴を検出するためにさまざまな追跡用カテゴリ を生成します。 メッセージ キーはmath-から始まります。 管理者は、そのウィキのMediaWiki名区内のメッセージの値を編集することによって、ウィキの追跡カテゴリーの名前を変更することができます。 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 $ % \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を参照してください。

ヒントとトリック

  • FirefoxのアドオンMathML コピーを使うと、数式を Microsoft Wordなど他のアプリケーションに (video)、g(Math)プラグインを使うとGoogle docs (video) にそれぞれ転写できます。
  • 個人設定と既定の解析モードをオーバーライドするには、‎<math> 要素に forcemathmode 属性を追加し、例えば画像を強制的に <math forcemathmode="png">...</math> でレンダリングさせます。
  • レンダリング式のすべての画像はキャッシュに保存され、ページが閲覧または編集された場合自動的に再現されません。 ページ内のすべての数式を強制的に再レンダリングするには、?action=purge&mathpurge=trueアクションでキャッシュ破棄を行ってください。 例えば、URLのhttps://en.wikipedia.org/w/index.php?title=Integral&action=purge&mathpurge=trueはw:Integralの記事を強制的に再レンダリングします。 その後に、数式の新しく生成された画像は実際にダウンロードされたことを確認するためには、キャッシュを消す必要があります。


エラーの報告

数式拡張機能でなにか問題が発生した場合は、Phabricatorに報告をお願いします。さらに、CoverageTestページから生成される自動化単体テストと、発生した問題に関連があるかどうか、点検する必要があります。

更なる情報

古いバージョンの情報ならびにその他の情報はExtension:Math/高度な設定 で確認します。

下位ページ

関連項目