
Ich habe eine Tabelle für eine Regression, die aus zwei Hauptteilen besteht („Einwanderer“ und „Einheimische“). Ich möchte eine kleine Linie unter „Einwanderer“ einfügen, die vom Anfang des ersten Modells („Behinderung“) bis zum Ende des letzten Modells („Rate“) reicht, und eine weitere Linie mit der gleichen Länge unter „Einheimische“. Meine Absicht ist es, die beiden Teile der Tabelle besser zu trennen. Ist das möglich? Wie kann ich das machen? Ich füge meinen Code und einen Screenshot hinzu. Vielen Dank!
\begin{table}[H]\centering
\def\sym#1{\ifmmode^{#1}\else\(^{#1}\)\fi}
\caption{Health}
\begin{tabular}{l*{5}{c}}
\toprule
&\multicolumn{2}{c}{Immigrants} & & \multicolumn{2}{c}{Locals} \\
\addlinespace
&\multicolumn{1}{c}{Disability}&\multicolumn{1}{c}{Offspring survival rate}& & \multicolumn{1}{c}{Disability}&\multicolumn{1}{c}{Offspring survival rate}\\
\midrule
Low & -0.00190 & -0.00525 & & 0.00185 & -0.00186 \\
& (-0.43) & (-0.40) & & (0.83) & (-0.36) \\
\addlinespace
High & -0.00865 & 0.00429 & & -0.00413 & -0.0207\sym{*} \\
& (-1.21) & (0.20) & & (-1.01) & (-2.24) \\
(außerdem habe ich, wie Sie sehen, eine zusätzliche leere Spalte dazwischen, um mehr Platz zu schaffen)
Antwort1
Nutzen Sie das \cline
Äquivalent vonbooktabs
:
\documentclass{article}
\usepackage{booktabs}
\begin{document}
\begin{table}
\centering
\def\sym#1{\ifmmode^{#1}\else\(^{#1}\)\fi}%
\begin{tabular}{l*{4}{c}}
\toprule
& \multicolumn{2}{c}{Immigrants} & \multicolumn{2}{c}{Non-immigrants} \\
\cmidrule(lr){2-3}\cmidrule(lr){4-5}
& \multicolumn{1}{c}{Disability} & \multicolumn{1}{c}{Offspring survival rate} &
\multicolumn{1}{c}{Disability} & \multicolumn{1}{c}{Offspring survival rate} \\
\midrule
Low & -0.00190 & -0.00525 & 0.00185 & -0.00186 \\
& (-0.43) & (-0.40) & (0.83) & (-0.36) \\
\addlinespace
High & -0.00865 & 0.00429 & -0.00413 & -0.0207\sym{*} \\
& (-1.21) & (0.20) & (-1.01) & (-2.24) \\
\bottomrule
\end{tabular}
\end{table}
\end{document}
DerOptional (lr)
Das Argument \cmidrule
kürzt die Zeilen auf der l
linken und r
rechten Seite, sodass sie zwischen den Spalten drei und vier getrennt sind.
Antwort2
Fügen Sie den \cline
Befehl anstelle von \midrule
oder nach der ersten Tabellenzeile ein (je nachdem, was Sie eigentlich wollen). Zum Beispiel
& \multicolumn{2}{c}{Immigrants} & & \multicolumn{2}{c}{Locals} \\ \cline{2-3} \cline{5-6}
Die Zahlen i-j
im \cline{i-j}
Befehl geben die Spalten an, die „unterstrichen“ werden sollen, d. h. die Zeile beginnt bei Spalte i
und endet bei Spalte j
.
Bearbeiten:
Wenn Sie das Paket verwenden booktabs
, verwenden Sie stattdessen den entsprechenden Befehl, \cmidrule
wie von @Werner vorgeschlagen. Beachten Sie jedoch, dass das booktabs
Paket das Standardaussehen der Tabelle ändert und einige Funktionen der ursprünglichen Tabellen keine zufriedenstellenden Ergebnisse mehr liefern (z. B. vertikale Tabellenregeln). Trotzdem ist die Verwendung von booktabs
normalerweise die bessere Wahl.
Antwort3
Zusätzlich zur Verwendung einiger Linienzeichnungsmakros des booktabs
Pakets, um der Tabelle ein "offenes" Aussehen zu verleihen, sollten Sie auch
Stellen Sie sicher, dass die Tabelle die Breite des Textblocks nicht überschreitet. Dies kann durch die Verwendung einer
tabularx
Umgebung erreicht werden, um einen Zeilenumbruch in die Zeichenfolgen einzufügen.Offspring survival rate
Richten Sie die numerischen Daten an ihren jeweiligen Dezimaltrennzeichen aus und verwenden Sie
-
für die negativen Zahlen richtige (Minus-)Zeichen anstelle von Bindestrichen. Dies können Sie durch Laden desdcolumn
Pakets und Verwenden derD
Spaltentypen erreichen.
\documentclass{article}
\usepackage{booktabs,tabularx,dcolumn}
\newcolumntype{d}[1]{D..{#1}}
\newcolumntype{C}{>{\centering\arraybackslash}X}
\newcommand\mc[1]{\multicolumn{1}{C}{#1}} % shortcut macro
\def\sym#1{\ifmmode^{#1}\else\(^{#1}\)\fi}
\begin{document}
\begin{table}
\caption{Health}
\begin{tabularx}{\textwidth}{ l *{4}{d{2.5}} }
\toprule
& \multicolumn{2}{c}{Immigrants} & \multicolumn{2}{c}{Non-immigrants} \\
\cmidrule(lr){2-3}\cmidrule(l){4-5}
& \mc{Disability} & \mc{Offspring survival rate}
& \mc{Disability} & \mc{Offspring survival rate} \\
\midrule
Low &-0.00190 & -0.00525 & 0.00185 & -0.00186 \\
& (-0.43) & (-0.40) & (0.83) & (-0.36) \\
\addlinespace
High & -0.00865 & 0.00429 & -0.00413 & -0.0207\sym{*} \\
& (-1.21) & (0.20) & (-1.01) & (-2.24) \\
\bottomrule
\end{tabularx}
\end{table}
\end{document}