Taplitou
01-01-2008, 15:53
Hallo, liebe Leute,
da die Zitierweise, in der ich zitieren muss, verlangt, dass man deutsche Herausgeberwerke mit "Hrsg" und englische mit "Eds", hab' ich mir überlegt in meinen Einträgen für deutsche Werke ein zusätzliches Feld language mit zugeben in dem die Sprache steht. Wenn das Feld nicht vorhanden ist, möchte ich gern, dass die englische Variante verwendet wird.
Jetzt hab' ich das .bst file wie folgt angepasst:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%
%
% "(Ed.)" postfix
% editor must not be empty
%
FUNCTION {editor.postfix}
{ editor num.names$ #1 >
{
language empty$
{
{ "(\BEDS)" }
}
{
language "DE" =
{ "(\BHRSG)" }
{ "(\BEDS)" }
if$
}
if$
}
{
language empty$
{
{ "(\BED)" }
}
{
language "DE" =
{ "(\BHRSG)" }
{ "(\BED)" }
if$
}
if$
}
if$
}
Wenn language angegeben ist, funktioniert das ganze auch, aber wenn das Feld fehlt, gibt's eine Fehlermeldung die mir nicht richtig weiterhilft:
`'47' is a function literal, not a string, for entry Galambos1992
while executing---line 3181 of file apadgp.bst
"DE" is a string literal, `language' is a missing field
---they aren't the same literal types of entry Galambos1992
Irgendwie hab' ich die Vermutung, dass ich die empty$-Funktion nicht ganz richtig verwende...
Kann mir jemand einen Hinweis geben?
Thanx,
Micha.
da die Zitierweise, in der ich zitieren muss, verlangt, dass man deutsche Herausgeberwerke mit "Hrsg" und englische mit "Eds", hab' ich mir überlegt in meinen Einträgen für deutsche Werke ein zusätzliches Feld language mit zugeben in dem die Sprache steht. Wenn das Feld nicht vorhanden ist, möchte ich gern, dass die englische Variante verwendet wird.
Jetzt hab' ich das .bst file wie folgt angepasst:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%
%
% "(Ed.)" postfix
% editor must not be empty
%
FUNCTION {editor.postfix}
{ editor num.names$ #1 >
{
language empty$
{
{ "(\BEDS)" }
}
{
language "DE" =
{ "(\BHRSG)" }
{ "(\BEDS)" }
if$
}
if$
}
{
language empty$
{
{ "(\BED)" }
}
{
language "DE" =
{ "(\BHRSG)" }
{ "(\BED)" }
if$
}
if$
}
if$
}
Wenn language angegeben ist, funktioniert das ganze auch, aber wenn das Feld fehlt, gibt's eine Fehlermeldung die mir nicht richtig weiterhilft:
`'47' is a function literal, not a string, for entry Galambos1992
while executing---line 3181 of file apadgp.bst
"DE" is a string literal, `language' is a missing field
---they aren't the same literal types of entry Galambos1992
Irgendwie hab' ich die Vermutung, dass ich die empty$-Funktion nicht ganz richtig verwende...
Kann mir jemand einen Hinweis geben?
Thanx,
Micha.