我的 TEXMFVAR 文件夹无法读取,我的 texlive 安装正常吗?

我的 TEXMFVAR 文件夹无法读取,我的 texlive 安装正常吗?

我使用 texlive 作为 suse tumbleweed 的软件包。由于我遇到了一些缓存问题,我尝试了

kpsewhich --expand-var '$TEXMFVAR'

导致/var/lib/texmf无法写入。这很可能就是我的缓存问题的根源。

我在各个网站上都读到了 TEXMFVAR 是什么:

  • texconfig、updmap-user 和 fmtutil-user 用于存储(缓存的)运行时数据(例如格式文件和生成的映射文件)的(个人)树。
  • 默认:~/.texlive/texmf-var 说明:updmap 和 fmtutil(系统模式)用于存储(缓存)运行时数据

嗯,我觉得这不合适。我没有文件~/.texlive夹。我有一个~/.cache/texmf带有唯一子文件夹的文件夹fonts

我的第一个问题是,我的分布是否良好或者合理。

答案1

由于 OP 现在已经可以正常工作,我将把我的评论提升为答案。

首先:无论何时安装 TeXlive,或升级到更高版本,请确保二进制文件位于您的 PATH 中。如果您从操作系统而不是直接从 TUG 安装,一些系统可能会自动执行此操作。但是,自动 PATH 可能要等到重新启动后才会启用。因此,请重新启动。

其次,TeXlive 允许您直接声明其内部环境变量,作为环境的一部分。然后,如果它在您的变量中找不到所需的变量,它将仅使用自己的变量。这是对 OP 有效的方法。

例如,假设 TeX 正在 中查找文件/path/to/somehwere,但它们在 中/this/other/place。您可以执行以下操作:

export TEXWHATEVER=/this/other/place

在您的用户$HOME/.bashrc文件中,然后重新启动。现在 TeX 需要其TEXWHATEVER环境/this/other/place。在我自己的设置中,发行版 TeX 与 TUG 有很大不同,因此我以这种方式手动定义 TEXMFROOT。

如果(如 OP 所述)TeX 需要在那里写入,但您没有写入权限,则此方法尤其有效。您可以重定向到主目录中您有写入权限的某个位置。

这不是唯一的解决方案。还有一种usermode方法可以将许多东西定向到用户主目录中您选择的目录中。tlmgr程序帮助将向您展示该怎么做。总的来说,usermode这是一种更好的方法。

相关内容