Hmm, also bis jetzt noch keine Ideen? Vielleicht könnt Ihr mir ja sagen, ob ich in einem von diesen Codeschnipseln aus der .bst richtig bin Wobei ich mit der (Programmier?)sprache hier nicht viel anfangen kann. Bin über jeden Hinweis froh!
Gruß,
Alex
Code:
FUNCTION {format.full.names}
{'s :=
"" 't :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr
"{vv~}{ll}{, jj}" format.name$
cite.name.font
't :=
nameptr #1 >
{
namesleft #1 >
{ ", " * t * }
{
s nameptr "{ll}" format.name$ duplicate$ "others" =
{ 't := }
{ pop$ }
if$
t "others" =
{
" " * bbl.etal *
}
{
numnames #2 >
{ "," * }
'skip$
if$
bbl.and
space.word * t *
}
if$
}
if$
}
't
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$
}
Code:
FUNCTION {format.names}
{ 'bibinfo :=
duplicate$ empty$ 'skip$ {
's :=
"" 't :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr
nameptr #1 >
{ "{f.}" format.name$ duplicate$ empty$ 'skip$
{ tie.or.space.prefix bib.fname.font swap$ * }
if$
s nameptr
"{vv~}{ll}" format.name$ bib.name.font *
s nameptr
"{jj}" format.name$ duplicate$ empty$ 'skip$
{ bib.fname.font ", " swap$ * }
if$
}
{ "{vv~}{ll}" format.name$ bib.name.font
s nameptr
"{f.}{, jj}"
format.name$ duplicate$ empty$ 'skip$
{ bib.fname.font ", " swap$ * }
if$
}
if$
*
bibinfo bibinfo.check
type$ "presentation" =
{ check.speaker }
'skip$
if$
't :=
nameptr #1 >
{
namesleft #1 >
{ ", " * t * }
{
s nameptr "{ll}" format.name$ duplicate$ "others" =
{ 't := }
{ pop$ }
if$
numnames #2 >
t "others" = not and
{ "," * }
'skip$
if$
t "others" =
{
" " * bbl.etal *
}
{
bbl.and
space.word * t *
}
if$
}
if$
}
't
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$
} if$
}
Lesezeichen