表格多次使用多列时该如何处理?

表格多次使用多列时该如何处理?

我想要得到这样的表格: 突

\documentclass{beamer}
\usepackage{multirow} 
\usepackage{makecell} 

\begin{document}
    \begin{frame}
    \begin{tabular}{cccccccc}
    \hline
    \multirow{2}{*}{A} & \multirow{2}{*}{B} &
    \multicolumn{3}{c}{C} &
    \multicolumn{3}{c}{D} &\\
    \cline{3-5}
    &x&y&z
    \cline{6-8}
    &x&y&z \\ \hline
    \end{tabular}
    \end{frame}
\end{document}

但是当两次使用multicolumn的时候会报错:

Extra alignment tab has been changed to \cr. \end{frame}

我应该怎么办?

答案1

您的代码中有两个语法错误。要消除它们,您需要

  • 去除&颗粒\multicolumn{3}{c}{D} &\\

  • 不要在\cline指令和列内容之间交替。因此,请替换

         \cline{3-5}
          &x&y&z
         \cline{6-8}
          &x&y&z \\ \hline
    

         \cline{3-5} \cline{6-8}
         && x&y&z & x&y&z \\ \hline
    

经过这些更改后,您的代码将可以编译。但是,最终的“外观”可能不符合您的喜好,因为这两个\clines 将连接在一起。

我建议你改用书签包而不是使用\hline\cline

在此处输入图片描述

请注意,我认为\multirowOP 的代码中没有必要使用这些指令。

\documentclass{beamer}
\usepackage{booktabs}

\begin{document}
\begin{frame}

\begin{tabular}{@{} *{8}{c} @{}}
   \toprule
   A & B & \multicolumn{3}{c}{C} & \multicolumn{3}{c@{}}{D} \\
   \cmidrule(lr){3-5} \cmidrule(l){6-8} 
   && u&v&w & x&y&z \\
   \midrule
   \dots & \dots & \dots & \dots & \dots & \dots & \dots & \dots \\
   \bottomrule
\end{tabular}

\end{frame}
\end{document}

相关内容