PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : et. al. nach 3 Autoren - .bst Datei



cody
09-11-2007, 13:10
Hallo Leute!

Wie kann ich folgenden Code ändern, um nach 3 Autoren ein et. al. hinter den 3 Autoren anzuzeigen? Kenne mich mit der umgekehrten polnischen Notation leider nicht so gut aus.


FUNCTION {format.lab.names}
{ 's := % for two: (Jones/de~Bruijn)
s #1 "{vv~}{ll}" format.name$ % for three: (Jones/de~Bruijn/Smith)
s num.names$ duplicate$ % for more: (Jones et\,al.)
#2 <
'pop$ % for just one person
{ duplicate$ duplicate$
#99 > %Anzahl ab wann als Zitierung et alii angezeigt wird
swap$ s swap$ "{ff }{vv }{ll}{ jj}" format.name$ "others" =
or
{ pop$ "\Bibetal" * } % for 4 or more, or last is `others'
{ #2 =
{ "\jbbtasep " * s #2 "{vv~}{ll}" format.name$ * } % for (exactly) two
{ "\jbbfsasep " * s #2 "{vv~}{ll}" format.name$ * % for three
"\jbbstasep " * s #3 "{vv~}{ll}" format.name$ *
}
if$
}
if$
}
if$
year missing$
'skip$
{ "\jbdy {" year * "}" * * }% dummy year to prevent from `1993a' and `2001b' for works by the same author
if$
}

moonraker
09-11-2007, 13:34
Du solltest vielleicht vorher mal verraten, welchen bibstyle du überhaupt benutzt...:rolleyes:

cody
09-11-2007, 13:54
Du solltest vielleicht vorher mal verraten, welchen bibstyle du überhaupt benutzt...:rolleyes:

Es handelt sich um jurabib. Spielte für mich keine Rolle, da ich es am Code gesehen habe das eine Option dafür nicht möglich ist.:rolleyes:

Habe es soeben selber lösen können:

FUNCTION {format.lab.names}
{ 's := % for two: (Jones/de~Bruijn)
s #1 "{vv~}{ll}" format.name$ % for three: (Jones/de~Bruijn/Smith)
s num.names$ duplicate$ % for more: (Jones et\,al.)
#2 <
'pop$ % for just one person
{ duplicate$ duplicate$
#3 > %Anzahl ab wann als Zitierung et alii angezeigt wird
swap$ s swap$ "{ff }{vv }{ll}{ jj}" format.name$ "others" =
or
{
pop$ "\jbbfsasep " * s #2 "{vv~}{ll}" format.name$ *
"\jbbfsasep " * s #3 "{vv~}{ll}" format.name$ *
% pop$ "\Bibetal" *
"\Bibetal" *
}
{ #2 =
{ "\jbbtasep " * s #2 "{vv~}{ll}" format.name$ * } % for (exactly) two
{ "\jbbfsasep " * s #2 "{vv~}{ll}" format.name$ * % for three
"\jbbstasep " * s #3 "{vv~}{ll}" format.name$ *
}
if$
}
if$
}
if$
year missing$
'skip$
{ "\jbdy {" year * "}" * * }% dummy year to prevent from `1993a' and `2001b' for works by the same author
if$
}

Für UPN Experten habe ich hier (http://www.mrunix.de/forums/showthread.php?t=54875) aber trotzdem noch ein für mich unlösbares Problem