空論上の砂、楼閣上の机。

The Castle of Indolence

はてなブログに KaTeX を導入してモダンな数式環境を作る方法

追記

七誌さんの記事を読んだのは去年の一月で、この記事を書くためにもう一回読んだのだがそれでも誤認して変わっていないのかと思い以下のような説明を書いてしまった。実際はちゃんと 0.11.1 になっていると冒頭にかかれていたどころか実は自分が紹介したコードに不要な部分があった。

大変申し訳ありませんが、これをお詫びとして、とりあえず KaTeX を設定部分に入れる方法を紹介しているという点でこの記事は残しておきます。お騒がせして申し訳ありません。


このブログを始めたのはちょうど去年の一月ごろだが、KaTeXのテスト - 七誌の開発日記 を参考に $\KaTeX$ を導入して、見事に綺麗な数式環境を実現できた。たとえばはてな標準だと ax+b=0 だが $\KaTeX$ だと $ax+b=0$ と鬼のように速く綺麗に正確に表示できる。

しかしながら上のブログを閲覧した去年一月ごろの $\KaTeX$ のバージョンでは難点が一つあり、それは \neq コマンドがバグってしまうということだった。自分もしばらく悩んでおり {=}\mathllap{/\,} として無理やり ${=}\mathllap{/\,}$ を表示させていた。ところがこの前思い立って調べてみるとどうやら割と有名なバグのようだった:

github.com

というわけでアップデートしてみると見事に解消して($a \neq 0$)大変嬉しくなり、知の専売特許をやめて導入方法を紹介すべきという思いに駆られた。まず「設定」から「詳細設定」を開き「headに要素を追加」を探す。

f:id:all_for_nothing:20200312194548p:plain

あとは次のスクリプトをぶち込む。

こうすると $...$ $$...$$ はもちろん \[...\] でも別行立ての数式が表せる。自分の持っている TeX ファイルをそのまま移植できるのは非常に嬉しいはずなので、どんどんと TeX ファイル保管庫として HackMD や scrapbox よりもはてなブログを使う価値はあるのだ。見せたくなければ非公開にすればよろしい。

ちなみに自分は [] がらみの面倒なグダグダで苦しむのは嫌なので(今まで書いた記事の保守性がアレなので)$...$ $$...$$ だけにしている。