Seite 1 von 1
Tabellenspalten an Dezimalstelle ausrichten mit \underset
Verfasst: Do 2. Jan 2014, 22:35
von _Marc
Hallo zusammen,
ich würde gerne meine Tabellenspalten an der Dezimalstelle ausrichten. Ansonsten benutze ich dafür das siunitx Packet. Hier aber habe ich zusätzlich den \underset Befehl verwendet, der sich nicht dem siunitx Packet verträgt. Das Dokumnet läuft durch, aber die Spalten sind nicht so ausgerichet wie ich es gerne hätte.
Meine Beispieltabelle:
\documentclass[a4paper,12pt,titlepage]{scrbook}
\usepackage[automark]{scrpage2}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{multirow}
\usepackage{booktabs}
\usepackage[font={small,sf},labelfont=bf,labelsep=space,justification=raggedright]{caption}
\usepackage{siunitx}
\usepackage{amsmath}
\begin{document}
\begin{table}[ht]
\centering
\caption{Ergebnisse}
\begin{tabular}{lS}
\addlinespace
\toprule
\midrule
\textbf{Variablen} & {\textbf{Koeffizient1}} \\
\textit{Variable 1} & $\underset{987}{2.3456}$*** \\
\textit{Variable 2} & $\underset{987}{-12.345}$* \\
\bottomrule
\end{tabular}
\label{abcdef}
\end{table}
\end{document}
Vielen Dank für eure Vorschläge!
Liebe Grüße
Marc
Verfasst: Fr 3. Jan 2014, 09:23
von esdd
Verfasst: Fr 3. Jan 2014, 18:20
von sudo
Ich verstehe überhaupt nicht, was du mit den Zahlen unter den anderen sagen möchtest. Du solltest daher mal lesen,
wie man richtige Fragen stellt.
Um zu verstehen, warum dein Versuch nicht das gewünschte bringt, muss man wissen, wie die S-Spalten funktionieren. Sie detektieren den Dezimaltrenner, tun das davor in eine l-Spalte, das dahinter in eine r-Spalte und packen einen Dezimaltrenner dazwischen. Wenn du also einen Befehl darum packst, kann das nicht funktionieren. In Abschnitt 4.6 der SIunitx-Anleitung wird allerdings auch der Befehl \tablenum erklärt. Damit kannst du vermutlich dein Ziel erreichen:
\documentclass[a4paper,12pt,titlepage]{scrbook}
\usepackage[automark]{scrpage2}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{multirow}
\usepackage{booktabs}
\usepackage[font={small,sf},labelfont=bf,labelsep=space,justification=raggedright]{caption}
\usepackage{siunitx}
\usepackage{amsmath}
\begin{document}
\begin{table}[ht]
\centering
\caption{Ergebnisse}
\begin{tabular}{lc}
\addlinespace
\toprule
\midrule
\textbf{Variablen} & {\textbf{Koeffizient1}} \\
\textit{Variable 1} & $\underset{987}{\tablenum{2.3456}}$ \\
\textit{Variable 2} & $\underset{987}{\tablenum{-12.345}}$ \\
\bottomrule
\end{tabular}
\label{abcdef}
\end{table}
\end{document}
Verfasst: Sa 4. Jan 2014, 20:02
von _Marc
Hey Sudo!
Sorry, wenn ich mich nicht ausreichend erklärt habe... Also ich will eine Tabelle erstellen, in der die Ergebnisse von verschiedenen statistischen Modellen präsentiert werden. Neben den eigentlichen Koeffizienten, sollen auch darunter mittig etwas kleiner die Standardabweichungen in Klammern und hinten dran wie signifikant die Ergebnisse sind: kein, ein * zwei ** bis hinzu drei *** Sternen, manche Variablen sind sehr signifikant, manche gar nicht. Darum ist die Anzahl der Sterne auch nicht konstant. Ich möchte mit dem \underset Befehl arbeiten, da dies die Tabelle wesentlich übersichtlicher machen würde (sie ist schon ziemlich breit und lang, und die Standarabweichungen sind nicht so wichtig, wie die eigentlichen parameter selber, daher erschien der Befehl so praktisch).
Zentriert werden soll an den Parametern selber....
In Latex sieht das dann so aus
Minimalbeispiel:
\documentclass[a4paper,12pt,titlepage]{scrbook}
\usepackage[automark]{scrpage2}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{multirow}
\usepackage{booktabs}
\usepackage[font={small,sf},labelfont=bf,labelsep=space,justification=raggedright]{caption}
\usepackage{siunitx}
\usepackage{amsmath}
\begin{document}
\begin{table}[ht]
\centering
\caption{Ergebnisse}
\begin{tabular}{lss}
\addlinespace
\toprule
\midrule
\textbf{Variablen} & {\textbf{Model 1}} & {\textbf{Model 2}} \\
\textit{Variable 1} & $\underset{(0.876)}{\tablenum{2.345}}$\textsuperscript{**} & $\underset{(0.654)}{\tablenum{9.876}}$\textsuperscript{*} \\
\textit{Variable 2} & $\underset{(2.567)}{\tablenum{12.345}}$ & $\underset{(0.012)}{\tablenum{-0.234}}$\textsuperscript{***} \\
\bottomrule
\end{tabular}
\end{table}
\end{document}
Ungefähr so sollte des mal aussehen

Bei mir das ganze anderherum, da ich die Sternchen oben habe.
Danke an diejenigen, die sich Zeit nehmen darüber zu schauen!
Cheers!
Marc
Verfasst: So 5. Jan 2014, 13:55
von esdd
Hier ist mal noch ein Vorschlag:
\documentclass[12pt]{scrbook}
\usepackage[automark]{scrpage2}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{multirow}
\usepackage{booktabs}
\usepackage[font={small,sf},labelfont=bf,labelsep=space,justif ication=raggedright]{caption}
\usepackage{siunitx}
\usepackage{amsmath}
\newcommand\uphantom[3]{%
\llap{$\underset{(#1)}{\phantom{#2}}$}\,#3}
% das erste Argument enthält den Wert, der in Klammern darunter stehen soll
% das zweite Argument dient nur dem horizontalen Ausrichten des ersten Argumentes, es wird selbst nicht ausgegeben und kann/darf sich von dem Wert vor \uphantom unterscheiden!
% Sterne oder ähnliches, die noch dahinter ausgegeben werden
\begin{document}
\begin{table}[ht]
\centering
\caption{Ergebnisse}
\begin{tabular}{lSS}
\toprule
\textbf{Variablen} & \multicolumn{1}{r}{\textbf{Modell 1}} & \multicolumn{1}{r}{\textbf{Modell 2}}\\
\midrule
\textit{Variable 1} & 2.3456\uphantom{0.876}{2.3456}{**}&9.876\uphantom{0.654}{9.876}{*} \\
\textit{Variable 2} & -12.345\uphantom{2.567}{-12.345}{*}&-0.234\uphantom{0.012}{-0.234}{***} \\
\bottomrule
\end{tabular}
\label{abcdef}
\end{table}
\end{document}
Gruß
Elke
Verfasst: Di 7. Jan 2014, 07:45
von sudo
@Elke Irgendwo scheint ein Abstand vor dem Stern von Modell 1, Variable 2 herzukommen. Hast du eine Idee, was das verursacht. Die Syntax ist ja identisch mit den anderen Beispielen.
Verfasst: Di 7. Jan 2014, 19:19
von esdd
@sudo: Keine Ahnung wo dieser Abstand her kommt, muss irgendetwas mit der Ausrichtung von Text nach den Zahlen zu tun haben. Die Option table-align-text-post=false löst das Problem jedenfalls:
\documentclass[12pt]{scrbook}
\usepackage[automark]{scrpage2}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{booktabs}
\usepackage{siunitx}
\usepackage{amsmath}
\newcommand*\uphantom[2]{\llap{$\underset{(#1)}{\phantom{#2}}$}}
% das erste Argument enthält den Wert, der in Klammern darunter stehen soll
% das zweite Argument dient nur dem horizontalen Ausrichten des ersten Argumentes, es wird selbst nicht ausgegeben und kann/darf sich von dem Wert vor \uphantom unterscheiden!
\begin{document}
\begin{table}[ht]
\centering
\caption{Ergebnisse}
\sisetup{table-align-text-post=false,table-text-alignment=right}
\begin{tabular}{lSS}
\toprule
\textbf{Variablen} & {\textbf{Modell 1}}&{\textbf{Modell 2}}\\
\midrule
\textit{Variable 1}&2.3456\uphantom{0.876}{2.3456}**&9.876\uphantom{0.654}{9.876}*\\
\textit{Variable 2}&-12.345\uphantom{2.567}{-12.345}*&-0.234\uphantom{0.012}{-0.234}*** \\
\bottomrule
\end{tabular}
\label{abcdef}
\end{table}
\end{document}
Gruß
Elke