Anki + TexLive 通过 Tug 错误:我找不到格式文件 `latex.fmt'!(-> LaTeX (pdfTeX) 错误:致命格式文件错误;我受阻了)

Anki + TexLive 通过 Tug 错误:我找不到格式文件 `latex.fmt'!(-> LaTeX (pdfTeX) 错误:致命格式文件错误;我受阻了)

我通过 AUR 下载了 Anki,打开它并使用 LaTeX 创建了一张抽认卡。我预览了它,首先出现错误,我必须安装 dvisvgm/dvipng,尽管 dvipng 已经安装了...安装了 dvisvgm,摆脱了错误。然后,我收到错误:

Error executing ⁨latex⁩.
Generated file: ⁨/tmp/anki_temp/tmp.tex⁩
This is pdfTeX, Version 3.141592653-2.6-1.40.25 (TeX Live 2023/Arch Linux) (preloaded format=latex)

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

我通过添加 /usr/local/texlive/2023/texmf.cnf 解决了该问题

TEXFORMATS = /usr/local/texlive/2023/texmf-var/web2c//

编辑:以下部分是不必要的,因为问题比之前的步骤更深。

重新加载所有内容,现在每次我使用 LaTeX 预览或“正常”查看卡片时都会出现以下错误。

Error executing ⁨latex⁩.
Generated file: ⁨/tmp/anki_temp/tmp.tex⁩

This is pdfTeX, Version 3.141592653-2.6-1.40.25 (TeX Live 2023/Arch Linux) (preloaded format=latex)
(Fatal format file error; I'm stymied)

在进行总体更改后,我重新启动了 Anki。

  1. 我测试了 Anki 中所有不同类型的 LaTeX 环境,结果都相同。

  2. 我以各种变体运行了 fmtutil:fmtutil-sys --all、fmtutil-user --all、sudo fmtutil-sys --all、fmtutil-sys --all 以 root (su) 身份运行,但问题均未得到解决。

  3. 我查看了 /usr/lib/python3.11/site-packages/anki/latex.py 文件,以了解如何创建 svg 文件。我在 /tmp/anki_temp/ 中手动执行了其中的命令,它们在那里运行良好(除了选项 --exact,我随后删除了它,但我认为它没有改变任何东西)。为了正确编辑构建过程,我下载了 Anki 插件https://ankiweb.net/shared/info/937148547有趣的是,--exact-option 未包含在内。我尝试了不同的“编译器”(尽管其中一些编译器互相使用,但我并不完全了解这是怎么回事),latex、pdflatex、latexmk,它们都没有工作,并出现相同的错误,除了“(预加载格式=...)”被更改了。

  4. 我认为命令可能在错误的目录中执行,但是我通过手动犯错比较了日志并且它不起作用,因为构建过程中的 cd 命令也不起作用,但无论如何它似乎不是错误。

  5. 我意识到我有多个 latex.fmt 文件,因为我在 /usr/local/texlive/2023 中为所有用户保留了一个文件,为我的本地用户 ~/.texlive* 保留了一个文件,但我记不清本地用户中的确切文件夹名称了,因为我删除了它,但也没有解决它。

  6. 我想过,如果在解决

"I can't find the format file 'Latex.fmt'!"

错误,但每次我在 /usr/local/texlive/2023/texmf.cnf 文件中更改某些内容时,都会出现错误。我仍然认为这可能是根源,但我的理解和知识不足以找出问题到底是什么

  1. 手动添加 svg 文件并重新加载闪存卡后,我又遇到了许多地图缺失的错误。不知道这个错误是否与“我受阻了”有关。

答案1

感谢大卫卡莱尔(参见我的问题下的评论)找到了问题的根源:

TexLive 通过 tug 与 Arch-Packaged-TexLive 安装。

我似乎已经安装了两者,但主要使用 tug-install。然而,Anki 似乎使用了 Arch-Packaged-TexLive,但它不起作用。

  1. 我下载了 Anki 插件来改变构建过程:https://ankiweb.net/shared/info/937148547

  2. 我打开了插件(在 Anki 工具 - 附加组件 - 编辑 LaTeX 构建过程)

  3. 在“svgCommands”latex 中用 的输出替换,which latex并对 dvisvgm 执行相同操作,将其用 的输出替换which dvisvgm

  4. 重启 Anki

相关内容