我想要以下文本引用:
霍林斯沃思、西蒙斯、科茨和克罗斯 (1991)
(Hollingsworth、Simmons、Coates 和 Cross,1991 年)
显示为:
Hollingsworth、Simmons、Coates 和 Cross (1991)
(Hollingsworth、Simmons、Coates 和 Cross,1991 年)
请注意,唯一的区别是最后一位作者前的逗号。
谢谢。
答案1
我已经解决了。
代替:
FUNCTION {format.full.names}
{'s :=
"" 't :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr
"{vv~}{ll}" format.name$
't :=
nameptr #1 >
{
nameptr #9
#90 +
#1 + =
numnames #9
#90 +
> and
{ "others" 't :=
#1 'namesleft := }
'skip$
if$
namesleft #1 >
{ ", " * t * }
{
s nameptr "{ll}" format.name$ duplicate$ "others" =
{ 't := }
{ pop$ }
if$
t "others" =
{
" " * bbl.etal *
}
{
bbl.and
space.word * t *
}
if$
}
if$
}
't
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$
}
和:
FUNCTION {format.full.names}
{'s :=
"" 't :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr
"{vv~}{ll}" format.name$
't :=
nameptr #1 >
{
nameptr #9
#90 +
#1 + =
numnames #9
#90 +
> and
{ "others" 't :=
#1 'namesleft := }
'skip$
if$
namesleft #1 >
{ ", " * t * }
{
s nameptr "{ll}" format.name$ duplicate$ "others" =
{ 't := }
{ pop$ }
if$
t "others" =
{
" " * bbl.etal *
}
{
%bbl.and %======== ORIGINAL ========%
numnames #2 > %======== ADDED ========%
{ "," * } %======== ADDED ========%
'skip$ %======== ADDED ========%
if$ %======== ADDED ========%
"\&" %======== ADDED ========%
space.word * t *
}
if$
}
if$
}
't
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$
}
祝你好运。