1

I would like the following in text citations:

Hollingsworth, Simmons, Coates and Cross (1991)

(Hollingsworth, Simmons, Coates & Cross, 1991)

to appear as:

Hollingsworth, Simmons, Coates, and Cross (1991)

(Hollingsworth, Simmons, Coates, & Cross, 1991)

Please note that the only difference is the comma before the last author.

Thank you.

1 Answer 1

1

I've solved it.

Replace:

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$
}

With:

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$
}

Good luck.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .