如果 URL 中的链接包含~
,Mendeley 会将其更改为$\sim$
,hyperref
链接将不起作用。我使用 pdflatex 和 biblatex。有没有快速手动更改 Mendeley 中的链接以解决此问题的方法?手动编辑library.bib
Mendeley 导出的文件对我来说不是一个选择。
答案1
这绝对是您需要在 Mendeley 层面解决的问题,软件需要确保导出正确的.bib
文件,但http://example.edu/$\sim$elk/bronto.pdf
几乎不正确。URL 应该以无修改的形式详细导出。
但是使用 Biber 的源映射,我们可以尝试保存你的文件,假设你有
@online{bronto,
author = {Anne Elk},
title = {Towards a Unified Theory on Brontosauruses},
date = {1972-11-16},
url = {http://example.edu/$\sim$elk/bronto.pdf},
urldate = {2015-09-07},
}
然后
\DeclareSourcemap{
\maps{
\map{
\step[fieldsource=url,
match=\regexp{\$\\sim\$},
replace=\regexp{\~}]
}
}
}
会将其$\sim$
重新变成~
。
平均能量损失
\RequirePackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@online{bronto,
author = {Anne Elk},
title = {Towards a Unified Theory on Brontosauruses},
date = {1972-11-16},
url = {http://example.edu/$\sim$elk/bronto.pdf},
urldate = {2015-09-07},
}
\end{filecontents*}
\documentclass{article}
\usepackage{biblatex}
\usepackage{hyperref}
\addbibresource{\jobname.bib}
\DeclareSourcemap{
\maps{
\map{
\step[fieldsource=url,
match=\regexp{\$\\sim\$},
replace=\regexp{\~}]
}
}
}
\begin{document}
\nocite{bronto}
\printbibliography
\end{document}
答案2
因此,只需将 Mendeley 中的 url 替换~
为即可\textasciitilde{}
。然后就可以了。请注意,我在 Mendeley 中有“不转义 latex 特殊字符”选项。