我正在使用 BibTex 来构建我的参考书目。我有很多参考文献,其中大部分都运行良好,但出于某种原因,LaTeX 声称其中一些未定义。
这是我的 .bib 文件的一部分:
@misc{REF1,
title={{Title 1}},
url={https://url.one/},
journal={url.one},
},
@misc{REF2,
title={{Title 2}},
url={https://url.two/,
author={Author, Two},
year={2}
},
@misc{REF3,
title={{Title 3}},
author={Author, Three},
year={3}
},
@book{REF4,
place={Place 4},
title={Title 4},
publisher={Publisher 4},
author={Author, Four},
year={4}
},
这样,除 REF3 外,所有引用均正确。在 .bib 文件中切换 REF2 和 REF3 的位置会突然导致 REF4 未定义。
我不确定这里出了什么问题。
我的 main.tex 文件是由一堆其他 .tex 文件(我 \input{})构建的,并且在这个文件的末尾我以 IEEEtran 样式插入了我的参考书目。
答案1
永远不要忽视错误消息或警告:运行 BibTeX 时,我得到
This is BibTeX, Version 0.99d (TeX Live 2019)
The top-level auxiliary file: joshua.aux
The style file: plain.bst
Database file #1: joshua.bib
"{" immediately follows a field name---line 14 of file joshua.bib
: @misc
: {REF3,
I'm skipping whatever remains of this entry
Warning--I didn't find a database entry for "REF3"
Warning--to sort, need author or key in REF1
Warning--to sort, need author or key in REF2
(There was 1 error message)
REF3
因此,结果未知并不奇怪:BibTeX 正是这样告诉你的。
修复REF2
为
@misc{REF2,
title={{Title 2}},
url={https://url.two/},
author={Author, Two},
year={2}
}
条目后的逗号是无用的,但也没有害处,因为 BibTeX 会忽略不在@<TYPE>{...}
或之间的材料@<TYPE>"..."
(应优先使用前一种语法):参见https://tex.stackexchange.com/a/21710/4427
答案2
- 引用之间不要使用逗号
- 不要忘记 { 和 } 括号。如果您苦苦寻找缺失的括号,请向他人寻求帮助。
谢谢菲利佩·奥莱尼克