Ändern Sie die BST-Datei so, dass zwei Autoren im Text durch „und“ getrennt sind.

Ändern Sie die BST-Datei so, dass zwei Autoren im Text durch „und“ getrennt sind.

Ich muss für ein Papier mit einer benutzerdefinierten .bst-Datei arbeiten. Wenn ich genau zwei Autoren für eine Referenz habe, werden diese Autoren getrenntim Textmit " , ".
Also z. B. (Simonyan , Zisserman, 2014). Ich möchte, dass es (Simonyan und Zisserman, 2014) ist.
In meiner Bibliographie ist der Stil korrekt. Ist es also notwendig, die .bst-Datei zu ändern?
Ich denke, hier sind die relevanten Zeilen:

INTEGERS { nameptr namesleft numnames }

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

FUNCTION {format.authors}
{ author empty$
    { "" }
    { "{vv~}{ll}{, jj}{, f.}" author format.names }
  if$
}

Antwort1

Das entsprechende Makro ist format.lab.names.abbr. Für das "und" muss es lauten

FUNCTION {format.lab.names.abbr}
{ 's :=
  s num.names$ 'numnames :=
  numnames #1 >
    { numnames #2 >
        { s #1 "{vv~}{ll}" format.name$ " et al." * }
        { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
            { s #1 "{vv~}{ll}" format.name$ " et al." * }
            { s #1 "{vv~}{ll}" format.name$ " and " *
              s #2 "{vv~}{ll}" format.name$ * 
            }
          if$
        }
      if$
    }
    { s #1 "{vv~}{ll}" format.name$ }
  if$
}

die Änderung erfolgt im zweiten Zweig des innersten Bedingungssatzes. Die isprs.bstderzeit verfügbare Version vonhttp://www.isprs.org/documents/orangebook/app5.aspxhat

s #1 "{vv~}{ll}" format.name$ " , " * % replaced and with ,

dort und wir lassen es lesen

s #1 "{vv~}{ll}" format.name$ " and " *

nochmal. Beachten Sie ihren Kommentar und das falsche Leerzeichen vor dem Komma.


Natürlich sollten Sie dieses Problem trotzdem dem Betreuer der Vorlage melden und die .bstDatei nicht direkt ändern. Ändern und benennen Sie lediglich die Kopie, isprs-and.bstsagen wir, und dokumentieren Sie die Änderungen.

verwandte Informationen