修复 LaTeX Error: File ... not found 在 Debian/Ubuntu 上

问题:

你正在使用 latexpdflatex 编译 .tex 文件,但你收到类似这样的错误消息(该解决方案适用于任何缺失的文件,不仅仅是 utf8x.def):

latex_error_output.txt
! LaTeX Error: File `utf8x.def' not found.

现在你想知道你需要安装哪个包 解决方案 1:安装所有内容

此问题通常可以通过安装所有包一劳永逸地修复:

install_texlive_full.sh
sudo apt-get install texlive-full

但是,这会拉取大量包,因此在大多数情况下不推荐。 解决方案 2:仅安装所需包

你可以使用 apt-file 查找包含缺失文件的包并安装它。

首先,更新所有已知包中的文件列表(如果需要,sudo apt-get install apt-file):

apt_file_update.sh
sudo apt-file update

你只需在使用 apt-file 之前每隔几个月执行一次此操作。

然后,查找缺失的文件(将 utf8x.def 替换为你的缺失文件):

apt_file_search.sh
$ apt-file search utf8x.def
texlive-lang-japanese: /usr/share/texlive/texmf-dist/tex/latex/bxbase/bxutf8x.def
texlive-latex-extra: /usr/share/texlive/texmf-dist/tex/latex/ucs/utf8x.def
texlive-luatex: /usr/share/texlive/texmf-dist/tex/lualatex/luainputenc/lutf8x.def

现在需要一些有根据的猜测来确定需要安装三个列出的包中的哪一个(texlive-lang-japanesetexlive-latex-extratexlive-luatex)。在这种情况下,texlive-latex-extra 是正确的选择,因为其他包仅在包的某个子目录中列出缺失文件(如 luainputenc)。如果不确定,你可以安装所有列出的包。


Check out similar posts by category: LaTeX, Linux