Ich hatte Probleme mit der Tabellenbearbeitung und begann, eine Website zum Generieren von Tabellen in LaTeX zu verwenden. Wenn ich jedoch mehrere Zeilen und Rahmen verwende, wird es etwas knifflig. Ich erhalte eine unterbrochene Linie entlang meiner Spalte.
Als Test verwende ich Folgendes:
\begin{table}[]
\centering
\caption{My caption}
\label{my-label}
\begin{tabular}{@{}c|cc@{}}
Test & a & b \\ \midrule
\multirow{2}{*}{x} & 1 & 2 \\ \cmidrule(l){2-3}
& 3 & 4
\end{tabular}
\end{table}
Dies ist das Ergebnis:
Ich verwende TexPortable mit MiKTeX 2.9.6210 und Texmaker 4.5.
Antwort1
Dies hängt mit der Polsterung um horizontale Linien in booktabs
(den Längen \aboverulesep
und \belowrulesep
) zusammen. Vertikale Linien sollten im Allgemeinen nicht mit verwendet werden booktabs
(dieses Prinzip hat Ausnahmen). Eine Problemumgehung besteht darin, sie auf 0 zu setzen und sie durch mehr oder weniger gleichwertige Längen zu ersetzen, die oben und unten in den Zellen mit den Werkzeugen von hinzugefügt werden makecell
.
\documentclass{article}
\usepackage{booktabs, multirow, array, makecell, caption}
\begin{document}
\begin{table}[!htb]
\centering
\setlength\aboverulesep{0pt}\setlength\belowrulesep{0pt}
\setcellgapes{3pt}\makegapedcells
\caption{My caption}
\label{my-label}
\begin{tabular}{@{}c|cc@{}}
Test & a & b \\ \midrule
\multirow{2}{*}{x} & 1 & 2 \\ \addlinespace[-0.03em]\cmidrule(l){2-3}
& 3 & 4
\end{tabular}
\end{table}
\end{document}
Antwort2
Wenn Sie vertikale Linien wünschen, die mit den horizontalen Regeln von kompatibel sind booktabs
, sollten Sie {NiceTabular}
von verwenden nicematrix
.
\documentclass{article}
\usepackage{booktabs, caption, nicematrix}
\begin{document}
\begin{table}[!htb]
\centering
\caption{My caption}
\label{my-label}
\begin{NiceTabular}{@{}c|cc@{}}[cell-space-limits=3pt]
Test & a & b \\ \midrule
\Block{2-1}{x} & 1 & 2 \\ \cmidrule(l){2-3}
& 3 & 4
\end{NiceTabular}
\end{table}
\end{document}