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.bst
derzeit 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 .bst
Datei nicht direkt ändern. Ändern und benennen Sie lediglich die Kopie, isprs-and.bst
sagen wir, und dokumentieren Sie die Änderungen.