LoginSignup
5
1

More than 5 years have passed since last update.

blogdownで数式がうまく表示されない場合の対処

Posted at

多分,今後つまづくパターンがありえると判断したのでここでメモ。

blogdownとは

省略します。blogdownが何かという説明については以下の資料を参照してください:

きっかけ

先日,blogdownで生成する記事内にtex形式の数式を入れようとしたところ,うまく表示されませんでした。まだCDN閉鎖までは時間があるはずなのになんでだろうと思い,ちょっと調べてみることにしました。rmarkdownとmathjaxのCDN閉鎖に関しては,以下の資料を参照してください:

原因と対応

要するに,mathjaxを読み込んでなかったということが原因でした。自分のブログで生成された記事をチェックしたところ,確かにmathjaxを読み込むscriptがありません。

このレベルなら,さすがに誰か何か言及しているだろうと探したところ,以下のissueが引っかかりました:

最後にYihui氏が言及していますが,対応がちょっと厄介です。私の解釈ではこんな感じです:

  • 各記事にmathjaxを読みこませる(埋め込む)必要がある
  • これをやるならfooter.htmlあたりに差し込んでいくのがベターかも
  • ただし,これは設定しているテーマの範疇でblogdownとしてはちょっとやりにくい
  • blogdownのデフォルトテーマには対応するよう埋め込んでるんだけどね…

というわけで,テーマを自分で設定していたり自作していたりすると,うまく出てこない場合がある,ようです。そこでHugoの公式ドキュメントを調べたら,以下の記事がヒットしました:

Hugo - MathJax Support

ここに書いてありますように,layout/partialsディレクトリ内で,毎度利用するようなもの(footer.htmlあたりがおすすめ)に,まずはmathjaxを読み込むようなスクリプトを記述すればとりあえず動きます。ただHugoのドキュメントではもうすぐ廃止になるCDNへのurlが記入してあるので,そこを差し替えます:

<script type="text/javascript"
  src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>

私の場合,それほど複雑な数式ではなかったので,これで動きました。ただテーマによってはうまく動かない場合も考えられます。その場合は先程のHugoドキュメントや,issueであがっていたような対応が必要になるかも知れません。その際はコメントいただけると助かります。

Enjoy!

5
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
1