No código a seguir
\documentclass{article}
\usepackage{amsthm}
\newcounter{number}
\begin{document}
\begin{proof}ccc\[aaa\]\end{proof}
\label{\thenumber}
\begin{proof}ee\end{proof}
\end{document}
o comando \label produz espaço vertical adicional, que não existe, se eu omitir este comando. Como posso evitar esse espaço? Isto talvez esteja relacionadoEspaço adicional por \refstepcounter, mas aqui o pacote 'hyperref' não está envolvido.
Responder1
Normalmente, se um ambiente de exibição (ou título de seção, etc.) segue outro, qualquer espaçamento vertical especificado no final de um e no início do próximo é mesclado, de modo que você obtém apenas o máximo dos dois comprimentos, não a soma.
Porém o \write
nó produzido por \label
(que é necessário para atrasar a gravação no arquivo aux, então \pageref
funciona) significa que aqui o ambiente da segunda prova não pode "ver" o espaço vertical que foi adicionado pela primeira prova, então você obtém
espaço de prova final, nó de gravação, espaço de prova inicial
em vez de
max(espaço de prova final, espaço de prova inicial)
A solução é colocar em \label
algum lugar mais seguro (quase sempre melhor não fazer isso no vmode se puder ser evitado), então por exemplo isso funciona
\documentclass{article}
\usepackage{amsthm}
\newcounter{number}
\begin{document}
\begin{proof}ccc\[aaa\label{\thenumber}\]\end{proof}
\begin{proof}ee\end{proof}
\end{document}
Não relacionado ao problema de espaço (já que seria o mesmo com \label{zzz}
), mas usar \label
uma chave de rótulo gerada por contador é uma construção bastante estranha.