表組みの基本

ここでは LaTeX で表を出力するための基本的な方法を紹介します.


罫線なしの表 (基本)

LaTeX で表を出力するには,table 環境と tabular 環境を使用します.

基本形

\begin{table}[位置指定]
  \begin{tabular}{列指定}
    表本体・・・
  \end{tabular}
\end{table}

位置指定では,表の配置を以下のように指定できます.ちなみに位置指定は省略可能です.位置指定を省略した場合は LaTeX が自動的に判断して表を配置します.

位置指定意味
h記述した場所に表を出力
tページの上端に表を出力
bページの下端に表を出力
p表専用のページを用意して出力

※ 位置指定は複数指定可能です.例えば \begin{table}{ht} のように指定すると,LaTeX はまず,記述した場所に表を出力できるかをチェックし,出力不可能であればページ上端への出力を試みます.

列指定では列の数と,列の右寄せ・センタリング・左寄せを指定します. 例えば \begin{tabular}{lcr} というように記述すると,1 番目の列は左寄せ,2 番目の列はセンタリング,3 番目の列は右寄せとなります.

列指定意味
l左寄せ
cセンタリング
r右寄せ

表のセルの各要素は & で区切り,行は \\ で区切って記述します.(一番下の行は \\ を使用してはいけません.)

LaTeXサンプル

\begin{table}[htb]
  \begin{tabular}{lcrr}
    メニュー & サイズ & 値段 & カロリー \\
    牛丼 & 並盛 & 500円 & 600 kcal \\
    牛丼 & 大盛 & 1,000円 & 800 kcal \\
    牛丼 & 特盛 & 1,500円 & 1,000 kcal \\
    牛皿 & 並盛 & 300円 & 250 kcal \\
    牛皿 & 大盛 & 700円 & 300 kcal \\
    牛皿 & 特盛 & 1,000円 & 350 kcal
  \end{tabular}
\end{table}

LaTeXサンプルの実行結果

罫線なしの表 (基本)

表に罫線を引く

縦罫線を出力するには,列指定に | (パイプ) を入れます.縦罫線を二重線にするには || のようにパイプを 2 つ記述します.
行罫線を出力するには,\hline コマンドを使用します.行罫線を二重線にするには \hline \hline のように記述します. \hline コマンドを使用する場合は,一番下の行であっても \\ で区切る必要があります.

LaTeXサンプル

\begin{table}[htb]
  \begin{tabular}{|l|c|r||r|} \hline
    メニュー & サイズ & 値段 & カロリー \\ \hline \hline
    牛丼 & 並盛 & 500円 & 600 kcal \\
    牛丼 & 大盛 & 1,000円 & 800 kcal \\
    牛丼 & 特盛 & 1,500円 & 1,000 kcal \\ \hline
    牛皿 & 並盛 & 300円 & 250 kcal \\
    牛皿 & 大盛 & 700円 & 300 kcal \\
    牛皿 & 特盛 & 1,000円 & 350 kcal \\ \hline
  \end{tabular}
\end{table}

LaTeXサンプルの実行結果

表に罫線を引く

セルの結合

水平方向 (列) にまたがる表

水平方向 (列) にまたがる表を出力するには,\multicolumn コマンドを使用します.

\multicolumn コマンドの一般系

\multicolumn{またがる列数}{列指定}{列本体}

LaTeXサンプル

\begin{table}[htb]
  \begin{tabular}{|l|c|r||r|} \hline
    \multicolumn{2}{|l|}{メニュー}
      & \multicolumn{1}{c||}{値段} & \multicolumn{1}{r|}{カロリー}\\ \hline \hline
    牛丼 & 並盛 & 500円 & 600 kcal \\
    牛丼 & 大盛 & 1,000円 & 800 kcal \\
    牛丼 & 特盛 & 1,500円 & 1,000 kcal \\ \hline
    牛皿 & 並盛 & 300円 & 250 kcal \\
    牛皿 & 大盛 & 700円 & 300 kcal \\
    牛皿 & 特盛 & 1,000円 & 350 kcal \\ \hline
  \end{tabular}
\end{table}

LaTeXサンプルの実行結果

水平方向 (列) にまたがる表

垂直方向 (行) にまたがる表

