我希望我的 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.sty
tex/latex
您可以创建一个~/texmf/tex/latex/mystuff
目录并将您使用的所有额外软件包放入其中。然后,您只需将该~/texmf
文件夹同步/复制到您使用的任何计算机即可。 (La)TeX 会自动在那里拾取它们,而不会出现任何警告或错误。
PS:另一方面,我建议您手动安装 TeXLive(即不使用操作系统提供的软件包,如 Ubuntu 的软件包),并完全安装。使用的大小(约 2.8GB)对于现代硬盘大小来说应该不是问题,它可以为您节省这些和其他问题。