我对以下代码有点熟悉bst
,如果我向上或向下移动一行,它在 pdf 中的外观也会相应改变。
FUNCTION {article}
{ output.bibitem
format.authors "author" output.check
new.block
format.title "title" output.check
new.block
crossref missing$
{
journal
"journal" bibinfo.check
emphasize
"journal" output.check
add.blank
format.date "year" output.check
format.vol.num.pages output
}
{ format.article.crossref output.nonnull
format.pages output
}
if$
new.block
format.url output
new.block
format.note output
format.eprint output
fin.entry
}
但我不知道如何拆开元素format.vol.num.pages output
并单独使用它们?
我试过了format.vol output
,但是没有用。
答案1
format.vol.num.pages
是在文件其他地方定义的函数.bst
。调用的函数format.vol
不存在。
对于所需的“ <volume>
() ”顺序,您可能需要定义
FUNCTION {format.vol.year.pages}
{ "{ \bfseries " volume field.or.null * "}" * % make volume bold face
year empty$
'skip$
{ " (" year * ")" * * }
if$
pages empty$
'skip$
{ duplicate$ empty$
{ pop$ format.pages }
% { ":" * pages n.dashify * } % TDS
{ ", " * pages n.dashify * } % comma, not colon TDS
if$
}
if$
}
而是使用如下方法
FUNCTION {article}
{ output.bibitem
format.authors "author" output.check
new.block
format.title "title" output.check
new.block
crossref missing$
{
journal emphasize "journal" output.check
#0 'docomma := % TURN COMMAS OFF
format.vol.year.pages output % these now do their own comma!!
#1 'docomma := % TURN COMMAS ON
}
{ format.article.crossref output.nonnull
format.pages output
}
if$
new.block
note output
fin.entry
}