ある時はアミーゴ

ただの日記。技術・読書・株式投資・育児など

はてなブログでMarkdownと数式表示のメモ

組み込み機能である、はてな記法の [tex: ... ] というやつがMarkdown入力で機能したりしなかったりで、使い方がよくわからない。 $$ で囲む、というのもあちこちで紹介されているけれど、機能してくれません。ざっと見たところだと、公式の仕組みもMathJaxを使っているようですが、数式として整形されるにはいくつかよく分からない条件が必要みたい。そしてフォント。インラインスタイルではSTIXGeneral-Italicというフォントが指定されていますが、実際の表示を見る限り、ただしく適用されているようには見えません。サンセリフ系の美しくない文字が表示されるし、指数と括弧が重なったりしますし。

そんなわけで、色々な記事で紹介されているとおり、各記事のフッターに下記のHTMLを出力する方法を採りました。

<script>
MathJax = {
  tex: {
      inlineMath: [['$', '$'], ['\\(', '\\)']]
  }
};
</script>
<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml.js"></script>

その他のひっかかりポイント

\sigma が解釈されない

次に悩んだのが、 \sigma が解釈されない問題。これは、タグのリンクが自動付与されることが原因でした。あまり本意ではないのですが、設定で「記事本文にはてなブログ タグのリンクを付与しない」にチェックを入れて、記事をPublishしなおすと(ここ大事)、解消しました。

指数表記が解釈されない

x^2 と書くと解釈されません。この記述はMarkdownが勝手に指数表記に変えてしまうのかな。 x2 こういうふうに。なので、MathJaxに解釈させるためには x^{2} と書く必要があるようです。

インライン表示

スクリプトで指定したとおり、 $\\( が使えます。

二次方程式 $ax^{2}+bx+c=0$

二次方程式 \\(ax^{2}+bx+c=0\\)

二次方程式 $ax^{2}+bx+c=0$

二次方程式 \(ax^{2}+bx+c=0\)

ブロック表示

$$ が使えるようになりました。

$$
x = \frac{-b \pm \sqrt{b^{2}-4ac}}{2a}
$$

$$
f(x∣\mu,\sigma^{2}) = \frac{1}{\sqrt{2\pi\sigma^{2}}} \exp\left(-\frac{(x-\mu)^{2}}{2\sigma^{2}}\right)
$$

$$ x = \frac{-b \pm \sqrt{b^{2}-4ac}}{2a} $$

$$ f(x∣\mu,\sigma^{2}) = \frac{1}{\sqrt{2\pi\sigma^{2}}} \exp\left(-\frac{(x-\mu)^{2}}{2\sigma^{2}}\right) $$