我正在使用 siunitx 來對齊列中的數字。問題是我故意在開頭得到一行,這是一個很大的數字,每 1,000 個用“,”表示。請參閱以下範例。
我想實現的目標:
1) 將小數與小數點「.」對齊這是第 2、3 和 4 行。
2) 將大數字置中,即本例中的第 1 行和第 5 行。當我測試不同的選項時,大數字總是太多在左邊,或是太多在右邊。如果可能的話,它們應該簡單地居中。我相信這在格式方面最有意義。
是否可以?
\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}
答案1
由於某種原因,您的程式碼可以編譯,但是:
1)您不應該(至少您沒有理由這樣做)S
對不包含數學的列使用列類型。
2) 如果「S」列內的儲存格內容是文本,請將其放在花括號內。 (這樣,內容將預設從 siunitx 居中,因為它將被視為文字)。 [如果在大括號之外,請在第二列中查看“損壞的”alignToDec,並將其放在大括號內以查看差異]
3)對你的大數字使用與上面相同的方法...
4) 您可以table-format
在列中將 指定為選用參數S
。 (siunitx
一般情況下這樣表現較好)
\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}
PS:去掉luatex
標籤。