
Mi archivo .bib se ve así:
@incollection{stal2,
author = {Robert Stalnaker},
title = {Assertion}
booktitle = {Context and Content},
publisher = {Oxford University Press},
year = 1999a,
pages = {78-95},
}
@incollection{stal3,
author = {Robert Stalnaker},
title = {On the Representation of Context}
booktitle = {Context and Content},
publisher = {Oxford University Press},
year = 1999b,
pages = {96-114},
}
@ONLINE {stal4,
author = "Robert Stalnaker",
title = "Common Ground",
publisher = "Linguistics and Philosophy 25",
pages = {701-721}
year = "2002",
url = "https://doi.org/10.1023/A:1020867916902https://www.oxfordhandbooks.com/view/10.1093/oxfordhb/9780190675233.001.0001/oxfordhb-9780190675233-e-27",
}
@BOOK{stal1,
title = {Inquiry},
publisher = {MIT Press},
author = {Robert Stalnacker},
year = {1984},
edition = {},
}
pero por alguna razón, lo que puse primero aparece con un mensaje de error en la línea del título del libro, que dice
BibTeX: error de sintaxis: se encontró "título del libro", final esperado de la entrada ("}" o ")") (saltando al siguiente "@")
¿Alguna idea sobre cómo solucionar este problema?
Respuesta1
En las entradas stal2
y stal3
falta una coma al final del title
campo. Las comas sonrequeridocomo separadores entre campos. BibTeX está buscando una señal para terminar el title
campo, pero encuentra la palabra clave booktitle
, lo que genera un informe de error de sintaxis.
Por cierto, también falta una coma al final del pages
campo en la entrada stal4
.
Apéndice: Un tipo aún diferente de error de sintaxis se esconde en los year
campos de entradas stal2
y stal3
. Se permite escribir campos sin {...}
delimitadores " ... "
si son puramente numéricos (o si son una variable de cadena, pero eso no se aplica aquí). Los year
campos de las dos entradas en cuestión son year = 1999a,
y year = 1999b,
. Esta combinación de números y letras también provocará un error. Para evitar generar un mensaje de error, puede escribir year = {1999a},
y year = {1999b},
, respectivamente. Sin embargo, esa no es realmente una buena práctica, ya que estaría codificando las letras a
y b
la year
información relacionada, ya sea que cite o no solo una o ambas publicaciones en su documento. Es mucho mejor definir una macro llamada \noopsort
de la siguiente manera
\providecommand\noopsort{#1}{}
y escriba los campos de año como year = {1999{\noopsort{a}}},
y year = {1999{\noopsort{b}}},
, respectivamente. BibTeX formará las etiquetas de año apropiadas automáticamente.