考虑到这个 MWE
\RequirePackage{snapshot}
\documentclass{scrbook}
\usepackage{filecontents,biblatex}
\begin{filecontents}{\jobname.bib}
@misc{anything,
author={A. Anyone}}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\chapter{My document}
This is my text
\end{document}
在.dep
文件中有一行
*{file} {biblatex-dm.cfg}{0000/00/00 v0.0}
当我使用 -file 时.dep
出现bundledoc
错误
bundledoc: "kpsewhich -progname=latex $BDINPUTS" (BDINPUTS="biblatex-dm.cfg") failed to find biblatex-dm.cfg
我该如何修复它?
答案1
Ulrike Fischer 正确地(我相信)将此报告为一个错误https://github.com/plk/biblatex/issues/719。问题是,即使未找到的文件也会被添加到已使用文件列表中\@addtofilelist
。修复程序位于biblatex
,请参阅https://github.com/plk/biblatex/pull/721。
在此期间,您可以使用
\protected\long\def\blx@inputonce#1#2#3#4#5#6{%
\ifcsundef{blx@file@#1}
{\blx@info@noline{Trying to load #2..}%
\IfFileExists{#1}
{\blx@info@noline{... file '#1' found}%
#3\@@input\@filef@und#4#5%
\listxadd\blx@list@req@stat{#1}%
\@addtofilelist{#1}}
{\blx@info@noline{... file '#1' not found}#6}%
\global\cslet{blx@file@#1}\@empty}
{#5}}
作为一种解决方法。此补丁需要直接应用于biblatex.sty
的原始定义\blx@inputonce
,实际上这意味着您需要修改biblatex.sty
。由于这可能有点不切实际,Ulrike 提供了另一种解决方法
\makeatletter
\patchcmd\@filelist{biblatex-dm.cfg,}{}{}{\fail}
\makeatletter
这只是biblatex-dm.cfg
从使用过的文件列表中删除。