垂直方向 (行) にまたがる表を出力するには,\hline コマンドの代わりに \cline コマンドを使用します.

\cline コマンドの一般系

\cline{罫線を引く列番号(始)-罫線を引く列番号(終)}

LaTeXサンプル

\begin{table}[htb]
  \begin{tabular}{|l|c|r||r|} \hline
    メニュー & サイズ & 値段 & カロリー \\ \hline \hline
      & 並盛 & 500円 & 600 kcal \\ \cline{2-4}
    牛丼 & 大盛 & 1,000円 & 800 kcal \\ \cline{2-4}
      & 特盛 & 1,500円 & 1,000 kcal \\ \hline
      & 並盛 & 300円 & 250 kcal \\ \cline{2-4}
    牛皿 & 大盛 & 700円 & 300 kcal \\ \cline{2-4}
      & 特盛 & 1,000円 & 350 kcal \\ \hline
  \end{tabular}
\end{table}

LaTeXサンプルの実行結果

垂直方向 (行) にまたがる表

表をセンタリングする

表をセンタリングするには center 環境を使用するか,\centering コマンドを使用します.

LaTeXサンプル

% center 環境を使用した場合
\begin{table}[htb]
  \begin{center}
    \begin{tabular}{|l|c|r||r|} \hline
      メニュー & サイズ & 値段 & カロリー \\ \hline \hline
      牛丼 & 並盛 & 500円 & 600 kcal \\
      牛丼 & 大盛 & 1,000円 & 800 kcal \\
      牛丼 & 特盛 & 1,500円 & 1,000 kcal \\ \hline
    \end{tabular}
  \end{center}
\end{table}

% \centering コマンドを使用した場合
\begin{table}[htb]
  \centering
  \begin{tabular}{|l|c|r||r|} \hline
    メニュー & サイズ & 値段 & カロリー \\ \hline \hline
    牛丼 & 並盛 & 500円 & 600 kcal \\
    牛丼 & 大盛 & 1,000円 & 800 kcal \\
    牛丼 & 特盛 & 1,500円 & 1,000 kcal \\ \hline
  \end{tabular}
\end{table}

LaTeXサンプルの実行結果

表をセンタリングする

表にタイトル (キャプション) をつける

表にタイトルをつけるには \caption コマンドを使用します.

LaTeXサンプル

\begin{table}[htb]
  \begin{center}
    \caption{値段表}
    \begin{tabular}{|l|c|r||r|} \hline
      メニュー & サイズ & 値段 & カロリー \\ \hline \hline
      牛丼 & 並盛 & 500円 & 600 kcal \\
      牛丼 & 大盛 & 1,000円 & 800 kcal \\
      牛丼 & 特盛 & 1,500円 & 1,000 kcal \\ \hline
    \end{tabular}
  \end{center}
\end{table}

LaTeXサンプルの実行結果

表にタイトル (キャプション) をつける

表の参照

表を文中で参照するには,まず,表に \label コマンドでラベルをつけ,\ref コマンドを使用してラベルの参照を行います.

LaTeXサンプル

\ref{tab:price} によると,大盛の値段は並盛の値段の倍である.
このことから並盛を2つ注文したほうがコストパフォーマンスはよいといえる.

\begin{table}[htb]
  \begin{center}
    \caption{値段表}
    \begin{tabular}{|l|c|r||r|} \hline
      メニュー & サイズ & 値段 & カロリー \\ \hline \hline
      牛丼 & 並盛 & 500円 & 600 kcal \\
      牛丼 & 大盛 & 1,000円 & 800 kcal \\
      牛丼 & 特盛 & 1,500円 & 1,000 kcal \\ \hline
    \end{tabular}
    \label{tab:price}
  \end{center}
\end{table}

LaTeXサンプルの実行結果

表にタイトル (キャプション) をつける

LaTeX使いの必読書

LaTeXでレポートや論文を書く際に読んだ本です.よかったら参考にしてみてください.

[改訂第9版]LaTeX美文書作成入門

LaTeXの参考書としては最高の書籍です.
著者が日本におけるTeXの第一人者である奥村先生ということもあり,非常に信頼性と質が高く,LaTeXのノウハウが詰まっています.