\bibliography 有效,但 \addbibresource 无效

\bibliography 有效,但 \addbibresource 无效

我有一个更大的模板,其中包括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)。

相关内容