これまでのところ、次のものがあります:
\begin{tabular}{l| c c c c c c}
\hline
& \multicolumn{2}{c}{A} & \multicolumn{2}{|c|}{B} & \multicolumn{2}{c|}{C} \\
\hline
& y & y & y & y & y & y \\
\hline
l1 & x & x & x & x & x & x \\
l1 & x & x & x & x & x & x \\
l1 & x & x & x & x & x & x \\
l1 & x & x & x & x & x & x \\
\end{tabular}
それは次のようになります:
しかし、どうすればいいのかわかりません。
- hlines に最初の列を除外する
- 見出しにのみ縦線を入れる
答え1
このような?
\begin{tabular}{l|*6{c}|}
\cline{2-7}
& \multicolumn{2}{c }{A} & \multicolumn{2}{c}{B} & \multicolumn{2}{c|}{C} \\ \cline{2-7}
& \multicolumn{1}{c|}{a1} & \multicolumn{1}{c|}{a2} & \multicolumn{1}{c|}{b1} & \multicolumn{1}{c|}{b2} & \multicolumn{1}{c|}{c1} & c2 \\ \hline
\multicolumn{1}{|l|}{C1} & x & x & x & x & x & x \\
\multicolumn{1}{|l|}{C2} & x & x & x & x & x & x \\
\multicolumn{1}{|l|}{C3} & x & x & x & x & x & x \\
\multicolumn{1}{|l|}{C4} & x & x & x & x & x & x \\ \hline
\end{tabular}
または、線幅全体にまたがる必要がある場合は、次のようにします。
\documentclass[12pt]{article}
\usepackage{tabularx}
\begin{document}
\begin{tabularx}{\linewidth}{X|*6{>{\centering\arraybackslash}X}|}
\cline{2-7}
& \multicolumn{2}{c }{A} & \multicolumn{2}{c}{B} & \multicolumn{2}{c|}{C} \\ \cline{2-7}
& \multicolumn{1}{c|}{a1} & \multicolumn{1}{c|}{a2} & \multicolumn{1}{c|}{b1} & \multicolumn{1}{c|}{b2} & \multicolumn{1}{c|}{c1} & c2 \\ \hline
\multicolumn{1}{|l|}{C1} & x & x & x & x & x & x \\
\multicolumn{1}{|l|}{C2} & x & x & x & x & x & x \\
\multicolumn{1}{|l|}{C3} & x & x & x & x & x & x \\
\multicolumn{1}{|l|}{C4} & x & x & x & x & x & x \\ \hline
\end{tabularx}
\end{document}
答え2
いくつかあれば、\multicolumn
望み通りのものが手に入ります。また、テーブルをセッティングするための、私見ではより明確な別の方法も追加します。
\documentclass{article}
\usepackage{caption}
\usepackage{booktabs} % for the second table
\begin{document}
\begin{table}[htp]
\centering
\caption{Not so nice a table}
\begin{tabular}{ | l | *{6}{c} | }
\cline{2-7}
\multicolumn{1}{l|}{\hspace*{2cm}} &
\multicolumn{2}{c}{A} &
\multicolumn{2}{c}{B} &
\multicolumn{2}{c|}{C} \\
\cline{2-7}
\multicolumn{1}{l|}{} &
\multicolumn{1}{c|}{\makebox[3em]{a1}} &
\multicolumn{1}{c|}{\makebox[3em]{a2}} &
\multicolumn{1}{c|}{\makebox[3em]{b1}} &
\multicolumn{1}{c|}{\makebox[3em]{b2}} &
\multicolumn{1}{c|}{\makebox[3em]{c1}} &
\multicolumn{1}{c|}{\makebox[3em]{c2}} \\
\hline
C1 & x & x & x & x & x & x \\
C2 & x & x & x & x & x & x \\
C3 & x & x & x & x & x & x \\
C4 & x & x & x & x & x & x \\
\hline
\end{tabular}
\end{table}
\begin{table}[htp]
\centering
\caption{A better table}
\begin{tabular}{ l *{6}{c} }
\toprule
\hspace*{2cm} &
\multicolumn{2}{c}{A} &
\multicolumn{2}{c}{B} &
\multicolumn{2}{c}{C} \\
\cmidrule(lr){2-3} \cmidrule(lr){4-5} \cmidrule(lr){6-7}
&
\makebox[3em]{a1} &
\makebox[3em]{a2} &
\makebox[3em]{b1} &
\makebox[3em]{b2} &
\makebox[3em]{c1} &
\makebox[3em]{c2} \\
\midrule
C1 & x & x & x & x & x & x \\
C2 & x & x & x & x & x & x \\
C3 & x & x & x & x & x & x \\
C4 & x & x & x & x & x & x \\
\bottomrule
\end{tabular}
\end{table}
\end{document}
ヘッダー列のは\makebox
、列の幅を一定に保つために使用されます。\hspace*{2cm}
空のセルの は、最初の列に幅を与えるために使用されます。実際の内容に応じて、必要になる場合と必要でない場合があります。
セルに数値データが含まれている場合は、 を確認することを忘れないでくださいsiunitx
。