如何在Emacs中为LaTeX模式定义两个ispell词典?

时间:2012-07-06 11:47:42

标签: emacs latex ispell

我有一个带有许多第二语言引文的文档。如何为Ispell定义第​​二语言?我在文件顶部有这个:

%% Local IspellDict: brasileiro

我尝试了这个,但它不起作用:

%% Local IspellDict: brasileiro, english

3 个答案:

答案 0 :(得分:2)

我可以在两种语言之间切换:

;; 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)

答案 1 :(得分:1)

马科斯,我发现了这个:

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

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

我想第一个做你需要的。

答案 2 :(得分:0)

请从http://www.emacswiki.org/emacs/TN/#toc13尝试swL模式。它适用于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)和文本属性,因此可能存在一些性能问题。但也许,这没问题,而且我太谨慎了。