![又一个 .sty 未找到问题,Ubuntu 22.04 + TeXLive-full](https://linux22.com/image/475125/%E5%8F%88%E4%B8%80%E4%B8%AA%20.sty%20%E6%9C%AA%E6%89%BE%E5%88%B0%E9%97%AE%E9%A2%98%EF%BC%8CUbuntu%2022.04%20%2B%20TeXLive-full%20.png)
如果这个问题已经得到解答,我很抱歉,但我真的厌倦了这种错误。我在 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
,然后一切正常,我不再遇到编译问题。