长表中中间规则后的左括号上出现“未定义的控制序列”

长表中中间规则后的左括号上出现“未定义的控制序列”

使用此文件:

\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}

相关内容