我遇到的问题是.bib
文件中带有反斜杠的 URL 无法正确链接。
我正在使用 Mendeley 生成一个 .bib 文件,该文件通过包导入并用于文档的参考文献部分biblatex
。
Mendeley 使用反斜杠转义 url 字段中的一些特殊字符(因此 _ 变为 \_)。据我了解,biblatex
希望这些 url 不带转义字符。这很可能是导致问题的原因。
所以我认为没有一个干净的包选项可以告诉biblatex
如何处理 URL 字段中的反斜杠。如果有的话,那将是解决问题的理想方法。
如果没有,我考虑对url
LaTeX 中的字段进行 for 循环并删除所有 '\'。但我对 LaTeX 编程还不够熟悉,无法做到这一点。
答案1
如果biber
用作后端,解决方案是用来\DeclareSourcemap
清理url
。
\DeclareSourcemap{
\maps[datatype=bibtex]{
\map{
\step[fieldsource=url,
match=\regexp{\\_},
replace=\regexp{_}]
}
}
}
答案2
要通过命令行执行此操作(以便包含在其他处理工具中),您可以执行一个简短的 python 脚本:
f=open("in.bib", "r")
for line in f:
if "url" in line:
print line.replace("\\_","_"),
else:
print line,
并像这样启动它:
python filter.py > out.bib