FlySpell在组织模式下识别像auctex这样的乳胶语法



原始响应:我试图弄清楚,在auctex模式下,在flyspell打开的情况下,latex似乎不会突出显示任何latex函数。这是一个自定义字典文件还是如何实现的?这能很容易地合并到组织模式文件中吗?这样它就不会突出显示将被导出的插入的乳胶代码。

编辑:从文件顶部和文本中截取的简单示例。基本上,{}中的ref或label等latex语法不会被拼写检查(这已经通过使用(setq-ispell parser-tex)修复)。然后还设置了一个函数,即不会检查以#+作为行上第一个文本的特定标签。我希望检查标题,但不检查#+LABEL:或#+TYP_TODO:

#+TAGS: NOTE REPORT export noexport MEETING
#+TYP_TODO: TODO Weekly WAITING NEXT | Meeting DONE
#+STARTUP: hidestars content hideblocks
The exponential running mean is shown for various alpha values in Figure ref{fig:saturation_varying_alphaval_00f6set2}.  
     #+CAPTION:    Plot of varying alpha values for the exponential running mean ($EM$) with $S_{min} = 0.0008 text{ and } P_m = 0.20$
     #+LABEL:      fig:saturation_varying_alphaval_00f6set2
     #+ATTR_LaTeX: width=0.4textwidth placement=[h!tb]

flyspell内部使用ispell-mode。要更改ispell解析文件的方式,请将变量ispell-parser设置为'tex

(add-hook 'org-mode-hook (lambda () (setq ispell-parser 'tex)))

auctex很可能使用flyspell-mode-predicate来定义缓冲区的哪些部分不应该进行拼写检查。(这个答案展示了如何为MoinMoinWiki做类似的事情。)组织模式已经有了这样一个功能org-mode-flyspell-verify,它显然不适合你。。。快速查看源代码表明,对于包含代码样本等的缓冲区部分,应该调用org-remove-flyspell-overlays-in

对这个草率的回答感到抱歉;将其标记为社区wiki以邀请改进。

最新更新