使用 siunitx 包在表格中进行水平对齐

使用 siunitx 包在表格中进行水平对齐

我正在制作一些表格,但无法使用 siunitx 找到正确的对齐方式。我认为第一列和最后一列的数字应该更靠左,第二列的数字应该更靠右。我找不到调整它的方法。

这是一个最小工作示例:

\documentclass{article}

\usepackage{booktabs}
\usepackage{siunitx}

\begin{document}

\begin{table}[ht]
\centering
\begin{tabular}{SSS}
\toprule
{Coefficient} & {Iterations} & {Spectral condition}\\\midrule
1e0 & 112 & 2e3 \\
1e-2 & 768 & 1.7e4 \\
1e-4 & 2961 & 3.8e5 \\
1e-6 & 7760 & 3.7e7 \\
\bottomrule
\end{tabular}
\caption{First experiment.}
\label{tab:firstexperiment}
\end{table}%

\end{document}

它看起来像第一个表格,但我希望它看起来像下面的表格。

答案1

S 列中的居中头部取决于列中数字的格式,因此我指定了每列的格式。此代码是否能产生您想要的结果?

\documentclass{article}

\usepackage{booktabs}
\usepackage{siunitx}

\begin{document}


\begin{table}[!htb]
\centering\sisetup{table-number-alignment=center}
\begin{tabular}{S[table-format=1e-1]S[table-format=4.0]S[table-format=1.1e1]}
\toprule
{Coefficient} & {Iterations} & {Spectral condition}\\\midrule
1e0 & 112 & 2e3 \\
1e-2 & 768 & 1.7e4 \\
1e-4 & 2961 & 3.8e5 \\
1e-6 & 7760 & 3.7e7 \\
\bottomrule
\end{tabular}
\caption{First experiment.}
\label{tab:firstexperiment}
\end{table}%

\end{document} 

在此处输入图片描述

答案2

欢迎来到 TeX.SE!由于您还使用了列作为标题,因此对齐方式不是您想要的,这并不奇怪S。当然还有更高级的选项(在设计表格时似乎有无数个选项,相比之下 pgfmanual 很短),但首先我会这样做

\documentclass{article}

\usepackage{booktabs}
\usepackage{siunitx}

\begin{document}

\begin{table}[ht]
\centering
\begin{tabular}{SSS}
\toprule
\multicolumn{1}{r}{Coefficient} & \multicolumn{1}{l}{Iterations} & \multicolumn{1}{r}{Spectral condition}\\
\midrule
1e0 & 112 & 2e3 \\
1e-2 & 768 & 1.7e4 \\
1e-4 & 2961 & 3.8e5 \\
1e-6 & 7760 & 3.7e7 \\
\bottomrule
\end{tabular}
\caption{First experiment.}
\label{tab:firstexperiment}
\end{table}%
\end{document}

在此处输入图片描述

相关内容