Ausrichtungsproblem mit S-table mit dem siunitx-Paket

Tabellen und Grafiken erstellen und anordnen


shardur
Forum-Anfänger
Forum-Anfänger
Beiträge: 39
Registriert: Do 30. Okt 2014, 16:50

Ausrichtungsproblem mit S-table mit dem siunitx-Paket

Beitrag von shardur »

Hey,

ich habe ein Problem beim erstellen der unten stehenden Tabelle (Minimalbsp.). Ich will eigentlich, dass alle Einträge zentriert unter der jeweiligen Spaltenüberschrift stehen. Jedoch ist die Ausrichtung in Spalte 2 (sieht linksbündig aus) und Spalte 4 (komplett verrutscht) nicht dementsprechend. Das Minuszeichen in den letzten zwei Spalten ist auch verschieden. Kann mir hier jemand weiterhelfen woran das liegt? Habe einiges versucht, hat aber nichts wirklich funktioniert. Man sieht vielleicht, dass ich das siunitx-Paket noch nicht sehr langen nutze :lol:
\documentclass[a4paper,12pt]{article}

\usepackage[english]{babel}
\usepackage{mathptmx}
\usepackage{courier}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
% Rotate page and header etc
\usepackage[a4paper,hmargin=3cm,vmargin=5cm]{geometry}
\usepackage{lscape,lipsum}

% Tables
\usepackage[flushleft]{threeparttable} 
\usepackage{longtable}          % zum erstellen von Tabellen ber mehrere Seiten
\usepackage{multirow}           % zum Verbinden von Zeilen innerhalb einer Tabelle
\usepackage{booktabs}
% Align table
\usepackage{siunitx}
\sisetup{table-text-alignment = center,table-align-exponent = false}

\begin{document}

\setlength{\tabcolsep}{2.5mm}
\begin{table}[h!]
\centering
  \caption{Some Caption}
\begin{threeparttable}
\begin{tabular}{c S[table-format = -1.4]*{2}{c S[table-format = -1.4]} c S[table-format = -1.4] c S[table-format = -1.4]*{2}{c S[table-format = -1.4]} c S[table-format = -1.4]}
\toprule
\multicolumn{1}{c}{\text{Nr.}} & \multicolumn{1}{c}{\text{Type}} & \multicolumn{1}{c}{\text{Option 1}} & \multicolumn{1}{c}{\text{Option 2}} & \multicolumn{1}{c}{\text{Option 3}} & \multicolumn{1}{c}{\text{Option 3}} & \multicolumn{1}{c}{\text{Option 4}}  \\  \midrule
 1 & \text{Bla} & 1000 & 1300 & 1500 & 0,00014 & -0,05480 \\
 2 & \text{Blabla} & 4108 & 2104 & 5000 & -0,00147 & 0,04804 \\
  \end{tabular}
  \begin{tablenotes}
  \item some notes
  \end{tablenotes}
  \end{threeparttable}
  \label{some_label}
\end{table}

\end{document}


Vielen Dank für eure Mühe!

Gast

Beitrag von Gast »

Wenn du siunitx nicht sagst, dass du Dezimalkomma verwendest, dann erkennt es das AFAIK nicht selbst. Bei englischen Texten ist es auch nicht wirklich sinnvoll, Dezimalkomma einzugeben. Man kann das trotzdem machen und siunitx anweisen, bei der Ausgabe trotzdem einen Dezimalpunkt zu setzen.

Deine Tabelle hat in Wirklichkeit 7 Spalten. Du definierst aber 16:
  • c: Spalte 1
  • S[table-format = -1.4]: Spalte 2
  • *{2}{c S[table-format = -1.4]}: Spalte 3 bis 6
  • c: Spalte 7
  • S[table-format = -1.4]: Spalte 8
  • c: Spalte 9
  • S[table-format = -1.4]: Spalte 10
  • *{2}{c S[table-format = -1.4]}: Spalte 11 bis 14
  • c: Spalte 15
  • S[table-format = -1.4]: Spalte 16
Auch ist S[table-format = -1.4] für Spalten mit 4 Integerstellen aber ohne Komma und Nachkommastellen nicht besonders sinnvoll. Da wäre S[table-format=4.0] schon sinnvoller.

Mir ist leider auch nicht klar, bezüglich was Du zentrieren willst. Wenn bezüglich eines (angenommenen) Dezimalpunkts zentriert werden soll, wäre einfach nur S sinnvoll.

shardur
Forum-Anfänger
Forum-Anfänger
Beiträge: 39
Registriert: Do 30. Okt 2014, 16:50

Beitrag von shardur »

Ok, danke für die schnelle Hilfe! Ich werde es mir morgen nochmal anschauen und versuchen diesmal richtig zu überarbeiteten.

markusv
Forum-Meister
Forum-Meister
Beiträge: 947
Registriert: Do 3. Sep 2015, 17:20
Wohnort: Leipzig

Beitrag von markusv »

Das ganze lässt sich wesentlich einfacher und überschaulicher umsetzen.

Für Text in S-Spalten reicht hier eine Umklammerung mit {...}, da bereits in bei \sisetup die Zentrierung eingestellt wurde.

Ansonsten gilt natürlich das, was bereits erwähnt wurde: nur soviel Spalten anzugeben, wie auch nötig sind. Und diese, wenn, dann mit den richtigen Einstellungen:
\documentclass[12pt,english,captions=tableheading]{scrartcl}

\usepackage{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\usepackage{booktabs}
\usepackage{siunitx}
\sisetup{table-text-alignment = center,table-align-exponent = false}

\begin{document}

\setlength{\tabcolsep}{2.5mm}
\begin{table}
\centering
\caption{Some Caption}
\begin{tabular}{cl*{3}{S[table-format=4.0]}*{2}{S[table-format=-1.5]}}
	\toprule
    Nr.& Type & {Option 1} & {Option 2} & {Option 3} & {Option 3} & {Option 4}  \\
    \midrule
    1 & Bla & 1000 & 1300 & 1500 & 0,00014 & -0,05480 \\
    2 & Blabla & 4108 & 2104 & 5000 & -0,00147 & 0,04804 \\
    \bottomrule
\end{tabular}
\label{some_label}
\end{table}
\end{document}
Dezenter Hinweis: Minimalbeispiel :wink:
Wäre Microsoft Word für das Schreiben von Büchern entwickelt worden,
würde es Microsoft Book heißen.

Unkomplizierte und schnelle LaTeX-Hilfe, bspw. Erstellung von Vorlagen und Bewerbungen:
Help-LaTeX@web.de

Antworten