TeX分科会第三回

今回は表組みを表示させる方法を紹介します。tabularとtabularx,それとページをまたぐような長い表を使う場合に用いるlongtableを説明します

表組みの基本

基本的な表組みを表示させるにはtabular環境を用います。

\begin{tabular}{列指定}
	表本体
\end{tabular}
  

がその基本形です。列指定と表本体、この二ヶ所の書式さえ覚えてしまえばあとは とりあえず表は作れてしまいます。

列指定

まず、列指定の部分についてですが、この部分にはl,c,rのいずれかを1つ以上書くことになります。 先に例を見てみましょう

\begin{tabular}{rcl}
	表本体
\end{tabular>
  

なんとなく想像がついているかもしれませんが、l,c,rはそれぞれleft,center,rightの頭文字で 左寄せ、中央、右寄せのことをあらわしています。 列指定の部分に書いた文字数によって、これから作ろうとする表の列の数が決まります。
上にある例を見てみると、列指定のところに"rcl"と入力されています。つまりこれは、これから作ろうとしている 表には3つの列があって、1列目の文字は右寄せ、2列目の文字は中央は位置、3列目の文字は左寄せで 表示させようとしている、ということを示しています。

表本体

つぎに、表本体の部分の書き方を見てみましょう。先に例を示します

\begin{tabular}{rcl}
	サークル名 & 略称 & 部室 \\
	理論科学グループ & TSG  & 305
\end{tabular>
  

例を見ればこれもなんとなく分かると思いますが、列と列とを区切りたい場所には"&"を、 次の行に移りたいときには"\\"を書きます。

とりあえずこれだけで一応の表は完成しました

列割りの一時変更

表を作るときには、いくつかのマスをつなげて表示させたいということがあります。 次は、そのやり方を見ていきましょう。
では、表にタイトルをつけるということで、一番上に3つの列を結合して表示させてみます。そのためには

\begin{tabular}{rcl}
	\multicolumn{3}{c}{\textbf{サークル}} \\
	サークル名 & 略称 & 部室 \\
	理論科学グループ & TSG  & 305
\end{tabular>
  

と、このようにします。
\multicolumn{3}{c}{\textbf{サークル}}の意味を中括弧の中身に注意してみていくと、 「3つの表を結合して」「中央ぞろえで」「太字でサークルと表示」という意味です。

罫線の表示

つづいて、表に罫線を表示させる方法を説明します。例えばこんな風に(図:準備中)表示させるには、

\begin{tabular}{|r|c|l|} \hline
	\multicolumn{3}{|c|}{\textbf{サークル}} \\ \hline
	サークル名 & 略称 & 部室 \\ \hline
	理論科学グループ & TSG  & 305 \\ \hline
\end{tabular>
  

と入力させればOKです。
何が変わったのかはすぐ分かるでしょう。tabular環境に入ることを示す最初の行の中括弧の中が "rcl"から"|r|c|l|"に、二行目の列割りの変更を示すところの二番目の中括弧の中が"c"から"|c|" に変わりました。また、各行の区切りに"\hline"が加わりました。
"rcl"が"|r|c|l|"になったのは、三つの列の間と外側にたての罫線を引け、ということをあらわしています。 例えばここで"rcl"が"|rcl|"になったとすれば、表の外側にだけ罫線が引かれることになります。そして、 "\hline"は水平線を引くことをあらわしていて、これを書くことによって横の罫線を引くことができます。

横幅の定まった表

今度は全体の横幅が定まった表を作って見ましょう。この場合はtabular環境ではなくtabularxを 使います。ですが、そのままではtabularxは使えないので、tabularxパッケージを使える ようにしておく必要があります。つまり、あらかじめプリアンブルに

\usepackage{tabularx}
  

と一言書いておく必要があります。

さて、では横幅が定まった表の書き方ですが、まずは例から。

\begin{tabularx}{65mm}{|X|r|r|} \hline
	\multicolumn{3}{|c|}{\textbf{サークル}} \\ \hline
	サークル名 & 略称 & 部室 \\ \hline
	理論科学グループ & TSG  & 305 \\ \hline
\end{tabular>
  

とまぁこんな感じになります。
最初の列はXと指定されていますので、幅は可変です。次の二つの列はrと 指定されていますので、右寄せになります。 Xと指定された列は中身がたくさんでも、適当に改行してくれます。

ページをまたぐ表

実はtabular環境はTeXの内部的には大きな文字として扱われています。 とすると、どんなことが起こるのかというと、あくまでも一つの文字なわけですから、ページをまたいでは表示 されません。それでは、ページをまたぐような大きな表を表示したい場合はどうするのかというと、longtable環境 を用いることになります。
書式は今までの表と一緒です。例を示すと

\begin{longtable}{|r|c|l|} \hline
	\multicolumn{3}{|c|}{\textbf{サークル}} \\ \hline
	サークル名 & 略称 & 部室 \\ \hline
	理論科学グループ & TSG  & 305 \\ \hline
	…               & …   & …  \\ \hline
	…               & …   & …  \\ \hline
	…               & …   & …  \\ \hline
\end{tabular>
  

こんな感じになります。書式的には何も変わってません。