Das habe ich bisher:
\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}
Und das sieht so aus:
Aber ich bin nicht sicher, wie ich:
- Sorgen Sie dafür, dass die H-Linien die erste Spalte ausschließen
- Vertikale Linien nur für die Überschriften verwenden
Antwort1
So was?
\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}
Oder, wenn Sie es über die gesamte Zeilenbreite benötigen:
\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}
Antwort2
Mit einigen \multicolumn
kann man erreichen, was man möchte. Ich füge auch eine andere und meiner Meinung nach übersichtlichere Art hinzu, den Tisch zu decken.
\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}
Die \makebox
in den Kopfspalten wird verwendet, um eine konstante Breite für die Spalten sicherzustellen. Die \hspace*{2cm}
in der leeren Zelle dient dazu, der ersten Spalte eine Breite zu geben. Je nach tatsächlichem Inhalt benötigen Sie diese Option möglicherweise oder auch nicht.
Wenn die Zellen numerische Daten enthalten, vergessen Sie nicht, einen Blick darauf zu werfen siunitx
.