使用此文件:
\documentclass{article}
\usepackage{longtable}
\usepackage{booktabs}
\begin{document}
{
\begin{longtable}{p{.3\textwidth}p{.5\textwidth}}
\midrule
label & value \\
\midrule
(2) label & value \\
\midrule
\end{longtable}
}
\end{document}
运行 pdflatex,我得到:
! Undefined control sequence.
<argument> ...al \expandafter \let \cmrsideswitch
\@tempa \fi \fi
l.10 (2)
label & value \\
中间规则似乎存在一些问题,导致左括号无效。但是使用 tabular 而不是 longtable 则不存在这样的问题。
答案1
你遇到了和“[” 作为表格行中的第一个字符。
booktabs
定义规则以采用[..]
或形式的可选参数(..)
。(2)
紧接着的行上的\midrule
被解释为可选参数,但它与该类型可选参数所期望的定义不匹配。
为了避免这种情况,使用
\midrule\relax
\documentclass{article}
\usepackage{longtable,booktabs}
\begin{document}
\begin{longtable}{p{.3\textwidth}p{.5\textwidth}}
\midrule
label & value \\
\midrule\relax
(2) label & value \\
\midrule
\end{longtable}
\end{document}