随机未定义的引用,取决于 .bib 文件中的顺序

随机未定义的引用,取决于 .bib 文件中的顺序

我正在使用 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

  1. 引用之间不要使用逗号
  2. 不要忘记 { 和 } 括号。如果您苦苦寻找缺失的括号,请向他人寻求帮助。

谢谢菲利佩·奥莱尼克

相关内容