【问题标题】:How to define two ispell dictionaries in Emacs for LaTeX mode?如何在 Emacs 中为 LaTeX 模式定义两个 ispell 字典?
【发布时间】:2012-07-06 11:47:42
【问题描述】:

我有一份文档,其中包含许多第二语言的引文。如何将这种第二语言定义为 Ispell?我在文件顶部有这个:

%% Local IspellDict: brasileiro

我试过了,但是没用:

%% Local IspellDict: brasileiro, english

【问题讨论】:

    标签: emacs latex ispell


    【解决方案1】:

    我有办法在两种语言之间切换:

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

    【讨论】:

    • 感谢您的代码。这是一个很好的提示,但我想自动化它。我不想每次写引文时都切换语言。
    【解决方案2】:

    马科斯,我发现了这个:

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

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

    我猜第一个做你需要的。

    【讨论】:

    • 我试过 AutoLangMode,有英语、葡萄牙语和法语。它适用于英语,但不适用于其他英语。否则是个好建议。
    【解决方案3】:

    请从 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)和文本属性,因此可能存在一些性能问题。但也许,没问题,只是我太谨慎了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-08
      • 1970-01-01
      • 2013-06-04
      • 1970-01-01
      相关资源
      最近更新 更多