
Wie kann man Zahlen nach \pm ausrichten, aber nicht nach Punkten? Jede Zeile sollte auch eine andere Anzahl von Dezimalstellen haben.
\documentclass{article}
\usepackage{siunitx}
\begin{document}
\begin{table}
\caption{}
\centering
\small
\sisetup{separate-uncertainty}
\begin{tabular}{lS[table-format = 5.4(1)]}
\hline\hline\noalign{\smallskip}
Parameter & Value \\
\noalign{\smallskip}\hline\noalign{\smallskip}
A & 26.5 \pm 2.0 \\
B & 11.102 \pm 1.2 \\
C & 53839 \pm 550 \\
D & 0.5863 \pm 0.016 \\
\noalign{\smallskip}\hline\noalign{\smallskip}
\end{tabular}
\end{table}
\end{document}
Antwort1
Alsdiese Antwortschlägt vor, dass die S
vom Paket bereitgestellte Spalte siunitx
nur über bestimmte Ausrichtungsfunktionen verfügt, die Zahlen in erster Linie an das Dezimaltrennzeichen anpassen, was nicht das ist, was Sie möchten.
Ich würde daher vorschlagen, dass Sie die oben verlinkte nette Antwort anpassen und die Ausrichtung manuell vornehmen, ohne das siunitx
Paket zu verwenden. Da ich nicht weiß, wie Sie die Zahlen hinter dem Schild ausrichten möchten \pm
, biete ich unten zwei alternative Lösungen an. Ich würde auch vorschlagen, einen Blick auf das booktabs
Paket zu werfen:
\documentclass{article}
%\usepackage{siunitx}
\usepackage{booktabs}
\begin{document}
\begin{tabular}{ l r @{\,\( \pm \)\,} r }
\toprule
{Parameter} & \multicolumn{2}{c}{Value} \\
\midrule
A & 26.5 & 2.0 \\
B & 11.102 & 1.2 \\
C & 53839 & 550 \\
D & 0.5863 & 0.016 \\
\bottomrule
\end{tabular}
\bigskip
\begin{tabular}{ l r @{\,\( \pm \)\,} l }
\toprule
{Parameter} & \multicolumn{2}{c}{Value} \\
\midrule
A & 26.5 & 2.0 \\
B & 11.102 & 1.2 \\
C & 53839 & 550 \\
D & 0.5863 & 0.016 \\
\bottomrule
\end{tabular}
\end{document}
Antwort2
Mir ist nicht bekannt, dass siunitx
ich eine Funktion implementiert habe, um Zahlen um Unsicherheitsmarkierungen herum zu zentrieren. Vielleicht ist das so und ich weiß nichts davon. Die einzige Lösung, die mir einfällt, ist, die Zahlen in zwei Spalten aufzuteilen, um den Effekt zu erzielen. Sie könnten sie immer noch verwenden, siunitx
um beispielsweise Zahlen auf einige Dezimalstellen zu runden. Ansonsten siunitx
ist es nicht erforderlich
\documentclass{article}
\usepackage{siunitx}
\newcommand\ustrut{\rule{0pt}{12pt}}
\newcommand\lstrut{\rule[-6pt]{0pt}{12pt}}
\begin{document}
\begin{table}
\sisetup{
round-mode=figures,
round-precision=3,
table-alignment-mode=none,
separate-uncertainty,
}
\caption{}
\centering
\small
\begin{tabular}{
l
S[table-number-alignment=right]
@{\(\;\pm\;\)}
S[table-number-alignment=left]
}
\hline\hline
\ustrut Parameter & \multicolumn{2}{c}{Value\lstrut}\\
\hline\ustrut
A & 26.5 & 2.0 \\
B & 11.102 & 1.2 \\
C & 53839 & 550 \\
D & 0.5863 & 0.016 \lstrut \\
\hline
\end{tabular}
\end{table}
\end{document}