2014-06-23

Wyrażenia matematyczne na stronach WWW - MathJAX


Biblioteka javascriptowa MathJAX umożliwia w łatwy sposób zamieszczanie wyrażeń matematycznych na stronach WWW, używając składni LaTeX-owej (możliwe jest także używanie składni MathML oraz ASCIIMathML, ale zostańmy przy LaTeX-u). MathJAX powstał w 2009 roku i jest rozwijany pod egidą Amerykańskiego Towarzystwa Matematycznego (American Mathematical Society, AMS - to ci od pakietu amsmath). Obecnie jest używany na wielu stronach WWW, m.in. na Wikipedii, arXiv, czy stronie Physical Review.

MathJAX ma tą przewagę nad standardem MathML że:
  • działa na większej ilości przeglądarek,
  • posługuje się prostą składnią LaTeX-ową a nie lasem znaczników jak MathML - przykład: odpowiednikiem LaTeX-owego $E=mc^2$ w MathML jest <math><mi>E</mi><mo>=</mo><mi>m</mi><msup><mi>c</mi><mn>2</mn></msup></math> (skonwertowane za pomocą edytora WIRIS)

Aby zacząć zabawę/pracę z MathJAX należy wpierw umieścić w kodzie HTML odnośnik do biblioteki:

<script src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script>

Oczywiście można ściągnąć bibliotekę MathJax.js (licencja Apache) na swój serwer i odpowiednio zmodyfikować ścieżkę, ale w przypadku Bloggera ta opcja odpada.

Dalej jest prosto - para znaczników \( i \) umożliwia wstawianie formuł matematycznych umieszczanych w linii tekstowej, zaś pary znaczników $$...$$ lub \[...\] umożliwiają wstawianie formuł matematycznych eksponowanych.

Przykład - poniższy kod:

Hamiltonian dla układu <i>N</i>-elektronowego ma postać:
\[ \hat H = \sum_{i=1}^N \hat h(i) + \sum_{i>j=1}^N \hat V_{ij} \]
gdzie \( \hat h(i) \) jest hamiltonianem jednoelektronowym zaś \( \hat V_{ij} \) jest operatorem oddziaływania elektron-elektron.

Macierze Pauliego:
$$
\sigma_x=
\begin{pmatrix}
0 & 1 \\
1 & 0\\
\end{pmatrix}
\qquad
\sigma_y=
\begin{pmatrix}
0 & -i \\
i & 0\\
\end{pmatrix}
\qquad
\sigma_z=
\begin{pmatrix}
1 & 0 \\
0 & -1\\
\end{pmatrix}
$$

daje w wyniku

Hamiltonian dla układu N-elektronowego ma postać:
\[ \hat H = \sum_{i=1}^N \hat h(i) + \sum_{i>j=1}^N \hat V_{ij} \]
gdzie \( \hat h(i) \) jest hamiltonianem jednoelektronowym zaś \( \hat V_{ij} \) jest operatorem oddziaływania elektron-elektron.

Macierze Pauliego:
$$
\sigma_x=
\begin{pmatrix}
0 & 1 \\
1 & 0\\
\end{pmatrix}
\qquad
\sigma_y=
\begin{pmatrix}
0 & -i \\
i & 0\\
\end{pmatrix}
\qquad
\sigma_z=
\begin{pmatrix}
1 & 0 \\
0 & -1\\
\end{pmatrix}
$$


Strona domowa projektu: www.mathjax.org