Extension:Math
リリースの状態: 安定 |
|
|---|---|
| 実装 | タグ |
| 説明 | 数式をレンダリングできるようにする |
| 作者 |
|
| 最新バージョン | 継続的な更新 |
| 互換性の方針 | スナップショットが MediaWiki とともにリリースされます。 master には後方互換性がありません。 |
| データベースの変更 | はい |
|
|
<math> |
|
| ライセンス | GNU 一般公衆利用許諾書 2.0 以降 |
| ダウンロード | |
| translatewiki.net で翻訳を利用できる場合は、Math 拡張機能の翻訳にご協力ください | |
| 問題点 | 未解決のタスク · バグを報告 |
Math拡張機能は、数式を表現するためのサポートを提供します。
古いバージョンを含め、この拡張機能のインストールと設定に関する詳細はExtension:Math/高度な設定にあります。
この拡張機能で現在、何ができるかについては Special:MyLanguage/Extension:Math/Syntax にまとめてあります。
インストール
- ダウンロードして、ファイルを
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 を使用する際に、数式の表示に問題がある場合は、次の パッチ を使用できます。
完了 – ウィキの「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>
次のように表示されます:
数式の表示
輸出の種類は、ページを読むために使用するソフトウェアに依存します。 可能な場合、Math 拡張機能が MathML を出力します。それ以外の場合は、文字を <path> 要素に変換した SVG 画像または PNG 画像を出力します。 基本的な数式のサポートはすべてのブラウザーで機能します。ただし、最良の結果を得るためには、設定を変更する必要があるかもしれません:
- Firefox やその他の Gecko ブラウザーでは、ネイティブ MathML 拡張機能と数式フォントをインストールしてください。
NVDA、VoiceOver、Orca スクリーン リーダーはアクセシビリティ サポートを提供します。 数式を読み取るには、NVDA は MathPlayer プラグインが必要です。 - Safariその他の WebKit を使用するブラウザーでは、ネイティブの MathML レンダリングを有効にするには数式フォントをインストールし、ブラウザーのカスタム スタイルシートにいくつかの CSS ルールを挿入します。
VoiceOver スクリーン リーダーはアクセシビリティ サポートを提供します。Orca スクリーン リーダーはまだ提供していません。 - Chrome では、ChromeVox スクリーン リーダーによるアクセシビリティ支援や MathJax プラグイン による視覚的レンダリングを利用するには、ブラウザーの設定のカスタム スタイル シートにいくつかの CSS ルールを挿入する必要があります。
環境設定
| 設定名 | 既定値 | 説明 |
|---|---|---|
| $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'
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';
異なる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;
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拡張機能でまとめて)をページビューに載せることが多いのです。
構文解析をしない
モード: '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/高度な設定で確認します。
下位ページ
- Math/AllFormulae
- Math/Announcement
- Math/CoverageTest
- Math/CustomizationHook
- Math/Displaystyle
- Math/Hooks/MathAfterTexvc
- Math/Hooks/MathFormulaPostRender
- Math/Hooks/MathFormulaPostRenderRevision
- Math/Hooks/MathFormulaRendered
- Math/Hooks/MathRenderingResultRetrieved
- Math/Inputtypes
- Math/MathJaxMenu
- Math/MathJax testing
- Math/Native MathML/Chemistry
- Math/Native MathML/Operators
- Math/Native MathML/Reported Cases
- Math/Native MathML rollout (2024)
- Math/Popups
- Math/RESTBase
- Math/Roadmap
- Math/Syntax
- Math/T140217
- Math/T167569
- Math/T183557
- Math/T183559
- Math/T218295
- Math/T247697
- Math/T305613
- Math/T317065
- Math/T32215
- Math/T325625
- Math/T334842
- Math/T350004
- Math/T350737
- Math/T363081
- Math/T366983
- Math/T375241
- Math/T375244
- Math/T375317
- Math/T414276
- Math/T86450
- Math/T87007
- Math/TeX-header
- Math/Torture Test
- Math/Unique Ids
- Math/Url2Image
- Math/Wikibooks-20160516
- Math/additionalAnnotationTypes
- Math/advancedSettings
- Math/annotation.js
- Math/bug/35189
- Math/bug/38641
- Math/bug/48032
- Math/bug/49210
- Math/bug/54818
- Math/bug/69554
- Math/bug/75285
- Math/chemrm
- Math/math table
- Math/mathlatexml table
- Math/mathoid table
- Math/modifyMenu.js
- Math/newFeatures
関連項目
- Extension:Math/Roadmap
- Mathoid
- Extension:SimpleMathJax – texvcやLaTeXanを利用せずに、別の方法でウィキ上で数式の解析サポートを提供するには
- TexvcのPHPでの代替
- Manual:Enable TeX/problems
- Manual:数式
| この拡張機能は 1 つ以上のウィキメディアのプロジェクトで使用されています。 これはおそらく、この拡張機能が安定していて高いトラフィックのウェブサイトでも十分に動作することを意味します。 この拡張機能がインストールされている場所を確認するには、ウィキメディアの設定ファイル CommonSettings.php および InitialiseSettings.php 内で、この拡張機能の名前を探してください。 特定のウィキにインストールされている拡張機能の完全な一覧は、そのウィキの Special:Version ページにあります。 |
| この拡張機能は以下のウィキ ファーム/ウィキ ホスト/パッケージに含まれています: |
- Stable extensions/ja
- Tag extensions/ja
- EditPage::showEditForm:initial extensions/ja
- GetPreferences extensions/ja
- LoadExtensionSchemaUpdates extensions/ja
- ParserAfterTidy extensions/ja
- ParserFirstCallInit extensions/ja
- ParserOptionsDefaults extensions/ja
- ResourceLoaderGetConfigVars extensions/ja
- SpecialPage initList extensions/ja
- UserGetDefaultOptions extensions/ja
- WikibaseClientDataTypes extensions/ja
- WikibaseRepoDataTypes extensions/ja
- GPL licensed extensions/ja
- Extensions in Wikimedia version control/ja
- All extensions/ja
- Extensions bundled with MediaWiki 1.38/ja
- Extensions used on Wikimedia/ja
- Extensions included in BlueSpice/ja
- Extensions included in Canasta/ja
- Extensions included in Fandom/ja
- Extensions included in Miraheze/ja
- Extensions included in ProWiki/ja
- Extensions included in Telepedia/ja
- Extensions included in Weird Gloop/ja
- Extensions included in wiki.gg/ja
- TeX/ja
- Math display extensions/ja
- Extensions with VisualEditor support/ja
