我正在使用该siunitx
包以及该booktabs
包来制作一张桌子。
这是我的输出:
表(一)使用表格规范llll
(即不使用siunitx
)。表(一)看起来很棒,只是我想让 +0.2 和 -0.4 的小数点对齐。
为了做到这一点,表(b),我使用了表格规范lSSS
并使用了\sisetup{table-number-alignment=left}
。现在小数点对齐了,但我希望最后两列中的数字完全左对齐(与k_{\theta}
's 齐平),因为它们都是正数。我该怎么做?
这是我的代码:
\documentclass{article}
\usepackage{siunitx,booktabs,subcaption}
\DeclareSIUnit{\calorie}{cal}
\begin{document}
\begin{table}
\begin{subtable}{\textwidth}
\caption{}
\begin{tabular}{llll}
\toprule
& {$q$ (\si{\elementarycharge})} & {$k_{\theta}$ (\si{\kilo\calorie\per\mole})} & {$k_{\theta}$ (\si{\kilo\joule\per\mole})}\\
\midrule
compound A & +0.2 & 0.066 & 0.276144\\
compound B & -0.4 & 0.14 & 0.585760\\
\bottomrule
\end{tabular}
\end{subtable}
\vspace*{16pt}
\begin{subtable}{\textwidth}
\caption{}
\sisetup{table-number-alignment=left}
\begin{tabular}{lSSS}
\toprule
& {$q$ (\si{\elementarycharge})} & {$k_{\theta}$ (\si{\kilo\calorie\per\mole})} & {$k_{\theta}$ (\si{\kilo\joule\per\mole})}\\
\midrule
compound A & +0.2 & 0.066 & 0.276144\\
compound B & -0.4 & 0.14 & 0.585760\\
\bottomrule
\end{tabular}
\end{subtable}
\end{table}
\end{document}
答案1
借助table-number-alignment
与适当的结合table-format
,您可以实现以下输出:
\documentclass{article}
\usepackage{siunitx,booktabs}
\DeclareSIUnit{\calorie}{cal}
\begin{document}
\begin{table}
\begin{tabular}{l
S[table-format=-1.1,table-number-alignment=left]
S[table-format=1.3,table-number-alignment=left]
S[table-format=1.6,table-number-alignment=left]}
\toprule
& {$q$ (\si{\elementarycharge})} & {$k_{\theta}$ (\si{\kilo\calorie\per\mole})} & {$k_{\theta}$ (\si{\kilo\joule\per\mole})}\\
\midrule
compound A & +0.2 & 0.066 & 0.276144\\
compound B & -0.4 & 0.14 & 0.585760\\
\bottomrule
\end{tabular}
\end{table}
\end{document}
答案2
你需要指定每列数字的格式;简单S
规范应用的默认值不适合您的情况。
另一方面,数字为正数这一事实似乎与对齐无关。
我将标题分成两行,一行用于符号,一行用于单位。
\documentclass{article}
\usepackage{siunitx,booktabs}
\DeclareSIUnit{\calorie}{cal}
\begin{document}
\begin{table}
\centering
\begin{tabular}{
@{}
l
S[table-format=-1.1,retain-explicit-plus,table-number-alignment=left]
S[table-format=1.3,table-number-alignment=left]
S[table-format=1.6,table-number-alignment=left]
@{}
}
\toprule
& {$q$ (\si{\elementarycharge})}
& {$k_{\theta}$ (\si{\kilo\calorie\per\mole})}
& {$k_{\theta}$ (\si{\kilo\joule\per\mole})} \\
\midrule
compound A & +0.2 & 0.066 & 0.276144\\
compound B & -0.4 & 0.14 & 0.585760\\
\bottomrule
\end{tabular}
\bigskip
\begin{tabular}{
@{}
l
S[table-format=-1.1,retain-explicit-plus]
S[table-format=1.3]
S[table-format=1.6]
@{}
}
\toprule
& {$q$}
& {$k_{\theta}$}
& {$k_{\theta}$} \\
& {(\si{\elementarycharge})}
& {(\si{\kilo\calorie\per\mole})}
& {(\si{\kilo\joule\per\mole})} \\
\midrule
compound A & +0.2 & 0.066 & 0.276144\\
compound B & -0.4 & 0.14 & 0.585760\\
\bottomrule
\end{tabular}
\end{table}
\end{document}
在第二个示例中,大片白色空间消失了。