MathJax

MathJax
開発元 アメリカ数学会
最新版
4.1.3 / 2026年7月3日 (3か月前)
リポジトリ ウィキデータを編集
プログラミング
言語
JavaScript
対応OS クロスプラットフォーム
サポート状況 Active
種別 数学ソフト
ライセンス Apache License 2.0
公式サイト www.mathjax.org
テンプレートを表示

MathJax はMathML、LaTeX、ASCIIMathMLで記述された数式をウェブブラウザ上で表示するクロスブラウザのJavaScriptライブラリである。MathJaxはApache Licenseの下でオープンソースソフトウェアとしてリリースされている。

先行のJavaScript数式フォーマットライブラリのjsMath(英語版)の後継としてMathJaxプロジェクトは2009年に開始し、アメリカ数学会によって管理されている。プロジェクトはアメリカ数学会、デザインサイエンス社、応用数理学会によって設立され、米国物理学協会やStack Exchange Networkのような多数のスポンサーによってサポートされている。

MathJaxはarXiv、エルゼビアのScienceDirect、MathSciNet、n-category cafe(英語版)、MathOverflow、ウィキペディア(バックエンドで)、スカラーペディア、Project Euclid journals、IEEE Xplore(英語版)、Publons(英語版)、コーセラ、All-Russian Mathematical Portal(英語版)を含むウェブサイトで利用されている。

特徴

MathJaxをウェブページコンテンツと一緒にダウンロードし、ページ中の数式マークアップを走査し、数式を組版する。したがって、MathJaxは読者のシステム上にソフトウェアや追加フォントをインストールする必要はない。これはモバイルデバイスを含むJavaScriptに対応したあらゆるブラウザでの動作を可能にする。

MathJaxはHTMLとCSSの組合せを使用するか、対応していればブラウザのネイティブMathMLサポートを使用することで数式を表示することができる。MathJaxが数式を組版するために使う厳密法はユーザのブラウザ、ユーザのシステム上で利用可能なフォント、コンフィグレーション設定によって決定される。MathJax v2.0-betaはSVGレンダリングを導入した。

HTMLとCSSによる組版の場合、利用可能ならば数式フォントを使用し、古いブラウザでは画像に頼ることで、MathJaxは数式表示品質を最大限にする。Webフォントをサポートする新しいブラウザでは、MathJaxは必要に応じてダウンロードするWebフォントの包括的なセットを提供する。ブラウザがWebフォントをサポートしない場合、MathJaxは有効なフォントがユーザのシステム上で利用可能かチェックする。これが機能しない場合、MathJaxは必要な記号の画像を提供する。[要説明]MathJaxはWebフォント、ローカルフォント、イメージフォントを有効・無効に設定することができる。

MathJaxはウェブページで数式を含むためにSTIXフォントを使用する。ローカルコンピュータ上にそのフォントをインストールすることでMathJaxの組版速度が向上する。

MathJaxはLaTeXまたはMathMLのマークアップで記述された数学的表記を表示することができる。MathJaxは数式表示のためのものであり、LaTeXは文書レイアウト言語なので、MathJaxは数学的表記を記述するために使用されるLaTeXのサブセットだけをサポートする。

基本的なWAI-ARIAの“role”と古い“altext”属性と同様に、支援技術ソフトウェアに自身のAPIを通してMathMLを公開することによって、MathJaxは数式のアクセシビリティもサポートする。

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イメージフォントモードを使う必要がある。ブラウザ互換性リストは公式サイトで入手できる。

プラグインサポート

MathJaxはMediaWiki、Drupal、WordPress、Joomla!を含む多くのポピュラーなウェブプラットフォームに容易に追加することができる。

Node.js

MathJax は、バージョン3からNode.jsで使用できる。バージョン2では、MathJax-nodeライブラリがNode.jsとの互換性を提供している。

数式エディタの互換性

ブラウザに表示されているMathJax数式は、右クリックまたはControl-クリックした場合、サブメニュー「Show Math As」でMathMLやLaTeX形式でコピーすることができる。コピーした数式はMathematica、MathType、MathMagic(英語版)、Firemath(英語版)のようなMathMLやLaTeXをサポートする数式エディタにペーストできる。

MathMLやLaTeX形式で生成されたサードパーティの数式エディタによる数式はMathJax対応のウェブページで利用できる。

TeXサポート

MathJaxはLaTeXの数学環境コマンドを再現する。エクステンションを介してAMS-LaTeX数学コマンドがサポートされる。MathJaxはTeXマクロや、\color や \underline のような種々の書式設定をサポートする。

MathMLサポート

