
Meu arquivo .bib fica assim:
@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 = {},
}
mas por alguma razão, o que eu colocar primeiro aparece com uma mensagem de erro na linha do título do livro, dizendo
BibTeX: erro de sintaxe: encontrado "booktitle", final de entrada esperado ("}" ou ")") (pulando para o próximo "@")
Alguma ideia de como consertar isso?
Responder1
Nas entradas stal2
e stal3
, falta uma vírgula no final do title
campo. Vírgulas sãoobrigatóriocomo separadores entre campos. O BibTeX está procurando um sinal para encerrar o title
campo, mas encontra a palavra-chave booktitle
, disparando um relatório de erro de sintaxe.
Aliás, também falta uma vírgula no final do pages
campo na entrada stal4
.
Termo aditivo: Um tipo ainda diferente de erro de sintaxe se esconde nos year
campos de entradas stal2
e stal3
. Os campos podem ser escritos sem {...}
delimitadores " ... "
se forem puramente numéricos (ou se forem uma variável de string, mas isso não se aplica aqui). Os year
campos das duas entradas em questão são year = 1999a,
e year = 1999b,
. Essa mistura de números e letras também causará um erro. Para evitar o disparo de uma mensagem de erro, você poderia escrever year = {1999a},
e year = {1999b},
, respectivamente. No entanto, isso não é realmente uma boa prática, pois você codificaria as letras a
e b
as year
informações relacionadas, citando ou não apenas uma ou ambas as publicações em seu documento. É muito melhor definir uma macro chamada \noopsort
da seguinte forma
\providecommand\noopsort{#1}{}
e escreva os campos do ano como year = {1999{\noopsort{a}}},
e year = {1999{\noopsort{b}}},
, respectivamente. O BibTeX formará automaticamente os rótulos de ano apropriados.