将文件与软件包捆绑在一起

将文件与软件包捆绑在一起

我希望我的 LaTeX 文档是自包含的,也就是说,如果我移动到另一台计算机,我希望我的所有非标准软件包无需先安装即可运行。对于足够简单的软件包,我可以将文件放入.sty基本目录中,但这似乎是一个笨拙的解决方案。我可以将软件包放在子目录中,但有时我会收到依赖项错误,例如

 LaTeX Warning: You have requested package style_files/placeins
 but the package provides `placeins'.

 (/usr/share/texmf-texlive/tex/latex/tools/array.sty)

有没有正确的方法(tm)来做到这一点,或者我应该在我使用的每台计算机上安装我需要的每个软件包?

答案1

看看 Scott Pakin 在 CTAN 上的脚本bundledoc. bundledoc是一个 perl 脚本,它收集处理单个文件所需的所有文件并将它们放在单个目录中,然后将其压缩以便于传输。

答案2

除了将它们放入文档目录并安装到主目录中之外,您还可以创建一个自己的texmf目录结构,该目录结构由 (La)TeX 自动搜索。在 Unix/Linux 操作系统下,通常是~/texmf(即主目录中的目录texmf)。对于 Windows+MikTeX,IIRC 是。LaTeX 包通常放在主树中的c:\\localtexmf目录中。例如,在 中。您不必为每个包创建子文件夹,但应保留该部分。./tex/latex/<package name>/placeins~/texmf/tex/latex/placeins/placeins.stytex/latex

您可以创建一个~/texmf/tex/latex/mystuff目录并将您使用的所有额外软件包放入其中。然后,您只需将该~/texmf文件夹同步/复制到您使用的任何计算机即可。 (La)TeX 会自动在那里拾取它们,而不会出现任何警告或错误。

PS:另一方面,我建议您手动安装 TeXLive(即不使用操作系统提供的软件包,如 Ubuntu 的软件包),并完全安装。使用的大小(约 2.8GB)对于现代硬盘大小来说应该不是问题,它可以为您节省这些和其他问题。

相关内容