在将参考文献管理器生成的 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
或其他工具。