Takatani Note

【LaTeX】array環境

この記事では、LaTeXのarray環境について詳しく解説します。

array環境

array環境は、tabular環境とほぼ同じものです。 ただ、tabular環境が本文中で使うのに対して、array環境は数式中で使う点が違います。

構文:
\begin{array}{列指定}
 項目1 & 項目2 & 項目3 \\
 項目1 & 項目2 & 項目3 \\
 項目1 & 項目2 & 項目3 
\end{array}

※各列は&で区切り、各行は\\で区切ります。

列指定にはl,c,rの中から列数の数だけ(重複を許して)選びます。 これらは各列を左寄せ(left)、中央寄せ(center)、右寄せ(right)に指定します。

たとえば、\begin{array}{lrr}...は3列の表で、 一列目が左寄せ、二列目と三列目が右寄せの表を出力します。

例えば、{ll}ならば2列、{lllll}ならば5列にすることを宣言します。

例:
\begin{array}{lcr}
 xxxxx & yyyyy   & zzzzz \\
 x      & y        & z
\end{array}

$ \begin{array}{lcr} xxxxx & yyyyy & zzzzz \\ x & y & z \end{array} $

l,c,rは列の揃え方を指定するものです。 lは左揃え、cは右揃え、rは右揃えです。

罫線の入れ方

縦の罫線

列の区切り線を入れるには、{c|cc}のように縦棒を入れます。

表示コマンド備考
$\begin{array}{c|cc} a & b & c \\ x & y & z \end{array}$
\begin{array}{c|cc}
 a & b & c \\
 x & y & z
\end{array}
{c|cc}とすれば、1列目と2列目の間に区切り線が引かれます。
$\begin{array}{|c|c|c|} a & b & c \\ x & y & z \end{array}$
\begin{array}{|c|c|c|}
 a & b & c \\
 x & y & z
\end{array}
{|ccc}とすれば、左端に罫線が引かれます。
$\begin{array}{c:cc} a & b & c \\ x & y & z \end{array}$
\begin{array}{c:cc}
 a & b & c \\
 x & y & z
\end{array}
{ccc}に縦棒 | ではなく、コロン : を入れると、区切り線が破線になります。

横の罫線

行の区切り線を入れるには、\hlineコマンドを用います。

表示コマンド備考
$\begin{array}{ccc} a & b & c \\ \hline x & y & z \end{array}$
\begin{array}{ccc}
 a & b & c \\
  \hline
 x & y & z
\end{array}
$\begin{array}{ccc} \hline a & b & c \\ \hline x & y & z \\ \hline \end{array}$
\begin{array}{ccc} \hline
 a & b & c \\ \hline
 x & y & z \\ \hline
\end{array}
下端に罫線を引く場合、最終行に改行コマンド //を入れるのを忘れずに!
$\begin{array}{ccc} a & b & c \\ \hdashline x & y & z \end{array}$
\begin{array}{ccc}
 a & b & c \\
  \hdashline
 x & y & z
\end{array}
横罫線を破線にしたい場合、\hdashlineを用います。

行間・列間の調整

行間の幅を調整する

array環境(またはtable環境)で行間の長さを変更したいとき, 変更したいarray環境の直前で次のように\arraystretchコマンドを再定義します。たとえば、

\def\arraystretch{1.5}

と定義すれば、行間の長さは1.5倍になります。 0.5倍にしたければ{0.5}と入力します。

なお、初期値は1です。 あるarray環境の行間を変更した後、それ以降では通常の間隔にしたいとき、\arraystretchコマンドの値を1に再々定義すれば、行間の長さがもとに戻ります。

特定の行間を変更する場合、\\[5pt]のように改行コマンド \\の直後に数値を入力します。

例:
\begin{array}{ccc}
 a & b & c \\[5pt]
 x & y & z \\
 1 & 2 & 3
\end{array}

$ \begin{array}{ccc} a & b & c \\[5pt] x & y & z \\ 1 & 2 & 3 \end{array} $

列間の幅を調整する

全体の列間を調整したい場合は

\arraycolsep=10pt

のように入力します。

@{}は空白をゼロにするものです。
@{\ }は空白をゼロにしてから、半角分のスペースを空けるコマンドです。