arch linux 中的“texmf.cnf”在哪里?

arch linux 中的“texmf.cnf”在哪里?

在 Ubuntu 上,我有一个名为的文件/etc/texmf/texmf.cnf ,可以在其中设置一些用户特定的配置,例如

TEXMFHOME = $HOME/texmf

我想知道在 archlinux 上哪里可以找到这个文件,因为我需要设置TEXMFHOME到一个特定的文件夹......

答案1

正如 egreg 所说,kpsewhich -a texmf.cnf它将向您显示文件的位置。但是,还有其他方法。正如我所说,locate texmf.cnf这可能是最简单的。

或者您可以查看PKGBUILD

   # replace upstream texmf.cnf with ours
   rm -f "$pkgdir"/usr/share/texmf-dist/web2c/texmf.cnf
   install -m644 "$srcdir"/texmf.cnf "$pkgdir"/etc/texmf/web2c/texmf.cnf
   # since the location of texmf.cnf is hard-wired to be under /usr/share/texmf/web2c
   # we make a symlink from /etc/texmf/web2c/texmf.cnf to the latter
   ln -sf /etc/texmf/web2c/texmf.cnf "$pkgdir"/usr/share/texmf-dist/web2c/texmf.cnf

这表明该文件已安装在 中,/usr/share/texmf-dist/web2c/texmf.cnf并且带有来自 的符号链接/etc/texmf/web2c/texmf.cnf。但请不要编辑/usr/share/texmf-dist/web2c/texmf.cnf- 正如文件本身所指出的,如果您进行编辑,则更新时您的更改将被覆盖。

应该locate不可用,请使用以下方式安装

pacman -S mlocate

答案2

在 Unix/Linux 中,您可以使用命令locate(1)(有时会提供替代命令slocate(1)),例如locate texmf.cnf。如果没有可用的命令,暴力破解find / -name texmf.cnf将告诉您有关名为该文件的文件的信息。

答案3

texmf.cnfkpathsea根据变量查找文件TEXMFCNF。尝试kpsewhich --var-value TEXMFCNF查看默认目录列表。

请注意TEXMFCNF != TEXMFCONFIG和 应该texmf.cnf在里面web2c(见TeX 目录结构)。

另请参阅默认 texmf.cnf 文件的内容(例如less $(kpsewhich texmf.cnf))和 kpathsea文档

为自定义文件设置 PATH 的快速(且肮脏?)方法可以是:

export TEXMFCNF="$HOME/texmf/web2c,/usr/share/texmf-dist/web2c"

相关内容