2012-07-25 47 views
6

原始回复: 我想弄清楚如何在auctex模式乳胶似乎没有突出任何与flyspell打开乳胶功能。这是一个自定义的字典文件,或者这是如何实现的?这可以很容易地合并到组织模式文件中,因此它不会突出显示将导出的插入乳胶代码。在组织模式FlySpell承认乳胶语法像auctex

编辑: 简单的例子取自文件顶部和文本。基本上,如{}内的ref或label这样的乳胶语法将不会被拼写检查(这已通过使用(setq ispell-parser tex)进行了修复),然后使用#+作为第一个文本设置特定标签的函数line不会被检查,我会希望检查标题,但不是#+ LABEL:或#+ TYP_TODO:(没有显示,也可以添加TODO关键字来不检查,我可以想办法做到这一点在文件如果不是已经存在的底部ispell的地方,但有没有做到这一点更容易或更好的方法

#+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.4\textwidth placement=[h!tb] 
+0

您能否在您的组织模式文件中添加有问题的乳胶代码的示例? – legoscia 2012-07-25 12:20:43

+0

@legoscia - 添加 – 2012-07-25 15:36:04

回答

3

flyspell内部使用ispell-mode要更改ispell方式:在启动时添加这些到LOCALWORDS。解析文件将变量ispell-parser设置为'tex

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

最可能auctex使用flyspell-mode-predicate来定义缓冲区的哪些部分不应拼写检查。 (This answer显示了如何为MoinMoinWiki做类似的事情。)org-mode已经有这样一个函数,org-mode-flyspell-verify,它显然不适合你...快速查看源代码表明org-remove-flyspell-overlays-in应该被调用缓冲区部分包含代码样本等。

对不起,关于handwavy答案;标记为社区维基邀请改进。

+0

不用担心,这有帮助,但由于某种原因是没有删除在缓冲区顶部的#+ TYP_TODO组织中的关键字。我认为这种格式的任何内容或标签在缓冲区顶部的标签都应该被忽略。这至少从我看它以及它说的org-mode-flyspell-verify的确如此。它确实能够确保不会在链接中拼写错误,因此使我认为函数可以正常工作,并且它也会这样做。下面的答案很好地让它识别tex只是好奇,如果任何人已经专门为组织实施的东西。 – 2012-07-25 15:25:53

+1

需要梳理整个代码,因为如果elisp变得复杂起来,因为不能很精通,就不能完全确定发生了什么。我认为应该很容易更新到#+,但我需要有一个关键字列表,它不会检查。我会保持这个更新,如果我能弄清楚如何从中做到这一点。 – 2012-07-25 15:40:26