Недавний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.