![Как выполнить линтинг для неопределенной управляющей последовательности?](https://rvso.com/image/330724/%D0%9A%D0%B0%D0%BA%20%D0%B2%D1%8B%D0%BF%D0%BE%D0%BB%D0%BD%D0%B8%D1%82%D1%8C%20%D0%BB%D0%B8%D0%BD%D1%82%D0%B8%D0%BD%D0%B3%20%D0%B4%D0%BB%D1%8F%20%D0%BD%D0%B5%D0%BE%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%D0%B9%20%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D1%8F%D1%8E%D1%89%D0%B5%D0%B9%20%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8%3F.png)
Итак, я начинаю изучать LaTeX и часто обнаруживаю, что делаю ошибки в управляющих последовательностях, таких как \idotsint
. Я использую плагины редактора, которые вызывают lacheck
и chktex
в документе, что помогает отлавливать некоторые ошибки, но всякий раз, когда я неправильно набираю управляющую последовательность, ни один инструмент не сообщает о какой-либо проблеме. Вместо этого инструменты, такие как , pdflatex
остаются, чтобы понять, \idotqint
не существует.
Есть ли способ заставить синтаксическую проверку/линтер сообщать, если я использую неопределенную управляющую последовательность в своем документе, желательно, чтобы мой редактор и ему подобные могли знать, на какой номер строки следует указать?
EDIT: Я использую vim с плагином vimtex.
решение1
Похоже, плагин vimtex на самом деле поддерживает открытие окна быстрого исправления, когда документ не удается скомпилировать, но использование Neovim помешало vimtex полностью заработать.
Видетьздесьо том, как заставить его работать с Neovim.
решение2
Длинный комментарий, а не ответ: Проблема в следующем: каков список «разрешенных» команд?
Команда (также известная как управляющая последовательность) может быть определена (и существовать) с несколькими методами ( \def
, \newcommand
, и т.д.) в преамбуле, или в документальном классе ( .cls
file), или в пакете ( .sty
file), или в пакете, загруженном с другим пакетом или классом документа, или в дочернем документе, включаемом с \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).