Ispell в режиме Emacs LaTeX
Когда я запускаю команду Emacs ispell-buffer
в буфере Emacs, который находится в режиме LaTeX, ispell проверяет орфографию и внутри математических выражений.
Я бы очень хотел отключить это. Есть ли простой способ сделать это?
Я читал о detex, но detex, похоже, не интегрирован в Emacs.
Ответы
Ответ 1
Не следует делать этого, если вы используете латекс (например,\[... \], среды уравнений и c) для вызова математического режима. Проверьте содержимое ispell-tex-skip-alists
; ср раздел 6 часто задаваемых вопросов ispell, для чего это должно быть.
Вы можете использовать $.. $, $$.. $$, чтобы выделить математику, используя ispell-tex-skip-alists, но будьте осторожны, чтобы избавиться от них...
Postscript
Проверьте также значение переменной ispell-parser
: это должно быть 'tex
, иначе ispell не будет искать области $... $и $$... $$.
Ответ 2
Да, вы можете: установить aspell вместо ispell и использовать flyspell с ним.
Ответ 3
Это не отвечает на ваш вопрос напрямую, но я нашел Flyspell, проверять орфографию на лету, невероятно полезно при редактировании документов LaTeX. Он по-прежнему исправляет ошибки в уравнениях, но гораздо проще игнорировать несколько дополнительных красных подчеркиваний, чем интерактивные команды ispell.
Ответ 4
Вы можете это знать, но вы можете нажать A
во время проверки орфографии, чтобы добавить слово в буфер-локальный словарь (этот капитал A
, нижний регистр A
добавляет его в глобальный словарь). Это не идеально, но именно так я обычно подавляю проверку орфографии технических терминов и имен переменных и т.д. В моих документах LaTeX.
Ответ 5
Этот поток списков рассылки AUCTeX: "проверка орфографии (ispell-buffer) жалуется на продукты в математических режимах" имеет некоторые обходные пути и ответ демонстрирует, как использовать ispell-tex-skip-alists.
Ответ 6
Другой подход - использовать ispell-skip-region-alist
. Следующий пример для исключения блоков src org-mode:
(add-to-list 'ispell-skip-region-alist '("#\\+begin_src". "#\\+end_src"))