pdflatex 错误:latex.fmt 与 pdftex.pool 不匹配

pdflatex 错误:latex.fmt 与 pdftex.pool 不匹配

我在尝试安装便携式 TeX Live 时遇到了一些问题。一开始一切顺利,但我尝试tlmgr添加一些包,现在每次运行时pdflatex都会出现奇怪的错误。

谷歌并没有提供太多帮助——大多数讨论都是关于某些 Linux 发行版(我没有使用)的系统安装中的错误,或者他们建议我运行fmtutil --all,虽然没有出现错误,但并没有解决问题。

我不确定下一步该尝试什么。当我运行 pdflatex 时,会发生以下情况:

$ ./bin/x86_64-linux/pdflatex
This is pdfTeX, Version 3.1415926-2.5-1.40.14 (TeX Live 2013)
 restricted \write18 enabled.
**t
---! ./texmf-var/web2c/pdftex/pdflatex.fmt doesn't match pdftex.pool
(Fatal format file error; I'm stymied)

pdftex.pool便携式安装或我的系统安装(确实有效)中没有文件。

知道问题是什么或我下一步可以尝试什么吗?

答案1

现代 pdftex 将“池文件”嵌入可执行文件中,因此此消息意味着格式是使用不同的可执行文件创建的。fmtutil --all正常运行会将生成的格式放入$HOME/.texlive2013/texmf-var/web2c/,并且应优先使用这些格式而不是系统texmf-var/web2c版本。您应该能够找到生成的格式和日志文件,例如,使用locate pdflatex.fmt。此信息可以帮助查明您的问题。

根据您提供的信息,无法确定是什么问题。您是否PATH按照便携式 texlive 说明在终端会话中进行了设置?

fmtutil通常会将生成的格式放入 中$HOME/.texlive2013/texmf-var/web2c,因此会破坏可移植性。如果您实际使用,sudo fmtutil --all则将$HOME是 root 的值,并且任何生成的格式都不会对其他用户可用。

您可能想要使用fmtutil-sys --allPATH适当设置)将生成的格式放入便携式 texmf-var 树(例如,与 texlive 的其余部分一起存储在 USB 密钥上)。

答案2

我遇到了类似的问题。我能够使用sudo fmtutil-sys --allArch-linux 机器上的命令解决它。@doed 的回复很有帮助。

答案3

我遇到了同样的问题:在运行 LaTeX 的同一文件夹中,有一个过时的 latex.fmt 文件。请将其删除。

答案4

我遇到了完全相同的问题,运行sudo fmtutil-sys --all没有帮助。然后我用来locate pdflatex.fmt查找有问题的文件的所有实例。locate指向以下位置:

/home/phx/.texmf-var/web2c/pdftex/pdflatex.fmt
/home/phx/.texmf-var-BackUp/web2c/pdftex/pdflatex.fmt
/var/lib/texmf/web2c/pdftex/pdflatex.fmt

然后我复制/var/lib/texmf/web2c/pdftex/pdflatex.fmt/home/phx/.texmf-var/web2c/pdftex/pdflatex.fmt。此后,一切又恢复正常。

相关内容