Как определить два словаря ispell в Emacs для режима LaTeX?

У меня есть документ с множеством цитат на втором языке. Как я могу определить этот второй язык для Ispell? У меня есть это в верхней части файла:

%% Local IspellDict: brasileiro

Я попробовал это, но это не сработало:

%% Local IspellDict: brasileiro, english

3 ответа

Решение

У меня есть способ переключения между двумя языками:

;; You should have aspell-ru and aspell-en packages installed
(let ((langs '("english" "russian")))
  (setq lang-ring (make-ring (length langs)))
  (dolist (elem langs) (ring-insert lang-ring elem)))
(defun cycle-ispell-languages ()
  (interactive)
  (let ((lang (ring-ref lang-ring -1)))
    (ring-insert lang-ring lang)
    (ispell-change-dictionary lang)))

(global-set-key (kbd "C-1") 'cycle-ispell-languages)

Маркос, я нашел это:

http://www.emacswiki.org/emacs/AutoLangMode

http://www.emacswiki.org/emacs/GuessLang

Я думаю, что первый делает то, что вам нужно.

Пожалуйста, попробуйте SWL-режим с http://www.emacswiki.org/emacs/TN/. Это работает с flyspell. Выбран словарь для текста в текущей позиции. Вы должны адаптировать SWL-ALIST к вашим потребностям. Строки идентификатора языка (такие как \selectlanguage{...}) должны начинаться с начала строки.

Тем временем я также обнаружил flyspell-babel.el на следующей странице:

https://tex.stackexchange.com/questions/40988/how-can-i-make-auctex-spell-check-in-the-language-specified-by-babel-and-csquote

Я думаю, что это более удобно (упаковано). Он не использует форматирование точно в срок (jit-lock-mode) и свойства текста, поэтому могут возникнуть проблемы с производительностью. Но, может быть, это не проблема, и я был слишком осторожен.

Другие вопросы по тегам