我需要使用 sigchi 文档类来写一篇论文:https://github.com/sigchi/Document-Formats/blob/master/LaTeX/sigchi.cls
我还需要在第一页包含一个目录,但是使用标准\tableofcontents
会产生堆栈溢出:
TeX capacity exceeded, sorry [input stack size=5000].
\@latexerr #1#2->\GenericError
事实证明,此模板中通常禁止使用目录,如 .cls 文件所示:
\def\tableofcontents{\@latexerr{\tableofcontents: Tables of contents are not
allowed in the `acmconf' document style.}\@eha}
如果我从 .cls 文件中注释掉这一位,我会收到未定义的控制序列错误。
那么,我猜想\tableofcontents
命令需要由文档类明确定义?就我而言,不需要。我该如何添加它?我可以从标准article
文档类中获取命令定义的源代码并将其粘贴到我的 sigchi.cls 中吗?或者有我可以使用的包吗?
编辑
这是只有几个部分的 MWE。添加后,它将无法编译\tableofcontents
。
\documentclass{sigchi}
\begin{document}
\section{First section}
\subsection{Subsection}
\section{Second section}
\end{document}
答案1
这sigchi.cls
不是用于论文的,它缺少排版论文所需的几个功能(或对其进行了奇怪的重新定义)
最简单的方法是使用\tableofcontents
由以下机构提供的版本的“副本”article.cls
请注意,页面布局很尴尬,但这也是另一个问题。
\documentclass{sigchi}
% Perhaps useful?
%\usepackage[paper=letterpaper]{geometry}
\makeatletter
\newcommand{\contentsname}{Contents}% For example
\renewcommand{\tableofcontents}{%
\section*{\contentsname}
\@starttoc{toc}
}
% sigchi.cls does \let\thepage\relax (don't ask!), so define it again
\newcommand{\thepage}{\arabic{page}}
\makeatother
\begin{document}
\tableofcontents
\clearpage
\section{First section}
\subsection{Subsection}
\section{Second section}
\end{document}