是否可以使用 \bibliographystyle{elsarticle-harv} 和 \usepackage[round, authoryear]{natbib} 在文章引用中除了卷号外,还可以包含期号?谢谢!
以下是一个例子:
\documentclass[11pt, twoside]{book}
\usepackage{babel}
\usepackage[round, authoryear]{natbib}
\usepackage{url}
\def\urlprefix{doi: }
\begin{document}
Cite \cite{Zsidisin.2001}
\bibliography{References}
\bibliographystyle{elsarticle-harv}
\end{document}
文件 References 中的条目为:
@article{Zsidisin.2001,
author = {Zsidisin, G. A. and Siferd, S. P.},
title = {Environmental purchasing: a framework for theory development},
journal = {European Journal of Purchasing \& Supply Management},
volume = {7},
number = {1},
pages = {61-73},
DOI = {10.1016/S0969-7012(00)00007-1},
year = {2001},
type = {Journal Article}
}
我得到的结果是:
我应该做点别的/不同的事情吗?
谢谢!
答案1
似乎最新版本的elsarticle-harv
参考书目样式(版本 2.1,发布日期为 2018-06-29 04:55:48Z)故意不再打印number
类型条目的字段@article
。也就是说,article
在文件中的函数内部elsarticle-harv.bst
,确实可以找到以下行:
format.vol.num.pages output
在该文件的其他地方,该函数format.vol.num.pages
定义如下:
FUNCTION {format.vol.num.pages}
{ volume field.or.null
duplicate$ empty$ 'skip$
{
"volume" bibinfo.check
}
if$
}
本质上,此函数首先检查字段是否为空或重复。如果条件为真,则执行volume
内置函数。(您可能猜到了它的作用...)如果条件为假,则对 的内容进行排版。请注意,尽管函数名称中存在字符串“num”,但该字段是skip$
skip$
volume
format.vol.num.pages
number
不是以任何方式处理。
您很可能会指出,上面显示的pages
函数也没有处理该字段format.vol.num.pages
。确实如此。但是,在函数的后面article
,确实会遇到以下行
format.journal.pages
并且您假设此函数处理条目类型pages
中字段的内容是正确的@article
。
该怎么办?你大概正在使用elsarticle-harv
书目格式的原因可能是 (a) 你准备向 Elsevier 稳定的期刊提交论文,并且 (b) 该期刊要求你只使用这种书目格式。由于格式化的书目条目应该是什么样子是期刊的选择,我会不是弄乱并修改文件elsarticle-harv.bst
。