
Meine .bib-Datei sieht folgendermaßen aus:
@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 = {},
}
aber aus irgendeinem Grund wird, egal was ich an erster Stelle eingebe, in der Zeile mit dem Buchtitel eine Fehlermeldung angezeigt,
BibTeX: Syntaxfehler: „Buchtitel“ gefunden, Ende des Eintrags („}“ oder „)“) erwartet (zum nächsten „@“ springen)
Irgendwelche Ideen, wie man das beheben kann?
Antwort1
Bei Einträgen stal2
und stal3
fehlt am Ende des title
Feldes ein Komma. Kommas sinderforderlichals Trennzeichen zwischen Feldern. BibTeX sucht nach einem Signal zum Beenden des title
Felds, stößt jedoch auf das Schlüsselwort booktitle
, was einen Syntaxfehlerbericht auslöst.
Im Übrigen fehlt auch pages
bei Eintrag ein Komma am Ende des Feldes stal4
.
Nachtrag: Ein noch anderer Typ von Syntaxfehler lauert in den year
Feldern der Einträge stal2
und stal3
. Felder dürfen ohne {...}
oder " ... "
Trennzeichen geschrieben werden, wenn sie rein numerisch sind (oder wenn sie eine Zeichenfolgenvariable sind, aber das ist hier nicht anwendbar). Die year
Felder der beiden betreffenden Einträge sind year = 1999a,
und year = 1999b,
. Diese Mischung aus Ziffern und Buchstaben löst ebenfalls einen Fehler aus. Um eine Fehlermeldung zu vermeiden, könnten Sie bzw. year = {1999a},
und schreiben. Das ist jedoch keine wirklich gute Praxis, da Sie die Buchstaben und in die -bezogenen Informationen year = {1999b},
fest codieren würden , unabhängig davon, ob Sie nur eine oder beide Veröffentlichungen in Ihrem Dokument zitieren. Es ist viel besser, ein Makro mit dem Namen wie folgt zu definierena
b
year
\noopsort
\providecommand\noopsort{#1}{}
und schreiben Sie die Jahresfelder als year = {1999{\noopsort{a}}},
bzw. year = {1999{\noopsort{b}}},
. BibTeX erstellt die entsprechenden Jahresbeschriftungen automatisch.