
Похоже, что это caption.sty
расширяет аргумент в \caption
два раза, что приводит к неверным или, по крайней мере, неожиданным значениям счетчиков, которые увеличиваются в заголовке:
\documentclass{article}
\usepackage{caption}
\newcounter{mycounter}
\setcounter{mycounter}{0}
\begin{document}
\begin{figure}
\caption[]{%
\stepcounter{mycounter}\themycounter
}
\end{figure}
\end{document}
Я ожидал бы, что это \themycounter
приведет к 1
, но в этом примере 2
вместо этого. caption.sty
довольно большой файл, и я не нахожу соответствующий макрос, который расширяет содержимое \caption
дважды. Есть ли способ предотвратить это поведение или хук, который позволяет сбросить счетчик после первого расширения? Или мне нужно переопределить макрос, \caption
чтобы сбросить счетчик до предыдущего значения?
решение1
Стандартный код субтитров Latex устанавливает содержимое дважды, чтобы проверить, можно ли его расположить по центру в одну строку или его нужно оформить как абзац.
Обычно caption
пакет делает то же самое, но вы можете использовать
\captionsetup{singlelinecheck=off}
чтобы отключить это поведение.