Probleme mit dem Tabellenlayout

Probleme mit dem Tabellenlayout

Ich habe einige Probleme beim Erstellen meiner OLS-Regression in LaTeX und hoffe wirklich, dass mir jemand von euch helfen kann. Ich habe drei Fragen:

1) Wie kann ich „Wachstum 91-92“ und „Wachstum 92-93“ mit einem Leerzeichen versehen, damit ich erkennen kann, dass es Teil der Kategorie „Wachstum“ ist? 2) Wie kann ich alle Modellspalten (1-5) gleich lang machen? 3) Wie kann ich die erste Spalte ein bisschen größer machen als die Modellspalten?

Ich möchte eine Tabelle erstellen, die so aussieht:

Bildbeschreibung hier eingeben Meine Präambel sieht folgendermaßen aus:

\documentclass[a4paper,12pt,oneside]{article}
\usepackage[english]{babel}
\usepackage{tikz}
\usepackage{pgf}
\usetikzlibrary{shapes,arrows,positioning,calc,threeparttable} 
\usepackage{tabu}
\usepackage{hyperref}
\usepackage{longtable}
\usepackage{array}
\usepackage{multirow,tabularx,booktabs}
\begin{document}
\begin{table}[H]
\begin{threeparttable}
\renewcommand\arraystretch{1.0}
\medskip
\renewcommand\tabcolsep{1pt}  
\begin{tabular*}{\textwidth}{ @{} p{2.4cm} 
     @{\extracolsep{\fill}}   
     *{10}{S[table-format=2.6]} @{}}
\toprule
& {Model I} & {Model II} & {Model III} & {Model IV} & {Model V} \\
\emph{Afh.\ var.}
& {All partys} & {All partys} & {Social Democrat} & {Liberal} & {Conservative} \\
\midrule
\emph{Uafh.\ var.} \\
Nationalpol. effects & 
\multicolumn{1}{c}{0,11\sym{***}} & 
\multicolumn{1}{c}{0,22\sym{*}} &  
\multicolumn{1}{c}{0,33\sym{***}} &  
\multicolumn{1}{c}{0,44\sym{*}} &  
\multicolumn{1}{c}{0,55\sym{***}} &   \\
& 
\multicolumn{1}{c}{(0,11)} & 
\multicolumn{1}{c}{(0,22)} & 
\multicolumn{1}{c}{(0,33)} & 
\multicolumn{1}{c}{(0,44)} & 
\multicolumn{1}{c}{(0,55)} &  \\
Economic growth & 
\multicolumn{1}{c}{0,11} & 
\multicolumn{1}{c}{0,22} & 
\multicolumn{1}{c}{0,33\sym{***}} & 
\multicolumn{1}{c}{0,44} & 
\multicolumn{1}{c}{0,55\sym{**}} & \\
&
\multicolumn{1}{c}{(0,11)} & 
\multicolumn{1}{c}{(0,22)} & 
\multicolumn{1}{c}{(0,33)} & 
\multicolumn{1}{c}{(0,44)} & 
\multicolumn{1}{c}{(0,55)} & \\
\cmidrule{1-1}
Adjusted R\textsuperscript{2} & 
\multicolumn{1}{c}{0,11} & 
\multicolumn{1}{c}{0,22} & 
\multicolumn{1}{c}{0,33} & 
\multicolumn{1}{c}{0,44} & 
\multicolumn{1}{c}{0,55} &   \\
N & 
\multicolumn{1}{c}{111} & 
\multicolumn{1}{c}{222} & 
\multicolumn{1}{c}{333} & 
\multicolumn{1}{c}{444} & 
\multicolumn{1}{c}{555} &  \\
\bottomrule
\end{tabular*}
\end{threeparttable}
\end{table}

Antwort1

