LaTeXを用いて美しい数式を書く

PR

Last Updated on 2023年8月10日 by Usayama


ブログで数学や物理関係の記事を書かれる場合、LaTeXが使えるととても便利ですね。”TeX”というと、大学時代を思い出す諸兄も多いのではないでしょうか。

英語を学ぶ記事なのに、数学の式が出てきてすみません。 この記事は、自分の備忘録として書きました。

以下の例の二番目は円周率 \(\pi\) の導出式(ライプニッツの公式、計算の収束は遅いです)、三番目はフーリエ変換の公式です。

\[ y = \frac{\sqrt{x^2-1}}{2x} \quad ({x}\geq{1}, {x}\leq{-1}) \]
\[ \sum_{n=0}^\infty \frac{(-1)^n}{2n+1} = \frac{\pi}{4} \]
\[ F(\omega) = \frac{1}{\sqrt{2\pi}}\int_{-\infty}^{+\infty}f(t)e^{-i\omega t}dt \]

MathJax-LaTeX

WordPressをお使いの場合は、プラグイン MathJax-LaTeX をインストールします。

ほとんどのページに数式が入る場合は、設定の Force Load の項目にチェックを入れてください。数式のページが少ない場合は、各ページの先頭に [mathjax] を記述してください。

Force Load にチェックを入れて、全てのページで MathJax のスクリプトを読み込むと、関係の無いページでもページの表示速度が落ちてしまいます。

MathJax のページ(英文)もご参考にどうぞ。

https://www.mathjax.org/

LaTexのCDN先が2017年4月に変わりましたが、プラグインをアップデートしておけば問題ありません。Mathjax-LaTeXは表示に少し時間のかかる場合があります。

数式を扱える言語TeXのマクロ集合体の最もポピュラーなものがLaTeXで、それをWordPress対応(ブログ等で容易に書けるように)したものがMathJax-LaTexプラグインです。

数式を書く

LaTeX の様式で数式を書いてください。この記事のトップにある数式のコードは以下の通りです。(書式例は上から順に書いています)

UTF-8の場合、\はバックスラッシュで記述されます。マクロも書けます。数式を多く書く方は、後々の保守が楽になると思います。

[ソースコード]

\[ y = \frac{\sqrt{x^2-1}}{2x} \quad ({x}\geq{1}, {x}\leq{-1}) \]
\[ \sum_{n=0}^\infty \frac{(-1)^n}{2n+1} = \frac{\pi}{4} \]
\[ F(\omega) = \frac{1}{\sqrt{2\pi}}\int_{-\infty}^{+\infty}f(t)e^{-i\omega t}dt \]

LaTeXの書式については、分かりやすい LaTeX入門 などをご参照ください。

(注) $$で挟む記述を見かけますが、推奨されていません。(LaTeX様式ではありません)

おまけ(コードを見やすく表示)

上記のコードはプラグイン SyntaxHighlighter Evolved で表示しています。様々なプログラミング言語だけでなく、LaTeXにも対応しています。こちらもシンプルで便利です。

ツールバーも表示でき、ハイライト表示も可能です。とても使いやすいです。

LaTexでの記述例

[1] \begin{bmatrix} 2 & 4+i \\ 4-i & 1 \\ \end{bmatrix} [2] \[\log_z \frac{x}{y} = \log_z x – \log_z y \] [3] \[ (a+b)^n=\sum_{k=0}^n{}_n\mathrm{C}_k\:a^{k}\:b^{\:n-k} \]

[4] \[ \oint_C {f(z) dz} = i \int_{0}^{2 \pi} dt = 2 \pi i\] [5] \[ \nabla f = \frac{\partial f}{\partial x} \hat{ \textbf {x}} + \frac{\partial f}{\partial y} \hat{ \textbf {y}} + \frac{\partial f}{\partial z} \hat{ \textbf {z}} \] [6] \[ x=\frac{-b\pm\sqrt{b^2-4ac}}{2a} \]

[ソースコード]

[1]
\begin{bmatrix}
2 & 4+i \\
4-i & 1 \\
\end{bmatrix}
[2]
\[ \log_z \frac{x}{y} = \log_z x - \log_z y \]
[3]
\[ (a+b)^n = \sum_{k=0}^n{}_n\mathrm{C}_k\:a^{k}\:b^{\:n-k} \]
[4]
\[ \oint_C {f(z) dz} = i \int_{0}^{2 \pi} dt = 2 \pi i\]
[5]
\[ \nabla f = \frac{\partial f}{\partial x} \hat{ \textbf {x}} + \frac{\partial f}{\partial y}  \hat{ \textbf {y}}  + \frac{\partial f}{\partial z}  \hat{ \textbf {z}}  \]
[6]
\[ x = \frac{-b\pm\sqrt{b^2-4ac}}{2a} \]

いろいろな式を書くことができますが、本当に多彩ですね。


2023年8月10日追記  MathJax-LaTeX プラグインは WordPress 6.3 において未検証のため、念のためにCDNを用いています。

<script async src="https://cdn.jsdelivr.net/npm/mathjax@3.2.2/es5/tex-mml-chtml.min.js"></script>

上記のコードを本ページのHTMLの記述の前に記載しています。スクリプトのダウンロード中はHTMLのパースを中断しません。複数の<script></script>があり、実行順序が大切な場合は、async の代わりに defer をお使いください。スクリプトは少し重いので、共通部(head内)には置いていません。