为什么这个 bibtex 条目给我一个“未定义的控制序列”?

为什么这个 bibtex 条目给我一个“未定义的控制序列”?

有这个 bibtex 条目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}
}

像这样引用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}

并像这样编译它:

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

会提示如下错误:

[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}
                                              .}

任何帮助深表感谢。

答案1

_该错误与您所在领域的有关url。我会\usepackage{url}在文档前言中添加并替换

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

经过

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

在您的.bib文件中。

我的输出:

我的输出

希望能帮助到你。:)

编辑:正如 Legolas 在评论中指出的那样,一些书目样式已经url很好地管理了字段,因此\url不需要这个技巧。

对于abntcite,手册中有一个注释,hyperref在 之前加载abntcite,因此url字段将正确显示。只需添加

\usepackage{hyperref}
\usepackage{abntcite}

一切都将按预期工作,而无需更改文件url中的字段.bib

我的新输出:

新输出

答案2

在类似情况下,对我有帮助的是易碎的马克罗斯的保护,通过\protect\url{...}沃纳解释如下: https://tex.stackexchange.com/a/51052/110394

希望这对某人有帮助。

相关内容