如何告诉 LaTeX 自动删除字符串中的包围花括号以便与 biblatex 一起使用?

如何告诉 LaTeX 自动删除字符串中的包围花括号以便与 biblatex 一起使用?

我正在使用 biblatex 和参考书目管理器 Referencer。我想使用 bib 文件的 url 字段链接到页面。但是,Referencer 的 url 格式如下

url = {{ http://... }}

而不是通常只有一个括号的格式。在 biblatex 中,Url 字段按字面意思解释,因此我{ http:// ... }在 pdf 中获得了链接,因此它们不起作用。由于每次我通过 Referencer 更改参考书目文件时,花括号都会重新出现,因此浏览 bib 文件并删除多余的括号对我来说不是一个解决方案。有没有办法告诉 LaTeX 在将结果传递给之前自动删除括号\href

答案1

确保您使用的是 biblatex 2.0+ 和 biber 1.0+,并将其放在您的序言中:

\DeclareSourcemap{
  \maps[datatype=bibtex]{
    \map[overwrite]{
      \step[fieldsource=url,
            match=\regexp{\A\{(.+)\}\z},
            replace=$1]
    }
  }
}

当然,您可以根据自己的喜好调整正则表达式。请参阅当前biblatex手册的第 4.5.2 节。

相关内容