[Tex/LaTex] Why this bibtex entry give me a ‘undefined control sequence’

bibtex

Having this bibtex entry in file.bib:

@ARTICLE{Silva2007,
  author = {Newton José Rodrigues da Silva and Jean-Eudes Beuret and Olivier
Mikolasek and Guy Fontenelle and Lionel Dabbadie and Maria Inez Espagnoli Geraldo Martins},
  title = {Modelo Teórico de Análise de Políticas Públicas e Desenvolvimento},
  journal = {Revista de Economia Agrícola},
  year = {2007},
  volume = {54},
  pages = {43-66},
  number = {2},
  month = {jul/dez},
  file = {Silva2007.pdf:Silva2007.pdf:PDF},
  owner = {vinicius},
  school = {Universidade do Estado de São Paulo},
  timestamp = {2012.02.07},
  url = {http://www.cati.sp.gov.br/Cati/_tecnologias/piscicultura/ASP-PISCICULTURA.pdf}
}

Citing like this on file.tex:

\documentclass{abnt}
\usepackage[brazilian]{babel}
\usepackage[utf8]{inputenc}
\usepackage{makeidx}
\usepackage{hyperref}
\usepackage[none]{hyphenat}
\usepackage{abnt-UFPR}
\usepackage{abntcite}
\usepackage{color}

(..)

\cite{Silva2007}

(..)

\renewcommand{\-}{\penalty 0}
\bibliography{tg}

And compiling it like:

pdflatex file.tex
bibtex file.aux
pdflatex file.tex
pdflatex file.tex

Will prompt on the following error:

[26]) (./tg.bbl [27] [28]
! Undefined control sequence.
<argument> ...ti\-.sp\-.gov\-.br\-/Cati\-/\underl 
                                                  ine{\^^M}tecnologias\-/pis...
l.215 ...logias/piscicultura/ASP-PISCICULTURA.pdf}
                                              .}

Any help is much appreciated.

Best Answer

The error is related to the _ in your url field. I'd add \usepackage{url} to the document preamble and replace

url = {http://www.cati.sp.gov.br/Cati/_tecnologias/piscicultura/ASP-PISCICULTURA.pdf}

by

url = {\url{http://www.cati.sp.gov.br/Cati/_tecnologias/piscicultura/ASP-PISCICULTURA.pdf}}

in your .bib file.

My output:

My output

Hope it helps. :)

Edit: As pointed by Legolas in the comments, some bibliography styles already manage url fields nicely, so the \url trick is not needed.

For abntcite, there's a remark in the manual to load hyperref before abntcite, so the url fields will be correctly displayed. It's a matter of adding

\usepackage{hyperref}
\usepackage{abntcite}

and everything will work as expected, without the need of changing the url field in your .bib file.

My new output:

New output