MathJax3 による表現
2019 年まで、数式は MathJax のバージョン 2を使っていた。 ただし、表記法は TeX ではなく ASCIIMath を使っていた。 MathJax はバージョン 3 になったが、ASCIIMath の表記法が残念なものになった。これを本稿で説明する。
MathJax (www.mathjax.org) のページは英語である。
MathJax の使い方
MathJax はリモートにあるサーバを使うのがよさそうだ。 これには、<head> と </head> の間で、バージョン 3 の場合は次の行を書けばよい。
<script>
MathJax = {
loader: {load: ['input/asciimath', 'output/chtml', 'ui/menu']},
};
</script>
<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/startup.js">
</script>
MathJax4 の場合については、MathJax4 を使うというページにも書いた。
さて書き方は、MathJax のバージョン 2 とは異なる実装になっている。その理由は、 Loading the AsciiMath Component (docs.mathjax.org) という項に書かれている。 以下、拙訳をつけてみる。
AsciiMath 入力 jax はまだバージョン3や4に完全には移植されていない。 代わりに、AsciiMath コンポーネントはバージョン2にある AsciiMath 入力 jax と、 バージョン3フレームワークにパッチを適用されたレガシーバージョン2コードの一部を使う。 この方法は、バージョン3の純粋なソリューションよりも効率が低く、 やや大きく、構成プロセスが複雑になる可能性がある。 AsciiMath の完全な移植は、将来のバージョン3のリリースで予定されている。
AsciiMath はバージョン 3 に完全には移植されていないため、 結合されたコンポーネントにはバージョン3が含まれていない。 したがって、AsciiMath 表記を使用するには、 MathJax 構成のローダーブロック内のロード配列に input / asciimath を追加して、 MathJax wを自分で読み込むよう設定する必要がある(例は上記)。
ここで、AsciiMath 入力 jax という用語が頻出するが、AsciiMath 形式での入力を、 MathJax が解釈できる jax という形式に変換する、ぐらいの意味にとっておけばよいと思う。
実例
今まではバージョン 3 の表示例を示していたのだが、すでにバージョン 4 に移行され、ここで表示する意味はなくなったので消去することにした。