只要我\usepackage{mathtools}
在package.tex中添加,Appendices后面就会有一个“!”。
读完这篇文章后,我怀疑这是因为 mathtools 和 amsmath 之间存在冲突: mathtools 与 amsmath
但即使我在 thesis-umich.cls 中注释掉\RequirePackage{amsmath}
,问题仍然存在。我该如何解决这个问题?
答案1
问题与它本身无关mathtools
,而是与它加载calc
包有关。所以我们可以将问题简化为
\documentclass{thesis-umich}
\usepackage{calc}
\begin{document}
test
\appendix
test
\end{document}
产生错误
! Undefined control sequence.
\@calc@post@scan ...st@scan \else \def \calc@next
{\calc@error #1}\fi \fi \f...
l.11 \appendix
使用 Overleaf 时,请永远不要忽略编译错误。与许多 LaTeX 编辑器一样,Overleaf 的运行模式是,即使出现错误,也会尝试完成编译。这可能会导致 PDF 中的内容无法正确排版。通常,一个错误会导致许多其他错误...
问题是这个定义thesis-umich.cls
\renewcommand{\appendix}{ %
% Move to new page.
\clearpage %
% Renew the counters.
\renewcommand*{\thechapter}{\Alph{chapter}} %
% Start over the chapter counter.
\setcounter{chapter}{0} %
% Add a pdf anchor.
\phantomsection %
% Add blank space to table of contents
\addtocontents{toc}{\vspace{3.9ex}}
% Add the page to the table of contents.
\addcontentsline{toc}{backchapter}{Appendices}
% Stop adding sections to the table of contents.
\addtocontents{toc}{\setcounter{tocdepth}{1}} %
% Header for appendices.
\renewcommand{\@chapapp}{APPENDIX} %
% Renew the chapter and section labels.
\let\@chapter\@chapter@appendix %
}
尤其是那条线
\addtocontents{toc}{\setcounter{tocdepth}{1}} %
无论何时calc
加载,\setcounter
它都会变成一个脆弱的命令,并且在写入文件时需要保护(防止过早扩展)。
因此,这里的修复方法是将其添加到您的序言中(不要更改 cls 文件,而是向维护它的人发送消息并要求他们修复它)。
\makeatletter
\renewcommand{\appendix}{ %
% Move to new page.
\clearpage %
% Renew the counters.
\renewcommand*{\thechapter}{\Alph{chapter}} %
% Start over the chapter counter.
\setcounter{chapter}{0} %
% Add a pdf anchor.
\phantomsection %
% Add blank space to table of contents
\addtocontents{toc}{\vspace{3.9ex}}
% Add the page to the table of contents.
\addcontentsline{toc}{backchapter}{Appendices}
% Stop adding sections to the table of contents.
\addtocontents{toc}{\protect\setcounter{tocdepth}{1}} % <-----
% Header for appendices.
\renewcommand{\@chapapp}{APPENDIX} %
% Renew the chapter and section labels.
\let\@chapter\@chapter@appendix %
}
\makeatother