MathJaxとは

MathJax logo

MathJaxとはHTML等の中に記載されているLaTeXやMathML(XMLアプリケーションの一種。数式を記述するためのマークアップ言語)のコマンドを、奇麗な数式に変換しWEB上で表現してくれるオープンソースのサービスです。IEやchrome、FireFoxなどJavascriptを採用しているWEBブラウザであれば、簡単な作業で数式が綺麗に表現できるようになります。現在は世界中の様々なサイトで採用され、epubなどの電子書籍でも綺麗な数式を表現できます。
※WEBブラウザやepub Readerによっては綺麗に表現されない場合もあります。

WEB上でのMathJax(数式表現)の可能性について

数式表現については、以前よりLaTeXを利用して印刷誌面上では綺麗に組版し表現・印刷することができていました。しかしWEBブラウザ上で数式を掲載する場合は表現が難しく、数式を画像にする、またはLaTeXコマンドをそのままWEBブラウザ上でHTML掲載するのが主流でした。そのため数式をどのように綺麗にWEB上で表現するかについてこれまで様々な議論がありました。

MathJaXが登場してからは、HTMLの中にLaTeXコマンドを記載するだけで数式を綺麗に表現できるため、MathJaxの利用が主流になりつつあります。MathJaxは現在、その開発に携わった米国数学会が提供する、世界の数学系文献・論文データベース「MathScieNet」(http://www.ams.org/mathscinet/)や数学系雑誌を掲載している「Project Euclid」(http://projecteuclid.org/)でも採用され、大手出版社もスポンサーとなり世界に広まっています。また2012年5月より新しくなった独立行政法人 科学技術振興機構(JST)が運営する電子ジャーナル公開システム「J-STAGE」でもこのMathJaXが採用され、日本のサイトでもWEBブラウザ上で数式が綺麗に表現されつつあります。math

またMathJaXを利用して表現された数式は、画面上の数式の上で右クリックすることで、LaTeXやMathMLなどで出力することができます。MathJaXは見た目の綺麗さだけでなく、数式情報を二次利用することも可能にしています。



math※このページはLaTeXおよびMathMLで数式を表現しております。
※ブラウザやバージョンによってMathMLについては数式表現が綺麗に表示できない場合があります。
※数式がうまく表現されず、TeXコマンドのみ表示される場合はブラウザのページの更新ボタンを押してください。
※LaTeXやMathMLの中に記載している日本語についてはこれまでも表示可能でしたが、2013年10月22日のMathJaxのv2.3リリースより、ポップアップされる機能説明についても日本語対応となりました。数式の上で右クリックしてlanguageから日本語(ja)を選ぶことで、ポップアップの機能説明も日本語での表記となります。
その後も種々のバグを改善し2015年2月現在、v2.5が最新です。

MathJaxでの数式表現

■LaTeXにて数式を表現  ※数式上で右クリックすることでTeXコマンド等を出力できます。

(1)
\[J_\alpha(x) = \sum\limits_{m=0}^\infty \frac{(-1)^m}{m! \, \Gamma(m + \alpha + 1)}{\left({\frac{x}{2}}\right)}^{2 m + \alpha}\]

(2)
\[\begin{aligned}
\dot{x} & = \sigma(y-x) \\
\dot{y} & = \rho x – y – xz \\
\dot{z} & = -\beta z + xy
\end{aligned} \]

(3)
\[ \left( \sum_{k=1}^n a_k b_k \right)^2 \leq \left( \sum_{k=1}^n a_k^2 \right) \left( \sum_{k=1}^n b_k^2 \right) \]

(4)
\begin{eqnarray}
A=\left[
\begin{array}{ccc}
a_{11} & a_{12} & a_{13} \\
a_{21} & a_{22} & a_{23} \\
a_{31} & a_{32} & a_{33} \\
\end{array}
\right] \end{eqnarray}

(5)
\[ 1 + \frac{q^2}{(1-q)}+\frac{q^6}{(1-q)(1-q^2)}+\cdots =
\prod_{j=0}^{\infty}\frac{1}{(1-q^{5j+2})(1-q^{5j+3})},
\quad\quad \text{for $|q|<1$}. \]

(6)
\[ \begin{aligned}
\nabla \times \vec{\mathbf{B}} -\, \frac1c\, \frac{\partial\vec{\mathbf{E}}}{\partial t} & = \frac{4\pi}{c}\vec{\mathbf{j}} \\ \nabla \cdot \vec{\mathbf{E}} & = 4 \pi \rho \\
\nabla \times \vec{\mathbf{E}}\, +\, \frac1c\, \frac{\partial\vec{\mathbf{B}}}{\partial t} & = \vec{\mathbf{0}} \\
\nabla \cdot \vec{\mathbf{B}} & = 0 \end{aligned}
\]

■MathMLにて数式を表現
※IEやchromeではバージョンによっては数式が表現されない可能性もございます。

(1)

×F=(FzyFyz)i+(FxzFzx)j+(FyxFxy)k

(2)

D(∇⋅F)dV=DFndS

(3)

(XY)k=Xi(iY)k=Xi(Ykxi+ΓimkYm)

(4)

σ=1Ni=1N(xiμ)2.