数式を導入する

計算理論の基礎を読んだ。 これを復習してメモしようと思ったけど、このブログの元になるテンプレは数式をサポートしてない。

そこでMathJaxを導入した。 本当にコピペするだけで済んだのでフロントエンド苦手マンに優しかった。

利用しているテーマのcssと衝突して数式内の改行 \\ が上手く動かないことに気づき、 利用テーマの最新版でMathJaxを利用するショートコードが定義されていたため現在はそっちを利用している。

webpackでも出来るかもしれないが、もともとHugoで生成しているだけで JavaScript もそれほど使っていないので気にせずテーマに以下をコピペした。

1
2
3
4
5
6
<script type="text/x-mathjax-config">
    MathJax.Hub.Config({
        tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]}
    });
</script>
<script type="text/javascript" async src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/MathJax.js?config=TeX-MML-AM_CHTML"></script>

tex2jax の項目でいくつかオプションを設定している。 ここではインラインの TeX 利用に $ ... $, \\( ... \\) を設定している。(デフォルトは\\( ... \\)) なので$を下手に使うと LaTeX に入ってしまうけど、そこは諦めた。

ブロックでの TeX 利用の設定はいじっておらず、デフォルトで $$ ... $$, \\[ ... \\] となっている。

本文中で下を書くと勝手に置き換えてくれる。 たとえば下のように書くと、

級数列($\Sigma_{n = 0}^{\infty} a_n z^n$)の収束半径は\\(r := \underset{ n \rightarrow \infty}{\lim \sup} | a_n | ^ {1/n} \\)となる。

級数列:
  $$ \Sigma_{n = 0}^{\infty} a_n z^n $$
収束半径:
  \\[ r := \underset{ n \rightarrow \infty}{\lim \sup} | a_n | ^ {1/n} \\]

下のようになる。

級数列(\( \Sigma_{n = 0}^{\infty} a_n z^n \) )の収束半径は\( r := \underset{ n \rightarrow \infty}{\lim \sup} | a_n | ^ {1/n} \) となる。

級数列: \[ \Sigma_{n = 0}^{\infty} a_n z^n \] 収束半径: \[ [ r := \underset{ n \rightarrow \infty}{\lim \sup} | a_n | ^ {1/n} \]

TeXは学生時代以来なので調べながらになるけど、論文とは違って \input 地獄にならなそうなので嬉しい。

あと今日から育休に入りました。

comments powered by Disqus