在多列环境中修复 \noalign 时遇到问题

在多列环境中修复 \noalign 时遇到问题

当我使用命令时,我的一个表格出现了问题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}

相关内容