
내 .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
항목 stal2
및 stal3
의 필드 끝에 쉼표가 없습니다 title
. 쉼표는필수의필드 사이의 구분 기호로 사용됩니다. BibTeX는 필드를 종료하기 위한 신호를 찾고 있지만 title
키워드를 발견하여 booktitle
구문 오류 보고를 트리거합니다.
pages
그런데 항목의 필드 끝에도 쉼표가 없습니다 stal4
.
부록: 여전히 다른 유형의 구문 오류가 year
항목 stal2
및 stal3
. 필드 가 순수 숫자인 경우(또는 문자열 변수이지만 여기서는 해당되지 않는 경우) 구분 기호 {...}
없이 필드를 작성할 수 있습니다 . 문제의 두 항목 필드는 " ... "
및 입니다 . 숫자와 문자가 혼합되어 있으면 오류가 발생합니다. 오류 메시지가 발생하지 않도록 하려면 각각 및 를 쓸 수 있습니다 . 그러나 문서에 출판물 중 하나만 인용하든지 아니면 둘 다 인용하든 관계없이 문자 와 관련 정보를 하드 코딩하게 되므로 이는 실제로 좋은 습관이 아닙니다. 다음과 같이 매크로를 정의하는 것이 훨씬 좋습니다.year
year = 1999a,
year = 1999b,
year = {1999a},
year = {1999b},
a
b
year
\noopsort
\providecommand\noopsort{#1}{}
연도 필드를 각각 year = {1999{\noopsort{a}}},
및 로 작성합니다 year = {1999{\noopsort{b}}},
. BibTeX는 자동으로 적절한 연도 라벨을 형성합니다.