使用 latexmk 生成 bib 文件(可能为 add_cus_dep)

使用 latexmk 生成 bib 文件(可能为 add_cus_dep)

在将参考文献管理器生成的 bib 文件传递​​给 biblatex 之前,我需要对其进行一些预处理。因此,我为此创建了一个脚本,并尝试使用 latexmk 自动调用此脚本。

由于add_cus_dep仅处理扩展名而不是整个文件名,因此我尝试了类似的方法:

  • thesis.bibinput这是我未处理的源文件
  • 我想生成thesis.bib

我已将以下片段添加到latexmkrc

add_cus_dep('bibinput', 'bib', 1, 'bibfix');
sub bibfix {
    system("bibfix -x bibfix_transform.py \"$_[0]\" thesis.bib");
}

但是编译文档的时候,并没有调用自定义步骤,也没有生成bib文件。

我将 biblatex 与 biber 一起使用,并且 latexmk 正确输出 biber 没有找到输入文件:

Biber error: [244] Utils.pm:180> ERROR - Cannot find 'thesis.bib'!
Latexmk: Biber did't find bib file [thesis.bib]
Latexmk: Summary of warnings:
  Latex failed to resolve 36 citation(s)

我如何说服 latexmk 生成我的 bib 文件?

答案1

只需在文件中使用以下代码rc即可

system("bibfix -x bibfix_transform.py thesis.bibinput thesis.bib");

顺便说一句,我认为自定义依赖规则在当前无法完成这项工作latexmk,除非你更改的源代码latexmk,即latexmk.pl

我建议您使用make或其他工具。

相关内容