Ich schlage vor, dass Sie einige Änderungen an Ihrem Code vornehmen.

  • Am wichtigsten ist, dass Sie nicht jede einzelne numerische Zelle in einen \multicolumn{1}{c}{...}Wrapper einschließen. Dies ist nicht nur unnötig, sondern auch kontraproduktiv: Die Wrapper überschreiben die beabsichtigten Formatierungseffekte des von Ihnen gewählten Basisspaltentyps, und in der Folge erhalten Sie nichts von der beabsichtigten Formatierung.

  • siunitxEs sieht so aus, als würden Sie das Paket hauptsächlich (ausschließlich?) für seinen STabellenspaltentyp verwenden , wahrscheinlich um die Zahlen an ihren Dezimaltrennzeichen auszurichten. Wenn dieser Eindruck zutrifft, empfehle ich Ihnen, tatsächlich einen anderen Spaltentyp zu verwenden: D, der vom dcolumnPaket bereitgestellt wird. Mit dem DSpaltentyp ist weniger Aufwand erforderlich, um mit Klammern und Symbolen umzugehen, die in den numerischen Spalten vorkommen.

  • Um eine Lücke zwischen den Zeilen des Regressionskoeffizienten und des Standardfehlers zu vermeiden, können Sie die Namen der Regressoren (in der ersten Spalte) in einen kleinen Wrapper einfügen, der die Tatsache verbirgt, dass die Regressornamen zwei Zeilen der umgebenden tabular-ähnlichen Umgebung einnehmen. Im folgenden Code habe ich \narrowtabzu diesem Zweck ein Makro erstellt; Sie können es gerne umbenennen.

  • Um den Eindruck zu vermitteln, dass die fünf Datenspalten etwa gleich breit sind, erscheint es notwendig, die Beschriftungen der Modelle III und V abzukürzen.

Leider konnte ich Ihre erste Frage nicht beantworten, da Ihr Beispielcode diesbezüglich keinen Hinweis enthält.

Bildbeschreibung hier eingeben

\documentclass[a4paper,12pt,oneside]{article}
\usepackage{threeparttable,dcolumn,caption,amsmath,array,booktabs}
\newcommand{\sym}[1]{{}^{#1}} % correct?
\newcommand\mc[1]{\multicolumn{1}{@{}c@{}}{#1}} % handy shortcut macro
\newcommand\narrowtab[2]{%  %% macro to hide depth of its argument from outer tabular
 \ensuremath{\smash{\begin{tabular}[t]{@{}>{\raggedright\arraybackslash}p{#1}@{}}%
     #2 \end{tabular}}}}
\begin{document}
\begin{table}
\caption{Regression results}
\begin{threeparttable}
%\renewcommand\tabcolsep{1pt}  
\begin{tabular*}{\textwidth}{@{} p{1in} @{\extracolsep{\fill}} *{5}{D{,}{,}{2.4}} @{}}
\toprule
& \mc{Model I} & \mc{Model II} & \mc{Model III} & \mc{Model IV} & \mc{Model V} \\
\emph{Afh.\ var.}
& \mc{All partys} & \mc{All partys} & \mc{Soc.\ Dem.} & \mc{Liberal} & \mc{Cons.} \\
\midrule
\emph{Uafh.\ var.} \\
\narrowtab{1in}{Nationalpol.\ effects} & 
0,11\sym{***} & 0,22\sym{*} & 0,33\sym{***} & 0,44\sym{*} & 0,55\sym{***} \\
& (0,11) & (0,22) & (0,33) & (0,44) & (0,55) \\
\addlinespace
\narrowtab{1in}{Economic growth} & 
0,11 & 0,22 & 0,33\sym{***} & 0,44 & 0,55\sym{**}\\
& (0,11) & (0,22) & (0,33) & (0,44) & (0,55) \\
\cmidrule{1-1}
Adjusted R\textsuperscript{2} & 
0,11 & 0,22 & 0,33 & 0,44 & 0,55  \\
N & \mc{111} & \mc{222} & \mc{333} & \mc{444} & \mc{555} \\
\bottomrule
\end{tabular*}
\end{threeparttable}
\end{table}

\end{document}

verwandte Informationen