MathJaxはbeta 2リリースでMathML 2.0と、MathML 3.0のいくつかのコンストラクトの部分的なサポートを追加した。MathJaxはPresentation MathMLをサポートし、さらにバージョン2.2以降、content MathMLの実験的サポートを提供する。

CDN

MathJaxはコンテンツデリバリネットワーク (CDN) を提供しており、MathJaxをブラウザで表示する際にJavaScriptを読み込むことができる。これにより、インストールが不要になり、また、最新バージョンのライブラリを使用することができる。このサーバーの使用量は、2011年の月間トラフィック1.3TBから、2017年には月間70TBへ増加した。サーバーのホスティングコストが上昇したため、メインのCDNサーバーは2017年4月30日に停止したが、代替のサードパーティCDNサーバーは利用可能である。

関連項目

脚注

  1. ↑ “Release 4.1.3” (2026年7月3日). 2026年7月4日閲覧。
  2. ↑ “What is MathJax?” (英語). MathJax Documentation. The MathJax Consortium. 2026年10月14日閲覧。
  3. ↑ Cuellar, Autumn; Topping, Paul (June 2013). Mathews, Bob. ed. “What you need to know about the Maths Stack”. XML London 2013: 63–68. doi:10.14337/XMLLondon13.Cuellar01. ISBN 978-0-9926471-0-0.
  4. ↑ Hayes, Brian (2009), “Writing Math on the Web: The Web would make a dandy blackboard if only we could scribble an equation”, American Scientist 92 (2): 98, doi:10.1511/2009.77.98.
  5. ↑ “AMS becomes managing partner of the MathJax Consortium”. 2013年8月8日閲覧。
  6. ↑ “Sponsors” (英語). MathJax. 2026年10月14日閲覧。
  7. ↑ “What is MathJax?” (英語). Find and Read Articles. arXiv. 2026年10月14日閲覧。
  8. ↑ “Archived copy”. 2014年8月26日時点のオリジナルよりアーカイブ。2014年8月24日閲覧。
  9. ↑ “MathSciNet What's New”. 2013年8月8日閲覧。
  10. ↑ “The n-Category Café”. 2013年8月8日閲覧。
  11. ↑ “MathOverflow”. 2013年8月8日閲覧。
  12. ↑ Schubotz, Moritz; Wicke, Gabriel (2014-01-01). “Mathoid: Robust, Scalable, Fast and Accessible Math Rendering for Wikipedia”. Intelligent Computer Mathematics. Lecture Notes in Computer Science. 8543. pp. 224–235. arXiv:1404.6179. doi:10.1007/978-3-319-08434-3_17. ISBN 978-3-319-08434-3
  13. ↑ “Extension:Math - MediaWiki” (英語). www.mediawiki.org. 2017年4月6日閲覧。
  14. ↑ “What is MathJax?”. 2013年8月8日閲覧。
  15. ↑ “Other Tips” (英語). User Tips. IEEE. 2026年10月14日閲覧。
  16. ↑ “All-Russian portal Math-Net.Ru” (英語). 2026年10月14日閲覧。
  17. 1 2 Cervone, Davide (2012), “Math Jax: A Platform for Mathematics on the Web” (PDF), Notices of the American Mathematical Society 59 (2): 312–316, doi:10.1090/noti794
  18. ↑ “MathJax v2.0-beta now available on CDN”. 2013年8月8日閲覧。
  19. ↑ MathJax Font Help Archived 2012-07-28 at the Wayback Machine. accessed 2012-08-14.
  20. ↑ “MathJax: Accessibility”. 2013年8月8日閲覧。
  21. ↑ “MathJax: Browser Compatibility”. 2015年4月6日時点のオリジナルよりアーカイブ。2017年6月5日閲覧。
  22. ↑ “Using MathJax in popular web platforms”. 2017年8月31日時点のオリジナルよりアーカイブ。2017年6月5日閲覧。
  23. ↑ “What's New in MathJax v3.0”. 2025年3月29日閲覧。
  24. ↑ “mathjax-node”. 2020年6月1日閲覧。
  25. ↑ “Copy and Paste Math”. 2013年8月8日閲覧。
  26. ↑ “Supported TeX/LaTeX commands” (英語). MathJax Documentation. The MathJax Consortium. 2026年10月14日閲覧。
  27. ↑ “MathJax MathML Support — MathJax 2.3 documentation”. 2018年12月15日時点のオリジナルよりアーカイブ。2014年2月14日閲覧。
  28. ↑ “MathJax CDN shutting down on April 30, 2017”. MathJax (2017年3月31日). 2020年6月1日閲覧。

外部リンク