向 ACM 样式模板添加目录

向 ACM 样式模板添加目录

我被指示使用ACM 风格作业的 latex 模板。在.cls 文件他们提供,我可以发现以下警告:

%%% 4) 边注段落、目录、图表列表、

%%% 和页面标题都是被禁止的。

尽管我们被要求使用 ACM 模板,但不管它有多么愚蠢,我们都必须插入目录。

我尝试添加\tableofcontents如下内容:

\documentclass{acm_proc_10ptArticle-sp}
\begin{document}
\clearpage
\tableofcontents
\newpage
\section{Introduction}
Lipsum
\section{Conclusion}
Lipsum
\end{document}

当我编译时,收到以下错误:

! TeX capacity exceeded, sorry [input stack size=5000].
\@latexerr #1#2->\GenericError 
                              {\space \space \space \@spaces  \@spaces \@spa...
l.38 \tableofcontents

If you really absolutely need more capacity,
you can ask a wizard to enlarge me.

此外,我在文件中找到以下部分.cls

\def\tableofcontents{\@latexerr{\tableofcontents: Tables of contents are not
 allowed in the `acmconf' document style.}\@eha}

我希望找到一个解决方案,而不必使用其他模板文件。我可以做些什么来添加目录而不考虑他们的警告?

答案1

您提供的文件.cls定义\tableofcontents为生成一条错误消息(类设计者确实希望阻止生成 ToC):

\def\tableofcontents{\@latexerr{\tableofcontents: Tables of contents are not
  allowed in the `acmconf' document style.}\@eha}

您可以通过在.tex文件中提供合理的定义来覆盖此问题\tableofcontents;类似这样的内容

\def\contentsname{Contents}
\def\tableofcontents{%
    \section*{\MakeUppercase{\contentsname}}%
    \@starttoc{toc}%
    }

完整示例:

\documentclass{acm_proc_10ptArticle-sp}

\makeatletter
\setcounter{tocdepth}{3}
\def\contentsname{Contents}
\def\tableofcontents{%
    \section*{\MakeUppercase{\contentsname}}%
    \@starttoc{toc}%
    }
\makeatother

\begin{document}

\tableofcontents
\section{Introduction}
Lipsum
\section{Conclusion}
Lipsum

\end{document}

结果显示生成的 ToC:

在此处输入图片描述

相关内容