我尝试制作一个简单的表格,并将标题线设为红色,如下例所示:
\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
强制参数,而这不具备任何预期的c
、l
或规范。这就是它默认为 的原因。r
p
c
这可能就是你想要的:
\begin{tabular}{| c | c |}
% ...
\end{tabular}
另外,考虑使用booktabs
并避免使用垂直线|
。
答案2
除了使用花括号而不是方括号来括起tabular
环境的主要参数(即,用大括号{| c | c |}
代替[| c | c |]
)之外,您还应该
使用单一指令,,
\usepackage[table]{xcolor}
而不是独立加载xcolor
和colortbl
包;重新考虑设计表格布局的方法:如果您希望创建红底白字的标题行,则不应使用混合(错误)匹配视觉隐喻
\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}