使用包含括号的 BibTeX 键和 Biber

使用包含括号的 BibTeX 键和 Biber

我正在尝试使用biblatexBiber 而不是 BibTeX。不幸的是,几乎所有的 BibTeX 条目都有包含冒号和括号的键。例如,

@BOOK{Chambers+Hastie:(92),
  editor               = {Chambers, John M. and Hastie, Trevor J.},
  year                 = 1992,
  title                = {Statistical Models in S},
  publisher            = {Wadsworth and Brooks/Cole Advanced Books and Software},
  address              = {Pacific Grove, CA},
  annote               = {tree,glm,splus},
}

Biber 显然并不关心这一点。有没有一种不涉及更改我所有.bib文件的解决方法?

答案1

恐怕这是因为 biber (btparse) 使用的库故意不允许这样做。它的目的是故意禁止一些比较可疑的 bibtex 构造(参见http://search.cpan.org/~ambs/Text-BibTeX-0.66/btparse/doc/bt_language.pod)。键不能包含以下任何内容:

" # % ' ( ) , = { }

btparse不允许使用圆括号的原因是,它(以及 biber)允许使用圆括号代替大括号,例如:

@BOOK(key,
...
)

因此,修改旧的 PCCTS 解析器来解决这个问题并不是一件容易的事。

然而,可能有帮助的是,biber 支持键别名:

@BOOK{key,
  IDS = {key(withparens)},
  ...
}

这意味着你仍然可以做\cite{key(withparens)}

相关内容