查找并配置我的 texmf 树

查找并配置我的 texmf 树

我正在尝试安装一个新样式文件,该文件不是 LaTeX 默认自带的。我在一台 Linux Mint 电脑上,用一个简单的命令安装了 LaTeX

sudo apt install texlive

或者类似的东西,如果我没记错的话。现在,当我搜索我的 texmf 目录时,我找到了两个(我按照互联网上各个页面上的一些说明找到的)。一个是 ,/var/lib/texmf另一个是/usr/local/share/texmf/。前者有以下文件夹:

dvipdfmx/
dvips/
fonts/
luatex-cache/
tex/
web2c/
xdvi/
...

以及七个文件,其中例如之一是fmtutil.cnf-DEBIAN

.sty经过一番盲目探索,我在任何子文件夹中都找不到任何文件。在另一个目录中,/usr/local/share/texmf/目录完全是空的。

因此,除非我还没有充分探索第一个目录的子文件夹,否则我认为这两个都不是 LaTeX 寻找其.sty文件的地方。那么我如何找到正确的目录?当我输入时,which tex它会给出提示usr/bin/tex,但在那个目录中,我看不到任何其他似乎与 LaTeX 相关的文件。

当我运行时texhash它返回

texhash: /usr/local/share/texmf: directory not writable. Skipping...
texhash: /var/lib/texmf: directory not writable. Skipping...
texhash: /var/lib/texmf: directory not writable. Skipping...
texhash: /var/lib/texmf: directory not writable. Skipping...
texhash: Done.

由于我真的不知道自己在做什么,所以我不想texhash以 root 身份运行,但这让我认为 texmf 树必须位于其中一个目录中......所以我现在感到很困惑。

[编辑:我看到有人建议主目录中可能有一个 texmf 树,但我没有。也就是说,texmf我的目录中没有目录~/。]

[进一步编辑:此外,当我输入时echo $TEXMFHOME它会返回一个空白行。]

[进一步编辑:我根据 egreg 的评论输入了kpsewhich -var-value TEXMFHOME返回结果/home/myname/texmf,但该目录不存在。]

答案1

本地添加的内容不应放入系统texmf目录,即 ,/usr/local/share/texmf而应放入您的主texmf文件夹。此文件夹不会自动创建,因此您需要自行创建。

texmf可以使用以下命令找到本地的位置:

kpsewhich -var-value TEXMFHOME

在 Linux 系统上,这通常是~/texmf( /home/<username>/texmf)。您可以自己创建文件夹,但它必须符合 TeX 目录结构。请参阅:

一旦完成此操作,您不需要执行任何其他操作来找到包;TeX 首先在此目录中查找。

答案2

texconfig conf也可以给出所有 kpathsea 变量:

=========================== kpathsea variables ===========================
TEXMFMAIN=/usr/texmf-dist
TEXMFDIST=/usr/texmf-dist
TEXMFLOCAL=//texmf-local
TEXMFSYSVAR=/usr/texmf-var
TEXMFSYSCONFIG=/usr/texmf-config
TEXMFVAR=/home/firestar/.texlive2022/texmf-var
TEXMFCONFIG=/home/firestar/.texlive2022/texmf-config
TEXMFHOME=/home/firestar/texmf
VARTEXFONTS=/home/firestar/.texlive2022/texmf-var/fonts
TEXMF={{}/home/firestar/.texlive2022/texmf-config,/home/firestar/.texlive2022/texmf-var,/home/firestar/texmf,!!//texmf-local,!!/usr/texmf-config,!!/usr/texmf-var,!!/usr/texmf-dist}
SYSTEXMF=/usr/texmf-var://texmf-local:/usr/texmf-dist
TEXMFDBS={!!//texmf-local,!!/usr/texmf-config,!!/usr/texmf-var,!!/usr/texmf-dist}
WEB2C={{}/home/firestar/.texlive2022/texmf-config,/home/firestar/.texlive2022/texmf-var,/home/firestar/texmf,!!//texmf-local,!!/usr/texmf-config,!!/usr/texmf-var,!!/usr/texmf-dist}/web2c
TEXPSHEADERS=.:{{}/home/firestar/.texlive2022/texmf-config,/home/firestar/.texlive2022/texmf-var,/home/firestar/texmf,!!//texmf-local,!!/usr/texmf-config,!!/usr/texmf-var,!!/usr/texmf-dist}/{dvips,fonts/{enc,type1,type42,type3}}//
TEXCONFIG={{}/home/firestar/.texlive2022/texmf-config,/home/firestar/.texlive2022/texmf-var,/home/firestar/texmf,!!//texmf-local,!!/usr/texmf-config,!!/usr/texmf-var,!!/usr/texmf-dist}/dvips//
ENCFONTS=.:{{}/home/firestar/.texlive2022/texmf-config,/home/firestar/.texlive2022/texmf-var,/home/firestar/texmf,!!//texmf-local,!!/usr/texmf-config,!!/usr/texmf-var,!!/usr/texmf-dist}/fonts/enc//
TEXFONTMAPS=.:{{}/home/firestar/.texlive2022/texmf-config,/home/firestar/.texlive2022/texmf-var,/home/firestar/texmf,!!//texmf-local,!!/usr/texmf-config,!!/usr/texmf-var,!!/usr/texmf-dist}/fonts/map/{kpsewhich,pdftex,dvips,}//

kpathsea这比一次只执行一个命令要好。

相关内容