Für meine Dissertation in Philosophie verwende ich jurabib mit einem eigenen sty-file, das auf jurabib aufbaut, aber die Vorgaben meiner Fakultät berücksichtigt. Dabei hat sich ein Fehler eingeschlichen, der bei der Kurzzitierweise bei Autoren- und Herausgebernamen auftritt. Bei zwei Autoren steht zwischen dem ersten Autor und dem Komma, das ihn vom zweiten Autor abgrenzt, ein Leerzeichen, das dort nicht hingehört. Bei zwei Editoren wird der Text nach dem ersten Autor nach irgendwo sehr weit links geschoben.
Der Fehler scheint in den Funktionen format.names bzw. fromat.editor.names zu liegen - aber ich finde ihn nicht, obwohl ich lange herumprobiert habe. Vielleicht kann mir jemand sagen, wo der Fehler liegt?
Hier meine Funktion format.names:
FUNCTION {format.names} % NEW v0.5
{ 's :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr "{ll}" format.name$ 't := t lastnamemarkup 't :=
s nameptr "{ff}" format.name$ othermarkup 'u :=
s nameptr "{f.}" format.name$ othermarkup 'v :=
s nameptr "{vv}" format.name$ othermarkup 'w :=
s nameptr "{jj}" format.name$ othermarkup 'x :=
t u * v * w * x * 't :=
nameptr #1 >
{ namesleft #1 >
{ numnames #3 >
{ "," * }
{ numnames #3 <
{ "\bibbfsasep" * t * } % between (exactly) two authors
{ "\bibbfsasep" * t * } % between first and second author (if more than two)
if$
}
if$
}
{ t "\bibnf {others} {} {} {} {}" =
t "\bibnf {others} {} {} {} {} \edfont {\editorsname}" = or
numnames #3 > or
{ "\bibIMfont {\Bibetal}" * }
{ numnames #3 <
{ "\bibbfsasep" * t * } % between (exactly) two authors
{ "\bibbfsasep" * t * } % between second and third author
if$
}
if$
}
if$
}
't
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$
}
Und hier die Funktion format.editor.names:
FUNCTION {format.editor.names} % NEW v0.5
{ 's :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr "{ll}" format.name$ 't := t editorlastnamemarkup 't :=
s nameptr "{ff}" format.name$ othermarkup 'u :=
s nameptr "{f.}" format.name$ othermarkup 'v :=
s nameptr "{vv}" format.name$ othermarkup 'w :=
s nameptr "{jj}" format.name$ othermarkup 'x :=
t u * v * w * x * 't :=
nameptr #1 >
{ namesleft #1 >
{ numnames #3 >
{ "" * }
{ numnames #3 <
{ "\bibbfsasep " * t * } % between (exactly) two editors
{ "\bibbfsasep " * t * } % between first and second editor (if more than two)
if$
}
if$
}
{ t "\bibnf {others} {} {} {} {}" =
t "\bibnf {others} {} {} {} {}" = or
t "\bibnf {others} {} {} {} {} \edfont {\editorsname}" = or
t "\bibnf {others} {} {} {} {} \edfont {\editorsname}" = or
numnames #3 > or
{ "\bibIMfont {\Bibetal}" * }
{ numnames #3 <
{ "\bibbfsasep " * t * } % between (exactly) two editors
{ "\bibbfsasep " * t * } % between second and third editor
if$
}
if$
}
if$
}
't
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$
}