So erstellen Sie manuell Tabellen mit Booktabs

So erstellen Sie manuell Tabellen mit Booktabs

Ich bin ein echter Neuling in der Verwendung von LaTex und hätte gerne Hilfe bei booktabsder Formatierung dieser Tabelle. Ich verwende das Paket Rund würde es idealerweise mit diesem generieren xtables. Mit der Sache mit der Spaltenüberspannung komme ich jedoch nicht klar.

Deshalb habe ich versucht, \multicolumnden Befehl manuell einzufügen.

Hier ist der Code:

\documentclass{article}

\usepackage{booktabs}
\usepackage{multirow}
\begin{document}


 \begin{table}[ht]
\centering
\begin{tabular}{@{\extracolsep{4pt}}llccccccc}
\toprule   
{} & {} & {Observations} & \multicolumn{3}{c}{Median}  & \multicolumn{3}{c}{SD}\\
 \cline{3-3} 
 \cline{4-6} 
 \cline{7-9} 
 Year & Group & N & V1 & V2 & V3 & V1 & V2 & V3 \\ 
   \hline
   \multirow{2}{*}{2012}
  & Control & 2 & 0.052 & 0.294 & 0.115 & 0.304 & 0.619 & 0.611 \\ 
  & Treat & 2 & 0.511 & 0.083 & 0.123 & 0.573 & 0.541 & 0.734 \\ 
  \multirow{2}{*}{2016}
  & Control & 3 & 0.320 & 0.344 & 0.382 & 0.382 & 0.494 & 0.477 \\ 
  & Treat & 3 & 0.378 & 0.296 & 0.123 & 0.386 & 0.668 & 0.732 \\ 
 \hline
\end{tabular}
\caption{Mean by Year and Group} 
\end{table}
\end{document}

Ich finde jedoch, dass diese Tabelle nicht wirklich gut formatiert ist und nicht den booktabsStandards entspricht, oder? Wie erstelle ich manuell eine Tabelle mit demselben Design, aber besser formatiert?

Danke

Antwort1

Das Hauptproblem mit der Tabelle besteht darin, dass Sie nicht die booktabsRegeln verwenden, sondern eine Mischung aus Standardtabellenregeln ( \hlineund \cline) und booktabsRegeln ( \toprule).

Wenn Sie diese Regeln durch die booktabsVersionen ( \midrule, \cmidruleund \bottomrule) ersetzen, erhalten Sie die gewünschte schöne Formatierung.

Ich habe das multirowZeug entfernt. Das fügt Ihrer Tabelle nichts hinzu; es ist völlig klar, das Jahr einfach in die erste Zeile der Zeilenpaare für dieses Jahr zu setzen. Generell würde ich die Verwendung von multirowüberhaupt vermeiden. Es hat seine Verwendung, aber normalerweise für Dinge wie Formulare mit eingerahmten Zellen. Für Standardforschungstabellen ist es fast nie angemessen.

PS: Ich hoffe, die Daten sind erfunden! Deine Ns sind wirklich klein... :)

\documentclass{article}

\usepackage{booktabs}
\begin{document}


 \begin{table}[ht]
\centering
\begin{tabular}{@{\extracolsep{4pt}}llccccccc}
\toprule   
{} & {} & {Observations} & \multicolumn{3}{c}{Median}  & \multicolumn{3}{c}{SD}\\
 \cmidrule{3-3} 
 \cmidrule{4-6} 
 \cmidrule{7-9} 
 Year & Group & N & V1 & V2 & V3 & V1 & V2 & V3 \\ 
\midrule
2012  & Control & 2 & 0.052 & 0.294 & 0.115 & 0.304 & 0.619 & 0.611 \\ 
  & Treat & 2 & 0.511 & 0.083 & 0.123 & 0.573 & 0.541 & 0.734 \\ 
2016  & Control & 3 & 0.320 & 0.344 & 0.382 & 0.382 & 0.494 & 0.477 \\ 
  & Treat & 3 & 0.378 & 0.296 & 0.123 & 0.386 & 0.668 & 0.732 \\ 
\bottomrule
\end{tabular}
\caption{Mean by Year and Group} 
\end{table}
\end{document}

Ausgabe des Codes

Einige Anmerkungen zum Satz numerischer Daten

