Я создал новый bst-файл с помощью makebst, но хочу внести в него одно изменение, но понятия не имею, как это сделать.
Текущий 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
Я предполагаю, что у вас все еще есть файл .dbj, makebst
созданный утилитой вместе с файлом .bst.
Предположим, что полные имена файлов 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}