O uso inteligente é seguro?

O uso inteligente é seguro?

Algumas vezes fui alertado contra o uso cleverefporque ele faz alterações fundamentais em alguns dos comandos básicos do LaTeX, como \label. Esta preocupação é justificada e quais são os problemas de carregá-la? Existem boas razõesnãopara usá-lo?

Responder1

Como funciona o smartef

Cleveref aumenta o \labelcomando para gravar algumas informações adicionais no .auxarquivo. Esta parte não é particularmente invasiva, pois mantém \labelintacta a implementação original e todas as funções padrão que dependem dela ainda funcionarão (por exemplo, o \refcomando normal). O segundo comando aumentado é \refstepcounter: novamente, a funcionalidade original está sendo preservada e isso não deve causar problemas.

Quase todos os pacotes de melhoria de funcionalidade redefinem os comandos padrão de alguma forma (por exemplo, modificando listas, seções, equações...). Todas as outras funcionalidades (ou seja, o \crefcomando) estão sendo tratadas em funções totalmente separadas.

Problemas potenciais

Quase todos os problemas vêm do uso do \refstepcountercomando - ou melhor, da falta de seu uso. Todos os pacotes que o utilizam funcionarão com inteligência pronta para uso. Para quem não tem, existem duas opções:

  1. Cleveref tem suporte integrado para este pacote e tudo funcionará bem.
  2. Cleveref não tem suporte e seu uso \cref{label}produzirá uma saída incorreta (incorreto significa um rótulo ausente e um número potencialmente incorreto). Isso causará avisos, mas ainda será compilado. Agora você tem duas opções:
    1. Use o \refcomando normal. Isso sempre funcionará.
    2. Envie um e-mail para Toby Cubitt e peça para ele adicionar suporte para o pacote.

Se você quiser ter uma ideia dos problemas que as pessoas enfrentam com a inteligência, basta navegarhttps://tex.stackexchange.com/questions/tagged/cleveref!

Os pacotes Cleveref e breqn não funcionam bem juntoseFazendo o refcheck funcionar com o smartefsão alguns problemas típicos que você pode encontrar.

Por último, a documentação do intelligentef tem uma seção sobre poor mans cleveref- quando você precisa enviar seu código-fonte LaTeX para outra pessoa, e essa pessoa não tem o intelligentef instalado. Acho que isso pode ter sido um problema nos primeiros dias deste pacote, mas tem sido um pacote padrão para todas as principais distribuições tex há provavelmente 5 anos - então é improvável que isso seja um problema.

Por que você deve usar o smartef

Porque é inteligente e realmente simplifica suas referências cruzadas. Eu gostaria de indicar a vocêDiferença entre ref, variref e intelligentef. Decisão para uma tese,Pacotes de referência cruzada: quais usar, quais conflitos?eComo obter referências mais completas.

informação relacionada