MathJax開発元アメリカ数学会
最新版3.2.2[1] / 2022年6月8日 (23か月前)
リポジトリ
github.com/mathjax/MathJax
MathJax はMathML、LaTeX、ASCIIMathMLで記述された数式をウェブブラウザ上で表示するクロスブラウザのJavaScriptライブラリである[2][3][4]。MathJaxはApache Licenseのもとでオープンソースソフトウェアとしてリリースされている。
先行の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]。 MathJaxはMediaWiki、Drupal、WordPress、Joomla!を含む多くのポピュラーなウェブプラットフォームに容易に追加することができる[23]。 MathJax は、バージョン3からNodeJSで使用できる[24]。バージョン2では、MathJax-nodeライブラリ[25]がNodeJSとの互換性を提供している。 ブラウザに表示されているMathJax数式は、右クリックまたはControl-クリックした場合、サブメニュー「Show Math As」でMathMLやLaTeX形式でコピーすることができる。コピーした数式はMathematica、MathType、MathMagic MathMLやLaTeX形式で生成されたサードパーティの数式エディタによる数式はMathJax対応のウェブページで利用できる。 MathJaxはLaTeXの数学環境コマンドを再現する。エクステンションを介してAMS-LaTeX数学コマンドがサポートされる。MathJaxはTeXマクロや、\color や \underline のような種々の書式設定をサポートする[27]。 MathJaxはbeta 2リリースでMathML 2.0と、MathML 3.0のいくつかのコンストラクトの部分的なサポートを追加した。MathJaxはPresentation MathMLをサポートし、さらにバージョン2.2以降、content MathMLの実験的サポートを提供する[28]。 MathJaxはコンテンツデリバリネットワーク(CDN)を提供しており、MathJaxをブラウザで表示する際にJavaScriptを読み込むことができる。これにより、インストールが不要になり、また、最新バージョンのライブラリを使用することができる。このサーバーの使用量は、2011年の月間トラフィック1.3TBから、2017年には月間70TBへ増加した。サーバーのホスティングコストが上昇したため、メインのCDNサーバーは2017年4月30日に停止したが、代替のサードパーティCDNサーバーは利用可能である[29]。
特徴
ブラウザの互換性
プラグインサポート
Node.js
数式エディタの互換性
TeXサポート
MathMLサポート
CDN
関連項目.mw-parser-output .side-box{margin:4px 0;box-sizing:border-box;border:1px solid #aaa;font-size:88%;line-height:1.25em;background-color:#f9f9f9;display:flow-root}.mw-parser-output .side-box-abovebelow,.mw-parser-output .side-box-text{padding:0.25em 0.9em}.mw-parser-output .side-box-image{padding:2px 0 2px 0.9em;text-align:center}.mw-parser-output .side-box-imageright{padding:2px 0.9em 2px 0;text-align:center}@media(min-width:500px){.mw-parser-output .side-box-flex{display:flex;align-items:center}.mw-parser-output .side-box-text{flex:1}}@media(min-width:720px){.mw-parser-output .side-box{width:238px}.mw-parser-output .side-box-right{clear:right;float:right;margin-left:1em}.mw-parser-output .side-box-left{margin-right:1em}}ポータル FLOSS
Google Chart API
ASCIIMathML
KaTeX - MathJaxに代わるJavaScript
脚注^ "Release 3.2.2"
^ “ ⇒MathJax: Rich Math display from LaTeX and MathML”. 2013年8月8日閲覧。
^ “MathJax AsciiMath support
^ 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. .mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation.cs-ja1 q,.mw-parser-output .citation.cs-ja2 q{quotes:"「""」""『""』"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free a,.mw-parser-output .citation .cs1-lock-free a{background:url("//upload.wikimedia.org/wikipedia/commons/6/65/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited a,.mw-parser-output .id-lock-registration a,.mw-parser-output .citation .cs1-lock-limited a,.mw-parser-output .citation .cs1-lock-registration a{background:url("//upload.wikimedia.org/wikipedia/commons/d/d6/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription a,.mw-parser-output .citation .cs1-lock-subscription a{background:url("//upload.wikimedia.org/wikipedia/commons/a/aa/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("//upload.wikimedia.org/wikipedia/commons/4/4c/Wikisource-logo.svg")right 0.1em center/12px no-repeat}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:#d33}.mw-parser-output .cs1-visible-error{color:#d33}.mw-parser-output .cs1-maint{display:none;color:#3a3;margin-left:0.3em}.mw-parser-output .cs1-format{font-size:95%}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}ISBN 978-0-9926471-0-0. ⇒http://xmllondon.com/2013/presentations/cuellar/.