Tabellenspalten nach Dezimalstelle ausrichten trotz \SI{}{}

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 nach Dezimalstelle ausrichten trotz \SI{}{}

von Bartman » Mi 27. Mär 2019, 01:27

von Jordin1987 » Di 26. Mär 2019, 23:12

Hallo zusammen,

besten Dank für die Antworten. Ich habe die Dok zu booktabs durchgelesen und werde das Paket ab jetzt verwenden. Die Tabellen schauen so wirklich besser aus.

Noch eine Frage zur Antwort von Bartman:

Stellt in
 |S[table-format=-3]@{\,}s 
das
 @{\,} 
sicher, dass der halbe Abstand zwischen Zahl und Einheit vorhanden ist?

von Gast » Di 26. Mär 2019, 22:21

Soweit ich weiß, geht S davon aus, dass die Spalten nur numerische Werte enthalten und nicht zusätzlich noch die Einheit. Es ist auch nicht unüblich, die Einheit nur in der Kopfzeile anzugeben und dann im Tabellenkörper nicht andauern zu wiederholen, das erspart Platz und Tintenverschwendung. Unter Nutzung von booktabs würde ich also
\documentclass[
  captions=tableabove,        % Formatierung für Tabellenüberschriften
  ngerman
]{scrreprt}
\usepackage[T1]{fontenc}

\usepackage{babel}
\usepackage{booktabs}
\usepackage[locale=DE]{siunitx}

\begin{document}
\begin{table}[htbp]
  \centering
  \caption{text}
  \label{tab:parameterstudiegradienten}
  \begin{tabular}{S[table-format=3.0]S[table-format=-3.0]S[table-format=-1.5]S[table-format=1.3]}
    \toprule
      {abcd}                 & {abcd}                 & {abcd}                 & {abcd}                 \\ 
      {in \si{\mega\pascal}} & {in \si{\mega\pascal}} & {in \si{\milli\metre}} & {in \si{\milli\metre}} \\
    \midrule
          1   &    0 & -0.8     & 0.002 \\ 
        100   & -100 & -0.09    & 0.191 \\ 
        200   & -200 & -0.11778 & 0.360 \\ 
        300   & -300 & -0.164   & 0.486 \\ 
        400   & -200 & -0.346   & 0.478 \\ 
        500   & -100 & -0.523   & 0.452 \\ 
        600   &    0 & -0.718   & 0.406 \\ 
    \bottomrule
    \end{tabular}
\end{table}

\end{document}
vorschlagen. Da (besonders vertikale) Linien in Tabellen sparsam eingesetzt werden sollten, habe ich hier soweit wie möglich auf sie verzichtet. Wenn gewünscht ist, die einzelnen Zeilen stärker voneinander abzusetzen, kann man sie mit \addlinespace oder \midrules gruppieren.

Ich war so frei, mit locale=DE auf Kommas als Dezimaltrenner umzuschalten.

von Bartman » Di 26. Mär 2019, 22:12

Der mathematische Modus wird in den Zellen nicht benötigt und bewirkt auch nicht die gewüschte Ausrichtung am Komma.

Du könntest wegen der Beschaffenheit der Werte in der dritten Spalte auch deren Typ S durch l ersetzen.

Eine Möglichkeit zeigt die folgende Änderung eines Teils Deines Beispiels:
\documentclass[
%    captions=tableabove, % Formatierung für Tabellenüberschriften
    ngerman
]{scrreprt}

\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{babel}
\usepackage{booktabs}
\usepackage[locale=DE]{siunitx}

\begin{document}
\begin{table}[htbp]
    \centering
    \renewcommand{\arraystretch}{1.2} % Strecken der Tabelle vertikal für mehr Freiraum
    \begin{tabular}{
        |S[table-format=3]@{\,}s
        |S[table-format=-3]@{\,}s
        |S[table-format=-1.5]@{\,}s
        |S[table-format=1.3]@{\,}s|
    }
    \hline
    \multicolumn{2}{|l|}{abcd} & \multicolumn{2}{l|}{abcd} & 
    \multicolumn{2}{l|}{abcd}  & \multicolumn{2}{l|}{abcd} \\ 
    \hline
    1   & \MPa &    0 & \MPa & -0.8     & \mm & 0.002 & \mm \\ 
    \hline
    100 & \MPa & -100 & \MPa & -0.09    & \mm & 0.191 & \mm \\ 
    \hline
    200 & \MPa & -200 & \MPa & -0.11778 & \mm & 0.360 & \mm \\ 
    \hline
