从报告文档类切换到 amsbook 并再次切换回后,\tableofcontents 出现错误

从报告文档类切换到 amsbook 并再次切换回后,\tableofcontents 出现错误

我将 documentclass 从 改为report(amsbook从 AMSLaTeX),一切都很好。然后我决定将其改回reportdocument class,但它无法编译。为了编译,我不得不注释掉该\tableofcontents命令。它给出了错误消息undefined control sequence。任何帮助都将不胜感激。

答案1

让我们看看编译以下文件时会发生什么

\documentclass{report}
\begin{document}
\tableofcontents
\chapter{Title}
\section{X}
\end{document}

以下是该文件的内容.toc

\contentsline {chapter}{\numberline {1}Title}{2}
\contentsline {section}{\numberline {1.1}X}{2}

当我们将文件的第一行更改为

\documentclass{amsbook}

文件.toc变为

\contentsline {chapter}{\tocchapter {Chapter}{1}{Title}}{3}
\contentsline {section}{\tocsection {}{1}{X}}{3}

因此我们看到该类插入了一些标准类无法理解的amsbook命令(\tocchapter和) ;此外,它以略有不同的方式组织信息。\tocsectionreport

还应该注意到,AMS 类与不兼容tocloft,原因类似:它们.toc以不同的方式管理文件。

解决方案

更改类后,在编译之前删除.toc文件。在这种情况下,对所有辅助文件执行此操作是明智之举,这样我们就可以重新开始使用新的文档类。

相关内容