如何在 bst 文件中的引用卷后添加逗号

如何在 bst 文件中的引用卷后添加逗号

我已经使用 makebst 创建了一个新的 bst 文件,但我想对其进行一处更改,却不知道如何操作。

当前bst创建引用如下:

在此处输入图片描述

但是,我需要在卷号后面加一个逗号,在本例中是“41”。所以应该是

聚合物工程与科学,41,1471,2001。

看来我需要修改该format.vol.num.pages功能,但我不知道在哪里插入什么代码才能进行这种调整。

FUNCTION {format.vol.num.pages}
{ volume field.or.null
  duplicate$ empty$ 'skip$
    {
      "volume" bibinfo.check
    }
  if$
  eid empty$
    { format.journal.pages }
    { format.journal.eid }
  if$
}

我不了解 bst 文件语法,如果此功能提供的信息不足以应用适当的修改,请告诉我。

谢谢。

答案1

我假设您仍然拥有该makebst实用程序与.bst 文件一起创建的.dbj 文件。

我们假设 dbj 和 bst 文件的完整文件名分别为test.dbjtest.bst

在 dbj 文件的大约一半位置,您应该找到以下代码块:

%VOLUME PUNCTUATION:
%   %: (def) Volume with colon
% volp-sp,%: Volume with colon and space
% volp-semi,%: Volume with semi-colon
  volp-com,%: Volume with comma
% volp-blk,%: Volume with blank

嗯,这个应该如果您已成功指示实用程序在卷号后放置逗号,则为代码块makebst。但是,我怀疑您选择了最后一个选项——“b”表示“空白”——而不是“c”表示“逗号”。如果我的直觉是正确的,我建议您注释掉代码块中的最后一行并取消注释倒数第二行。目标应该是模仿上面显示的屏幕截图的外观。

然后,保存 dbj 文件并运行pdflatex test.dbj重新创建test.bst


下面使用test.bst我使用makebst实用程序创建的文件,其中我小心地c为问题“音量标点符号”选择了答案(“逗号”):

在此处输入图片描述

在此处输入图片描述

\documentclass{article} % or some other suitable document class

%% Create a sample bib file "on the fly"
\begin{filecontents}[overwrite]{mybib.bib}
@article{gst:2001,
  author  = "Jayamol George and M. S. Sreekala and Sabu A. Thomas",
  title   = "A review on interface modification and 
             characterization of natural fiber 
             reinforced plastic composites",
  journal = "Polymer Engineering and Science",
  volume  = 41,
  number  = 9,
  pages   = "1471--1485",
  year    = 2001,
}
\end{filecontents}

\usepackage[a4paper,margin=2.5cm]{geometry} % set page parameters as needed
\usepackage[numbers]{natbib}
\bibliographystyle{test} % <-- newly created bst file

\begin{document}
\noindent
\cite{gst:2001}
\bibliography{mybib}
\end{document}

相关内容