Usando varioref e intelligentef, o intelligentef diagnostica um documento que o LaTeX sempre deseja executar novamente?

Usando varioref e intelligentef, o intelligentef diagnostica um documento que o LaTeX sempre deseja executar novamente?

Eu tenho um documento grande que o LaTeX sempre deseja executar novamente. Usando a técnica descrita em Como diagnosticar um aviso permanente "Etiqueta(s) pode(m) ter sido alterada(s)"?, rastreei o problema até alguns \vrefs. Mas eu esperava que os problemas \vreffossem sinalizados para mim pelo variorefpacote. A documentação para variorefestados de pacote,

Definir comandos como os descritos acima apresenta alguns problemas interessantes. Suponha, por exemplo, que um texto gerado como “na próxima página” seja dividido entre páginas. Se isso acontecer, será muito difícil encontrar uma solução aceitável e, na verdade, pode até resultar em um documento que sempre mudará de um estado para outro (ou seja, inserir uma string, descobrir que isso está errado, inserir outra string no próxima execução que corrige a primeira string novamente, inserindo . A implementação atual do varioref emite, portanto, uma mensagem de erro sempre que o texto gerado é quebrado através dos limites da página, por exemplo,

table 5 on the current hpage break i page

resultaria em um erro, que precisa ser resolvido pelo usuário, substituindo o \vrefcomando por um comum \refpouco antes da execução final. Isto não é completamente satisfatório, mas, nesse caso, nenhuma solução o é.

O cleverefpacote, que carreguei (corretamente) depois varioref, afirma que foi implementado \vrefcorretamente. Mas é cleverefsuposto replicar esta capacidade de diagnóstico? Preciso descobrir se devo relatar um bug ou uma solicitação de recurso e para qual mantenedor :-)

Tentei e não consegui produzir um MWE que estivesse \vrefexatamente no lugar certo para reproduzir o problema.

Responder1

cleverefdesativa a verificação de referências cruzadas quebradas entre páginas ao redefinir os variorefcomandos para seu próprio uso. Então você pode argumentar que é cleverefculpa, mas há uma razão para isso na implementação atual do pacote.

Atualmente estou trabalhando com Toby para conseguir uma melhor coexistência entre os dois pacotes e também com o hyperrefpacote. Uma vez implementado, esses problemas devem ser diagnosticados corretamente novamente.

As variorefmelhorias para isso provavelmente não chegarão à versão de outono do LaTeX, mas deverão estar disponíveis na versão de inverno.

https://github.com/latex3/latex2e/issues/174

informação relacionada