將 tocstyle 與 ACM acmart 樣式結合使用

將 tocstyle 與 ACM acmart 樣式結合使用

最近的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 節中所建議的。

相關內容