修改 elsarticle.cls 中的 model5-names.bst,在文本引用中的第 2 至第 4 位作者后插入逗号

修改 elsarticle.cls 中的 model5-names.bst,在文本引用中的第 2 至第 4 位作者后插入逗号

我想要以下文本引用:

霍林斯沃思、西蒙斯、科茨和克罗斯 (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$
}

祝你好运。

相关内容