当我使用命令时,我的一个表格出现了问题multicolumn
。我尝试了这个网页上与 相关的许多解决方案\noalign
。但与这些解决方案不同,我不在\hline
我的表格中使用 。相反,我使用cmidrule
。我无法准确地找出错误。表格看起来很酷,但我总是收到有关 的错误misplaced \noalign <recently read> \noalign \end{tabular}}
。
我将发布一段代码,它可以重现我遇到问题的表格。我试着不问这个问题,自己修复它,但我花了一个多小时,仍然无法找到错误原因。我希望你能帮我解决这个问题。
\begin{landscape}
\begin{table}[htp]
\begin{center}
\scalebox{0.72}{
\begin{tabular}{@{} cccccccccccccccccccccccccc @{}}
\toprule
{\textbf{Robustness Level}} & \multicolumn{7}{c}{\textbf{Objective ($\small{\textsc{x}}10^{2}$)}} & \phantom{abc} & \multicolumn{7}{c}{\textbf{Gap (\%)}} & \phantom{abc} & \multicolumn{7}{c}{\textbf{PoPr (\%)}}\\
\cmidrule{2-8} \cmidrule{10-16} \cmidrule{18-24}
{\textit{$|S|$}} & $9$ & $18$ & $27$ & $36$ & $45$ & $54$ & $63$ && $9$ & $18$ & $27$ & $36$ & $45$ & $54$ & $63$ && $9$ & $18$ & $27$ & $36$ & $45$ & $54$ & $63$\\
\midrule
\multirow{2}{*}{$\Gamma = 0$} & $5.8$ & $11.5$ & $86.8$ & $162.7$ & $513.6$ & $727.6$ & $1010.3$ && $0$ & $1$ & $0$ & $1$ & $8$ & $11$ & $5$ && $41$ & $90$ & $12$ & $0$ & $4$ & $8$ & $2$\\
&\rowcolor{black!15} $5.7$ & $31$ & $295.8$ & $510.4$ & $624.9$ & $1007.4$ & $1171.5$ && $0$ & $0$ & $0$ & $0$ & $1$ & $3$ & $1$ && $100$ & $13$ & $17$ & $3$ & $2$ & $1$ & $0$\\
\bottomrule
\end{tabular}}
\end{center}
\caption{Test runs without delay restrictions.}
\end{table}
\end{landscape}
谢谢
答案1
这有点棘手,因为你想从第二列开始灰色行。之后我只是把单元格变成白色。我希望代码是不言自明的。
% arara: pdflatex
\documentclass{article}
\usepackage{graphicx}
\usepackage{booktabs}
\usepackage{lscape}
\usepackage{multirow}
\usepackage[table]{xcolor}
\begin{document}
\begin{landscape}
\begin{table}[htp]
\centering
\scalebox{0.72}{%
\begin{tabular}{*{24}{c}}
\toprule
\textbf{Robustness Level} & \multicolumn{7}{c}{\textbf{Objective ($\small{\textsc{x}}10^{2}$)}} & \phantom{abc} & \multicolumn{7}{c}{\textbf{Gap (\%)}} & \phantom{abc} & \multicolumn{7}{c}{\textbf{PoPr (\%)}}\\
\cmidrule{2-8} \cmidrule{10-16} \cmidrule{18-24}
$|S|$ & $9$ & $18$ & $27$ & $36$ & $45$ & $54$ & $63$ && $9$ & $18$ & $27$ & $36$ & $45$ & $54$ & $63$ && $9$ & $18$ & $27$ & $36$ & $45$ & $54$ & $63$\\
\midrule
& $5.8$ & $11.5$ & $86.8$ & $162.7$ & $513.6$ & $727.6$ & $1010.3$ && $0$ & $1$ & $0$ & $1$ & $8$ & $11$ & $5$ && $41$ & $90$ & $12$ & $0$ & $4$ & $8$ & $2$\\
\rowcolor{black!15}\cellcolor{white} \multirow{-2}{*}{$\Gamma = 0$}& $5.7$ & $31$ & $295.8$ & $510.4$ & $624.9$ & $1007.4$ & $1171.5$ && $0$ & $0$ & $0$ & $0$ & $1$ & $3$ & $1$ && $100$ & $13$ & $17$ & $3$ & $2$ & $1$ & $0$ \\
\bottomrule
\end{tabular}
}
\caption{Test runs without delay restrictions.}
\end{table}
\end{landscape}
\end{document}
一些备注:您不应该center
在此处使用环境。您的说明符太多c
(26 个而不是 24 个),请尽量不要缩放表格。这看起来很丑。也许您可以以某种方式重新格式化。请查看S
包的列siunitx
,这在这里会非常好。
只是一些想法:
% arara: pdflatex
\documentclass{article}
\usepackage{graphicx}
\usepackage{booktabs}
\usepackage{lscape}
\usepackage{multirow}
\usepackage[table]{xcolor}
\usepackage{siunitx}
\sisetup{detect-weight=true}
\usepackage{bm}
\begin{document}
\begin{landscape}
\begin{table}[htp]
\centering
\small
\begin{tabular}{%
@{}l
S[table-format=1.1]
S[table-format=2.1]
*{3}{S[table-format=3.1]}
*{2}{S[table-format=4.1]}
S[table-format=1.0]
*{6}{S[table-format=2.0]}
S[table-format=3.0]
*{6}{S[table-format=2.0]}
}
\toprule
\textbf{Robustness} & \multicolumn{7}{c}{\textbf{Objective ($\bm{\times 10^{2}}$)}} & \multicolumn{7}{c}{\textbf{Gap (\si{\percent})}} & \multicolumn{7}{c}{\textbf{PoPr (\si{\percent})}}\\
\cmidrule(r){2-8} \cmidrule(lr){9-15} \cmidrule(l){16-22}
$|S|$ & 9 & 18 & 27 & 3 & 45 & 54 & 63 & 9 & 18 & 27 & 36 & 45 & 54 &63 & 9 & 18 & 27 & 36 & 45 & 54 & 63\\
\midrule
& 5.8 & 11.5 & 86.8 & 162.7 & 513.6 & 727.6 & 1010.3 & 0 & 1 & 0 & 1 & 8 & 11 & 5 & 41 & 90 & 12 & 0 & 4 & 8 & 2\\
\rowcolor{black!15}\cellcolor{white} \multirow{-2}{*}{$\Gamma = 0$}& 5.7 & 31 & 295.8 & 510.4 & 624.9 & 1007.4 & 1171.5 & 0 & 0 & 0 & 0 & 1 & 3 & 1 & 100 & 13 & 17 & 3 & 2 & 1 & 0 \\
\bottomrule
\end{tabular}
\caption{Test runs without delay restrictions.}
\end{table}
\end{landscape}
\end{document}