我想在我的表格中对齐小数点(如下)。但是这会弄乱标题(过满错误),即使我将其分成两行。我该如何解决这个问题?谢谢
\begin{table}[!t]
\caption{Specific Acid Added to Samples}
\label{Acid_Added}
\centering
\begin{tabular}{ >{\bfseries}c S[table-format=2.2] S[table-format=2.2] S[table-format=2.2] }
\hline
ID & Specific Acid & Spread & Specific Acid \\
& Weight [mg] & Weight [g] & Conc [mg/g] \\
\hline
1 &0.20 &19.96 &0.01\\
2 &0.40 &20.00 &0.02\\
3 &1.00 &19.98 &0.05\\
4 &2.00 &20.00 &0.10\\
5 &4.00 &20.00 &0.20\\
6 &10.00 &20.00 &0.50\\
\hline
\end{tabular}
\end{table}
答案1
如果变成完整的 MWE,您的代码将导致一系列错误消息,如下所示:siunitx error: "invalid-number" Invalid numerical input 'e'.
它们是由类型列中的列标题引起的S
。由于它们是文本而不是数字,因此必须将它们括在一组中{}
。在下面的 MWE 中,我还更正了table-format
最后一列的选项,并使用命令\si
来siunitx
显示单位。最后,我还用包\hline
中的水平线替换了 s,booktabs
以便在线条周围有更好的垂直间距:
\documentclass{article}
\usepackage[abbreviations=true,per-mode=symbol]{siunitx}
\usepackage{booktabs}
\begin{document}
\begin{table}
\caption{Specific Acid Added to Samples}
\label{Acid_Added}
\centering
\begin{tabular}{ >{\bfseries}c S[table-format=2.2] S[table-format=2.2] S[table-format=1.2] }
\toprule
ID & {Specific Acid} & {Spread} & {Specific Acid} \\
& {Weight [\si{\mg}]} & {Weight [\si{\g}]} & {Conc [\si{\mg\per\g}]} \\
\midrule
1 &0.20 &19.96 &0.01\\
2 &0.40 &20.00 &0.02\\
3 &1.00 &19.98 &0.05\\
4 &2.00 &20.00 &0.10\\
5 &4.00 &20.00 &0.20\\
6 &10.00 &20.00 &0.50\\
\bottomrule
\end{tabular}
\end{table}
\end{document}