又一个 .sty 未找到问题,Ubuntu 22.04 + TeXLive-full

又一个 .sty 未找到问题,Ubuntu 22.04 + TeXLive-full

如果这个问题已经得到解答,我很抱歉,但我真的厌倦了这种错误。我在 Ubuntu 22.04 系统上使用 TeXLive(我这样做只是sudo apt install texlive-full为了避免遗漏任何东西)。然后,我在目录中放置了一个名为的目录polytechnique,其中包含一个polytechnique.sty文件/usr/local/texlive/texmf-local/tex/latex/。使用locate得到以下内容:

$ locate polytechnique.sty
/usr/local/texlive/texmf-local/tex/latex/polytechnique/polytechnique.sty

之后,我尝试了两者sudo texhash,并且sudo mktexlsr都输出以下内容(程序名称除外):

mktexlsr: Updating /usr/local/texlive/2022/texmf-config/ls-R... 
mktexlsr: Updating /usr/local/texlive/2022/texmf-dist/ls-R... 
mktexlsr: Updating /usr/local/texlive/2022/texmf-var/ls-R... 
mktexlsr: Updating /usr/local/texlive/texmf-local/ls-R... 
mktexlsr: Done.

显然,texmf-local已经处理好了,包应该被放入数据库中,对吧?然后,我写了一个带有指令.tex的文件\usepackage{polytechnique}。接下来发生的事情如下:

$ pdflatex file.tex
...
! LaTeX Error: File `polytechnique.sty' not found.
...

我真的不知道如何解决这个问题...有什么想法吗?提前谢谢您!

答案1

感谢 David Carlisle、Ulrike Fischer 和 cfr 的不同评论,我明白了 TeXlive 有两个单独的安装(一个是 apt 安装,另一个是从 tug 网站获取的)。apt 安装位于我的 PATH 中,而另一个位于 中,/usr/local我想使用的却不在。

我清除了 TeXlive 安装,并从https://www.tug.org/texlive/quickinstall.html。然后,我在正常模式下将安装目录放入我的 PATH 中。然后,我将我的自定义包放入/usr/local/texlive/texmf-local

执行 时texhash,仍存在在 sudo 模式下更改 PATH 的问题。为了解决这个问题,我运行了sudo env PATH="$PATH" texhash,然后一切正常,我不再遇到编译问题。

相关内容