Wie erstelle ich diese tabellarische Struktur mit mehreren Gruppen?

Wie erstelle ich diese tabellarische Struktur mit mehreren Gruppen?

Bildbeschreibung hier eingeben

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:

Bildbeschreibung hier eingeben

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?

Bildbeschreibung hier eingeben

\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:

Bildbeschreibung hier eingeben

\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 \multicolumnkann 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 \makeboxin 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.

Bildbeschreibung hier eingeben

verwandte Informationen