因此,我开始学习 LaTeX,经常发现自己会错误地输入控制序列,例如\idotsint
。我使用编辑器插件在文档上调用lacheck
和,这有助于捕获一些错误,但每当我输入错误控制序列时,这两种工具都不会报告chktex
任何问题。相反,像这样的工具却不存在。pdflatex
\idotqint
如果我在文档中使用了未定义的控制序列,有什么方法可以让语法检查器/ linter 进行报告,最好是我的编辑器等可以知道要指出哪个行号?
编辑:我正在使用带有 vimtex 插件的 vim。
答案1
看起来 vimtex 插件实际上支持在文档编译失败时打开 quickfix 窗口,但是使用 Neovim 会导致 vimtex 无法完全工作。
看这里如何让它与 Neovim 一起工作。
答案2
长评论,而不是答案:问题是:“合法”命令的列表是什么?
可以在序言中、在文档类(文件)中、在包(文件)中、在用另一个包或文档类加载的包中、在用包含的子文档中定义(并存在)多个方法( \def
、等) 。此外,定义可以适用于整个文档,也可以仅适用于部分文档。其工作原理如下:\newcommand
.cls
.sty
\input
\documentclass{article}
\begin{document}
{\def\Me{I exist} \Me }
\end{document}
但这会产生未定义的控制序列错误:
\documentclass{article}
\begin{document}
{\def\Me{I exist} \Me } \Me
\end{document}
总之,对于编辑器(即使对于 vim)来说,知道命令何时定义是一项艰巨的任务,因此问题不应该集中在语法检查器插件上,而应该集中在处理错误消息的最佳插件上(但随后会重复LaTeX 输出中的错误/警告)。