有没有办法创建 Tex Live 或 LaTeX 虚拟环境?

有没有办法创建 Tex Live 或 LaTeX 虚拟环境?

我正在寻找一个 Python 风格的 virtualenv 或 venv 来创建一个虚拟环境,在其中我可以安装 LaTeX 包,以便这些包仅适用于我当前的 LaTeX 项目(但不适用于全系统)。

我期待类似下面的内容:

  • 创建一个虚拟环境路径,例如./venv
  • 设置一些环境变量或修改tlmgr install命令,以便新包安装到./venv正确的目录结构中。
  • 设置一些环境变量或修改pdflatex命令,以便我编译的新文档使用./venv目录中的包以及 Tex Live 发行版附带的系统范围路径中的包。
  • 但是我不想./venv在 LaTeX 文档(文件.tex)中硬编码任何路径。文件中的源代码.tex应该与是否使用虚拟环境进行编译无关。

答案1

您可以使用 TeX Live 的用户模式为此目的。正如您在评论中提到的,您可以使用以下方式创建新的用户树(允许多个树)

$ tlmgr init-usertree --usertree ~/test-tree

要在此树中安装包,您必须传递用户树和选项--usermode

$ tlmgr install --usertree ~/test-tree --usermode <package>

要运行 LaTeX,您必须通过设置变量来提示它在哪里查找用户包TEXMFHOME。您可以为每次运行单独执行此操作

$ TEXMFHOME=~/test-tree pdflatex test.tex

或者通过导出名称来全局指定当前 shell(用于unset退出“虚拟环境”)

$ export TEXMFHOME=~/test-tree
$ pdflatex test.tex
$ unset TEXMFHOME

相关内容