Error de sintaxis con INCOLLECTION, título del libro en bibtex

Error de sintaxis con INCOLLECTION, título del libro en bibtex

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 stal2y stal3falta una coma al final del titlecampo. Las comas sonrequeridocomo separadores entre campos. BibTeX está buscando una señal para terminar el titlecampo, 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 pagescampo en la entrada stal4.

Apéndice: Un tipo aún diferente de error de sintaxis se esconde en los yearcampos de entradas stal2y 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 yearcampos 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 ay bla yearinformación relacionada, ya sea que cite o no solo una o ambas publicaciones en su documento. Es mucho mejor definir una macro llamada \noopsortde 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.

información relacionada