表格中的 siunitx 和 makecell:数字对齐不起作用

表格中的 siunitx 和 makecell:数字对齐不起作用

我想用 对齐我的数字siunitx,但结合使用时makecell会根据我的\makecell命令产生几个错误消息。我尝试用makecell括号保护我的命令,但仍然不起作用。

梅威瑟:

\documentclass{scrreprt}
\usepackage{booktabs} %Table format
\usepackage{makecell} %Connected rows
\usepackage{siunitx} %Number alignment

\begin{document}

\begin{table}
\centering
\small
\renewcommand{\arraystretch}{1.2}
\begin{tabular}{scc}
\toprule
\makecell{\textbf{A} \\ {[min]}} &
\makecell{\textbf{B} \\ {[\%]}} &
\makecell{\textbf{C} \\ {[\%]}} \\
\midrule
0.0 & 20.0 & 45.0 \\
8.0 & 29.0 & 45.0 \\
15.0 & 10.0 & 90.0 \\
20.0 & 15.0 & 90.0 \\
20.1 & 55.0 & 45.0 \\
30.0 & 55.0 & 45.0 \\
\bottomrule
\end{tabular}
\end{table}

\end{document}

提前致谢!

答案1

在此处输入图片描述

S列类型文本(通常在列标题中S)必须括在花括号中,即使它们在\makecell\thead宏形式makecell包中。例外情况是,如果标题在\multicolumn单元格内。

您的表格应如下所示:

\documentclass{scrreprt}
\usepackage{booktabs} %Table format
\usepackage{makecell} %Connected rows
\usepackage{siunitx} %Number alignment

\begin{document}
    \begin{table}
\centering
\small
\renewcommand{\arraystretch}{1.2}
\begin{tabular}{*{3}{S[table-format=2.1]}}
    \toprule
{\makecell{\textbf{A} \\ {[min]}}} &
{\makecell{\textbf{B} \\ {[\%]}}}  &
{\makecell{\textbf{C} \\ {[\%]}}} \\
\midrule
 0.0 & 20.0 & 45.0 \\
 8.0 & 29.0 & 45.0 \\
15.0 & 10.0 & 90.0 \\
20.0 & 15.0 & 90.0 \\
20.1 & 55.0 & 45.0 \\
30.0 & 55.0 & 45.0 \\
\bottomrule
\end{tabular}
    \end{table}
\end{document}

相关内容