我已經使用 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}