tabularx kommazentriert

Tabellen und Grafiken erstellen und anordnen


yellowbird
Forum-Anfänger
Forum-Anfänger
Beiträge: 12
Registriert: Fr 28. Aug 2015, 16:49

tabularx kommazentriert

Beitrag von yellowbird »

Liebe Leute,

ich habe nun auf unterschiedlichstem Wege versucht meine Tabelleninhalten kommazentriert auszurichten (mit dcolumn und siunitx) und habe am laufendem Band Fehlermeldungen erhalten.

Vielleicht hat jemand von euch eine Idee, wie ich eine solche Tabelle kommazentrieren kann?
\documentclass[a4paper,12pt,onesite]{article}

\usepackage{geometry}
\usepackage[utf8]{inputenc}
\usepackage[]{xcolor}
\usepackage[german]{babel}
\usepackage{setspace}
\usepackage{fancyhdr}
\usepackage[numbers, round]{natbib}
\usepackage{graphicx}
\usepackage{booktabs} %Für Tabellen im "wissenschaftlichen Stil" mit ausschließlich horizontalen Linien
\usepackage[justification=RaggedRight, singlelinecheck=false]{caption} %Für die Tabellenüberschrift (linkszentriert)
\usepackage{siunitx} %Zur individuellen Anpassung der Abstände zwischen den Spalten
\usepackage{dcolumn} %Zur kommazentrierten Darstellung der Werte mit Dezimalstellen in den Spalten         
\usepackage[flushleft]{threeparttable} %Für Anmerkungen etc. unter der Tabelle
\usepackage{multirow}
\usepackage{tabularx}
\usepackage{filecontents}
\usepackage{nicefrac}
\usepackage{ltxtable}
\usepackage{pdflscape}




% Seitengröße 
\geometry{a4paper, top=25mm, left=25mm, right=25mm, bottom=20mm,
headsep=10mm, footskip=12mm, textwidth=160mm}
%\tolerance=1500

% Zeilenabstand 
\setstretch{1.25}

