我在用ama.bst在我的稿件中格式化参考书目,但它似乎为单一作者的出版物增加了不必要的空间。
我怀疑格式化名称的函数有问题,但还没能弄清楚:
FUNCTION {format.names}
{ 's := % push the name s, pop s and author (already on stack), assign author to s
#1 'nameptr :=
#0 'etal :=
s num.names$ 'numnames :=
numnames #6 >
{#3 'numnames :=
#1 'etal :=
}
{}
%end if
if$
numnames 'namesleft :=
{ namesleft #0 > }
{s nameptr "{ll~}{ff}" format.name$ 't :=
namesleft #1 >
{t * ", " * }
{t}
%end if
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$
etal
{", et al. "}
{". "}
if$
*
}
FUNCTION {format.authors}
{ author empty$
{ "" }
{ author format.names }
if$
}
我是否遗漏了什么?
答案1
你可以使用 hack
author={{R Core Team}, \unskip}
或者你可以编辑该.bst
文件(比如说,用不同名称的副本ama-mod.bst
),使其包含以下行
{s nameptr "{ll~}{ff}" format.name$ 't :=
改变成
{s nameptr "{ll}{~ff}" format.name$ 't :=
因此只有当名字存在时才会添加空格。您的条目现在可以具有标准
author={{R Core Team}}