Tottoto Note

少しずつ移転します → https://tottoto.net/

【自動】はてなブログで数式に番号をつけて参照する

はてな記法を用いるとMathJaxを利用してLaTeXの文法で数式を記述できることを前回記事の
rwilyp.hatenablog.com
で紹介しました.

この方法ですと,自分で式番号を打ち込むので,例えば式(1)と式(2)の間に式を入れたときにその後の式番号を全て書きなおさなければならないので面倒ですし,なんだか美しくないような気がします.

そこで今回はLaTeXのように自動で式番号を振ってもらう方法を紹介します.

はてなブログでのMathJaxの設定

公式サイトに載っている設定

<script type="text/x-mathjax-config">
MathJax.Hub.Config({
  TeX: { equationNumbers: { autoNumber: "AMS" } }
});
</script>

引用:MathJax TeX and LaTeX Support — MathJax 2.6 documentation

を,はてなブログの「ダッシュボード→設定→詳細設定→headに要素を追加」にコピペします.設定そのものはこれで完了です.
(MathJaxの公式ドキュメントはSphinxで書かれています!!)

使おう

はてなブログでMathJaxを利用するには[tex: ]が書かれている必要があります.一度でも[tex: ]が記述されていればMathJaxを呼び出すようです(参考:はてなブログでの数式の書き方 - 理系ジン ).しかし[tex: ]と書くと数式を描画しようとして余計な空白ができてしまい気分が悪いです.そこで,自分でMathJaxを読み込んでしまいましょう.

具体的には

<script type="text/javascript"
   src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>

引用:Loading and Configuring MathJax — MathJax 2.6 documentation

を記事の適当なところにコピペしてあげれば良いことになりますが,先ほどの参考サイトによると最後に置いておくのが良いそうです.


そうしたら適当にLaTeXコードを書いていきましょう.

以下の式はテストです.\begin{align}
abc &= d \label{1} \\
e &= fgh
\end{align} 式\eqref{1}を参照すると...

こうすると下に余分な余白ができてしまう.上にはできない.
\begin{align}
a \times b &= d \label{2} \\
e &= fgh
\end{align}
式\eqref{2}を参照すると...

以下の式はテストです.
\begin{align} abc &= d \label{1}\\
e &= fgh
\end{align} 式\eqref{1}を参照すると...

こうすると下に余分な余白ができてしまう.上にはできない.
\begin{align}
a \times b &= d \label{2} \\
e &= fgh
\end{align}
式\eqref{2}を参照すると...

\tag{}で式番号を指定しなくても上から順番に振ってくれるので気分が良いですね.環境の終わりの後は改行しないで続けないとはてなブログの改行として認識されて余白が大きくなり見栄えが悪くなるので注意.環境のはじめは改行してもしなくても変わりは無いようでよく分かりません.