Hier ist die (unschöne) Lösung, falls jemand das gleiche Problem hat.
In der Datei babalpha.bst, folgende Zeilen ändern:
Original:
Code:
FUNCTION {format.names}
{ 's :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ nameptr #1 >
{
s nameptr "{ff{\btxfnamespacelong } }{vv~}" format.name$
s nameptr "{ll}" format.name$ lastnamefont *
s nameptr "{, jj}" format.name$ *
't :=
namesleft #1 >
{ ", " * t namefont * }
{ numnames #2 >
{ "\btxandcomma {}" * }
'skip$
if$
s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ "others" =
{ " " "\btxetalshort {.}" etalfont * * }
{ " \btxandlong {}\ " * t namefont * }
if$
}
if$
}
{
s nameptr "{ll}" format.name$ lastnamefont
s nameptr "{,~jj}{, ff{\btxfnamespacelong }}{~vv}"
format.name$ * namefont
}
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$
}
Geändert: (Vorname Nachname)
Code:
FUNCTION {format.names}
{ 's :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ nameptr #1 >
{
s nameptr "{ff{\btxfnamespacelong } }{vv~}" format.name$
s nameptr "{ll}" format.name$ lastnamefont *
s nameptr "{, jj}" format.name$ *
't :=
namesleft #1 >
{ ", " * t namefont * }
{ numnames #2 >
{ "\btxandcomma {}" * }
'skip$
if$
s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ "others" =
{ " " "\btxetalshort {.}" etalfont * * }
{ " \btxandlong {}\ " * t namefont * }
if$
}
if$
}
{
s nameptr "{ff{\btxfnamespacelong } }{vv~}" format.name$
s nameptr "{ll}" format.name$ lastnamefont *
s nameptr "{, jj}" format.name$ *
}
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$
}
Garantie, dass es in allen Fällen funktioniert, gibt es natürlich keine. :-)
Lesezeichen