使 hyperref 与 biber 协同工作时出现问题

使 hyperref 与 biber 协同工作时出现问题

以下是我的最小工作示例。我有一个 .bib 文件,由

@article{example,
    author  =   {Author},
    title   =   {Title},
    journal =   {Journal},
    year    =   {2018},
    url     =   {\href{https://arxiv.org/abs/1606.08794}{arXiv:1606.08794}}
}

和一个 .tex 文件

\documentclass{article}

\usepackage[backend=biber,style=alphabetic]{biblatex}
\usepackage{hyperref}
\addbibresource{biblio.bib}
\renewbibmacro{in:}{} % cosmetical

\begin{document}
    I want to cite \cite{example}.

    \printbibliography
\end{document}

输出的书目只有一个条目

[Aut18] 作者,“标题”。杂志(2018)。网址: https://arxiv.org/abs/1606.08794%7D%7BarXiv:1606.08794%7D

而不是期望的

[Aut18] 作者,“标题”。杂志(2018)。网址:arXiv:1606.08794

我看到了发生了什么,也大致了解了问题所在,但我不知道如何解决。有人知道如何让它工作吗?

注 1:如果我仅输入url = {https://arxiv.org/abs/1606.08794},那么我将获得参考书目中作为超链接的完整 URL,但我真的希望它是缩写形式。

注 2:我从我的参考书目中随机选取了一篇文章作为链接。

答案1

url字段是逐字读取的,并且必须始终是纯 URL。您无需转义任何特殊字符,也不能使用任何标记命令。

如果您希望 URL 字段使用不同的格式,则必须通过 修改字段格式\DeclareFieldFormat。这里不需要这样做,因为biblatex有处理 arXiv 预印本的原生方法。您可以使用eprint

eprint      = {1606.08794},
eprinttype  = {arxiv},

或许还

eprintclass = {math.AT},

相关内容