每当我尝试使用 vim-latex 和 \ll 在 vim 上编译 LaTeX 时,都会出现以下错误
vDoc.tex
|| 我找不到文件“0”。0
|| 紧急停止。0 [快速修复列表] :latex -interaction=nonstopmode -file-line-error-style 0 1,1 全部
如何修复此问题?我使用的是 Mac OS X 的 latex 版本。我还尝试通过输入 latex -interaction=nonstopmode -file-line-error-style 0 来修复,但无济于事。请帮忙。
谢谢。
编辑:当我输入命令:!latex -interaction=nonstopmode %时,它会进行编译,但每当我执行 \ll 时,它都不会编译。此外,当我使用:!latex -interaction=nonstopmode %时,当我按下回车键时它不会跳过错误...如能提供任何帮助,我们将不胜感激。
答案1
这是 2018 年 1 月至 2019 年 1 月期间运行 vim-LaTeX 版本时出现的问题(042f247)和 2018 年 11 月(ae0ecab) 在 vim 7.4 或更早版本上。截至最后一次提交vim-LaTeX 应该可以在 vim 7.4 上正常工作。如果仅限于 vim 7.4 或更早版本,解决方案应该是升级 vim-LaTeX。
在 vim 7.4 上使用最新版本的 vim-LaTeX 我得到
1 || I can't find file `0'. 0
2 || Emergency stop.
3 || ==> Fatal error occurred, no output PDF file produced!
在我的设置中,它前面有一个通知
Error detected while processing function Tex_RunLaTeX..Tex_SetupErrorWindow..Tex_GetMainFileName:
line 23:
E121: Undefined variable: v:true
E116: Invalid arguments for function glob('*.latexmain',v:true) == ''
E15: Invalid expression: glob('*.latexmain',v:true) == ''
line 34:
E121: Undefined variable: v:true
E116: Invalid arguments for function glob('*.latexmain',v:true)
E15: Invalid expression: glob('*.latexmain',v:true)
line 35:
E121: Undefined variable: lheadfile
E15: Invalid expression: lheadfile != ''
line 51:
E121: Undefined variable: lheadfile
对此的第一个抱怨是关于v:true
,查阅 vim 8 中的新功能列表,我们可以看到其中之一就是添加了新的vim 变量v:true
。
自 2018 年 1 月提交以来(042f247) vim-LaTeX 代码依赖于变量的存在v:true
。我的解决方案是简单地恢复到上述提交之前的 vim-LaTeX 源,使用截至e6972ac,当然,升级到 vim 8.0 会更容易一些。
提交042f247可以选择性地从 vim-LaTeX 中省略,截至最近的提交(dc2053c)没有其他用途,v:true
但这可能会干扰未来的更新。也可能可以v:true
用 vim 脚本定义,但这超出了我的能力范围(可能是https://vi.stackexchange.com/)。