我无论如何也想不出是什么导致了这个表中的错误。正如所写,我收到了大约十几个关于缺失}
或的警告(全部在表的第一个数据行上) $
。
\documentclass{article}
\usepackage{mathpazo}
\usepackage{array}
\usepackage{booktabs,caption}
\usepackage{multirow}
\usepackage{siunitx}
\usepackage{color}
\begin{document}
\begin{table}[!htbp]
\captionsetup{skip=0.5\baselineskip,size=footnotesize}
\footnotesize
\centering
\begin{tabular}{c
S[table-format=2.0]
*3{S[table-format=1.1]}
}
\toprule
\multirow{2}[4]{*}{\textbf{Homegrid}} & \multirow{2}[4]{*}{\textbf{Battery capacity}} & \multicolumn{3}{c}{\textbf{Load priority and power}} \\ \cmidrule{3-5}
& & \textbf{High} & \textbf{Medium} & \textbf{Low} \\ \midrule
\textcolor[rgb]{ 0, .447, .741}{1} & 7 & 1.5 & 4.5 & 0 \\
\textcolor[rgb]{ .851, .325, .098}{2} & 55 & 1.5 & 4.5 & 1.5 \\ \bottomrule
\end{tabular}
\caption{Thresholds and actions for the homegrids of the experiment plotted in ...}
\label{tab:export}
\end{table}
\end{document}
一旦我将表格格式切换为{ccccc}
,一切都能完美运行。
我可以使用\tablenum{}
(如建议这个答案) 位于中间列以使 7 和 55 正确对齐,这就是我使用的原因siunitx
。但是为什么 siunitx 不能单独工作呢?
答案1
当内容是“纯文本”时,代码siunitx
会尽力“猜测”,但最好给它一些指导。这里,问题出现在siunitx
“\multirow
数字之前”但无法以相同的方式获取所有参数。添加一组括号可以解决这个问题:
\documentclass{article}
\usepackage{mathpazo}
\usepackage{array}
\usepackage{booktabs,caption}
\usepackage{multirow}
\usepackage{siunitx}
\usepackage{color}
\begin{document}
\begin{table}[!htbp]
\captionsetup{skip=0.5\baselineskip,size=footnotesize}
\footnotesize
\centering
\begin{tabular}{c
S[table-format=2.0]
*3{S[table-format=1.1]}
}
\toprule
\multirow{2}[4]{*}{\textbf{Homegrid}} &
{\multirow{2}[4]{*}{\textbf{Battery capacity}}} & % Braces here
\multicolumn{3}{c}{\textbf{Load priority and power}} \\ \cmidrule{3-5}
& & {\textbf{High}} & {\textbf{Medium}} & {\textbf{Low}} \\ \midrule
\textcolor[rgb]{ 0, .447, .741}{1} & 7 & 1.5 & 4.5 & 0 \\
\textcolor[rgb]{ .851, .325, .098}{2} & 55 & 1.5 & 4.5 & 1.5 \\ \bottomrule
\end{tabular}
\caption{Thresholds and actions for the homegrids of the experiment plotted in ...}
\label{tab:export}
\end{table}
\end{document}