使用 LuaLaTeX 和 Biber 编译时删除引文后参考书目不会更新

使用 LuaLaTeX 和 Biber 编译时删除引文后参考书目不会更新

当删除或注释掉引文时,参考书目不会删除参考书目中现已删除/不可用的引文参考。

我做错了什么吗?这是错误吗?还是其他原因?

例如:注释掉第一个引用后的版本 注释掉第一个引用后的版本

\documentclass{article}

\usepackage{biblatex}
\addbibresource{sources.bib}

\begin{document}
Here comes a citation \cite{merriam2022}.  % comment this line out after successful compilation

Here comes a citation \cite{wikipedia2022}.

Here comes no citation.

\printbibliography
\end{document}

sources.bib包含以下内容的参考书目文件

@online{merriam2022,
  title={Merriam-Webster},
  publisher={Merriam-Webster},
  year={2022},
  urldate={2022-07-06},
  url={https://www.merriam-webster.com/dictionary/fun},
}

@online{wikipedia2022,
  title={Wikipedia},
  year={2022},
  urldate={2022-07-06},
  url={https://en.wikipedia.org/wiki/Free_software},
}

答案1

如果您仅重新运行 (Lua)LaTeX,则会出现这种情况。

您还需要重新运行 Biber,以便最终至少运行

  • (Lua)LaTeX
  • 比贝尔
  • (Lua)LaTeX

在您的文档上。添加和删除(甚至重新排序)引文时始终需要这样做。当您更改某些参考书目选项/设置时(尤其是当它们影响排序时),您可能还必须重新运行此循环。

在这种情况下,文件中应该有一个关于此问题的警告,.log如下所示

LaTeX Warning: There were undefined references.


Package biblatex Warning: Please (re)run Biber on the file:
(biblatex)                <filename>
(biblatex)                and rerun LaTeX afterwards.

因为biblatex可以检测您是否添加/删除了引文。但不能保证您在所有情况下都会收到这样的警告,尤其是当由于更改了参考书目设置而需要重新运行时。这就是为什么定期在您的文档上重新运行 Biber 总是一个好主意。以及为什么您应该在准备文档的最终版本时始终重新运行 Biber。

您需要重新运行 Biber,因为最终出现在参考书目列表中的条目主要由 Biber 控制,而 LaTeX 方面只是次要控制biblatex。您可以在使用问号或粗体引用关键字代替引用编号(BibTeX 和 Biber 的作用非常类似,尽管它们可以做略有不同的事情)。

相关内容