编译 LaTeX 文档清空 .bbl 文件

编译 LaTeX 文档清空 .bbl 文件

我正在尝试使用发行版的后端来biblatex编译文档。假设 MiKTeX 存储库当前包含所有内容的最新版本,那么所有内容(包括 biber)都应该是最新的。bibermiktex

这是 biblatex 文档 (第 101 页) 中关于我需要多久运行一次 biber 来更新我的 .bbl 文件的内容:

每当添加对之前未引用过的作品的引用时,都必须重复此过程。如果删除了对之前已引用过的作品的最后一个引用,情况也是如此,因为在这种情况下某些引用标签可能会发生变化。

因此,如果我对文档进行了更改(这是编写文档过程中非常常见的活动),但保留引文不变,则在编译更改之前我不必重新运行 biber。但是,每次我编译文档时,无论是 还是 ,compiler文件documentclass都会.bbl被清空。因此,下次我在不运行 biber 的情况下编译文档时,参考书目将被删除(因为 .bbl 文件不包含任何内容),并且我的所有引文都会被破坏。因此,每次编译文档之前我都必须运行 biber,这在很大程度上抵消了首先将参考书目外部化的好处。

我怎样才能让编译器停止覆盖我的 .bbl 文件并使一切都按照 biblatex 手册中描述的方式运行?

研究辅助文件的内容后,我发现 .bbl 文件(运行 biber 之后,编译之前)以以下几行开头:

% $ biblatex auxiliary file $
% $ biblatex bbl format version 2.3 $

biblatex 2.8 版是否仍将 .bbl 文件标记为 2.3 版?如果不是,这可能是问题所在吗?如果是这样,为什么我的 2.8 版 biblatex(部分)表现得像 2.3 版?

任何帮助解决该问题的建议都将非常感激。

答案1

正如 Bernard 在评论中指出的那样,问题可能是由编辑器引起的。事实确实如此。

我使用的是 TeXnicCenter 2,它包含针对不同编译器和后处理器的输出配置文件列表。默认情况下,所有这些输出配置文件都会调用bibtex,并且不会写入任何内容bibtex(因为我使用的是biblatex),每次编译文档时bibtex都会将一个空文件写入文件,从而覆盖之前写入的内容。.bblbiber

从输出配置文件中禁用 BibTeX 可以解决整个问题。要找到可以更改输出配置文件的窗口,请按Alt+F7或单击菜单Build -> Define Output Profiles...

TeXnicCenter 1 可能存在同样的问题。

相关内容