我在文章文档类中使用样式作为参考natbib
:apsrev
\documentclass{article}
\usepackage[]{natbib}
\usepackage{hyperref}
\hypersetup{colorlinks = true}
\bibliographystyle{apsrev}
\begin{document}
This is referring to \cite{example}.
\bibliography{eprint_ref}
\end{document}
我正在尝试显示 doi 和 arXiv 链接,如我的eprint_ref.bib
文件中所写:
@article{example,
author = {A. Author},
title = {The title of this article},
journal = {JCAP},
volume = {1212},
pages = {022},
year = {2035},
doi = {10.1088/1475-7516/2012/12/022},
url = {https://doi.org/10.1088/1475-7516/2012/12/022},
archivePrefix = {arXiv},
eprint = {1210.6104},
primaryClass = {astro-ph.CO}
}
但是,arXiv 链接显示错误,指向错误的地址1210.6104
(不是 url)。
doi 打印正确,但是后面有一个难看的URL https://doi.org/
术语。
如果有人能建议如何正确打印 arXiv 链接,这对我真的很有帮助。
答案1
apsrev
将字段包装eprint
在\eprint
命令中并提供以下后备定义\eprint
:\providecommand{\eprint}[2][]{\url{#2}}
。
如果你知道你所有的eprint
s 都只是 arXiv 链接,你可以在序言中使用以下定义(如果你加载hyperref
)
\newcommand{\eprint}[2][]{\href{https://arxiv.org/abs/#2}{arXiv:~\nolinkurl{#2}}}
如果您有指向其他 eprint 服务器的链接eprint
并通过 区分它们archivePrefix
,则需要进行编辑apsrev
,因为它会丢弃来自 的信息archivePrefix
。
\documentclass{article}
\usepackage{natbib}
\usepackage{hyperref}
\hypersetup{colorlinks = true}
\bibliographystyle{apsrev}
\newcommand{\eprint}[2][]{\href{https://arxiv.org/abs/#2}{arXiv:~\nolinkurl{#2}}}
\begin{filecontents}{\jobname.bib}
@article{example,
author = {A. Author},
title = {The title of this article},
journal = {JCAP},
volume = {1212},
pages = {022},
year = {2035},
doi = {10.1088/1475-7516/2012/12/022},
url = {https://doi.org/10.1088/1475-7516/2012/12/022},
archivePrefix = {arXiv},
eprint = {1210.6104},
primaryClass = {astro-ph.CO},
}
\end{filecontents}
\begin{document}
This is referring to \cite{example}.
\bibliography{\jobname}
\end{document}
答案2
为了显示 arXiv 标识符,最合适的样式是apsrev4-1
而不是apsrev
。
除现有字段外,还添加了两个 BibTEX 字段archivePrefix
和。primaryClass
apsrev4-1.bst
eprint
宏\eprint
可用于创建和超链接(如果使用 hyperref)适当的 arXiv.org 标识符作为arXiv:hep-th/1210.6104
或arXiv:1210.6104 [astro-ph.CO]
与primaryClass
PDF 输出中的字段一起。
此外,没有必要在字段url
后包含doi
任何内容。doi
以比案例更好的方式打印和超链接apsrev
。
\documentclass{article}
\usepackage{natbib}
\usepackage{hyperref}
\hypersetup{colorlinks = true}
\bibliographystyle{apsrev4-1}
\begin{filecontents}{\jobname.bib}
@article{example,
Author = {A. Author},
title = {The title of this article},
journal = {JCAP},
volume = {1212},
pages = {022},
year = {2035},
doi = {10.1088/1475-7516/2012/12/022},
archivePrefix = {arXiv},
eprint = {1210.6104},
primaryClass = {astro-ph.CO},
}
\end{filecontents}
\begin{document}
This is referring to \cite{example}.
\bibliography{\jobname}
\end{document}
打印内容: