如何抑制使用 bibtex 引用 arXiv 时显示的空卷条目?

如何抑制使用 bibtex 引用 arXiv 时显示的空卷条目?

我目前正在使用 latex 和 bibtex 撰写论文,并希望引用一些带有 bibtex 条目的 arXiv 文章,例如

@article{attention,
  author    = {Dzmitry Bahdanau and
               Kyunghyun Cho and
               Yoshua Bengio},
  title     = {Neural Machine Translation by Jointly Learning to Align and Translate},
  journal   = {arXiv preprint arXiv:1409.0473},
  year      = {2014}
}

引用此条目时,结果输出为 [Bahdanau & Cho + 14] D. Bahdanau, K. Cho, Y. Bengio. Neural machine Translation by jointly learning to align and Translation. arXiv preprint arXiv:1409.0473, Vol., 2014.

它有一个空的卷条目。我如何才能隐藏 arXiv 的这个卷条目?我认为,一个解决方案可能是更改 .bst 文件,它是我论文模板的一部分。这是 bst 文件的一部分,我认为它可能相关:

FUNCTION {format.vol.num.pages}
{ "Vol." volume tie.or.space.connect % field.or.null
  number empty$
    'skip$
    { ", No." number tie.or.space.connect *
      volume empty$
        { "there's a number but no volume in " cite$ * warning$ }
        'skip$
      if$
    }
  if$
  pages empty$
    'skip$
    { duplicate$ empty$
        { pop$ format.pages }
        { ", pp.~" * pages n.dashify * }
      if$
    }
  if$
}

不幸的是,我不知道 .bst 文件是如何工作的。要清楚的是,我并不想删除所有卷条目,但只有在缺少条目的情况下,我才希望什么都不出现,而不是出现空的卷。

答案1

现在,在 Andrew 的评论和反复试验的帮助下,我找到了解决方案。我更改了 format.vol.num.pages 的代码以处理缺少卷条目的情况:

FUNCTION {format.vol.num.pages}
{ volume empty$
    'skip$
    {  "Vol." volume tie.or.space.connect }% field.or.null
  if$
  number empty$
    'skip$
    { ", No." number tie.or.space.connect *
      volume empty$
        { "there's a number but no volume in " cite$ * warning$ }
        'skip$
      if$
    }
  if$
  pages empty$
    'skip$
    { duplicate$ empty$
        { pop$ format.pages }
        { ", pp.~" * pages n.dashify * }
      if$
    }
  if$
}

相关内容