根据 bundledoc 的文档,我使用了文档中提到的简单 Tex 文件
\RequirePackage{snapshot}
\documentclass[11pt]{article}
\begin{document}
Hello, world! \ref{sec2}
\end{document}
它会生成一个文件hello.dep
。其中生成的内容hello.dep
包括:
\RequireVersions{
*{application}{TeX} {1990/03/25 v3.x}
*{format} {LaTeX2e} {2011/06/27 v2.e}
*{package}{snapshot} {2002/03/05 v1.14}
*{class} {article} {2007/10/19 v1.4h}
*{file} {size11.clo} {2007/10/19 v1.4h}
}
我运行了以下命令
bundledoc --config=miktex.cfg hello.dep
但它会产生下面提到的错误
initexmf: --find-latex-input: unknown option
bundledoc: "initexmf --find-latex-input %BDINPUTS%" (BDINPUTS="hello.tex") failed to find hello.tex
谁能指导我如何解决这个错误。
谢谢
答案1
正如 Jon 在评论中指出的那样,该软件包提供的配置文件绝对过时了。如错误消息所示,使用的命令不起作用--find-latex-input
,甚至在 MiKTeX 文档中也不再提及。
要恢复该功能,必须创建一个自己的文件。下面我将提供一个。顺便说一句:事实证明,Windows 版 TeX Live 也受到影响。
第一的
MiKTeX 用户必须下载命令行工具zip.exe
,TeX Live 中已包含该工具。因此,作为 MiKTeX 用户,请转到ftp://ftp.info-zip.org/pub/infozip/win32/,下载最新的版本zipXXX.zip
,并将至少包含的版本提取zip.exe
到系统路径中包含的文件夹中。(关于其他存档程序的说明见后文。)
第二
打开您喜欢的文本编辑器并将以下内容粘贴到
# Windows 中 TeXing 的 bundledoc 配置文件, # 作者:Steffen "Speravir" Hoffmann,许可:LPPL, # 来源:https://tex.stackexchange.com/a/159012/9237 # # 来自程序提供的配置文件 Scott Pakin 的 # 软件包 # 假设:你的路径中某处有“zip”,并且它接受 # 下面的“bundle”行使用的命令行选项。 捆绑包:zip -r -v -9 %BDBASE%.zip %BDINPUTS% 接收器:> NUL 2>&1 查找:kpsewhich -progname=latex $BDINPUTS
将其另存为wintex.cfg
或任何您想要的内容,保存在您本地 TeXMF 根目录中(MiKTeX 用户:用户维护的根目录,参见在 MiKTeX 中创建本地 texmf 树)。请注意不要意外地使用文件扩展名保存.txt
。
有经验的用户会注意到,这实际上是通过提供的配置文件构建的,但它同时在 Windows 中运行。
第三
更新您的文件名数据库 (FNDB)。然后您可以使用带有选项的文件--config
。不过,MiKTeX 用户应该知道,在 Windows 中必须单独安装 Perl 解释器,参见。MiKTeX 和 Perl 脚本(以及一个 Python 脚本)。
PS:理论上,您可以使用每个在命令行上运行的存档程序。您必须调整bundle
配置文件中以 开头的行。但有一个警告:变量%BDBASE%
和%BDINPUTS%
扩展为用双引号括起来的字符串(将该bundle
行更改为bundle echo %BDBASE% %BDINPUTS%
并执行bundledoc
此更改后的版本,您将会看到)。归档程序必须能够处理这个问题。在对7z
命令行版本的 7-Zip 进行的测试中,我没有成功,其他程序我没能测试。