ワードプレスでMathJax-Latexというプラグインを使っていくつか数式を使う記事を書きましたが、数式の書き方で困ったことがありました。
数式をそろえたり、2つの式をかっこでひとまとめにしたり・・・
とどうやって書いたらいいかわからなかったので目的別にまとめてみました。
数式を書く際に式の書き方がわからないというときは以下のサイトがとても参考になりました。
インライン数式と別行数式立て
簡単に数式を表す方法として、インライン数式と別行数式立ての2種類があります。
数式を文中に入れたい場合はインライン数式というものを使用します。
数式にしたい部分をバックスラッシュとかっこを使って\( … \)で囲ってあげます。
円の面積の公式は\(πr^2\)で表されます。
円の面積の公式は\(πr^2\)で表されます。
逆に別行で数式のみを表示させたいときは、\[ … \]または$$ … $$で囲ってあげます。
\[S=πr^2\]
$$V=\frac{4}{3}πr^3$$
\[S=πr^2\]
$$V=\frac{4}{3}πr^3$$
equation:数式を別行立てで表示
上記別行数式立てと同様に別行で数式のみを表示させるもので、上記とは別の記法になります。
equationでは中央揃えになってしまうので、位置をそろえたい場合は次のeqnarrayなどを使用する必要があります。
\begin{equation}
S=πr^2 \\
V=\frac{4}{3}πr^3
\end{equation}
\begin{equation}
S=πr^2 \\
V=\frac{4}{3}πr^3
\end{equation}
eqnarray:数式をそろえる
eqnarrayという環境で数式を囲うことで数式の特定の位置をそろえることができます。そろえたい箇所を”&”と”&”で囲います。
下記例ではイコールを合わせていますが、それ以外の場所でも合わせることができます。
\begin{eqnarray}
S &=& \frac{1}{2}r^2\theta \\
&=& \frac{1}{2}lr
\end{eqnarray}
\begin{eqnarray}
S&=&\frac{1}{2}r^2\theta\\
&=&\frac{1}{2}lr
\end{eqnarray}
split:数式をそろえる
split環境ではeqnarray同様に”&”を使うことによって数式の特定の位置をそろえることができます。
使える”&”は1行につき1つのみとなっています。
以下の例だとイコールの左側でそろえる形になります。
\begin{split}
S &= \frac{1}{2}r^2\theta \\
&= \frac{1}{2}lr
\end{split}
\begin{split}
S&=\frac{1}{2}r^2\theta\\
&=\frac{1}{2}lr\\
\end{split}
align, alignat, aligned, alignedat:複数箇所でそろえる
これらの環境でもsplit同様に”&”を使うことによって数式の特定の位置をそろえることができます。
splitとの違いは複数個の”&”によって1行内で複数個所の位置をそろえられるということです。
1番目の”&”どうし、3番目どうしの”&”…の位置が揃います。
2番目の”&”、4番目の”&”…は空白をあけて数式を見やすくする役割があります。
“&”を数式中に入れない場合は自動的に右揃えになるようです。
以下はalignで数式を書いた例。例では等号の位置をそろえていますが、それ以外の位置もそろえることができます。
\begin{align}
\sin(\frac{π}{2}-x) &=\cos(x) &\cos(\frac{π}{2}-x) &=\sin(x) &\tan(\frac{π}{2}-x) &=\frac{1}{\tan(x)} \\
\sin(π-x) &=\sin(x) &\cos(π-x) &=-\cos(x) &\tan(π-x) &=-\tan(x)
\end{align}
\sin(\frac{π}{2}-x)&=\cos(x)&\cos(\frac{π}{2}-x)&=\sin(x)&\tan(\frac{π}{2}-x)&=\frac{1}{\tan(x)} \\
\sin(π-x)&=\sin(x)&\cos(π-x)&=-\cos(x)&\tan(π-x)&=-\tan(x)
\end{align}
対して、alignatで数式を書くと数式の中の空白の大きさを最小化してくれます。注意としてalignatでは引数に奇数番目の”&”の個数を渡してあげる必要があります。
\begin{alignat}{3}
\sin(x+\frac{π}{2}) &=\cos(x) &\cos(x+\frac{π}{2}) &=-\sin(x) &\tan(x+\frac{π}{2}) &=-\frac{1}{\tan(x)} \\
\sin(x+π) &=-\sin(x) &\cos(x+π) &=-\cos(x) &\tan(x+π) &=\tan(x)
\end{alignat}
\sin(x+\frac{π}{2})&=\cos(x)&\cos(x+\frac{π}{2})&=-\sin(x)&\tan(x+\frac{π}{2})&=-\frac{1}{\tan(x)} \\
\sin(x+π)&=-\sin(x)&\cos(x+π)&=-\cos(x)&\tan(x+π)&=\tan(x)
\end{alignat}
また、alignedとalignedatは他の数式環境内(eqnarrayなど)の中で一部のみ数式をそろえたいときに入れ子にして使います。
まとめるとこんな感じです。
align | alignat | aligned | aligndat | |
---|---|---|---|---|
スペース | 大 | 小 | 大 | 小 |
使い時 | 数式環境外 | 数式環境外 | 数式環境内 | 数式環境内 |
gather, gathered:数式を中央でそろえる
前に紹介したalignのように複数数式をそろえるものになります。
alignと違う点は数式を中央揃えにするというところです。
どちらを使うかは見た目で決めましょう。
\begin{gather}
(a+b)^2=a^2+2ab+b^2 \\
(a+b)^3=a^3+3a^2b+3ab^2+b^3 \\
(a+b)^4=a^4+4a^3b+6a^2b^2+4ab^3+b^4
\end{gather}
\begin{gather}
(a+b)^2=a^2+2ab+b^2 \\
(a+b)^3=a^3+3a^2b+3ab^2+b^3 \\
(a+b)^4=a^4+4a^3b+6a^2b^2+4ab^3+b^4
\end{gather}
gatheredに関してはaligned、alignedatと同じように他の数式環境内で入れ子にして使うようです。
cases:複数数式をまとめる
場合分けや連立方程式を書くときに左にかっこを付けてひとまとまりであることを表しますよね。
cases環境では数式をまとめて表示することができます。
“&”を1つだけ入れられ、”&”の行はそろうようになっています。
\begin{cases}
x&(x≧0) \\
-x&(x<0)
\end{cases}
\begin{cases}
x&(x≧0) \\
-x&(x<0)
\end{cases}
場合分けでの使用だと、以下のように他の数式環境と入れ子にして使うことが多いかと思います。
\begin{eqnarray}
|x|=
\begin{cases}
x&(x≧0)\\
-x&(x<0)
\end{cases}
\end{eqnarray}
\begin{eqnarray}
|x|=
\begin{cases}
x&(x≧0)\\
-x&(x<0)
\end{cases}
\end{eqnarray}
array:表を作る
array環境では表を作成することができます。
arrayの引数には(r=右揃え、c=中央揃え、l=左揃え)を使ってそれぞれの位置をそろえることができます。
横線は\hlineを使って、縦線はarrayの引数の間にパイプ「|」を使って入れることができます。
\begin{array}{|l|c|c|c|r} \hline
\theta &0 &\frac{π}{6} &\frac{π}{4} &\frac{π}{3}\cdots \\ \hline
\sin &0 &\frac{1}{2} &\frac{1}{\sqrt{2}} &\frac{\sqrt{3}}{2}\cdots \\ \hline
\cos &1 &\frac{\sqrt{3}}{2} &\frac{1}{\sqrt{2}} &\frac{1}{2}\cdots \\ \hline
\end{array}
\begin{array}{|l|c|c|c|r} \hline
\theta &0 &\frac{π}{6} &\frac{π}{4} &\frac{π}{3}\cdots \\ \hline
\sin &0 &\frac{1}{2} &\frac{1}{\sqrt{2}} &\frac{\sqrt{3}}{2}\cdots \\ \hline
\cos &1 &\frac{\sqrt{3}}{2} &\frac{1}{\sqrt{2}} &\frac{1}{2}\cdots \\ \hline
\end{array}
matrix系:行列を書く
matrix系の環境を使うことで様々な行列を書くことができます。
同じ行の成分は”&”で区切って書き、列の区切りには\\を利用します。
matrix環境はかっこなしの行列を書きます。
\begin{matrix}
a&b \\
c&d
\end{matrix}
\begin{matrix}
a&b \\
c&d
\end{matrix}
Bmatrix環境は{}を使って行列を表現します。
\begin{Bmatrix}
a&b \\
c&d
\end{Bmatrix}
\begin{Bmatrix}
a&b \\
c&d
\end{Bmatrix}
bmatrixは[]を使って行列を表現します。
\begin{bmatrix}
a&b \\
c&d
\end{bmatrix}
\begin{bmatrix}
a&b \\
c&d
\end{bmatrix}
pmatrixは()を使って行列を表現します。
\begin{pmatrix}
a&b \\
c&d
\end{pmatrix}
\begin{pmatrix}
a&b \\
c&d
\end{pmatrix}
Vmatrixは行列のノルムを表現できます。
\begin{Vmatrix}
a&b \\
c&d
\end{Vmatrix}
\begin{Vmatrix}
a&b \\
c&d
\end{Vmatrix}
vmatrixは行列式を表現できます。
\begin{vmatrix}
a&b \\
c&d
\end{vmatrix}
\begin{vmatrix}
a&b \\
c&d
\end{vmatrix}
multline:長い数式を書く?
長い数式を改行したときに適切な位置までスペースを入れてくれるもの…
らしいが環境によって表示がイマイチになることもあるので、使わないほうがいいかも?
改行位置は\\で指定できます。
\begin{multline}
S_n=a_1+a_2+a_3+a_4+a_5+a_6+a_7 \\
+a_8+a_9+a_{10}+a_{11}+a_{12}+a_{13}+a_{14} \\
+\cdots+a_{n-2}+a_{n-1}+a_n
\end{multline}
S_n=a_1+a_2+a_3+a_4+a_5+a_6+a_7 \\
+a_8+a_9+a_{10}+a_{11}+a_{12}+a_{13}+a_{14} \\
+\cdots+a_{n-2}+a_{n-1}+a_n
\end{multline}