如何在Emacs的LaTeX模式下定义两个ispell字典?

5

我有一个含有许多第二语言引用的文档。如何在 Ispell 中定义这个第二语言?我在文件顶部有以下内容:

%% Local IspellDict: brasileiro

我尝试了这个方法,但它没有生效:
%% Local IspellDict: brasileiro, english
3个回答

5

我有一种方法可以在两种语言之间切换:

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

我很欣赏你的代码。这是一个好的提示,但我想自动化这个过程。我不想每次写引用时都要切换语言。 - msampaio

1

我尝试了AutoLangMode,使用英语、葡萄牙语和法语。它在英语中正常工作,但在其他语言中却不行。除此之外,这是一个不错的建议。 - msampaio

0
请尝试从http://www.emacswiki.org/emacs/TN/#toc13使用swL-mode。它与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)和文本属性,因此可能会出现一些性能问题。但也许这并不是问题,我只是太谨慎了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接