考虑一下这个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}
›收集‹bib
我可以使用的文件:
bundledoc --include="*.bib" bundledocbib.dep
但当我使用它--keepdirs
时
bundledoc --keepdirs --include="*.bib" bundledocbib.dep
bib
省略了 -files 。
答案1
1)解决 bundledoc 中错误的解决方法
我可以使用 Debian 上的 TeXlive 2016 重现此行为。显然,bundledoc 脚本中有一个错误,它没有将相对路径扩展为绝对路径,而这是该keepdirs
选项所必需的。
当我提供绝对路径时,bib 文件包含或不包含该keepdirs
选项。
bundledoc --include=`pwd`/*.bib ...
我相信这是一个合理的解决方法。但 Ulrike 是对的,软件包开发人员应该知道这一点。
2) 解决方法是将 *.bib 文件添加到 *.dep
另外,我发现添加一行
*{file} {test.bib} {0000/00/00 v0.0}
添加到 *.dep 文件会导致正确的行为,即,*.bib 文件被添加到存档中,无论是否添加--keepdirs
。当然,手动执行此操作不方便,因此可以考虑包括
\makeatletter
\@addtofilelist{test.bib}
\makeatletter
在文档的序言中。然后,--include=*.bib
不再需要额外的选项。