我使用 Mendeley 生成参考书目文件和 biblatex 来处理它。我注意到一个问题论文集该领域的参考文献主要类别已定义。请考虑以下示例:
\documentclass[12pt,a4paper]{article}
\usepackage[style=numeric,backend=biber]{biblatex}
\begin{filecontents}{bibliography.bib}
@misc{Witten1994,
archivePrefix = {arXiv},
arxivId = {hep-th/9411102},
author = {Witten, Edward},
eprint = {9411102},
month = {nov},
primaryClass = {hep-th},
title = {Monopoles and Four-Manifolds},
year = {1994}
}
\end{filecontents}
\addbibresource{bibliography.bib}
\usepackage{hyperref}
\begin{document}
\cite{Witten1994}
\printbibliography
\end{document}
参考书目条目是从 Mendeley 生成的文件中复制的。代码生成以下内容:
然而,当我点击链接时,它带我到https://arxiv.org/abs/9411102,不存在。正确的超链接应该是https://arxiv.org/abs/hep-th/9411102。我的问题是:
我该如何修正超链接?
我怎样才能得到arXiv:hep-th/9411102,这是正确的 arxivId,而不是arXiv: 9411102 [hep-th]?
只有不需要我修改参考书目文件的解决方案才是可以接受的。
非常感谢您的帮助!
更新 1:这是 Mendeley 生成的未修改的输出。
@misc{Witten1994,
abstract = {Recent developments in the understanding of {\$}N=2{\$} supersymmetric Yang-Mills theory in four dimensions suggest a new point of view about Donaldson theory of four manifolds: instead of defining four-manifold invariants by counting {\$}SU(2){\$} instantons, one can define equivalent four-manifold invariants by counting solutions of a non-linear equation with an abelian gauge group. This is a ``dual'' equation in which the gauge group is the dual of the maximal torus of {\$}SU(2){\$}. The new viewpoint suggests many new results about the Donaldson invariants.},
archivePrefix = {arXiv},
arxivId = {hep-th/9411102},
author = {Witten, Edward},
eprint = {9411102},
file = {:home/ylpu/Dropbox/Knihovna/files/Witten - 1994 - Monopoles and Four-Manifolds.pdf:pdf},
month = {nov},
primaryClass = {hep-th},
title = {{Monopoles and Four-Manifolds}},
url = {https://arxiv.org/pdf/hep-th/9411102.pdf http://arxiv.org/abs/hep-th/9411102},
year = {1994}
}
更新 2:我将上面代码中的 article 更改为 misc,因为图像是使用 misc 而不是 article 生成的。
关于@article 与@online/@misc 的讨论:
Mendeley 中的选项包括通用的或者杂志文章; 他们生产@misc和@文章。据我所知,没有 @online 选项。下面我给出了另一个示例,其中 [1] 是一篇期刊文章的引用,[2] 和 [3] 分别使用 @misc 和 @article 从 arXiv 引用同一篇文章。我个人更喜欢 arXiv 文章的 @misc,因为我看不出“In: (Nov. 1994)”的任何理由。另一方面,我喜欢期刊文章的“In:”,因为它标志着出版数据的开始 - 期刊、卷、日期、页面。
答案1
给出 2007 年之前的 arXiv 标识符的正确方法biblatex
是输入eprinttype = {arxiv}
和eprint = {<class>/<id>}
。因此,理想情况下,您的示例应该是
@online{Witten1994,
author = {Witten, Edward},
title = {Monopoles and Four-Manifolds},
date = {1994-11},
eprint = {hep-th/9411102},
eprinttype = {arxiv},
}
请注意我如何使用实际存在的条目类型@online
而不是不存在的条目类型@generic
。
使用 2007 年后新方案的论文在字段eprintclass
中只包含类别和数字标识符eprint
@online{wassenberg,
author = {Wassenberg, Jan and Sanders, Peter},
title = {Faster Radix Sort via Virtual Memory and Write-Combining},
date = {2010-08-17},
version = 1,
eprinttype = {arxiv},
eprintclass = {cs.DS},
eprint = {1008.2849v1},
}
这与链接始终指向 是一致的https://arxiv.org/abs/<eprint>
。
出于向后兼容的原因,archivePrefix
是 的别名eprinttype
,因此archivePrefix = {arxiv}
与 相同eprinttype = {arxiv}
。此外,primaryclass
是 的别名eprintclass
。
这解释了你所看到的:arxivId
不是一个已知字段,因此被忽略,archivePrefix
变成eprinttype
,primaryClass
变成eprintclass
,所以你得到的输出是
eprinttype = {arxiv},
eprintclass = {hep-th},
eprint = {9411102},
将产生:
arXiv:9411102 [hep-th]
链接至http://arxiv.org/abs/9411102
您的.bib
条目似乎使用了难以理解的新旧格式以及未知的字段biblatex
。 这绝对应该在文件中修复.bib
。如果 Mendeley 自动产生这种混乱,请向 Mendeley 开发人员投诉。如果某些自动引文导出工具产生了这种混乱(软件生成的书目条目:使用前应检查的常见错误和其他错误),向数据提供者投诉。(至少如果他们声称提供biblatex
兼容数据的话。否则,他们可以隐藏这样一个事实:传统 BibTeX 文件之间没有就.bst
如何处理 arXiv 电子印本达成共识——如果他们提供的话。)
您可以尝试让 Biber 即时修复一些损坏。以下操作的前提是所有旧式 arXiv 标识符都像您的问题中那样呈现。特别是,必须在形式arxivId
后包含完整链接,并且或必须是。如果在中发现,则将被丢弃,这表明我们有一个 2007 年之前的标识符。https://arxiv.org/abs/
<class>/<identifier>
archivePrefix
eprinttype
arxiv
primaryClass
/
arxivId
\DeclareSourcemap{
\maps[datatype=bibtex]{
\map[overwrite=true]{
\step[fieldsource=arxivId]
\step[fieldset=eprint, origfieldval]
\step[fieldsource=eprint, match={/}, final]
\step[fieldset=primaryClass, null]
}
}
}
我没有对新标识符做任何事情,因为我不知道它们在你的.bib
文件中是什么样子的。