Seite 1 von 1

Tabellen Alignment von positiven/negativen und e-5 Werten

Verfasst: Do 15. Mär 2018, 12:22
von shardur
Hallo zusammen,

ich habe mit einer Tabelle das Problem, dass die erste positive und negative Zahl nicht bündig formatiert ist - ebenso auch Zahlen wie zB 2.51e-5.

Hier eine abgespeckte Form meiner Tabelle (entschuldigt die vielen Packages):
\documentclass[a4paper,12pt,oneside,pointlessnumbers,headsepline,chapteratlists=0pt,listof=flat,captions=figureheading]{scrbook}
\KOMAoptions{DIV=last,BCOR=1cm}

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

% Figures
\usepackage{graphicx}
\usepackage{epstopdf}
\usepackage{tabularx}
\usepackage{multirow}
\usepackage[flushleft]{threeparttable} 
\usepackage[skip=0pt]{subcaption}
\usepackage[skip=8pt]{caption}

% Tables
\usepackage{longtable}          % zum erstellen von Tabellen ber mehrere Seiten
\usepackage{multirow}           % zum Verbinden von Zeilen innerhalb einer Tabelle
\usepackage{booktabs}
% Align table
\usepackage{siunitx}

\usepackage{url}

\usepackage{marvosym}
\usepackage{amssymb}
\usepackage{amsmath}
\allowdisplaybreaks

\usepackage{tikz}
\usetikzlibrary{trees}

\usepackage{chngcntr}
\counterwithout{table}{chapter}
\counterwithout{figure}{chapter}
\counterwithout{equation}{chapter}
\counterwithout{footnote}{chapter}

\usepackage{algorithm}
\usepackage{algpseudocode}
\usepackage{verbatim}
\begin{document}

\begin{landscape}
\begin{table}[h!]
\centering
  \caption{bla bla}
\begin{tabular}{c c c c c c c c c}
\toprule
 & 2 & 3 & 4 & 4.5 & 5 & 9 & 15 & 16 \\ \midrule
 Wert& $-0.0874$ & $-2.20\text{e-}5$ & $-2.12\text{e-}4$ & $-0.0021$ & $-7.54\text{e-}4$ & 
 $-0.0156$ & $-0.0028$ & $9.47\text{e-}4$ \\ 
 Wert 2 &  $0.0697$ & $0.0012$ & $0.0259$ & $0.0322$ & $0.0952$ & $0.6029$ & $0.1000$ & $0.3483$  \\
    \bottomrule
  \end{tabular}
  \label{Table:bla}
\end{table}
\end{landscape}

\end{document}
Wie kann ich erreichen, dass alle Zahlen schön bündig formatiert sind, also die erste Zahl auf der gleichen Höhe beginnt?

Vielen Dank schon einmal im Voraus für euer Zeit und Mühe!

Verfasst: Do 15. Mär 2018, 12:51
von Gast
Da Du ohnehin bereits siunitx lädst, würde ich für Zahlenspalten zu dessen s-Spalten raten. Wenn Du Zahlen dagegen zentrierst ([c]-Spalten), dann sind die natürlich nicht als Zahlen bündig zueinander ausreichtet sondern eben zentriert. Das mit minimal kannst Du übrigens bestimmt besser, wenn Du die Minimalbeispiel-Anleitung auch auf die Präambel anwendest.

Verfasst: Do 15. Mär 2018, 13:05
von shardur
Das mit den "S" Spalten hatte ich versucht, aber habe dann bei line 60, also bei dem Wort "Wert" eine Fehlermeldung erhalten "!Missing } inserted". Jedoch müssten überall die Klammern geschlossen sein, ansonsten würde es ja mit den C-Spalten auch nicht durchlaufen. Oder muss ich noch etwas anders formatieren, wenn ich die S-Spalten nutze?

Verfasst: Do 15. Mär 2018, 13:09
von markusv
Entschuldige dich bitte nicht für deine Faulheit :)

Da du, wie bereits erwähnst, sowieso schon mit siunitx arbeitest (zumindest lt. deiner Präambel), solltest du darauf zurück greifen:
\documentclass{scrbook}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lscape}       
\usepackage{booktabs}

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

\begin{document}
\begin{landscape}
\begin{tabular}{cS[table-format = -1.4]*{2}{S[table-format = -1.4e-1]}S[table-format = -1.4]S[table-format = -1.4e-1]*{2}{S[table-format = -1.4]}S[table-format = 1.4e-1]}
\toprule
 & {2} & {3} & {4} & {4.5} & {5} & {9} & {15} & {16} \\ \midrule
 Wert& -0.0874 & -2.20e-5 & -2.12e-4 & -0.0021 & -7.54e-4 & 
 -0.0156 & -0.0028 & 9.47e-4 \\ 
 Wert 2 &  0.0697 & 0.0012& 0.0259 & 0.0322 & 0.0952 & 0.6029 & 0.1000 & 0.3483  \\
    \bottomrule
  \end{tabular}
\end{landscape}
\end{document}
EDIT: jetzt Code cleaner dank table-align-exponent = false und exakten Nachkommastellen.

Verfasst: Do 15. Mär 2018, 17:54
von shardur
Besten Dank Markus - hat funktioniert!

Verfasst: Do 15. Mär 2018, 18:08
von Gast
Falls Du tatsächlich mal Text in einer Spalte von siunitx eingeben musst, steht übrigens in der [d]siunitx[/d]-Anleitung auch, wie das geht: Im einfachsten Fall mit zusätzlichen Guppenklammern, also beispielsweise {Wert}, ansonsten \multicolumn{1}{c}{Text} (statt c geht natürlich auch jeder andere Spaltentyp).