このブログは、org2blog というライブラリを使って、 Emacs org-mode でかかれた文章を HTML に変換して投稿している。
今回、org-mode から HTML へ変換した文章中で 数式を扱う方法を調べてみた。
MathJax をつかう
MathJax とは、javascript でかかれた 数式を表示するためのライブラリ。 Latex なみの数式表現が扱えるようになる。
すべてのブラウザで動作し、表示するクライアント側での設定はいらない。
さらに、MathJax のファイル群のインストールは必要ない。
MathJax は、コンテンツデリバリネットワーク(Contents Delivery Network、CDN)で公開・配信されているので、 JavaScript ライブラリをダウンロードして、サーバーにアップロードといった作業は必要はないのである。
MathJax を使用するには、<html>…</html> タグの中に以下を書く。
<script type="text/javascript" async
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-MML-AM_CHTML">
</script>
<body>…</body> の中で、MathJax の記法(MathML、LaTeX、ASCIIMathML)を使って数式を書くと、 数式がレンダリングされる。
org-mode で MathJax をつかう
org-mode は MathJax にデフォルトで対応しているようだ(version. 9.0.5)
なので、org-mode の文章中に 数式を 書いて、org-export で HTML 形式で export すればよい。
これに今まで気づかなかったのは、自分の環境では、#+OPTIONS: TeX:nil を指定していたから。 ここは、Tex t でなければいけない。
Default の設定だと参照する MathJax の version が古いらしく、以下の設定で最新が使える。
(setf org-html-mathjax-options
'((path "https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML")
(scale "100")
(align "center")
(indent "2em")
(mathml nil))
)
(setf org-html-mathjax-template
"<script type=\"text/javascript\" src=\"%PATH\"></script>")
org2blog は、html 形式に org-mode の文章を変換してから、WordPress にアップロードする。 org2blog で WordPress に投稿すれば、WordPress 上でも数式が表示される。
Example
\[〜\]
で囲んで数式を表示
\[f(a)= \frac{1}{2\pi i}\oint_{\Gamma} \frac{f(z)}{z-a}dz\]
$$f(a)= \frac{1}{2\pi i}\oint_{\Gamma} \frac{f(z)}{z-a}dz$$
\(〜\)
で囲んで本文中に表示
\(〜\)
で囲んで、本文中に$a$を表示。
参考
あとは、Latex 記法を覚えるだけだ。(これが一番大変)
- Mathematics in a Blog Post | Irreal … org2blog についての解説
- Easy Copy MathJax … 記法が列挙されている。
- MathJax の使い方 … MathJax の詳しい解説。