
Parece que caption.sty
expande o argumento \caption
duas vezes, o que leva a valores incorretos ou pelo menos inesperados de contadores que são aumentados na legenda:
\documentclass{article}
\usepackage{caption}
\newcounter{mycounter}
\setcounter{mycounter}{0}
\begin{document}
\begin{figure}
\caption[]{%
\stepcounter{mycounter}\themycounter
}
\end{figure}
\end{document}
Eu esperaria que isso \themycounter
resultasse em 1
, mas neste exemplo é 2
. caption.sty
é um arquivo bastante grande e não encontro a macro correspondente que expanda o conteúdo \caption
duas vezes. Existe alguma maneira de evitar esse comportamento ou um gancho que permita zerar o contador após a primeira expansão? Ou preciso redefinir a \caption
macro para redefinir o contador ao valor anterior?
Responder1
O código de legenda de látex padrão define o conteúdo duas vezes para ver se ele pode ser centralizado como uma linha ou se precisa ser definido como um parágrafo.
Normalmente o caption
pacote faz o mesmo, mas você pode usar
\captionsetup{singlelinecheck=off}
para desativar esse comportamento.