尽管 bib 文件已更改,但 Latexmk 表示“所有目标都是最新的”

尽管 bib 文件已更改,但 Latexmk 表示“所有目标都是最新的”

当我在 bib 文件中更改某些内容时,单击保存并运行 Latexmk 命令,它总是显示:

Latexmk:这是 Latexmk,John Collins,2023 年 4 月 4 日。版本 4.80。Latexmk:'./main.tex' 无需执行任何操作。Latexmk:所有目标(main.pdf)都是最新的

我正在使用带有 biber 后端的 biblatex。我希望 Latexmk 能够检测 bib 文件中的更改。我尝试按照此建议为 Latexmk 添加 -recorder` 标志邮政但它不起作用。

另外,我检查了 main.fls,但找不到我的 bib 文件。只有 main.bbl 和 main.bcf 等文件显示在那里。我认为这可能表明 Latexmk 没有跟踪 bib 文件,但为什么呢?


编辑

我在 Ubuntu 22.04.3 LTS(Hyper-V 虚拟机,如果重要的话)。tex --version显示

TeX 3.141592653(TeX Live 2023)

我正在使用命令进行编译latexmk -xelatex main.tex


编辑2

在文件main.fdb_latexmk中,如下["biber

["biber main"] 1701360730 "main.bcf" "main.bbl" "main" 1701360782 0
"main.bcf" 1701360782 107749 d415e9cf25de5307100d1c0ac845400a "xelatex"
(生成)
"main.bbl"
"main.blg"
(读取前重写)

这些行中不包含 bib 文件。运行后也不会显示 bib 文件latexmk -dependents -xelatex

这是我正在处理的示例:

% main.tex
\documentclass{article}
\usepackage{biblatex}
\bibliography{refs.bib}
\begin{document}
  \nocite{*}
  \printbibliography
\end{document}
% refs.bib
@article{worldHello,
  title = {Hello},
  author = {World},
}

答案1

在文档中,命令\bibliography{refs.bib}用于指定 .bib 文件,而不是\addbibresource{refs.bib}。在这种情况下,latexmk(目前版本 4.81 之前)不会检测到依赖项。请注意,biblatex 文档已弃用\bibliography

最简单的解决方案就是切换到使用\addbibresource

latexmk 的下一个版本(可能是 4.82)将纠正这个错误(以及使用 biblatex 和 biber 的许多其他问题)。

相关内容