调整 BibTeX 书目样式以在两个作者之间添加空格

调整 BibTeX 书目样式以在两个作者之间添加空格

我目前正在修改 natbib 引用样式,但现在遇到一个问题,即如果有 2 位作者,则第一个作者姓名和“and”之间缺少一个空格。超过 2 位作者是可以的。

在此处输入图片描述

我想我需要为 numnames = 2 指定一个案例,但我尝试的编辑没有效果。

这是我的代码:

FUNCTION {format.names}
{ 's :=
  #1 'nameptr :=
  s num.names$ 'numnames :=
  numnames 'namesleft :=
    { namesleft #0 > }
    { s nameptr "{vv~}{ll }{f{.}.}{, jj }" format.name$ 't :=
      nameptr #1 >
        { namesleft #1 >
            { ", " * t * }
            { numnames #2 >
                {"," *}
                'skip$
              if$
              t "others" =
                { " et~al." * }
                { "~and " * t * }
              if$
            }
          if$
        }
        't
      if$
      nameptr #1 + 'nameptr :=
      namesleft #1 - 'namesleft :=
    }
  while$
}

我还有一个部分抑制了作者姓名首字母后的句号,我不认为这会造成干扰但会添加它以供参考:

FUNCTION {no.bib.dots}
{ duplicate$ empty$
    { pop$ "" }
    { "\catcode`.=\active\NoBibDots{" swap$ * "}\catcode`.=12" * }
  if$
}

    FUNCTION {format.authors}
{ author empty$
    { "" }
    { author format.names no.bib.dots ~"." * }
  if$
}

非常感谢!

相关内容