
Ich brauche eine Tabelle mit 4 Zeilen, 3 Spalten und einer teilweisen horizontalen Linie in Spalte 2-3. Ich habe Folgendes versucht:
\documentclass{article}
\begin{document}
\begin{table}
{
\begin{center}
\begin{tabular}{|c|c|c|}
\hline
Col 1 & \multicolumn{2}{|c|}{Col 2-3 Heading}\\
\cline{2-3} & Col 2 & Col 3\\
\hline
- & - & -\\
\hline
- & - & - \\
\hline
- & - & - \\
\hline
\end{tabular}
\end{center}
}
\end{table}
\end{document}
was ergab:
Beachten Sie, dass die Breite der Spalten 2 und 3 nicht gleich ist. Wie kann ich das beheben?
Antwort1
Wenn die Breite des Inhalts einer überspannten Zelle, die mit erstellt wurde, \multicolumn
größer ist als die Breite des Inhalts der einzelnen Zellen, wird der zusätzliche Platz der letzten überspannten Spalte hinzugefügt, wie Sie erfahren haben und dieses Beispiel noch deutlicher zeigt:
\documentclass{article}
\begin{document}
\noindent\begin{tabular}{|c|c|c|c|}
\hline
A & \multicolumn{3}{c|}{Some text just for the example} \\
\hline
B & C & D & E \\
\hline
\end{tabular}
\end{document}
Zwei Optionen: Sie können zu zentrierten p{...}
Spalten wechseln (die beiden Optionen zeigen denselben Ansatz mit und ohne Paket tabularx
):
\documentclass{article}
\usepackage{tabularx}
\newcolumntype{C}{>{\centering\arraybackslash}p{1.5cm}}
\newcolumntype{Y}{>{\centering\arraybackslash}X}
\begin{document}
\begin{table}
\centering
\begin{tabular}{|c|c|c|}
\hline
Col 1 & \multicolumn{2}{c|}{Col 2-3 Heading}\\
\cline{2-3} & Col 2 & Col 3\\
\hline
- & - & -\\
\hline
- & - & - \\
\hline
- & - & - \\
\hline
\end{tabular}
\end{table}
\begin{table}
\centering
\begin{tabular}{|C|C|C|}
\hline
Col 1 & \multicolumn{2}{c|}{Col 2-3 Heading}\\
\cline{2-3} & Col 2 & Col 3\\
\hline
- & - & -\\
\hline
- & - & - \\
\hline
- & - & - \\
\hline
\end{tabular}
\end{table}
\begin{table}
\centering
\begin{tabularx}{6cm}{|Y|Y|Y|}
\hline
Col 1 & \multicolumn{2}{c|}{Col 2-3 Heading}\\
\cline{2-3} & Col 2 & Col 3\\
\hline
- & - & -\\
\hline
- & - & - \\
\hline
- & - & - \\
\hline
\end{tabularx}
\end{table}
\end{document}
Nicht mit der Frage verbunden: Es ist besser, das Innere eines Floats zu verwenden \centering
und nicht die center
Umgebung. Letztere fügt zusätzlichen vertikalen Raum hinzu, der in den meisten Fällen unerwünscht ist.