表格:包数组错误:扫描 \multicolumn 的使用时文件结束

表格:包数组错误:扫描 \multicolumn 的使用时文件结束

我尝试制作一个简单的表格,并将标题线设为红色,如下例所示:

\documentclass[a4paper]{report}
\usepackage{xcolor}
\usepackage{colortbl}

\begin{document}
    \begin{table}[ht!]
        \centering
        \def\arraystretch{1.0}  
        \begin{tabular}{| c | c |}
            \hline
            \rowcolor{red}
            \multicolumn{1}{|c}{\textcolor{white}{\textbf{XMPP Extention}} & \multicolumn{1}{|c|}{\textcolor{white}{\textbf{Usage}}} \\
                XEP-0045 & Blah Blah \\
                XEP-0049 & Blah Blah \\
                XEP-0249 & Blah Blah \\
                XEP-0055 & Blah Blah \\ 
                \hline
            \end{tabular}
        \end{table}
\end{document}

当我尝试编译它时出现以下错误:

扫描 \multicolumn 的使用时文件结束。

所以我想知道为什么我会收到这个错误。

答案1

环境tabular采用可选参数以及强制参数:

\begin{tabular}[<vpos>]{<col spec>}
  % ...
\end{tabular}

您错误地将 放在<col spec>的位置<vpos>。TeX 的标记使用方式是将其作为\hline强制参数,而这不具备任何预期的cl或规范。这就是它默认为 的原因。rpc

这可能就是你想要的:

\begin{tabular}{| c | c |}
  % ...
\end{tabular}

另外,考虑使用booktabs并避免使用垂直线|

答案2

除了使用花括号而不是方括号来括起tabular环境的主要参数(即,用大括号{| c | c |}代替[| c | c |])之外,您还应该

  • 使用单一指令,,\usepackage[table]{xcolor}而不是独立加载xcolorcolortbl包;

  • 重新考虑设计表格布局的方法:如果您希望创建红底白字的标题行,则不应使用混合(错误)匹配视觉隐喻\hline

  • 通过省略所有垂直条来进一步简化表格。

最后,我认为第一个标题单元格中的单词拼写为“Extension”,而不是“Extention”。

在此处输入图片描述

\documentclass[a4paper]{report}
\usepackage[table]{xcolor}
\usepackage{array} % for '\extrarowheight' macro
\begin{document}

\begin{table}[ht!]
\setlength\extrarowheight{2pt} % for a more open "look"
\centering 
    \begin{tabular}{cc}
    \rowcolor{red}
    \color{white}\textbf{XMPP Extension} & 
    \color{white}\textbf{Usage} \\
    XEP-0045 & Blah Blah \\
    XEP-0049 & Blah Blah \\
    XEP-0249 & Blah Blah \\
    XEP-0055 & Blah Blah \\ 
    \hline
    \end{tabular}
\end{table}
\end{document}

相关内容