我有一个更大的模板,其中包括biblatex
\RequirePackage[backend=biber,
style=ieee,
citestyle=numeric-comp,
sortcites,
url=true,
doi=false,
defernumbers
]{biblatex}[2012/08/17]
我使用 TeXstudio,将默认参考书目工具设置为biber
。此外,我通过命令 添加参考书目文件\addbibresource{bibliography.bib}
。bib 文件与 tex 文件位于同一文件夹中。遗憾的是,参考书目无法识别。我收到警告,No file main.bbl.
但仅此而已。我也看不到 biber 和 BibLaTex 是否在运行。
当我通过添加参考书目时,\bibliography{bibliography}
一切都很顺利。你能告诉我我做错了什么吗?
bibliography.bib 文件的内容(仅一个虚拟条目):
@article{dummy1,
title = {dummytitle},
pages = {},
author = {Doe, John},
langid = {english},
}
答案1
在 LaTeX(或者更确切地说biblatex
)方面\addbibresource{<filename>.bib}
,和\bibliography{<filename>}
做非常相似的事情,并且是用相同的辅助宏实现的,所以无论你使用
\addbibresource{<filename>.bib}
或者
\bibliography{<filename>}
前者比后者更受欢迎,因为它允许添加附加选项,并且\bibliography
只是一个支持更多类似 BibTeX 的代码的遗留接口。
评论中讨论的行为不是由于 LaTeX 引起的,它纯粹与编辑器的功能有关(\cite
命令中输入键的自动完成、Biber 的自动运行等)。编辑器通常有自己的方法来理解 TeX 文件,但这通常涉及解析输入.tex
;它不涉及实际运行 TeX 来查看会发生什么。
在这里, 可能确实比\bibliography
效果更好\addbibresource
。由于\bibliography
是 LaTeX 内核定义的命令,大多数编辑器可能总是会尝试选择它。只有\addbibresource
当编辑器“检测到”biblatex
正在使用 时,才选择命令是合理的。这就是可能出错的地方。如果您的编辑器无法识别您正在使用的命令,biblatex
它可能不会按预期处理\addbibresource
。当然,如果您的编辑器biblatex
根本不支持 ,那么一切都将失败。
根据您的确切文档结构,您可以通过biblatex
删除调用中的某些换行符来帮助您的编辑器了解您的加载情况biblatex
(例如,参见https://tex.stackexchange.com/a/106755/35864)。但如果你加载biblatex
的文件位于\input
你的序言之后或使用 加载\usepackage
,你的编辑器的文件解析可能根本无法检测到biblatex
(参见例如https://tex.stackexchange.com/a/317858/35864)。在这种情况下,一些编辑器有一个功能可以手动声明您使用biblatex
(例如 TeXstudio 允许您选择.cwl
文件:https://tex.stackexchange.com/a/262629/35864)。