TeXで表 †
行列の場合 (線がなく、各要素の横の位置が揃う。)
tabbing環境(TABのように開始位置をそろえる)を使う。コマンドの詳細とTips。
\begin{tabbing}
% 「\=」でTAB位置を設定、「\kill」はこの行を非表示にする。
\hspace{10mm} \= \hspace{20mm} \= \hspace{20mm} \= 123456789012 \= \kill
%「\>」で次のTAB位置へ移動する。
\> 【1列目】 \> 【2列目】 \> 【3列目】 \> 【4列目】 \\
\> (1) \> $x+y$ \> (2) \> $z$ \\
\> (3) \> $x-y+z$ \> (4) \> $x+y+z$
\end{tabbing}
表の場合1 (線があり、各列の幅がそれぞれ自動で設定される。)
\begin{tabular}{|c||r|l|p{10zw}|}
\hline
【1行1列目】&【1行2列目】&【1行3列目】&【1行4列目】\\
\hline\hline
【2行1列目】&【2行2列目】&【2行3列目】&【2行4列目】\\
【3行1列目】&【3行2列目】&【3行3列目】&【3行4列目】\\
\hline
\end{tabular}
この場合、"\begin{tabular}{|c||r|l|p{10zw}|}"で"c"とした1列目は中央揃えとなる。各列の指定については以下の通り。
c | 中央揃え |
r | 右揃え |
l | 左揃え |
p{ 【文字数】 zw} | 全角の文字数分の幅で、左揃え |
また、この表の罫線は以下の通り。
\hline | 横の罫線 |
\hlin\hlin | 横の二重罫線 |
|(縦棒) | 縦の罫線 |
||(縦棒2つ) | 縦の二重罫線 |
- 一部にだけ横の罫線を引きたい場合には、"\hline"の換わりに
\cline{2-4}
とする。この例では、2列目から4列目にだけ横の罫線が引かれる。
- 罫線を太線に
- 横の罫線を太線にしたい場合には、
\newcommand{\bhline}[1]{\noalign{\hrule height #1}}
としてから、"\hline"の換わりに、
\bhline{【太さ】pt}
とする。
- 縦の罫線を太線にしたい場合には、
\newcommand{\bvline}[1]{\vrule width #1}
としてから、"\begin{tabular}{|c||r|l|p{10zw}|}"の換わりに、
\begin{tabular}{!{\bvline{【太さ】pt}}c||r|l|p{10zw}!{\bvline{【太さ】pt}}}
とする。
- 行の高さの変更
\begingroup
\renewcommand{\arraystretch}{1.5}
\begin{tabular}{c|ccc}
【1行1列目】&【1行2列目】&【1行3列目】&【1行4列目】\\
\end{tabular}
\endgroup
この例では、行の高さが1.5倍になる。
- 余白の変更
- 任意の行における、文字と横の罫線との(縦の)余白を変更したい場合には、
最初に付ける | \addlinespace[ 【高さ】 mm] | 【高さ】分だけ、上の罫線との間に余白ができる |
最後の\\の換わりに | \\[ 【高さ】 mm] | 【高さ】分だけ、下の罫線との間に余白ができる |
とする。
- 任意の列における、文字と縦の罫線との(横の)余白を変更したい場合には、
|@{\hspace{ 【幅】 mm}}c@{\hspace{ 【幅】 mm}}|
とする。【幅】分だけの余白が入る。余白なしの場合には、"|@{}c@{}|"とする。
- (縦の罫線を使わない)欧文風の表では、
\usepackage{bootabs}
としてから、"\hline"の換わりに、
\toprule | 最上段の罫線(太線になり、下の文章との間に余白が入る) |
\bottomrule | 最下段の罫線(太線になり、上の文章との間に余白が入る) |
\midrule | その他の罫線(上下の文章との間に余白が入る) |
とする。太さを変更したい時は、"\toprule[ 【太さ】 pt]"とする。また、一部にだけ横の罫線を引きたい場合には、"\cmidrule{2-4}"とする。
- セルの結合
- 横に結合
【1行1列目】 & \multicolumn{3}{c|}{【連結した列】} \\
とする。この例では、1行目について(2列目から4列目の)3列分を横に連結している。
- 縦に結合
【連結した行】 & \multicolumn{1}{r|}{\begin{tabular}{@{}r@{}} 【2行2列目】 \\ 【3行2列目】 \end{tabular}}
& \multicolumn{1}{r|}{\begin{tabular}{@{}r@{}} 【2行3列目】 \\ 【3行3列目】 \end{tabular}}
& \multicolumn{1}{r|}{\begin{tabular}{@{}r@{}} 【2行4列目】 \\ 【3行4列目】 \end{tabular}} \\
とする。この例では、1列目について(2行目と3行目の)2行分を縦に連結している。
- 別の方法(この方が簡単)
\usepackage{multirow}
としてから、
\multirow{2}{*}{【連結した行】} & 【2行2列目】 & 【2行3列目】 & 【2行4列目】 \\
\cline{2-4}
&【3行2列目】&【3行3列目】&【3行4列目】\\
とする。通常は、"{*}"でよいが、"\multirow{2}{ 【幅】 mm}{ 【連結した行】 }"として列幅を指定する事もできる(その際は、"\\"での改行も可能。3行を縦に連結したセルで2行の表示にしたい時などは便利)。
表の場合2 (線があり、列幅を統一。)
\usepackage{tabularx}
としてから、
\begin{tabularx}{【Xの列の幅(文字数)】zw}{|c||X|X|X|}
\hline
【1行1列目】&【1行2列目】&【1行3列目】&【1行4列目】\\
\hline\hline
【2行1列目】&【2行2列目】&【2行3列目】&【2行4列目】\\
【3行1列目】&【3行2列目】&【3行3列目】&【3行4列目】\\
\hline
\end{tabularx}
この場合、"X"とした列は左揃えとなる。中央揃えや左揃えにしたい場合は、次のようにして、"Y"や"Z"を指定する。
\newcolumntype{Y}{>{\centering\arraybackslash}X} | 中央揃え |
\newcolumntype{Z}{>{\raggedleft\arraybackslash}X} | 右揃え |