【←前頁】【↑目次】【次頁→】




小目次
  1. 表の出力
  2. 文章中での表示位置
  3. 表の幅を広げる
  4. 大きなセルの表示
  5. 表の各種パラメーター
  6. table環境

lionhead表の出力

「表」を出力するにはtabular環境を使います:

¥documentclass[12pt]{jarticle}

¥begin{document}


¥begin{tabular}{|l||c|c|c|c|}¥hline
名前\科目 & 国語 & 算数 & 社会 & 理科 ¥¥ ¥hline ¥hline
太郎 & 85 & 70 & 63 & 72 ¥¥ ¥hline
次郎 & 80 & 57 & 95 & 38 ¥¥ ¥hline
花子 & 100 & 85 & 92 & 88 ¥¥ ¥hline
¥end{tabular}


¥end{document}
tab


まず最初に¥begin{tabular}{|l||c|c|c|c|}…¥end{tabular}で表(tabular)環境の始まりと終わりを宣言します。この¥beginコマンドのtabular環境を指定した後に続くもう1つの引数(「{|l||c|c|c|c|}」の部分)では、表の(raw、ロウ、横の並び)の出力の一般設定を行います。まず、行に乗ってるセル(表の升)の数だけ、l、c、r、p{幅}のいずれかを書いていきます。これらのアルファベットはそれぞれセル1つ分を表し、その内に含む要素に対して以下のような文章寄せを行います:

アルファベット 説明
l そのセルに入る文字を左寄せにします。
c そのセルに入る文字を右寄せにします。
r そのセルに入る文字を中寄せにします。
p そのセルに入る文章が1行で納まらず複数行にわたる長いものの場合の、改行を入れる長さ(1行の長さ)を{…}内の数値に設定します。


例えば、表の行に5つのセルがあり、その全ての内において中央寄せを適用したいなら、引数で「c」を5個、「{ccccc}」といった感じに記入します。上の例では左端のセルの中身だけ左寄せなので「{lcccc}」となっています。
注:下の2番目の出力例にあるように、幾つかの行で複数のセルに跨る大きなセル(「科目」のセル)がある場合、その行でのセル数は他に比べ少なくなりますが(「科目」セルのある行のセル数は2;他は全て5)、tabular環境の引数には最も多くのセルを含む行におけるセル数分だけアルファベットを入れます。このようなセル数の少ない行の出力設定は、その行のある場所において¥multicolumnコマンド(後述)を使い個々に設定します。
さらに、セルとセルの間に縦の罫線を入れる場合には、各アルファベットの間に「|」を入れます。二重線なら2つ続けて「||」とします。上の例では、一番左のセルと左から2番目のセルの間に入ってる罫線が2重線で、後は一本なので、「{|l||c|c|c|c|}」となっています。

次にセルに入る要素を各列記していきます。各セルは「&」で区切られ、1つの行の終わりには改行マーク「¥¥」を入れます。改行(つまり行間の幅)はオプションで幅を増やすことが出来ます:「¥¥[長さ]」。表の行の間に横罫線を入れる場合には「¥¥」の後に「¥hline」を入れます。2重、3重線にするにはその数だけ「¥hline」を記入します。例:「font color=red太郎 & 85 & 70 & 63 & 72 ¥¥ ¥hline




lionhead文章中での表示位置

¥begin{tabular}コマンドでは、オプションで表の文章中に挿入された際(段落を変えて独立して表示させない場合)の表示位置を指定することができます:

オプション 説明
t 表の一番上が、その挿入される行の基準線(baseline、底辺)の位置に合うよう表示されます。
c 表の中央が、その挿入される行の基準線の位置に合うよう表示されます。
b 表の一番下が、その挿入される行の基準線の位置に合うよう表示されます。


例えば:

¥documentclass[12pt]{jarticle}

¥begin{document}


オプション「t」を使うと
¥begin{tabular}[t]{|l|c|c|c|c|} ¥hline
& ¥multicolumn{4}{c|}{科目} ¥¥ ¥cline{2-5}
名前 & 国語 & 算数 & 社会 & 理科 ¥¥ ¥hline
太郎 & 85 & 70 & 63 & 72 ¥¥ ¥hline
次郎 & 80 & 57 & 95 & 38 ¥¥ ¥hline
花子 & 100 & 85 & 92 & 88 ¥¥ ¥hline
¥end{tabular}
という風に表示される。

