我正在尝试让 BibTeX 符合特定期刊的标准(它们与 APA 非常相似)。我使用可爱的包 custom-bib 构建了一个自定义 .bst 文件,除了两点之外,它运行良好。
对于一本没有作者但有编辑的书,我的 .bst 文件生成
Cook,E.和Kariukstis,L.(编辑),1990年。树木年轮学方法:在环境科学中的应用、克鲁维尔学术出版社
但我希望它能产生
Cook, E. 和 Kariukstis, L. (編輯), 1990. 树木年轮学方法:在环境科学中的应用, Kluwer Academic Publishers
请注意 (Editors) 中的差异以及缺少标题斜体。我知道如果没有实际的 .bst 文件,这是无法重现的,但我希望有人能给我指出正确的方向。也许以下函数是相关的。BST 语法对我来说很难理解。
FUNCTION {bbl.editors}
{ "editors" }
FUNCTION {format.editors}
{editor "editor" format.names duplicate$ empty$ 'skip$
{
" " *
get.bbl.editor
"(" swap$ * ")" *
*
}
if$
}
FUNCTION {format.names}
{ 'bibinfo :=
duplicate$ empty$ 'skip$ {
's :=
"" 't :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr
"{vv~}{ll}{, jj}{, f{.}.}"
format.name$
bibinfo bibinfo.check
't :=
nameptr #1 >
{
namesleft #1 >
{ ", " * t * }
{
s nameptr "{ll}" format.name$ duplicate$ "others" =
{ 't := }
{ pop$ }
if$
numnames #2 >
{ "," * }
'skip$
if$
t "others" =
{
" " * bbl.etal *
}
{
bbl.and
space.word * t *
}
if$
}
if$
}
't
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$
} if$
}