\newcommand{\tabhead}[1]{\textbf{#1}}
\renewcommand{\tabularxcolumn}[1]{>{\centering\arraybackslash}p{#1}}


\begin{document}

\begin{table}
	\small
	\caption{Tabelle, kommazentriert}


		\begin{tabularx}{\textwidth}{l XX} 

			\toprule
		 
	
			& 
			A & 
			B \\
			\midrule
			
			 Text& $-3,399^{***}$ & $-4,675^{***}$ \\
			 & $(0,160)$ & (0,180) \\
			 \addlinespace
			 Text & $1,529^{***}$ & $1,906^{***}$\\
			 & $(0,147)$ & (0,170) \\
			 \addlinespace[0.09cm]
			 Text & $-0,121$ & $0,313^*$ \\
			 & $(0,129)$ & (0,123) \\
			Text & $-0,013$ & $-0,075$ \\
			 & $(0,090)$ & (0,088) \\
			Text & $-0,069$ & $1,139^{***}$ \\
			 & $(0,177)$ & (0,163) \\
			 Text & $0,916^{***}$ & $2,250^{***}$ \\
			 & $(0,165)$ & (0,173) \\
			 Text & $0,253^*$ & $0,472^{***}$ \\
			 & $(0,113)$ & (0,112) \\
			 Text & & $1,016^{***}$ \\
			 & & $(0,166)$ \\
	
	\addlinespace[.09cm]
				
\addlinespace
		\bottomrule
		\addlinespace[.09cm]
	\end{tabularx}
\begin{tablenotes}
       \footnoterule
        \footnotesize
        \item $^+p<0,1$, $^*p<0,05$, $^{**}p<0,01$, $^{***}p<0,001$, Standardfehler in Klammern, $N=$.
\end{tablenotes} 
\end{table}

\end{document}
Vielen Dank!

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2466
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag von Bartman »

Mein Beispiel ist zwar eher ein Lösungsansatz als eine Lösung, aber es dürfte dennoch von Nutzen für Dich sein.

Ich habe die Gruppierung der Zahlen nur deshalb abgestellt, um den Abstand zur schliessenden runden Klammer zu vermeiden.

Die ersten beiden Zeilen zeigen sowohl Fußnoten als auch Klammern und dürften demnach auf den Rest der Tabelle übertragbar sein.
\documentclass[a4paper,12pt]{article}

\usepackage{geometry}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{setspace}
\usepackage{booktabs} %Für Tabellen im "wissenschaftlichen Stil" mit ausschließlich horizontalen Linien
\usepackage[justification=RaggedRight, singlelinecheck=false]{caption} %Für die Tabellenüberschrift (linkszentriert)
\usepackage{siunitx} %Zur individuellen Anpassung der Abstände zwischen den Spalten
\usepackage[flushleft, para]{threeparttable} %Für Anmerkungen etc. unter der Tabelle
\usepackage{array}
\usepackage{icomma} % Für die Kommazahlen im mathematischen Modus in der tablenotes-Umgebung
\usepackage{etoolbox} % Für den Befehl \robustify

\AtBeginEnvironment{tablenotes}{\footnotesize} % Setzt die Schriftgröße für alle tablenotes-Umgebungen

\sisetup{locale = DE}

% Seitengröße 
\geometry{a4paper, top=25mm, left=25mm, right=25mm, bottom=20mm,
headsep=10mm, footskip=12mm, textwidth=160mm}

% Zeilenabstand 
\setstretch{1.25}


\begin{document}

\begin{table}
	\robustify\tnote
	\caption{Tabelle, kommazentriert}
	\sisetup{
		table-format = -1.3,
		table-space-text-post =  \textsuperscript{***},
		input-symbols = (),
		group-digits  = false
	}
	\begin{threeparttable}
	\begin{tabular}{lSS}
		\toprule
		&  A & B \\
		\midrule
		Text & -3,399\tnote{***} & -4,675\tnote{***} \\
			 & (0,160) & (0,180) \\
		\bottomrule
	\end{tabular}
	\begin{tablenotes}
		\item[+] $p < 0,1$, 
		\item[*] $p < 0,05$, 
		\item[**] $p < 0,01$, 
		\item[***] $p < 0,001$, Standardfehler in Klammern, $N=$.
	\end{tablenotes}
\end{threeparttable}
\end{table}

\end{document}

yellowbird
Forum-Anfänger
Forum-Anfänger
Beiträge: 12
Registriert: Fr 28. Aug 2015, 16:49

Beitrag von yellowbird »

Hallo,

dieser Lösungsansatz funktioniert schonmal. Vielen Dank!

Allerdings sind meine Spalten nicht mit A und B benannt, sondern mit jeweils zwei Wörtern (z.B. "gestern Abend" und "heute Abend"). Nachdem ich die Spalten A und B wieder in ihre ursprüngliche Bennenung ändere, kompiliert es nicht mehr und gibt folgende Fehlermeldung aus:

! siunitx error: "invalid-number"
!
! Invalid numerical input 'e'.
!
! See the siunitx documentation for further information.

Ich nehme an, dass die Spalten durch das "S" als numerisch deklariert wurde, was ja auf die Beschriftung nicht zutrifft. Gibt es da einen Trick, dass Latex die Beschriftung trotz S-Spalten akzeptiert?

Vielen Dank!

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2466
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag von Bartman »

yellowbird hat geschrieben:Gibt es da einen Trick, dass Latex die Beschriftung trotz S-Spalten akzeptiert?
Erweitere die Spaltenbeschriftungen in den Zellen um geschweifte Klammern.
  &  {A} & {B} \\

yellowbird
Forum-Anfänger
Forum-Anfänger
Beiträge: 12
Registriert: Fr 28. Aug 2015, 16:49

Beitrag von yellowbird »

Ah, super.
Ich ahbe es gerade mit \multicolumn versucht und es klappt auch. Liegt vermutlich auch an den geschweiften Klammern. Aber gut zu wissen, dass es auch ohne \multicolumn geht.

Danke für Deine Hilfe!

Antworten