次のような数式をブラウザに表示するのに、図版を作成して読み込むのは面倒です。
\[F(\omega) = \cfrac{1}{\sqrt{2\pi}}\int_{-\infty}^{+\infty}f(t)e^{i\omega t}dt \]MathJaxとは、HTML内に次の記述をすれば、上の表示ができるプラグインです。
¥[F(¥omega) = ¥cfrac{1}{¥sqrt{2¥pi}}¥int_{-¥infty}^{+¥infty}f(t)e^{i¥omega t}dt ¥]
自然科学系の論文では、複雑な数式が多く用いられます。そのために、ワープロソフトとしてLaTeXが広く普及していますが、ブラウザでの表示のためにはMathJaxが用いられています。
ここでは、MathJaxの概要を掲げます。
ここでは、個人的に必要な項目に限定しています。詳細については、次のサイトを参照してください。
MathJaxのライブラリは、CDNとして公開されているので、head部に次を記述するだけで利用できます。
<script
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-MML-AM_CHTML">
</script>
mathjaxは、HTMLの一種のプレコンパイラです。単純にいえば、HTMLを分析して、MathJax対象の文字列があれば、それを図版にして、HTMLに組み込みます。
その分析には、多様なオプション項目があります。上のCDNだけでは標準(デフォルト)に設定されています。そのオプションを設定することにより、多様な指定ができます。これに関しては別章mathJaxHubConfigで扱います。
よく用いる記号・名称は、にあります。
インライン数式モード:行の中に表示されます。¥( ~ ¥)で指定します。
ディスプレイ数式モード:改行して中央揃えで表示されます。¥[ ~ ¥] で指定します。
<p>2次方程式 ¥(ax^2 + bx + c = 0¥) の解は
¥[x = {-b ¥pm ¥sqrt{b^2-4ac} ¥over 2a}¥]
で与えられます。<br>
上のMathJaxを与えると、次のように表示されます。
2次方程式 \(ax^2 + bx + c = 0\) の解は \[x = {-b \pm \sqrt{b^2-4ac} \over 2a}\] で与えられます。
上枠のように、MathJaxでは「¥」は特定の意味をもちます。これは本来は、「/」(バックスラッシュ)なのです。
HTML文書ではUTF-8文字コード体系が広く使われており、このコード体系では円マークとバックスラッシュを区別しています。
ところが、日本語キーボードでは、「ろ」のキーを使っても¥が表示されてしまいます。しかも通常は、右上の¥がバックスラッシュと同じ内部コードに設定されています。
そのため、¥をMathJax以外の個所で使う(金額表示など)と、思わぬ表示になる危険性があります。
複数の数式をまとめて表示するときは、全体を¥begin{ } ~ ¥end{ }でくくります。このときはディスプレイ数式モードになります。
{ }には、多様なものがありますが、数式の場合は、{eqnarray*}を使うのが通常です。
MathJaxでは、<br>が使えません。改行には¥¥を使います。
特に指定をしないと右詰になります。
¥begin{eqnarray*} |
\begin{eqnarray*} x+y=8\\ 2x+4y=26 \end{eqnarray*} |
&により、揃える位置を指定できます。
次の例では=の位置で合わせています(少しずれでいますが)。
¥begin{eqnarray*} |
\begin{eqnarray*} x+y & =8\\ 2x+4y & =26 \end{eqnarray*} |
2つの数式を左詰にするには{eqnarray*}では面倒な工夫が必要です。
数値などを対象とする{array}を用いるほうが簡単です。
¥begin{array}{l} |
\begin{array}{l} x+y=8\\ 2x+4y=26 \end{array} |
「~式(5)より~」というように、式番号が必要になることがあります。
式番号を他の場所で使うとき、「式(5)」のように明記するならば簡単です。
¥tag{5}により、行番号が5になります。
これにより、式(5)が成立します。 ¥[ x+y=8 ¥tag{5} ¥] |
これにより、式(5)が成立します。 \[ x+y=8 \tag{5} \] |
上の方法の欠点として、式番号「5」を覚えている必要があります。この式にanswerという名称を付けて、式{answer}とすれば「式(5)」と表示できれば便利です。
それには、¥tag{5}で行番号を5、¥label{answer}で名称をgaussとします。
行番号を他の個所で取り出すには¥eqref{名称}とします。
これにより、式¥eqref{answer}が成立します。 ¥[ x+y=8 ¥tag{5} ¥label{answer} ¥] |
これにより、式\eqref{answer}が成立します。 \[ x+y=8 \tag{5} \label{answer} \] |
膨大な文法を覚えるよりも、似たパターンをカスタマイズするほうが便利です。
(私が)よく使うパターンを列挙します。冒頭に掲げた「参照サイト」に、さらに豊富なパターンがあります。
基本要素 | |||
文字記号 ¥bar{文字}、 ¥overline{文字列}など |
\[ \dot{a},\ \ddot{a},\quad \bar{a}, \ \overline{abc},\quad \tilde{a},\ \ \ \widetilde{abc},\quad \hat{a},\ \widehat{abc} \] | \[ \dot{a},\ \ddot{a},\quad \bar{a}, \ \overline{abc},\quad \tilde{a},\ \ \ \widetilde{abc},\quad \hat{a},\ \widehat{abc} \] |
半角スペースは無視される。¥で代行する。 複数スペースの場合は¥を、間に空白をお いて並べる。¥_¥ &quadは、適当に長いスペースを意味する。 |
下付き(添え字)「_」 上付き(指数)「^」 |
\[ F_x = x^2 \] | \[ F_x = x^2 \] |
|
中黒、繰り返し \cdot, \cdots | \[ {}_n \mathrm{ P } _k = n \cdot ( n - 1 ) \cdots (n-k+1) \] | \[ {}_n \mathrm{ P } _k = n \cdot ( n - 1 ) \cdots (n-k+1) \] |
{}は「何もない」ことを示す。 {}_nで、最初に下付きのnが表示される。 \mathrmは立体フォント。単にPとすると 斜体のPになる。 |
省略(...) \ldots |
\[ \sqrt{2} = 1.4142 \ldots \] | \[ \sqrt{2} = 1.4142 \ldots \] |
|
分数表示 \frac{分子}{分母} |
\[ 損益分岐点=\frac{固定費}{1- \frac{変動費}{売上高} } \] | \[ 損益分岐点 =\frac{固定費}{1- \frac{変動費}{売上高}} \] |
文字列には日本語も使える。 |
分数表示2 連分数の文字を同じサイズにする \cfrac |
\[ 損益分岐点=\frac{固定費}{1- \cfrac{変動費}{売上高} } \] | \[ 損益分岐点 =\frac{固定費}{1- \cfrac{変動費}{売上高}} \] |
すべての\fracを\cfracにしてもよい |
複数式をまとめて表示 |
複数式を扱うには\bigin ~ \end とする。 これだけのときは \[ \]は省略できる。 表示での改行(<br>に相当)は¥¥。 &は、要素の区切記号であるとともに、 この点で各行が位置合わせされる。 | ||
配列(中央揃え) \bigin{array}{配置} |
\begin{array}{c} 1 & 2 \\ 11 & 12 \end{array} | \begin{array}{c} 1 & 2 \\ 11 & 12 \end{array} |
{c}中央、{r}右詰、{l}左詰 省略時{}は中央 {c}は{cc}のように列数並べたのと同じ |
配列(右詰) | \begin{array}{r} 1 & 2 \\ 11 & 12 \end{array} | \begin{array}{r} 1 & 2 \\ 11 & 12 \end{array} |
|
配列(混在) | \begin{array}{lr} 1 & 2 \\ 11 & 12 \end{array} | \begin{array}{lr} 1 & 2 \\ 11 & 12 \end{array} |
第1列は左詰、第2列は右詰 |
配列(罫線) 縦線は{配置}で指定 横線は\line |
\begin{array}{|l|r|} 1 & 2 \\ \hline 11 & 12 \end{array} | \begin{array}{|l|r|} 1 & 2 \\ \hline 11 & 12 \end{array} |
表上下の線の引き方を私はしらない。 |
行列 \begin{pmatrix} {配置}指定はできない |
\begin{pmatrix} 1 & 2 \\ 11 & 12 \end{pmatrix} | \begin{pmatrix} 1 & 2 \\ 11 & 12 \end{pmatrix} |
|
行列式 \begin{bmatrix} {配置}指定はできない |
\begin{bmatrix} 1 & 2 \\ 11 & 12 \end{bmatrix} | \begin{bmatrix} 1 & 2 \\ 11 & 12 \end{bmatrix} |
|
行列式(右寄せ) [ ]を\left[、\right]。 内部を{array}で記述。 |
\[ \left[ \begin{array}{r} 1 & 2 \\ 11 & 12 \end{array} \right] \] | \[ \left[ \begin{array}{r} 1 & 2 \\ 11 & 12 \end{array} \right] \] |
\bigin ~ \end は入れ子にできる。 |
式の展開 | \begin{align*} x & = (1+2) \times (3+4) \\ & = 3 \times 7 \\ & = 21 \end{align*} | \begin{align*} x & = (1+2) \times (3+4) \\ & = 3 \times 7 \\ & = 21 \{align*} |
|
連立方程式1 \begin{eqnarray*} |
\begin{eqnarray*} x+y=8\\ 2x+4y=26 \end{eqnarray*} | \begin{eqnarray*} x+y=8\\ 2x+4y=26 \end{eqnarray*} |
複数の式をまとめて扱う標準形式は \begin{eqnarray*}を用いる。 (*を外すと行番号が自動付加) 何の指定もなければ右詰になる。 |
連立方程式2 \left、\right |
\[ \left\{ \begin{array}{l} x+y&=8\\ 2x+4y&=26 \end{array} \right. \] | \[ \left\{ \begin{array}{l} x+y&=8\\ 2x+4y&=26 \end{array} \right. \] |
複数式の配置を重視するならば {eqnarray*}より{array}のほうが簡単 左詰にして&で等号の位置を合わせる \right.の「.」は、「何もない」の意味 \rightは省略できない。 |
連立方程式3(}) | \[ \left. \begin{array}{l} x+y&=8\\ 2x+4y&=26 \end{array} \right\} \therefore x=3, y=5 \] | \[ \left. \begin{array}{l} x+y&=8\\ 2x+4y&=26 \end{array} \right\} \therefore x=3, y=5 \] |
|
場合分け \begin{cases} |
\[ \max( a, b ) = \begin{cases} a & ( a \geqq b ) \\ b & ( a \lt b ) \end{cases} \] | \[ \max( a, b ) = \begin{cases} a & ( a \geqq b ) \\ b & ( a \lt b ) \end{cases} \] |
\begin{cases}は { を自動的に付ける。 |
大文字記号の標準形 | |||
累積 Σ | \[ \sum_{k=1}^{n} k^2 = \overbrace{1^2+2^2+ \cdots + n^2}^{n} \\ = \frac{1}{6} n(n+1) (2n+1) \] | \[ \sum_{k=1}^{n} k^2 = \overbrace{1^2+2^2+ \cdots + n^2}^{n} \\ = \frac{1}{6} n(n+1) (2n+1) \] |
\sum_{始値}^{終値}数式 |
積分 ∫ | \[ \int_{0}^{\infty} f(x)dx = \left[ \frac{1}{x+1} \right]_0^\infty = -1 \] | \[ \int_{0}^{\infty} f(x)dx = \left[ \frac{1}{x+1} \right]_0^\infty = -1 \] |
\int_{下限}^{上限}関数dx |
df/dxとlim | \[ \frac{ df }{ dx } = \lim_{ \Delta x \to 0 } \frac{ f(x + \Delta x) - f(x) }{ \Delta x } \] | \[ \frac{df}{dx} = \lim_{\Delta x \to 0} \frac{f(x+ \Delta x)-f(x)}{\Delta x} \] |