【问题标题】:ispell in Emacs LaTeX modeEmacs LaTeX 模式下的 ispell
【发布时间】:2010-01-23 03:25:01
【问题描述】:

当我在处于 LaTeX 模式的 Emacs 缓冲区上运行 Emacs 命令 ispell-buffer 时,ispell 还会检查数学表达式中的拼写。

我非常想禁用它。有没有简单的方法来做到这一点?

我读过关于 detex 的文章,但 detex 似乎没有集成到 Emacs 中。

【问题讨论】:

    标签: emacs latex ispell


    【解决方案1】:

    如果您使用乳胶(例如 \[ ... \]、方程式环境等)来调用数学模式,则不应这样做。查看ispell-tex-skip-alists的内容;参看。 section 6 of the ispell FAQ 应该有什么样的东西。

    您可以使用 $..$、$$..$$ 来使用 ispell-tex-skip-alists 来标记数学,但要小心让它们变得不平衡...

    后记

    还要检查ispell-parser 变量的值:这应该是'tex,否则ispell 将不会查找$...$ 和$$...$$ 区域。

    【讨论】:

      【解决方案2】:

      是的,您可以:安装 aspell 代替 ispell,并使用 flyspell。

      【讨论】:

      • 他可能已经这样做了。该命令在 Emacs 中仍称为 ispell,即使它实际上调用了 aspell。
      • 更进一步@Chris 所说,ispell 和 aspell 都可以解析 Tex 数学,所以这种可能性不太可能帮助 qner。
      【解决方案3】:

      这并不能直接回答您的问题,但我发现Flyspell,一个即时拼写检查器,在编辑 LaTeX 文档时非常有用。它仍然会在方程式内进行拼写检查,但与 ispell 的交互式命令相比,忽略一些额外的红色下划线要容易得多。

      【讨论】:

        【解决方案4】:

        您可能知道这一点,但您可以在拼写检查期间按A 将单词添加到缓冲区本地字典(即大写A,小写a 将其添加到全局字典)。这并不理想,但这就是我通常在我的 LaTeX 文档中禁止对技术术语和变量名等进行拼写检查的方式。

        【讨论】:

          【解决方案5】:

          This AUCTeX mailing list thread : "spell checker (ispell-buffer) complains about products in math modes" 有一些解决方法,答案演示了如何使用 ispell-tex-skip-alists。

          【讨论】:

            【解决方案6】:

            另一种方法是使用ispell-skip-region-alist。下面的例子是to exclude org-mode src blocks

            (add-to-list 'ispell-skip-region-alist '("#\\+begin_src". "#\\+end_src"))
            

            【讨论】:

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