Tengo que trabajar con un archivo .bst personalizado para un artículo. Cuando tengo exactamente dos autores como referencia, estos autores se separanen el textocon " , ".
Así, por ejemplo (Simonyan, Zisserman, 2014). Quiero que así sea (Simonyan y Zisserman, 2014).
En mi bibliografía el estilo es correcto. Entonces, ¿es necesario cambiar el archivo .bst?
Creo que aquí están las líneas relevantes:
INTEGERS { nameptr namesleft numnames }
FUNCTION {format.names}
{ 's :=
'f :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr f format.name$ 't :=
nameptr #1 >
{ namesleft #1 >
{ ", " * t * }
{ t "others" =
{ " et~al." * }
{ ", " * t * }
if$
}
if$
}
't
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$
}
FUNCTION {format.authors}
{ author empty$
{ "" }
{ "{vv~}{ll}{, jj}{, f.}" author format.names }
if$
}
Respuesta1
La macro relevante es format.lab.names.abbr
. Para el "y" tiene que leer
FUNCTION {format.lab.names.abbr}
{ 's :=
s num.names$ 'numnames :=
numnames #1 >
{ numnames #2 >
{ s #1 "{vv~}{ll}" format.name$ " et al." * }
{ s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
{ s #1 "{vv~}{ll}" format.name$ " et al." * }
{ s #1 "{vv~}{ll}" format.name$ " and " *
s #2 "{vv~}{ll}" format.name$ *
}
if$
}
if$
}
{ s #1 "{vv~}{ll}" format.name$ }
if$
}
el cambio está en la segunda rama del condicional más interno. La versión isprs.bst
actualmente disponible enhttp://www.isprs.org/documents/orangebook/app5.aspxtiene
s #1 "{vv~}{ll}" format.name$ " , " * % replaced and with ,
ahí y lo hacemos leer
s #1 "{vv~}{ll}" format.name$ " and " *
de nuevo. Tenga en cuenta su comentario y el espacio en blanco falso antes de la coma.
Por supuesto, aún debes informar este problema al responsable de la plantilla y no debes modificar el .bst
archivo directamente. Solo modifique y cambie el nombre, copie, isprs-and.bst
digamos y documente los cambios.