Eine große Zahl in einer Tabelle mit Dezimalstellen

Eine große Zahl in einer Tabelle mit Dezimalstellen

Ich verwende siunitx, um Zahlen in einer Spalte auszurichten. Das Problem ist, dass ich absichtlich eine Zeile am Anfang habe, die eine große Zahl ist, gekennzeichnet durch ',' pro 1.000. Siehe das folgende Beispiel.

Was ich erreichen möchte:

1) Richten Sie die Dezimalstellen am Dezimalpunkt aus. Dies sind die Zeilen 2, 3 und 4.

2) Zentrieren Sie die großen Zahlen, also in diesem Beispiel Zeile 1 und 5. Als ich verschiedene Optionen getestet habe, standen die großen Zahlen immer entweder zu weit links oder zu weit rechts. Wenn möglich, sollten sie einfach zentriert werden. Ich glaube, das macht von der Formatierung her am meisten Sinn.

Ist es möglich?

\documentclass{article}
\usepackage{siunitx}

\sisetup{%
input-ignore={,},
input-decimal-markers = {.},
table-format = 2.2,
table-number-alignment = center,
}%

\begin{document}
\begin{tabular}{SS}
row & alignToDec \\
row1: & 19,000,000.0 \\
row2: & 12.38 \\
row3: & 1.97  \\
row4: & 91.01  \\
row5: & 87,000,000.0 \\
\end{tabular}
\end{document}

Antwort1

Aus irgendeinem Grund wird Ihr Code kompiliert, aber:

S1) Sie sollten keinen Spaltentyp für Spalten verwenden, der keine mathematischen Werte enthält (zumindest haben Sie keinen Grund dafür) .

2) Wenn der Inhalt einer Zelle in einer Spalte „S“ Text ist, setzen Sie ihn in geschweifte Klammern. (Auf diese Weise wird der Inhalt von siunitx standardmäßig zentriert, da er als Text betrachtet wird.) [Sehen Sie sich Ihr „defektes“ alignToDec in der zweiten Spalte an, wenn es außerhalb der Klammern steht, und setzen Sie es in Klammern, um den Unterschied zu sehen.]

3) Verwenden Sie für Ihre großen Zahlen dieselbe Methode wie oben ...

4) Sie können dies table-formatals optionales Argument in Ihren SSpalten angeben. ( siunitxverhält sich im Allgemeinen so besser)

\documentclass{article}
\usepackage{siunitx}

\sisetup{%
input-ignore={,},
input-decimal-markers = {.},
table-number-alignment = center,
}%

\begin{document}
\begin{tabular}{cS[table-format=2.2]}
row & {alignToDec} \\
row1: & {19,000,000.0} \\
row2: & 12.38 \\
row3: & 1.97  \\
row4: & 91.01  \\
row5: & {87,000,000.0} \\
\end{tabular}
\end{document}

Bildbeschreibung hier eingeben

PS: Entfernen Sie das luatexEtikett.

verwandte Informationen