MathJax

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!を含む多くのポピュラーなウェブプラットフォームに容易に追加することができる。 MathJax は、バージョン3からNodeJSで使用できる。バージョン2では、MathJax-nodeライブラリがNodeJSとの互換性を提供している。 ブラウザに表示されているMathJax数式は、右クリックまたはControl-クリックした場合、サブメニュー「Show Math As」でMathMLやLaTeX形式でコピーすることができる。コピーした数式はMathematica、MathType、MathMagic（英語版）、Firemath（英語版）のようなMathMLやLaTeXをサポートする数式エディタにペーストできる。 MathMLやLaTeX形式で生成されたサードパーティの数式エディタによる数式はMathJax対応のウェブページで利用できる。 MathJaxはLaTeXの数学環境コマンドを再現する。エクステンションを介してAMS-LaTeX数学コマンドがサポートされる。MathJaxはTeXマクロや、\color や \underline のような種々の書式設定をサポートする。 MathJaxはbeta 2リリースでMathML 2.0と、MathML 3.0のいくつかのコンストラクトの部分的なサポートを追加した。MathJaxはPresentation MathMLをサポートし、さらにバージョン2.2以降、content MathMLの実験的サポートを提供する。 MathJaxはコンテンツデリバリネットワーク(CDN)を提供しており、MathJaxをブラウザで表示する際にJavaScriptを読み込むことができる。これにより、インストールが不要になり、また、最新バージョンのライブラリを使用することができる。このサーバーの使用量は、2011年の月間トラフィック1.3TBから、2017年には月間70TBへ増加した。サーバーのホスティングコストが上昇したため、メインのCDNサーバーは2017年4月30日に停止したが、代替のサードパーティCDNサーバーは利用可能である。 ポータル FLOSS Google Chart API（英語版） ASCIIMathML KaTeX - MathJaxに代わるJavaScript ^ "Release 3.2.2"; 閲覧日: 2022年10月28日; 出版日: 2022年6月8日. ^ “MathJax: Rich Math display from LaTeX and MathML”. 2013年8月8日閲覧。 ^ “MathJax AsciiMath support”. 2018年3月23日時点のオリジナルよりアーカイブ。2013年4月7日閲覧。 ^ 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. http://xmllondon.com/2013/presentations/cuellar/.  ^ 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 . ^ “AMS becomes managing partner of the MathJax Consortium”. 2013年8月8日閲覧。 ^ “MathJax Sponsorship”. 2013年8月8日閲覧。 ^ “arXiv.org help - What is MathJax?”. 2013年11月19日閲覧。 ^ “Archived copy”. 2014年8月26日時点のオリジナルよりアーカイブ。2014年8月24日閲覧。 ^ “MathSciNet What's New”. 2013年8月8日閲覧。 ^ “The n-Category Café”. 2013年8月8日閲覧。 ^ “MathOverflow”. 2013年8月8日閲覧。 ^ 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  ^ “Extension:Math - MediaWiki” (英語). www.mediawiki.org. 2017年4月6日閲覧。 ^ “What is MathJax?”. 2013年8月8日閲覧。 ^ New features in IEEE Xplore, retrieved 2015-04-20. ^ “All-Russian Mathematical Portal”. 2013年8月8日閲覧。 ^ a b 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, http://www.ams.org/notices/201202/rtx120200312p.pdf  ^ “MathJax v2.0-beta now available on CDN”. 2013年8月8日閲覧。 ^ MathJax Font Help Archived 2012-07-28 at the Wayback Machine. accessed 2012-08-14. ^ “MathJax: Accessibility”. 2013年8月8日閲覧。 ^ “MathJax: Browser Compatibility”. 2015年4月6日時点のオリジナルよりアーカイブ。2017年6月5日閲覧。 ^ “Using MathJax in popular web platforms”. 2017年8月31日時点のオリジナルよりアーカイブ。2017年6月5日閲覧。 ^ “What's New in MathJax 3”. 2020年6月1日閲覧。 ^ “mathjax-node”. 2020年6月1日閲覧。 ^ “Copy and Paste Math”. 2013年8月8日閲覧。 ^ “MathJax: Supported LaTeX Commands”. 2018年12月16日時点のオリジナルよりアーカイブ。2017年6月5日閲覧。 ^ “MathJax MathML Support — MathJax 2.3 documentation”. 2018年12月15日時点のオリジナルよりアーカイブ。2014年2月14日閲覧。 ^ “MathJax CDN shutting down on April 30, 2017”. MathJax (2017年3月31日). 2020年6月1日閲覧。 公式ウェブサイト GitHub page Twitter Facebook About web fonts Mathjax Tutorial Easy Copy MathJax （コマンドを簡単にコピーできる） MediaWiki extensions: SimpleMathJax MathJax