\end{tabular}
\caption{text}
\label{tab:parameterstudiegradienten}
\end{table}
\end{document}
Wenn die Einheiten nicht in den Zellen stehen müssen, dann könntest Du für jede Spalte die Einheit in die Spaltenbeschriftung setzen, z. B. in einer eigenen Zeile.

In jedem Fall wäre es besser, Du benutzt das Befehlsangebot des von Dir bereits geladenen Pakets booktabs.

von Gast » Di 26. Mär 2019, 21:24

Tabellenspalten nach Dezimalstelle ausrichten trotz \SI{}{}

von Jordin1987 » Di 26. Mär 2019, 21:18

Hallo Forum,

ich beschäftige mich zurzeit schon seit ein paar Tagen mit einem Problem und komme einfach nicht mehr weiter.

Es geht um die Ausrichtung der Werte in der Spalte, siehe Minimalbeispiel. In anderen Beiträgen habe ich gelesen, dass das mit siunitx mittels des Spaltentyps S sehr gut funktionieren soll. Das ganze klappt auch, nur habe ich in meiner Tabelle Zahlen mit den zugehörigen Einheiten mittels \SI{}{} definiert (siehe Beispiel), und da funktioniert offenbar die Ausrichtung nicht mehr / ich weiss nicht wie es funktioniert.

Ich habe in der siunitx-Dok nachgeschaut und da auch nichts gefunden.

Kann mir da jemand auf die Sprünge helfen? Darum wäre ich sehr dankbar.

Jordin
% !TeX program = pdflatex 
\documentclass[ 
  captions=tableabove,        % Formatierung für Tabellenüberschriften 
  ngerman 
]{scrreprt} 
\usepackage[T1]{fontenc} 

\usepackage{babel} 
\usepackage{booktabs,multirow} 
\usepackage{siunitx} 

\begin{document} 

\renewcommand{\arraystretch}{1.2}		% Strecken der Tabelle vertikal für mehr Freiraum
\begin{table}[!htb]
	\centering
		\begin{tabular}{|S |S |S |l |}
		\hline
	  	\text{abcd}			& \text{abcd}			& \text{abcd}		& \text{abcd}						\\ \hline
	  	$\SI{1}{\mega\pascal}$		& $\SI{0}{\mega\pascal}$		& $\SI{-0.8}{\milli\metre}$		& $\SI{0.002}{\milli\metre}$		\\ \hline
	  	$\SI{100}{\mega\pascal}$		& $\SI{-100}{\mega\pascal}$	& $\SI{-0.09}{\milli\metre}$		& $\SI{0.191}{\milli\metre}$			\\ \hline
	  	$\SI{200}{\mega\pascal}$		& $\SI{-200}{\mega\pascal}$	& $\SI{-0.11778}{\milli\metre}$		& $\SI{0.360}{\milli\metre}$		\\ \hline
	  	$\SI{300}{\mega\pascal}$		& $\SI{-300}{\mega\pascal}$	& $\SI{-0.164}{\milli\metre}$		& $\SI{0.486}{\milli\metre}$			\\ \hline
	  	$\SI{400}{\mega\pascal}$		& $\SI{-200}{\mega\pascal}$	& $\SI{-0.346}{\milli\metre}$		& $\SI{0.478}{\milli\metre}$		\\ \hline
	  	$\SI{500}{\mega\pascal}$		& $\SI{-100}{\mega\pascal}$	& $\SI{-0.523}{\milli\metre}$		& $\SI{0.452}{\milli\metre}$		\\ \hline
	  	$\SI{600}{\mega\pascal}$		& $\SI{0}{\mega\pascal}$		& $\SI{-0.718}{\milli\metre}$		& $\SI{0.406}{\milli\metre}$		\\ \hline
		\end{tabular}
	\caption{text}
	\label{tab:parameterstudiegradienten}
\end{table}

\end{document}

Dateianhänge
Bildschirmfoto 2019-03-26 um 21.13.57.png
Bildschirmfoto 2019-03-26 um 21.13.57.png (82.56 KiB) 2106 mal betrachtet

Nach oben