ポタージュを垂れ流す。

マイペースこうしん(主に旅行)

数式つきmarkdownをはてなブログに貼る時にどこを修正すればよいか

いつも忘れるのでここに書いておこう。自分はmathjaxをはてなブログのヘッダーに仕込んでいる。どなたか忘れたがググって出てきたものを使っているはず。

<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    tex2jax: {
      inlineMath: [['$','$'], ['\\(','\\)']],
      displayMath: [ ['$$','$$'], ["\\[","\\]"] ]
    }
  });
</script>

<script src='https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/latest.js?config=TeX-MML-AM_CHTML' async>
</script>

適当なmarkdownに数式を書いたものをはてなブログに貼ってもバグることが多い。不便すぎる。が、どこを治せばいいかは大体わかっている。基本的に次に貼るブログに一通り書いてある。

kmyk.github.io

あとここにも

th53439830.hatenablog.com

これを参考に、メモ程度に自分が必要だと思った範囲で下にどう治せばいいか列挙する。vscodeとかでmarkdownを編集した後、下にあるリストを順番に置換して、vscodeからはてなブログにコピペできるのが理想。置換を考えるときはそれぞれ前後にスペース を入れるのがいいと思う。

  • 下つき文字 $x _ i$ を書きたいときは x_i から x _ i のようにスペースをあける。したがって _␣_␣ に置換する。バグらない時もあるがこれをしておくと安心。
  • 上つき文字 $x ^ k$ を書きたいときも同様 x^k から x ^ kのようにスペースをあける。したがって ^␣^␣ に置換する。
  • 不等号 < >はhtmlと混同されるので < > をそれぞれ \ht \gt に置換する。
  • 波括弧 \{ \} はバグるので \{ \} をそれぞれ\lbrace \rbrace に置換する。
  • 角括弧 \[ \] もバグるので \[ \] をそれぞれ\lbrack \rbrack に置換する。
  • ノルム記号 $\lVert\cdot\rVert$ \| は左右それぞれ \lVert \rVert に置換する。正規表現を使えば \\\|.*?\\\|\\lVert $1 \\rVert とか?
  • アスタリスク * もバグるので \ast に置換する。
  • 行区切り(たとえば split 環境内での改行とか) \\\cr に置換する。
  • ギリシャ文字(たとえば \mu とか \sigma とか)は何故かうまく表示されないので直に μ とか σ とかに置換する。
  • \coloneqq\eqqcolon は使えないので適当に := とか =: を使うようにする。

あとは思いついたら追記します

数式レンダリングスマホからでも正しく見れるように有効にするには、はてなブログの設定→スマホのとこで、見た目をPC版と同じにする、みたいなやつにチェック入れれば良い、みたいなのをググって見つかったブログ記事には書いてあったが自分のスマホではそれにチェックを入れても見れなかった。なぜ?