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
볼륨 번호 뒤에 쉼표를 넣도록 유틸리티 에 성공적으로 지시한 경우 코드 청크가 됩니다 . 그러나 나는 당신이 "쉼표"를 위한 "c" 대신에 "공백"을 위한 "b"라는 최종 옵션을 선택했다고 생각합니다. 내 직감이 맞다면 코드 청크의 마지막 줄을 주석 처리하고 마지막에서 두 번째 줄의 주석 처리를 제거하는 것이 좋습니다. 목표는 위에 표시된 스크린샷의 모양을 모방하는 것입니다.
그런 다음 dbj 파일을 저장하고 실행 pdflatex test.dbj
하여 test.bst
.
다음은 유틸리티 test.bst
를 사용하여 생성한 파일을 사용합니다. 여기에서 "Volume Punctuation" 질문에 대한 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}