2012-07-25 44 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