Die Verwendung des cSpaltentyps ist nicht wirklich die beste Lösung, wenn Sie numerische Daten setzen. Normalerweise möchten wir, dass numerische Daten auf irgendeine Weise ausgerichtet sind, sodass die Zahlen bei unterschiedlichen Größen richtig ausgerichtet sind.

Bei Dezimaldaten ist eine Ausrichtung am Dezimalpunkt normal. Bei anderen Daten reicht eine einfache Ausrichtung nach rechts aus.

Zur Ausrichtung am Dezimalpunkt können Sie das siunitxPaket oder das dcolumnPaket verwenden. siunitxverfügt über viele tolle Funktionen zum automatischen Formatieren numerischer Daten, einschließlich der Zifferngruppierung für große Zahlen. Es bietet auch Möglichkeiten zum korrekten Setzen von SI-Einheiten. Das dcolumnPaket ist speziell für die Ausrichtung am Dezimalpunkt konzipiert. Hier ist ein Beispiel, das Ihnen die Unterschiede zeigt.

\documentclass{article}
\usepackage{booktabs}
\usepackage{dcolumn}
\usepackage{siunitx}

% Shorthand for multicolumn
\newcommand\mc[1]{\multicolumn{1}{c}{#1}}
\begin{document}
\begin{tabular}{ccrD{.}{.}{2.3}S}
\toprule
Center & Center & \mc{right} & \mc{D-column} & \mc{S-column}  \\
\midrule
1 & 32.6 & 1 & 32.6 & 32.6  \\
10 & 335.434 & 10 & 335.434 & 335.434  \\
100 & 0.99 & 100 & 0.99 & 0.99  \\
5 & 1 & 5 & 1 & 1  \\
\bottomrule
\end{tabular}
\end{document}

Ausgabe der Probe

Antwort2

Zuerst sollten alle Ihre Regeln mit erstellt werden booktabs, da es Ihren Tabellenregeln etwas Polsterung hinzufügt (Tabellenzeilen sind in grundlegendem Latex oft viel zu eng).

Zweitens sollten TabellenüberschriftenüberTabellen, da sich Tabellen über mehrere Seiten erstrecken können und Leser nicht umblättern müssen sollten, um zu wissen, worum es in der Tabelle geht. Dafür ist die Überschrift nützlich. Basic-Latex vergisst, die Werte von und packagezu vertauschen, wenn die Überschrift über der Tabelle steht.\abovecaptionskip\belowdisplayskip

Drittens würde ich es Observationsdurch eine Abkürzung ersetzen, da ich eine Spalte mit einstelligen Zahlen und einem so breiten Spaltenkopf hässlich finde.

Viertens würde ich für die beiden Dreiergruppen am Ende der Tabelle einen kleineren Spaltenabstand festlegen. Auch der (lr)Parameter für `\cmidrules ist hier nützlich, um das allgemeine Erscheinungsbild der Tabelle zu verbessern.

\documentclass{article}
\usepackage{array, multirow, caption, booktabs}

\begin{document}

 \begin{table}[ht]
\centering\setlength\extrarowheight{2pt}
\caption{Mean by Year and Group}
\begin{tabular}{@{\extracolsep{4pt}}llc*{2}{c@{\enspace}c@{\enspace}c}}
\toprule
{} & {} & {Obsv\textsuperscript{ns}} & \multicolumn{3}{c}{Median} & \multicolumn{3}{c}{SD}\\
 \cmidrule(lr){3-3}
 \cmidrule{4-6}
 \cmidrule(lr){7-9}
 Year & Group & N & V1 & V2 & V3 & V1 & V2 & V3 \\
   \midrule
   \multirow{2}{*}{2012}
  & Control & 2 & 0.052 & 0.294 & 0.115 & 0.304 & 0.619 & 0.611 \\
  & Treat & 2 & 0.511 & 0.083 & 0.123 & 0.573 & 0.541 & 0.734 \\
\addlinespace
  \multirow{2}{*}{2016}
  & Control & 3 & 0.320 & 0.344 & 0.382 & 0.382 & 0.494 & 0.477 \\
  & Treat & 3 & 0.378 & 0.296 & 0.123 & 0.386 & 0.668 & 0.732 \\
 \bottomrule
\end{tabular}
\end{table}

\end{document} 

Bildbeschreibung hier eingeben

Notiz: Wenn Sie „Beobachtungen“ nicht abkürzen möchten, sollten Sie eine Neuorganisation der Tabelle durch Vertauschen von Zeilen und Spalten in Erwägung ziehen.

verwandte Informationen