MathJax
MathML、LaTeX、ASCIIMathMLで記述された数式をウェブブラウザ上で表示するクロスブラウザのJavaScriptライブラリ
From Wikipedia, the free encyclopedia
MathJax はMathML、LaTeX、ASCIIMathMLで記述された数式をウェブブラウザ上で表示するクロスブラウザのJavaScriptライブラリである[2][3][4]。MathJaxはApache Licenseのもとでオープンソースソフトウェアとしてリリースされている。
| 開発元 | アメリカ数学会 |
|---|---|
| 最新版 |
4.1.1[1]
/ 2026年2月19日 |
| リポジトリ | |
| プログラミング 言語 | JavaScript |
| 対応OS | クロスプラットフォーム |
| サポート状況 | Active |
| 種別 | 数学ソフト |
| ライセンス | Apache License 2.0 |
| 公式サイト |
www |
先行のJavaScript数式フォーマットライブラリのjsMathの後継としてMathJaxプロジェクトは2009年に開始し[5]、アメリカ数学会によって管理されている[6]。プロジェクトはアメリカ数学会、デザインサイエンス社、応用数理学会によって設立され、米国物理学協会やStack Exchange Networkのような多数のスポンサーによってサポートされている[7]。
MathJaxはarXiv[8]、エルゼビアのScienceDirect[9]、MathSciNet[10]、n-category cafe[11]、MathOverflow[12]、ウィキペディア(バックエンドで)[13][14]、スカラーペディア、Project Euclid journals[15]、IEEE Xplore[16]、Publons、コーセラ、All-Russian Mathematical Portal[17]を含むウェブサイトで利用されている。
特徴
MathJaxをウェブページコンテンツと一緒にダウンロードし、ページ中の数式マークアップを走査し、数式を組版する。したがって、MathJaxは読者のシステム上にソフトウェアや追加フォントをインストールする必要はない。これはモバイルデバイスを含むJavaScriptに対応したあらゆるブラウザでの動作を可能にする[18]。
MathJaxはHTMLとCSSの組み合わせを使用するか、対応していればブラウザのネイティブMathMLサポートを使用することで数式を表示することができる。MathJaxが数式を組版するために使う厳密法はユーザのブラウザ、ユーザのシステム上で利用可能なフォント、コンフィグレーション設定によって決定される。MathJax v2.0-betaはSVGレンダリングを導入した[19]。
HTMLとCSSによる組版の場合、利用可能ならば数式フォントを使用し、古いブラウザでは画像に頼ることで、MathJaxは数式表示品質を最大限にする。Webフォントをサポートする新しいブラウザでは、MathJaxは必要に応じてダウンロードするWebフォントの包括的なセットを提供する。ブラウザがWebフォントをサポートしない場合、MathJaxは有効なフォントがユーザのシステム上で利用可能かチェックする。これが機能しない場合、MathJaxは必要な記号の画像を提供する。[要説明]MathJaxはWebフォント、ローカルフォント、イメージフォントを有効・無効に設定することができる。
MathJaxはウェブページで数式を含むためにSTIXフォントを使用する。ローカルコンピュータ上にそのフォントをインストールすることでMathJaxの組版速度が向上する[20]。
MathJaxはLaTeXまたはMathMLのマークアップで記述された数学的表記を表示することができる。MathJaxは数式表示のためのものであり、LaTeXは文書レイアウト言語なので、MathJaxは数学的表記を記述するために使用されるLaTeXのサブセットだけをサポートする。[18]
基本的なWAI-ARIAの“role”と古い“altext”属性と同様に、支援技術ソフトウェアに自身のAPIを通してMathMLを公開することによって、MathJaxは数式のアクセシビリティもサポートする[21]。
MathJaxアーキテクチャはダイナミックにロードしたモジュールによって将来的に入力言語や表示方法の追加をサポートするように設計されている。MathJaxはページの数式インスタンスと一緒に列挙と対話のためのJavaScript APIも含む。
ブラウザの互換性
MathJaxはInternet Explorer 6、Firefox 3、Google Chrome 0.3、Safari 2.0、Opera 9.5、iPhone/iPad Safari、Androidブラウザを含む代表的なブラウザで数式をレンダリングする。いくつかの古いバージョンのブラウザはWebフォント(@font-face CSS構文)をサポートしないので、それらはMathJaxイメージフォントモードを使う必要がある。ブラウザ互換性リストは公式サイトで入手できる[22]。
プラグインサポート
Node.js
数式エディタの互換性
TeXサポート
MathMLサポート
CDN
MathJaxはコンテンツデリバリネットワーク(CDN)を提供しており、MathJaxをブラウザで表示する際にJavaScriptを読み込むことができる。これにより、インストールが不要になり、また、最新バージョンのライブラリを使用することができる。このサーバーの使用量は、2011年の月間トラフィック1.3TBから、2017年には月間70TBへ増加した。サーバーのホスティングコストが上昇したため、メインのCDNサーバーは2017年4月30日に停止したが、代替のサードパーティCDNサーバーは利用可能である[29]。
関連項目
- Google Chart API
- ASCIIMathML
- KaTeX - MathJaxに代わるJavaScript