我已经使用 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.dbj
和test.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}