sexta-feira, 30 de janeiro de 2009

ABNTeX: mudando o nome da seção bibliografia

Já falamos aqui sobre o ABNTeX, lembra? Trata-se de um pacote que pode ser facilmente instalado em sistemas como Windows/Linux/Mac (detalhes sobre a instalação nas distribuições teTeX e MikTeX podem ser encontradas neste artigo) para escrever documentos segundo as normas da ABNT. Existe, no entanto, um problema que vem trazendo um pouco de dor de cabeça a usuários não tão familiarizados com o LaTeX: modificar o nome da seção de referências bibliográficas.

Voltando ao post original, O ABNTeX trata basicamente de combinar as normas da ABNT com a funcionalidade do LaTeX.
A Associaçao Brasileira de Normas Técnicas (ABNT) é a associação que dita as normas que devem ser seguidas por documentos ditos técnicos, tais como dissertações, teses e monografias. (...) Para facilitar então a rotina de construir um documento LaTeX já nas normas da ABNT, um grupo lançou o pacote ABNTeX (...).

Para escrevermos dissertações, teses e monografias somos submetidos a outras normas: as normas locais, pertencentes à instituição que abriga o trabalho. No IFSC, por exemplo, exige-se que a seção com as referências bibliográficas seja nomeada Referências. Por padrão, o ABNTeX a chama de Referências Bibliográficas. Como a classe abnt é bem parecida com a report, deveria funcionar utilizarmos a seguinte macro

\renewcommand{\bibname}{Referências}

Esta macro deve ser inserida no preâmbulo. Para os que não usam o pacote inputenc,

\renewcommand{\bibname}{Refer\^{e}ncias}

No entanto isto não gera efeito nenhum. Nenhum erro é apontado, nem nada: o nome da seção continua sendo Referências bibliográficas. Usando macro para classes tipo book,

\renewcommand{\refname}{Referências}

Mas também não ocorre nada além de um belo erro: veremos a seguir que o padrão pra classe abnt é a macro \bibname.

Há uma última maneira, nada recomendável, que com certeza funciona: alterar um dos arquivos de definições da classe abnt. Como não tenho a instalação do MikTeX aqui comigo, vou passar como deve ser feito em linux (não deve depender de distribuição) [1]. Se você usa MikTeX, continue lendo.

Procure o arquivo abntex-text-pt_BR.def, que deve estar localizado na pasta

/usr/share/texmf/tex/latex/abntex/

Neste arquivo, algumas definições são feitas e dentre elas está o nome da seção de bibliografia. Edite este arquivo como super usuário, ou seja,

sudo emacs abntex-text-pt_BR.def

Após fornecer sua senha de administrador, procure pela linha em que está a seguinte macro.

\providecommand{\ABNTbibliographyname}{\bibname}

Deve ter mais coisas escritas nessa linha, mas ignore. Substitua essa linha por

\providecommand{\ABNTbibliographyname}{Refer\^{e}ncias}

Isso funciona. Mas definitivamente não é a melhor opção.

Para usuários MikTeX, basta localizar o mesmo arquivo em seu sistema e alterar a mesma linha. Feito isso, será necessário atualizar o MikTeX sobre essas mudanças. Para isso, vá em Iniciar/Programas/MikTeX e abra o MikTeX Options. Na primeira das abas, clique no botão Refresh Now.

Originalmente, \providecommand{\ABNTbibliographyname}{\bibname} significa que a macro \bibname deveria alterar o nome da seção. Mas isso não está funcionando. Por isso, estamos deixando fixo o nome da seção como Referências. Seria muito chato ter que alterar este arquivo toda vez que o nome da seção for diferente, mas o que me parece é que trata-se de um bug ainda não resolvido. Se alguém tiver alguma informação adicional, por favor divida conosco.

Nota

[1] Arquivos com extensão cls, def e sty, dentro de ambintes TeX, são arquivos de configuração que independem de plataforma.




11 comentários: