如何安装自定义 sty 文件以便 LaTeX 编译器可以找到它们?

如何安装自定义 sty 文件以便 LaTeX 编译器可以找到它们?

我创建了一个自定义的 beamer 样式。为此,我有几个 .sty 文件。我能够通过标准 tex-live 提供的发行版在我的 Ubuntu 12.04 上安装这个自定义主题,方法是将其放在我的主目录中,如下所示:

~/texmf/tex/latex/beamer/base/themes

然后运行texhash

我想知道如果我把它放在自定义目录中,如何才能让 pdftolatex 编译器知道这个包。

答案1

Tex-live 支持许多环境变量,用于指定查找文件的位置。最重要的是TEXINPUTS(针对包、类和支持文件)、BSTINPUTS(针对 bibtex/biblatex 样式)和BIBINPUTS(针对 bibtex/biblatex 数据库)。

要添加您自己的文件夹~/mystuff,只需将其添加到TEXINPUTS,也许还可以BSTINPUTS(bash 语法):

export TEXINPUTS=~/mystuff//:${TEXINPUTS}
export BSTINPUTS=~/mystuff//:${BSTINPUTS}

如果目录以双斜杠结尾,则会以递归方式搜索pdftex文件,因此您可以在其中存储任意文件夹结构。

路径也可以是相对路径,这在协作设置中非常方便(使用源代码控制系统,例如 git 或 subversion)。对于此类项目,我通常会维护一个texmf包含所有“不常用”包、包版本等的每个项目文件夹,并将其与项目的源文件一起提交到存储库中。然后在随附的 makefile 中,我将其设置 TEXINPUTS./texmf//:${TEXINPUTS},以便项目是“自包含的”,并且可以由任何具有标准 tex-live 发行版的同事签出和编译。有关此方法的详细信息,请参阅这个答案

答案2

之前TeXLive,像 teTeX 这样的安装有一个 $TEXINPUTS 环境变量,指向你主目录中的某个目录。这会告诉你首选的 tex 编译器在该目录中查找你的个人 TeX 样式文件,而无需texhash在该目录中运行。

如今,一切都与 kpathsea 和您的个人样式树的内容有关,需要一个由 生成的哈希文件texhash。幸运的是,您可以仅为您有写入权限的个人树生成该哈希文件,并使用环境变量来告诉您首选的 TeX 编译器应按什么顺序搜索您的个人树(与系统树相比)。

查看 TeX 文件私人安装常见问题解答了解详情。

相关内容