オプション「c」を使うと
¥begin{tabular}[c]{|l|c|c|c|c|} ¥hline
& ¥multicolumn{4}{c|}{科目} ¥¥ ¥cline{2-5}
名前 & 国語 & 算数 & 社会 & 理科 ¥¥ ¥hline
太郎 & 85 & 70 & 63 & 72 ¥¥ ¥hline
次郎 & 80 & 57 & 95 & 38 ¥¥ ¥hline
花子 & 100 & 85 & 92 & 88 ¥¥ ¥hline
¥end{tabular}
という風に表示される。

オプション「b」を使うと
¥begin{tabular}[b]{|l|c|c|c|c|} ¥hline
& ¥multicolumn{4}{c|}{科目} ¥¥ ¥cline{2-5}
名前 & 国語 & 算数 & 社会 & 理科 ¥¥ ¥hline
太郎 & 85 & 70 & 63 & 72 ¥¥ ¥hline
次郎 & 80 & 57 & 95 & 38 ¥¥ ¥hline
花子 & 100 & 85 & 92 & 88 ¥¥ ¥hline
¥end{tabular}
という風に表示される。

¥end{document}
tab





lionhead表の幅を広げる

通常のtabular環境の変わりにtabular*を使うと、表の横幅を設定することが出来ます:

¥documentclass[12pt]{jarticle}

¥begin{document}


¥begin{tabular*}{15cm}{@{¥extracolsep{¥fill}}|l|c|c|c|c|} ¥hline
& ¥multicolumn{4}{c|}{科目} ¥¥ ¥cline{2-5}
名前 & 国語 & 算数 & 社会 & 理科 ¥¥ ¥hline
太郎 & 85 & 70 & 63 & 72 ¥¥ ¥hline
次郎 & 80 & 57 & 95 & 38 ¥¥ ¥hline
花子 & 100 & 85 & 92 & 88 ¥¥ ¥hline
¥end{tabular*}




¥end{document}
tab


上の例では表が15センチの幅で表示されるように指定されています。「¥begin{tabular*}」は、まず(1)幅の長さの引数を指定し、次に(2)t、c、bなどの表示位置オプションの指定します。そして最後に(3)行上のセルの寄せ(c、l、r、p{})と縦罫線(「|」)設定のための引数を書きますが、この際、最初のアルファベットの前に「@{¥extracolsep{¥fill}}」というコマンドを挿入します。これは、個々のセルの幅の合計が指定された長さに足りなかった時に、残りを空白で埋めるためのコマンドです。例:「{@{¥extracolsep{¥fill}}|l|c|c|c|c|}

ただ気をつけなければならないのは、表の幅をtabular*環境で自ら指定した場合、その指定した幅が通常のtabular環境で作った場合と大きくかけ離れていると、c、l、r等の文章寄せが上手く機能しなかったり、部分罫線を表示する¥clineコマンドが正しく表示されないことがあります。




lionhead大きなセルの表示

に跨る幅の広いセルを出力するには¥multicolumnコマンドを使います:

¥documentclass[12pt]{jarticle}

¥begin{document}

¥begin{tabular}{|l|c|c|c|c|} ¥hline
& ¥multicolumn{4}{c|}{科目} ¥¥ ¥cline{2-5}
名前 & 国語 & 算数 & 社会 & 理科 ¥¥ ¥hline
太郎 & 85 & 70 & 63 & 72 ¥¥ ¥hline
次郎 & 80 & 57 & 95 & 38 ¥¥ ¥hline
花子 & 100 & 85 & 92 & 88 ¥¥ ¥hline
¥end{tabular}

¥end{document}
tab


¥multicolumnには3つの引数があります:「¥multicolumn{跨るセル数}{寄せ}{セルの中身} 」。まず最初の引数で(1)他の行にあった場合にそのセルが跨るであろうセルの数を指定し、次の引数で(2)その中に入る文章の寄せと縦罫線を設定し、最後の引数で(2)そのセルに入る文章を書きます。上の例「¥multicolumn{4}{c|}{科目}」では、「科目」が入るセルが4つのセルに跨り、中央寄せ(c)、その後に縦の罫線(|)が入るように設定されています。文章寄せの設定には先に説明した「c、l、r、p」を使いますが、¥multicolumnは1つの大きなセルのみを設定しますので、アルファベットは1文字だけしか使いません。

上の例で¥multicolumnの後に挿入されている¥cline{2-5}は、部分的な横罫線を入れるためのコマンドです。引数で罫線を表示させるセルの範囲を指定します。{2-5}であれば、左から数えて2番目から5番目までのセルの下にのみ横罫線を表示します。上の例ではこれが¥multicolumnで跨るセルの数に対応しているので、丁度ピッタリの罫線がかかっています。ちなみに¥cline{2-5}¥cline{2-4}に減らし、さらに¥multicolumn{4}{c|}{科目}でも縦罫線を削る(¥multicolumn{4}{c}{科目})と:

tab


という風になって、罫線が一部抜けてしまいます。部分的な横罫線を複数入れる場合には、「¥cline{1-1} ¥cline{3-3} ¥cline{5-5}」(左から1番目、3番目、5番目のセルの下にのみ横罫線が入る)といった具合に列記します。




lionhead表の各種パラメーター

表の更に細かい出力設定を行うためのコマンドには、以下のものがあります:

コマンド 説明
¥tabcolsep 簡単に言うと、セルの横幅の半分の値です。これを増やすとセルが横に延びます。厳密には、まずセルの幅から、そのセルに入っている要素の長さを引いて、それを半分にした値です(だから、¥tabcolsepを同じ長さに指定しても、中に入ってる要素が長い方が表の幅もより長くなる)。あるいは、要素の横端から左右いずれかの罫線までの長さ。
¥arraystretch table行の縦の長さの比率です。デフォルトの基準値が1ですので、2.0にすれば縦の長さが2倍に伸び、0.9にすれば元の9割の長さに縮みます。
¥doublerulesep table罫線を複数重ねて表示した場合の、罫線間の間隔を指定します。
¥arrayrulewidth 罫線の太さを指定します。


例えば:

¥documentclass[12pt]{jarticle}

¥begin{document}

¥begin{tabular}[b]{|c||c|} ¥hline
   これは   & オリジナル ¥¥ ¥hline ¥hline
   の     & 表     ¥¥ ¥hline
¥end{tabular}

{¥tabcolsep = 2cm
   ¥begin{tabular}[b]{|c||c|} ¥hline
   これは   & 横幅を   ¥¥ ¥hline ¥hline
   増やした  & 表     ¥¥ ¥hline
   ¥end{tabular}
}

{¥renewcommand¥arraystretch{4.0}
   ¥begin{tabular}[b]{|c||c|} ¥hline
   これは   & 縦幅を   ¥¥ ¥hline ¥hline
   増やした  & 表     ¥¥ ¥hline
   ¥end{tabular}
}

{¥doublerulesep = 10pt
   ¥begin{tabular}[b]{|c||c|} ¥hline
   これは   & 罫線間の  ¥¥ ¥hline ¥hline
   間隔を増や & した表   ¥¥ ¥hline
   ¥end{tabular}
}

{¥arrayrulewidth = 2pt
   ¥begin{tabular}[b]{|c||c|} ¥hline
   これは   & 罫線の幅を ¥¥ ¥hline ¥hline
   増やした  & 表     ¥¥ ¥hline
   ¥end{tabular}
}

¥end{document}
tab


¥tabcolsep、¥arrayrulewidth、¥doublerulesepは「{¥コマンド=長さ 表コマンド}」の形式で表記し、¥arraystretchは「{¥renewcommand¥arraystretch{拡大/縮小する倍数} 表コマンド}」の形式で表記します(¥renewcommand自体の説明については後述)。この場合、パラメーターは{…}内に入れた表にのみ適用されます。文書中の全ての表コマンドのパラメーターを変える場合には、プリアンブルに書きます:「¥コマンド=長さ」。




lionheadtable環境

表のページ内の出力位置はtable環境を使って設定することが出来ます(文章中での出力位置は先述tabular環境のオプションで行います)。table環境はtabularを内に囲って使います:

¥documentclass[12pt]{jarticle}

¥begin{document}

¥begin{table}[htbp]

¥begin{tabular}{|l|c|c|c|c|} ¥hline
& ¥multicolumn{4}{c|}{科目} ¥¥ ¥cline{2-5}
名前 & 国語 & 算数 & 社会 & 理科 ¥¥ ¥hline
太郎 & 85 & 70 & 63 & 72 ¥¥ ¥hline
次郎 & 80 & 57 & 95 & 38 ¥¥ ¥hline
花子 & 100 & 85 & 92 & 88 ¥¥ ¥hline
¥end{tabular}

¥caption{3年2組の成績表}

¥end{table}

¥end{document}
tab


¥begin{table}のオプション[htbp]は、それぞれのアルファベットが出力可能位置を指定するものです:

オプション 説明
h table環境が書き込まれた位置にそのまま表示。
t table環境が含まれるページの上部に出力。
b table環境が含まれるページの下部に出力。
p 別のページに出力。


これらを全て書き込むと、どこの位置に表を表示しても構わないことを意味します。

table環境内では、¥captionコマンドを使い、表の短い説明文を加えることが出来ます。目次/セクション見出しと同じく、¥captionをつけた表は¥listoftablesコマンドで一覧を生成することが出来ます。

【←前頁】【↑目次】【次頁→】