bibtex の INCOLLECTION、booktitle の構文エラー

bibtex の INCOLLECTION、booktitle の構文エラー

私の .bib ファイルは次のようになります:

@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 = {},
    }

しかし、なぜか最初に入れたタイトルの行にエラーメッセージが表示され、

BibTeX: 構文エラー: 「booktitle」が見つかりました。エントリの終了 (「}」または「)」) が必要です (次の「@」にスキップします)

これを修正する方法について何かアイデアはありますか?

答え1

および のエントリでstal2stal3、フィールドの最後にカンマがありませんtitle。カンマは必須フィールド間の区切りとして使用します。BibTeX はフィールドを終了する信号を探していますtitleが、キーワード に遭遇しbooktitle、構文エラー レポートがトリガーされます。

pagesちなみに、 entry のフィールドの最後にもカンマがありませんstal4

補遺year:エントリstal2とのフィールドには、さらに別のタイプの構文エラーが潜んでいますstal3。フィールドは、純粋に数値である場合 (または文字列変数である場合ですが、ここでは適用されません)、または区切り文字なし{...}で記述できます。問題の 2 つのエントリのフィールドはと です。数字と文字が混在している場合も、エラーが発生します。エラー メッセージが表示されないようにするには、それぞれと と記述します。ただし、これはあまり良い方法ではありません。文書で 1 つまたは両方の出版物を引用するかどうかに関係なく、文字とを 関連の情報にハードコーディングすることになるからです。次のようにというマクロを定義する方がはるかに良いでしょう。" ... "yearyear = 1999a,year = 1999b,year = {1999a},year = {1999b},abyear\noopsort

\providecommand\noopsort{#1}{}

年フィールドをそれぞれ およびyear = {1999{\noopsort{a}}},と記述しますyear = {1999{\noopsort{b}}},。BibTeX は適切な年ラベルを自動的に形成します。

関連情報