WordPress に MathJax をプラグインなしで入れてみる

MathJax はLatex(ラテフ 組版処理ツール)形式のマークアップ言語に似たコマンドで記述した数式が、ウェブブラウザ上で端正に表記されるJavascriptライブラリである。このブログでは要となるソフトウェアである。

著者は以前、プラグインを導入してMathJaxを使っていたが、ブラウザへの変換の不具合で崩れた表記が散見された。設定の編集は難儀である。いろいろと不都合があるようだ。プラグインは削除して、今回は指定のコードをheader.phpに記入してMathJaxを入れてみた。

WordPressのダッシュボードから「外観」$\Rightarrow$ 「テーマ(ファイル)エディター」 \(\Rightarrow\)「テーマを編集」に移り、サイドバーから \(\overset{\class{Boldfont}{\large\textsf{テーマヘッダー}}}{\small(\mathsf{header.php})}\) をクリックする。

header.phpの73行目の辺りに上図の箇所があるので、<!– /gazou –> と </header> の間に以下のコードを記入する。

<script>
  MathJax = {
    tex: {
      inlineMath: [['$', '$'], ['\\(', '\\)']],
      maxBuffer: 10 * 1024							 
    }
  };
</script>
<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
<script type="text/javascript" id="MathJax-script"defersrc="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-svg.js">
</script>

下図は記入後

コードの解説

<script>①
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']],②
maxBuffer: 10 * 1024③
}
};
</script>
<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
<script type="text/javascript" id="MathJax-cript"defer④
src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-svg.js">⑤
</script>

\(\begin{array}{l}\textsf{① MathjaxはJavascriptライブラリなので<script>~</script>のタグで囲む。} \\ \textsf{② MathJaxのコマンドの囲みを \$~\$ に指定する(しばらくプラグインをつかっていたので)。} \\ \textsf{一応 \\(~\\) でも囲めるように設定しておいた。} \\ \textsf{③ array環境(\begin{array}~\end{array})のコマンド)でバッファ容量を超える数式を記述すると、} \\ \textsf{ MathJax internal buffer size exceeded; is there a recursive macro call? のエラーが出るので、} \\ \textsf{とりあえず 10 * 1024 の数値に設定しておく(デフォルトではこの半分位か ?)。} \\ \textsf{④⑤多くのサイトでは} \\ \textsf{<script type=”text/javascript” id=”MathJax-cript”$\color{red}{\textsf{async}}$} \\ \hspace{100pt}\textsf{src=”https://cdn.jsdelivr.net/npm/mathjax@3/es5/$\color{red}{\textsf{tex-mml-chtml}}$.js>} \\ \textsf{と記入するように掲載されているが、これでは不都合が生じる。} \\ \textsf{ async(赤字の箇所) ではブラウザの読み込みが遅いので defer に変更する。} \\ \textsf{tex-mml-chtml にすると array環境や matrix環境で括った括弧がブラウザでは不連続に表示される弊害が} \\ \textsf{生じるので、tex-mml-svg に変更する。}\end{array}\)

とりあえず header.php へのコードの記入は以上だが、MathJaxを使っていて何か不都合が生じたらこのコードに編集追加を施す。

PAGE TOP
タイトルとURLをコピーしました