С этим файлом:
\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 \\
Кажется, в midrule есть что-то, что делает левую скобку недействительной. Но с 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}