我在共享服务器上有一个非 root 帐户,该服务器上有一个可供所有用户使用的旧版本软件包,我想在我的帐户上使用较新的版本。我不能只使用 $TEXINPUTS,因为 latex 会先找到共享版本。我怎样才能让 latex 使用我的版本?
即我如何让 Latex 使用这两个文件中的第一个:
/home/fgregg/share/texmf/tex/latex/pgf/basiclayer/pgf.sty
/usr/share/texmf/tex/latex/pgf/pgf.sty
答案1
默认情况下,本地包应该位于 ~/texmf 中,而不是 ~/share/texmf 中(在 Mac 上,它们应该位于 ~/Library/texmf 中)。因此,请尝试将新版本的包放在 ~/texmf/tex 中。当 latex 搜索包时,应该首先找到此目录。
此外,本地 texmf 需要遵循 TeX 目录结构:(您最初不需要创建所有这些目录,但在添加新内容时需要将其放在正确的位置。)
• bibtex directory This is where bib files and bst files go
⁃ bst directory Put bst files here
⁃ bib directory Put bib files here
• tex directory This is where new packages go
⁃ latex directory Put latex packages here
⁃ plain directory Put plain tex files here
⁃ xelatex directory Put xelatex specific packages here
⁃ xetex directory Put plain xetex files here
⁃ context directory Put context files here
⁃ generic directory Put files that are usable with any TeX flavour here
• doc directory
⁃ put documentation files from packages installed in the tex directory here.
Putting the documentation files here allows them to be found by the texdoc
system.
例如,假设您有新包cool-new-package
。如果它是一个 latex 包,该包将附带(至少)一个.sty
文件和一些文档文件(通常是.tex
和版本)。您将在名为.pdf
中创建一个目录,然后将其放在那里。您还将在 中创建一个目录 并将文档文件放在那里。~/texmf/tex/latex
cool-new-package
cool-new-package.sty
cool-new-package
~/texmf/doc
请注意,在全新安装中,texmf
不会创建本地文件夹,如果不存在,则需要创建一个。
如果您使用的是 Mac,我已经创建了一个独立脚本来创建正确的文件夹结构。您可以在此处获取它:
源脚本也可用于 Linux 系统,可在此处获取: