ama.bst 在单个作者后添加额外空格

ama.bst 在单个作者后添加额外空格

我在用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}}

相关内容