Phys Rev 期刊为每篇论文提供直接的 BibTeX 输出,例如这里只需复制粘贴到 BibTeX 文件中即可,非常方便:
@article{EXP_stack,
title = {Calculation of Multichannel Reactions in the Four-Nucleon System above Breakup Threshold},
author = {Deltuva, A. and Fonseca, A. C.},
journal = {Phys. Rev. Lett.},
volume = {113},
issue = {10},
pages = {102502},
numpages = {5},
year = {2014},
month = {Sep},
publisher = {American Physical Society},
doi = {10.1103/PhysRevLett.113.102502},
url = {http://link.aps.org/doi/10.1103/PhysRevLett.113.102502}
}
当你引用它时,它将出现,例如第 26 条:
[26] A. Deltuva 和 AC Fonseca,Phys. Rev. Lett.113,102502(2014),网址http://link.aps.org/doi/ 10.1103/PhysRevLett.113.102502。
默认情况下,末尾还包含 URL,这确实非常有用,便于访问。但对于要提交的最终版本,它不应该包含它。
问题:我如何排除 URL?即使我.bbl
从 BibTeX 获取文件并将其复制粘贴到 LaTeX 文件的末尾,它仍然保留。显然,我不想手动/sed/grep 从我的主要 BibTeX 文件中删除它们。
作为 99% 的解决方案,我发现添加这些行
\def\urlprefix{}
\def\url#1{}
仅删除 URL 但保留,
和.
,因此输出为:
[26] A. Deltuva 和 AC Fonseca,Phys. Rev. Lett.113,102502(2014),。
有什么干净的解决方案吗?
\documentclass[aps,prl,twocolumn]{revtex4-1}
\begin{document}
\title{Stack Question}
\author{John Smith}
\maketitle
How to cite now? \cite{EXP_stack}
\bibliography{stack}
\bibliographystyle{apsrev}
\end{document}
答案1
我发现的解决方案是修改.bst
文件。
在您的系统上查找apsrev.bst
并在包含您正在处理的文档的目录中复制它,并将其命名为apsrev-nourl.bst
。
使用任何文本编辑器打开此文件并查找format.url
;然后更改
FUNCTION {format.url}
{ url empty$
{ "" }
{ "\urlprefix\url{" url * "}" * }
if$
}
进入
FUNCTION {format.url}{ "" }
这将消耗该物品而不产生任何输出。改变
\bibliographystyle{apsrev}
进入
\bibliographystyle{apsrev-nourl}
然后运行pdflatex+bibtex+pdflatex
。结果如下: