多分,今後つまづくパターンがありえると判断したのでここでメモ。
blogdownとは
省略します。blogdownが何かという説明については以下の資料を参照してください:
- http://qiita.com/masato_t/items/7bbfa74f8de0dc06c91c
- http://blog.hoxo-m.com/2017/03/29/hello-world/
- https://kazutan.github.io/blog/2017/04/blogdown-tips/
きっかけ
先日,blogdownで生成する記事内にtex形式の数式を入れようとしたところ,うまく表示されませんでした。まだCDN閉鎖までは時間があるはずなのになんでだろうと思い,ちょっと調べてみることにしました。rmarkdownとmathjaxのCDN閉鎖に関しては,以下の資料を参照してください:
原因と対応
要するに,mathjaxを読み込んでなかったということが原因でした。自分のブログで生成された記事をチェックしたところ,確かにmathjaxを読み込むscriptがありません。
このレベルなら,さすがに誰か何か言及しているだろうと探したところ,以下のissueが引っかかりました:
最後にYihui氏が言及していますが,対応がちょっと厄介です。私の解釈ではこんな感じです:
- 各記事にmathjaxを読みこませる(埋め込む)必要がある
- これをやるならfooter.htmlあたりに差し込んでいくのがベターかも
- ただし,これは設定しているテーマの範疇でblogdownとしてはちょっとやりにくい
- blogdownのデフォルトテーマには対応するよう埋め込んでるんだけどね…
というわけで,テーマを自分で設定していたり自作していたりすると,うまく出てこない場合がある,ようです。そこでHugoの公式ドキュメントを調べたら,以下の記事がヒットしました:
ここに書いてありますように,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!