我想用 对齐我的数字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}