‘Sequência de caracteres muito longa’ no BibTeX

O diagnóstico BibTeX “Aviso–você excedeu 1000, o global-string-size, para a entrada foo” geralmente surge de um resumo ou anotação muito grande incluída no banco de dados. O diagnóstico geralmente surge por causa de uma infelicidade na codificação do abstract.bst, ou estilos derivados dele. (Normalmente, não se produzem comentários/anotações em outros estilos.)

A solução é fazer uma cópia do arquivo de estilo (ou obter uma cópia limpa no CTAN — abstract-bst), e renomeá-lo (por exemplo, em um sistema de nome de arquivo longo, para abstract-long.bst). Agora, edite-o: encontre a função output.nonnull e

Finalmente, modifique seu comando \bibliographystyle para se referir ao nome do novo arquivo.

Esta técnica aplica-se igualmente a qualquer estilo de bibliografia: a mesma modificação pode ser feita a qualquer função output.nonnull.

Se você estiver relutante em fazer esse tipo de modificação, o único caminho a seguir será retirar a entrada do banco de dados, para que você não esbarre no limite do BibTeX, mas talvez você precise manter a entrada porque ela vai ser incluída no documento composto. Nesses casos assim, coloque o corpo da entrada em um arquivo separado:

@article{long.boring,
  author =    "Fred Verbose",
  ...
  abstract =  "{\input{abstracts/long.tex}}"
}
Desta forma, você faz com que o BibTeX tenha que lidar apenas com o nome do arquivo, mas que (quando necessário) ele diga ao TeX para incluir o texto longo todo.


Do you have any question? Ask on: latex.net.br - we love qood questions!