这里有很多关于 bibtex 中 doi 字段的问题,但它们都是(至少我发现的)关于为所有参考文献添加 doi 的问题。如果您只想在参考书目中的单个参考文献中添加它,您应该怎么做(假设您使用的是排除 doi 的样式文件)。
期望的输出是作者、年份、标题、期刊、卷、期、页码。这些似乎是样式文件唯一没有忽略的字段。我想将 DOI 放在末尾,用于一篇正在印刷的论文。我知道我可以在年份字段中输入“正在印刷”,但实际上给出了年份,因为这篇论文出现在期刊的网站上。理想情况下,我想用 DOI 替换此参考文献的页码、卷或期。
下面是两个参考文献和相应的样式文件,用作最小可重现示例。
@article{berec2015,
title={Designing efficient surveys: spatial arrangement of sample points for detection of invasive species},
author={Berec, Lud{\v{e}}k and Kean, John M and Epanchin-Niell, Rebecca and Liebhold, Andrew M and Haight, Robert G},
journal={Biological Invasions},
volume={17},
number={1},
pages={445--459},
year={2015},
publisher={Springer}
}
@article{oclea2015,
title={The danger of fictitious invasive species},
author={oclea, Mason},
journal={Fake Journal of Ecology},
year={2015},
volume={},
number={},
pages={1--15. DOI:10.1899/15-9834.6}
}
\documentclass[12pt,reqno]{article}
\setlength\parindent{0pt} %no auto indentation for new paragraphs
\usepackage{geometry}
\geometry{a4paper}
\usepackage{natbib}
\begin{document}
\citep{berec2015}
\citep{oclea2015}
\bibliographystyle{BESJournalsStyleFile}
\bibliography{BibTexFileGoesHere}
\end{document}
使用 Bibstyle BESJournalsStyleFile
,可以在这里找到https://www.ctan.org/tex-archive/biblio/bibtex/contrib/besjournals?lang=en。我尝试过在所有字段中添加 DOI。上面的作者选项oclea2015
在 PDF 中的 DOI 之前产生了一个奇怪的页面。
答案1
书目样式besjournals
似乎与名为 的字段没有任何关系doi
。因此,对于您想要显示 doi 相关信息的任何条目,您需要将该信息放在 字段中note
,幸运的是,该字段将放在格式化条目的末尾。
对于列出的第二个条目,您应该创建以下近似重复的条目(请注意-doi
条目键中的额外字符串):
@article{oclea2015-doi,
title={The danger of fictitious invasive species},
author={Oclea, Mason},
journal={Fake Journal of Ecology},
year={2015},
note={\mbox{doi}:\url{10.1899/15-9834.6}}
}
当然,你应该保留原始条目——和正确的volume
、number
和pages
字段,但没有note
字段 -- 。这样,您可以选择将哪个条目(带有或不带有 doi 信息的条目)包含在参考书目中。
\RequirePackage{filecontents} % make this a self-contained example
\begin{filecontents}{BibTexFileGoesHere.bib}
@article{berec2015,
title={Designing efficient surveys: spatial arrangement of sample points for detection of invasive species},
author={Berec, Lud{\v{e}}k and Kean, John M and Epanchin-Niell, Rebecca and Liebhold, Andrew M and Haight, Robert G},
journal={Biological Invasions},
volume={17},
number={1},
pages={445--459},
year={2015},
publisher={Springer},
}
@article{oclea2015,
title={The danger of fictitious invasive species},
author={Oclea, Mason},
journal={Fake Journal of Ecology},
year={2015},
volume={},
number={},
pages={1--15},
doi={10.1899/15-9834.6},
}
@article{oclea2015-doi,
title={The danger of fictitious invasive species},
author={Oclea, Mason},
journal={Fake Journal of Ecology},
year={2015},
doi={10.1899/15-9834.6},
note={\mbox{doi}:\url{10.1899/15-9834.6}}
}
\end{filecontents}
\documentclass[12pt,a4paper]{article}
\setlength\parindent{0pt} %no indentation for first lines of paragraphs
\usepackage{geometry,natbib,url}
\begin{document}
\nocite{*} % include all entries in the bib file
\bibliographystyle{besjournals}
\bibliography{BibTexFileGoesHere}
\end{document}
答案2
这是一个令人讨厌的黑客行为,但不幸的是,克服样式文件默认设置并不那么简单。我在评论中提出的建议是将 DOI 附加到页面:
pages = {1--15. DOI:10.1899/15-9834.6}
在样式看到卷为空白后切换到此模式,在页面详细信息前面附加 pp.。 解决方案是在卷字段中放置一个负空间,这样样式文件就会乐意将其视为常规期刊文章:
volume = {\kern-0.3em}
这应该可以,但有一个警告:卷后的标准逗号仍会打印,如果期刊名称恰好与右边距齐平,它将打印在新行上。我本质上希望你的真实标题不会出现这个问题,而你的假标题是例外。
为了我自己的理智,除了使用页面字段,您还可以像 Steven 建议的那样将 DOI 放在注释字段中,这会让视觉效果更好一些。如果您只是单独执行此操作,并且由于某种原因您的样式文件不喜欢将首字母大写(这意味着如果您选择使用注释字段,您需要将其列为“doi”而不是“DOI”),则仍然会添加 pp.。
我正在进行的 oclea2015 条目:
@article{oclea2015,
title={The danger of fictitious invasive species},
author={oclea, Mason},
journal={Journal of Ecology},
year={2015},
volume={\kern-0.3em},
number={},
pages={1--15},
note={doi:10.1899/15-9834.6}
}