Tabellenspalten an Dezimalstelle ausrichten mit \underset

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Tabellenspalten an Dezimalstelle ausrichten mit \underset

von esdd » Di 7. Jan 2014, 19:19

@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

von sudo » Di 7. Jan 2014, 07:45

@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.

von esdd » So 5. Jan 2014, 13:55

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

von _Marc » Sa 4. Jan 2014, 20:02

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
Bild
Bei mir das ganze anderherum, da ich die Sternchen oben habe.


Danke an diejenigen, die sich Zeit nehmen darüber zu schauen!

Cheers!

Marc

von sudo » Fr 3. Jan 2014, 18:20

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} 

von esdd » Fr 3. Jan 2014, 09:23

Crosspost auf mrunix

Tabellenspalten an Dezimalstelle ausrichten mit \underset

von _Marc » Do 2. Jan 2014, 22:35

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

Nach oben