从发行版提供的 Texlive 切换到原生 Texlive 后重新配置 Latex 路径

从发行版提供的 Texlive 切换到原生 Texlive 后重新配置 Latex 路径

我运行的是 Arch 系统,并使用了发行包管理器提供的 Texlive 发行版。但是,现在我遇到了一个错误,并决定切换到我安装的原生 Texlive 安装。我/usr/local/texlive/2023/bin/x86_64-linux按照安装脚本的说明将其添加到 PATH,MANPATH 和 INFOPATH 也类似,我可以在终端中运行 tlmgr,但似乎 latex 尚未检测到 PATH 更改,因为如果我尝试编译某些内容,我会收到以下错误消息:

warning: kpathsea: configuration file texmf.cnf not found in these directories: /usr/bin:/usr/bin/share/texmf-local/web2c:/usr/bin/share/texmf-dist/web2c:/usr/bin/share/texmf/web2c:/usr/bin/texmf-local/web2c:/usr/bin/texmf-dist/web2c:/usr/bin/texmf/web2c:/usr:/usr/share/texmf-local/web2c:/usr/share/texmf-dist/web2c:/usr/share/texmf/web2c:/usr/texmf-local/web2c:/usr/texmf-dist/web2c:/usr/texmf/web2c://texmf-local/web2c:/://share/texmf-local/web2c://share/texmf-dist/web2c://share/texmf/web2c://texmf-local/web2c://texmf-dist/web2c://texmf/web2c.
This is LuaHBTeX, Version 1.17.0 (TeX Live 2023/Arch Linux) 
 system commands enabled.

kpathsea: Running mktexfmt lualatex.fmt
mktexfmt: No such file or directory
I can't find the format file `lualatex.fmt'!

我可以texmf.cnf/usr/local/texlive/2023//usr/local/texlive/2023/texmf-dist/web2c/中找到lualatex.fmt/usr/local/texlive/2023/texmf-var/web2c/luahbtex/lualatex.fmt但显然 kpathsea 找不到。我该如何将 Latex 重新配置到我的 Texlive 安装的新位置?我试过了

export TEXMF=:/usr/local/texlive/2023
export TEXMF=:/usr/local/texlive/2023/texmf-dist
export TEXINPUTS=/usr/local/texlive/2023//

但都没有起作用。

答案1

在 David Carlisle 的大力帮助下,我找到了解决方案。系统仍在尝试查找发行版提供的 Texlive 安装(我已卸载该安装),因为我/usr/local/texlive/2023/bin/x86_64-linux在 PATH 之后添加了/usr/bin。在这种情况下,必须/usr/local/texlive/2023/bin/x86_64-linux在 之前添加 路径/usr/bin,我append_path使用 中的 -function变体执行了此操作/etc/profile

# Prepend "$1" to $PATH when not already in.
# This function API is accessible to scripts in /etc/profile.d
prepend_path () {
    case ":$PATH:" in
        *:"$1":*)
            ;;
        *)
            PATH="$1:${PATH:+$PATH:}"
    esac
}

相关内容