Tabellen Alignment von positiven/negativen und e-5 Werten

Tabellen und Grafiken erstellen und anordnen


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

Tabellen Alignment von positiven/negativen und e-5 Werten

Beitrag 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!

Gast

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

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

Beitrag 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?

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

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

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

Beitrag von shardur »

Besten Dank Markus - hat funktioniert!

Gast

Beitrag 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).

Antworten