我正在使用 cmidrule,就像我以前用过它一样,但它给出了奇怪的错误。下面是 MWE 重现的这些错误。发生了什么?
\documentclass{beamer}
\usepackage{booktabs}
\usepackage{multicol}
\usepackage{multirow}
\begin{document}
\begin{frame}{MWE}
\begin{table}[tbh!]
\centering
\footnotesize
\begin{tabular}{lccccccc}
\toprule
& \multicolumn{3}{c}{(1)} && \multicolumn{3}{c}{(2)} \\
& \multicolumn{3}{c}{\textbf{OUTCOME}} && \multicolumn{3}{c}{\textbf{OUTCOME}} \\
& \cmidrule{2-4} \cmidrule{6-8} \\
& I & II & III && I & II & III \\
\midrule
\bottomrule
\end{tabular}
\end{table}
\end{frame}
\end{document}
答案1
线路
& \cmidrule{2-4} \cmidrule{6-8} \\
包含语法错误 ( &
) 和印刷错误 ( \\
)。
似乎也没有必要设置 8 列,因为 6 列就足够了。为了视觉平衡,我还会省略大胆的一些标题单元格。由于我们正在处理文档beamer
,因此没有必要使用table
浮动来包裹表格材料。最后,以下是该booktabs
软件包用户指南第 2 部分的摘录(重点是我添加的):
因此,使用\midrule
或\bottomrule
,但并非两者兼而有之。
以下是我想重新配置您的表格的方式 - 请注意左侧和右侧没有空白填充。
\documentclass{beamer}
\usepackage{booktabs}
\begin{document}
\begin{frame}{MWE}
% don't use figure and table floats in beamer docs
%%\begin{table}
\begin{center}
\begin{tabular}{@{} *{6}{c} @{}}
\toprule
\multicolumn{3}{@{}c}{(1)} & \multicolumn{3}{c@{}}{(2)} \\
\multicolumn{3}{@{}c}{OUTCOME} & \multicolumn{3}{c@{}}{OUTCOME} \\
\cmidrule(r){1-3} \cmidrule(l){4-6}
I & II & III & I & II & III \\
\midrule
aaa & bbb & ccc & ddd & eee & ggg \\
\bottomrule
\end{tabular}
\end{center}
%%\end{table}
\end{frame}
\end{document}
答案2
尝试一下此代码(带有后面的规则)\\
。
\documentclass{beamer}
\usepackage{booktabs}
\usepackage{multicol}
\usepackage{multirow}
\begin{document}
\begin{frame}{MWE}
\begin{table}[tbh!]
\centering
\footnotesize
\begin{tabular}{lccccccc}
\toprule
& \multicolumn{3}{c}{(1)} && \multicolumn{3}{c}{(2)} \\
& \multicolumn{3}{c}{\textbf{OUTCOME}} && \multicolumn{3}{c}{\textbf{OUTCOME}} \\\cmidrule{2-4} \cmidrule{6-8}
& \\
& I & II & III && I & II & III \\
\midrule
\bottomrule
\end{tabular}
\end{table}
\end{frame}
\end{document}