未打印带有 elsarticle-harv 的发行号

未打印带有 elsarticle-harv 的发行号

是否可以使用 \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$volumeformat.vol.num.pagesnumber不是以任何方式处理。

您很可能会指出,上面显示的pages函数也没有处理该字段format.vol.num.pages。确实如此。但是,在函数的后面article,确实会遇到以下行

format.journal.pages

并且您假设此函数处理条目类型pages中字段的内容是正确的@article

该怎么办?你大概正在使用elsarticle-harv书目格式的原因可能是 (a) 你准备向 Elsevier 稳定的期刊提交论文,并且 (b) 该期刊要求你只使用这种书目格式。由于格式化的书目条目应该是什么样子是期刊的选择,我会不是弄乱并修改文件elsarticle-harv.bst

相关内容