包含 pdfpages 包时未定义控制序列

包含 pdfpages 包时未定义控制序列

问题:

我尝试在我的 .tex 文件中包括以下包:

\usepackage{graphicx}
\usepackage{pdfpages}

为此我收到以下错误:

thesis.tex (line 186)
Undefined control sequence (\mainmatterSU ...)

我谷歌了一下并找到了这个: https://en.wikibooks.org/wiki/LaTeX/Errors_and_Warnings#Undefined_control_sequence

它告诉我这可能是一个拼写错误,但当我打开 .cls 文件并检查时,我得到了以下结果:

% MAINMATTER
\newcommand{\mainmatterSU}{

\begingroup
\cleardoublepage
\edef\x{\endgroup
\noexpand\mainmatter
\setcounter{page}{\the\value{page}}%
}%
\x

\cleardoublepage

\fancypagestyle{plain}
{
    \fancyhead{}
    \fancyfoot[LE,RO]{{\fontfamily{verdana}\selectfont\thepage}}
}   % re-define plain page

\pagestyle{fancy}
\fancyhf{}
\fancyfoot[LE,RO]{{\fontfamily{verdana}\selectfont\thepage}}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
}

所以我在这里有点疯狂,因为我没有看到拼写错误或者仅仅包含一个包我可能做错了什么。

删除这两个包将会消除错误。

任何帮助都将不胜感激!

答案1

错误信息是

./thesis.tex:186: Undefined control sequence.
\@calc@post@scan ...st@scan \else \def \calc@next
                                                 {\calc@error #1}\fi \fi \f...
l.186 \mainmatter

所以未定义的命令是\calc@next

正如我在最初的评论中猜测的那样,这种\edef用法是不正确的,并且在那种情况下并不安全,尽管如果没有加载\setcounter通常不会检测到错误。放在calc\noexpand\setcounter

相关内容