最近的acmart
风格(尝试这里如果该链接已损坏)似乎无法正常工作tocstyle
。如果我pdflatex
对以下文档运行两次,第二次运行将失败(见下文)。
\documentclass{acmart}
\usepackage{tocstyle}
\usetocstyle{standard}
\begin{document}
\title{Title}
\tableofcontents
\section{Intro}
text
\end{document}
这是我收到的错误消息:
! Missing \endcsname inserted.
<to be read again>
\@@par
l.8 \tableofcontents
也许有一个类似于问题中的修复程序titletoc
? 不幸的是我不知道如何找出重新定义tocstyle
的内部结构。hyperref
答案1
我认为对 进行胡乱修改并不是一个好主意acmart
,它应该用于提交给 ACM,因此具有明确定义的风格(在可用选择中)。
问题是tocstyle
应该在 之前加载hyperref
,但是该类acmart
已经加载它了。
acmart-preload-hook.tex
解决方法是在工作目录中创建一个名为的文件,其中包含
\let\LoadClassOrig\LoadClass
\renewcommand\LoadClass[2][]{%
\LoadClassOrig[#1]{#2}%
\usepackage{tocstyle}%
}
如acmart
文档第 2.13 节所建议的那样。