Web 上で $\rm{\LaTeX}$ の書式で数式を表示するための数式組版ライブラリとしては、MathJax が定番。Qiita でも使っているので
$$ x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a} $$
のように数式を手軽に書くことができる。GitHub Pages 上での MathJax の使い方については以前記した。
最近は、KateX という数式組版ライブラリが「描画が速くて良い」という噂を聞くので、ためしに GitHub Pages に組み込んでみた。
方法についてはこちらの記事に書いたが、簡単にまとめると、jQuery を使える状態でヘッダに
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.7.1/katex.min.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.7.1/katex.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.7.1/contrib/auto-render.min.js"></script>
<script>$(document).ready(function(){renderMathInElement(document.body,{delimiters: [{left: "[[", right: "]]", display: true},{left: "$", right: "$", display: false}]})});</script>
の行を加えれば良い。そうすると、[[ と ]] で囲まれた部分は display モード(独立した行で中央揃え)、$で囲まれた部分は非displayモード(行内の数式)で表示をするようになる。
ためしに書いて見た文書を2つほど。
ストレスなく表示される。
これらの記事を書いてみて感じたのは、MathJax の方が数式を書きやすい。$\rm{\LaTeX}$ で作成した数式をそのままコピーすれば、だいたい動く感じ。KaTeX だと、一発ではうまく動かなくていろいろと試行錯誤をした。その結果、たとえば
- バックスラッシュは2個重ねる。重ねないでもうまくいくときもあれば、重ねないとだめなときもある。
- array 環境の上下間隔が標準ではつまりすぎるので、
\\cr
を2個重ねる。
のような知見を得た。KaTeX は数式を書くのが大変、だけど書いてしまえば読む方はストレスがない、といったところだろうか。