我想将所有需要的软件包(这些软件包不包含在基本 LaTeX 安装中)与书籍的源代码一起压缩。但这些软件包应该位于源代码所在目录的子目录中。如果有人下载了,.zip
LaTeX 如何使用那些既不在 LaTeX 安装目录中也不在源代码同一目录中的软件包?目标是在其目录中只包含源代码,在子目录中包含软件包。我认为序言应该是这样的:
\usepackage{import}
\subimport{packages/metalogo/}{metalogo.sty}
\usepackage{metalogo}
但导入包似乎只适用于.tex
文件。
答案1
如果 TEXINPUTS 包含路径部分,.//
那么将搜索当前目录下的所有目录。
因此(取决于你的操作系统)你可以这样做
TEXINPUTS=.//: pdflatex myfile
或者使用setenv
或export
或set
或任何需要的设置 TEXINPUTS。或者对于跨平台解决方案,可以在配置文件中设置 TEXINPUTS,texmf.cnf
而不是将其设置为环境变量。
答案2
这是取自TeX 常见问题解答入口本文档使用的所有文件:
这
snapshot
包裹帮助 LaTeX 文档的所有者获取文档的外部依赖项列表,以可嵌入文档顶部的形式。该包的预期用途是创建文档的存档副本,但它也适用于文档交换情况。这
bundledoc
系统用于snapshot
生成文档所需文件的存档(例如.tar.gz
或.zip
);它附带用于 TeX Live-Unix 和 MiKTeX 的配置文件。当您发送文档的第一个副本时,它非常有用。
mkjobtexmf
-recorder
通过TeX 选项或使用 (Unix) 命令来查找“作业”中使用的文件,strace
以监视 TeX 正在执行的操作。这样找到的文件将被复制(或链接)到目录,然后可以保存该目录以进行传输或存档。
您可能对此感兴趣bundledoc
。