文章引用的数量和数量

文章引用的数量和数量

我正在尝试引用没有卷号的在线期刊:

 @article{Meusy2002,
 url = {https://doi.org/10.4000/1895.219},
 title = {Lorsque l’orgue s’invita au cinéma},
 author = {Jean-Jacques Meusy},
 journal = {1895. Mille huit cent quatre-vingt-quinze},
 number = {38},
 year = {2002},
 }

根据我需要遵循的风格指南,这应该是这样的:

Meusy, Jean-Jacques, 2002, 《当管弦乐队邀请我去电影院时》1895. 千分之四十九,第 38 号,https://doi.org/10.4000/1895.219

我已经能够使用提供的简单解决方案实现这一点这里。但是,我必须遵循的样式指南要求,具有卷号的条目在其前面加上“vol”。(卷号和卷号前缀分别在自定义 .bst 文件中定义,使用

FUNCTION {bbl.volume}
{ "vol." }

和 bbl.nr 的等价物);因此,假设的例子:

Meusy, Jean-Jacques, 2002, 《当管弦乐队邀请我去电影院时》1895. 千分之四十九, 第卷1,没有。 38岁,https://doi.org/10.4000/1895.219

采用我链接到的解决方案,这似乎不起作用,因为我在这种假设情况下得到的输出是:

Meusy, Jean-Jacques, 2002, 《当管弦乐队邀请我去电影院时》1895. 千分之四十九,1,第38号,https://doi.org/10.4000/1895.219

我尝试了链接解决方案与默认 makebst 代码的各种改编/组合,但到目前为止,我最好的解决方案是

FUNCTION {format.vol.num.pages}
{ volume field.or.null
  duplicate$ empty$ 'skip$
    {
      bbl.volume swap$ tie.or.space.prefix
      "volume" bibinfo.check
      * *
    }
  if$
  number empty$
    'skip$
    { bbl.nr * number * }
  if$
}

这让我几乎到达那里;但我不知道如何在两个元素之间添加所需的逗号和空格:

Meusy, Jean-Jacques, 2002, 《当管弦乐队邀请我去电影院时》1895. 千分之四十九,第 1 卷,第 38 期,https://doi.org/10.4000/1895.219

谢谢!

答案1

找到了!(适用于所有四种可能的变体:音量和数字都存在;只有音量;只有数字;当然如果两者都不存在)

如果有人遇到这样的事情;解决我的问题的方法很简单:

FUNCTION {format.vol.num.pages}
{ volume field.or.null
  duplicate$ empty$ 'skip$
    {
      bbl.volume swap$ tie.or.space.prefix
      "volume" bibinfo.check
      * *
    }
  if$
  volume empty$
  number empty$
  or
    'skip$
    { ", " *  }
  if$
  number empty$
    'skip$
    { bbl.nr * number * }
  if$
}

这与我之前的最佳解决方案之间的关键区别在于中间的小检查,这需要我对 bst 文件的语法有一些基本的了解。我建议如果你像我一样不熟悉 bst,但至少有一些基本的编码知识。

相关内容