这篇文章我多次重写之后,现在我只想这样写:
我该如何
\cmidrule
与 结合使用siunitx
?这是否可取?我是不是在其他地方犯了错误?整个表格看起来太奇怪了。
我喜欢错误(值实际上是置信区间,但没关系)的解析方式。但总的来说,AAA、BBB 和 CCC 下面的规则,我就是搞不懂。我也不明白为什么 AAA 下面的 cmidrule 太靠左了?我会真的喜欢避免奇怪的规则长度,并且只要 vanilla 命令可以生成它就可以了。:(
现状图
table-number-alignment=right 的输出图片
平均能量损失
\documentclass[
a4paper
]{scrartcl}
\usepackage{
lmodern,
booktabs
}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[
per-mode=fraction,
locale=DE,
separate-uncertainty=true,
retain-explicit-plus,
binary-units,
%table-number-alignment=right
]{siunitx}
\begin{document}
\begin{tabular}{lSSSS}
\toprule
{ValueA} & {VALUEb} & {AAA} & {BBB} & {CCC} \\
\cmidrule(lr){1-1}
\cmidrule(lr){2-2}
\cmidrule(lr){3-3}
\cmidrule(lr){4-4}
\cmidrule(lr){5-5}
20 & 10 & -95,57(7) & 75,18 & -45,88 \\
& 20 & -142,72(12) & 89,20 & -58,62 \\
& 30 & -161,83(16) & -1118,51 & -75,19 \\
\bottomrule
\end{tabular}
\end{document}
答案1
在我看来,加入减号table-format=…
并选择table-number-alignment=center
(默认为center-decimal-marker
)将得到一个可接受的结果:
\documentclass[a4paper]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern,booktabs}
\usepackage[per-mode=fraction, locale=DE, separate-uncertainty=true, retain-explicit-plus, binary-units, table-number-alignment=center, ]{siunitx}
\begin{document}
\begin{tabular}{lcS[table-format=-3.2(2)]S[table-format=-4.2]S[table-format=-2.2]}%
\toprule
{ValueA} & {ValueB} & {AAA} & {BBB} & {CCC} \\
\cmidrule(lr){1-1}
\cmidrule(lr){2-2}
\cmidrule(lr){3-3}
\cmidrule(lr){4-4}
\cmidrule(lr){5-5}
20 & 10 & -95,57(7) & 75,18 & -45,88 \\
& 20 & -142,72(12) & 89,20 & -58,62 \\
& 30 & -161,83(16) & -1118,51 & -75,19 \\
\bottomrule
\end{tabular}
\end{document}
答案2
一个S
列需要改进,最常见的是指定它包含的数字的格式;否则它只会做一些通常不能很好地工作的启发式方法。
\documentclass[
a4paper
]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{
lmodern,
booktabs,
}
\usepackage[
per-mode=fraction,
locale=DE,
separate-uncertainty=true,
retain-explicit-plus,
binary-units,
%table-number-alignment=right,
]{siunitx}
\begin{document}
\begin{tabular}{
l
S[table-format=2.0]
S[table-format=-3.2(2)]
S[table-format=-4.2]
S[table-format=-2.2]
}
\toprule
{ValueA} & {VALUEb} & {AAA} & {BBB} & {CCC} \\
\cmidrule(lr){1-1}
\cmidrule(lr){2-2}
\cmidrule(lr){3-3}
\cmidrule(lr){4-4}
\cmidrule(lr){5-5}
20 & 10 & -95,57(7) & 75,18 & -45,88 \\
& 20 & -142,72(12) & 89,20 & -58,62 \\
& 30 & -161,83(16) & -1118,51 & -75,19 \\
\bottomrule
\end{tabular}
\end{document}
注意第 3 列中的不确定性。如果您不指定,则不会显示不确定性。
使用S
初步版本,并在您知道数据确定时对其进行微调。