当我在 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 的许多其他问题)。