mathtools 和 amsmath 有冲突吗?

mathtools 和 amsmath 有冲突吗?

我正在使用这个模板:https://www.overleaf.com/latex/templates/university-of-michigan-dissertation-template-unofficial/tpnjzndnrzmf

只要我\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

相关内容