小数点付きの表内の 1 つの大きな数字

小数点付きの表内の 1 つの大きな数字

siunitx を使用して、列内の数字を揃えています。問題は、意図的に先頭に 1 行の大きな数字 (1,000 ごとに ',' で示される) が 1 つあることです。次の例を参照してください。

達成したいこと:

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

何らかの理由でコードはコンパイルされますが、次のようになります:

S1)数式を含まない列には列タイプを使用しないでください (少なくともそうする理由はありません) 。

2) 'S' 列内のセルの内容がテキストの場合は、それを中括弧で囲みます。(この方法では、コンテンツはテキストとみなされるため、siunitx ではデフォルトで中央に配置されます)。[2 番目の列の「壊れた」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}

ここに画像の説明を入力してください

追伸:luatexタグを削除してください。

関連情報