2012-07-25 13 views
6

Originalantwort: Ich habe versucht herauszufinden, wie Latex im auctex-Modus keine Latex-Funktionen mit aktiviertem Flyspell hervorhebt. Ist dies eine benutzerdefinierte Wörterbuchdatei oder wie wird diese implementiert? Kann dies leicht in eine Datei im Organisationsmodus integriert werden, sodass der eingefügte Latexcode, der exportiert wird, nicht hervorgehoben wird.FlySpell im Org-Mode erkennt Latex-Syntax wie auctex

Bearbeiten: Einfaches Beispiel von der Spitze der Datei und im Text genommen. Im Grunde wird die Latex-Syntax wie ref oder label in {} nicht mit einem Rechtschreibprüfzeichen versehen (dies wurde mit (setq ispell-parser tex) behoben. Dann wurde auch eine Funktion für bestimmte Labels mit # + als erster Text auf der Zeile wird nicht überprüft. Ich möchte die Beschriftung überprüft, aber nicht # + LABEL: oder # + TYP_TODO: (nicht gezeigt. Auch eine Möglichkeit, TODO Stichworte hinzufügen, um nicht überprüft zu werden. Ich kann mir eine Möglichkeit vorstellen, dies zu tun ist beim Start diese die LOCALWORDS hinzufügen: ispell Plätze am Ende der Datei gibt, wenn nicht schon aber ist es ein einfacher oder besserer Weg, dies zu tun

#+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

Könnten Sie ein Beispiel hinzufügen, wie der fragliche Latexcode in Ihrer Org-Modus-Datei aussieht? – legoscia

+0

@legoscia - Hinzugefügt –

Antwort

3

flyspell intern ispell-mode verwendet, um die Art und Weise, dass ispell zu ändern.. Parsing-Dateien setzen die Variable ispell-parser auf 'tex.

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

Wahrscheinlich auctex verwendet flyspell-mode-predicate zu definieren, welche Teile des Puffers nicht Spellchecked werden sollen. (This answer zeigt, wie man etwas ähnliches für MoinMoinWiki tut.) Org-mode hat bereits eine solche Funktion, org-mode-flyspell-verify, die anscheinend nicht richtig für Sie funktioniert ... Ein kurzer Blick auf die Quelle schlägt vor, dass org-remove-flyspell-overlays-in für Pufferbereiche aufgerufen werden sollte enthält Codebeispiele usw.

Entschuldigung wegen der handwavy Antwort; Markieren Sie dies als Community-Wiki, um Verbesserungen einzuladen.

+0

Keine Sorge, das hat geholfen, aber ja aus irgendeinem Grund entfernt keine Schlüsselwörter in org wie # + TYP_TODO an der Spitze des Puffers. Ich denke, irgendetwas in diesem Format oder als ein Etikett am oberen Rand des Puffers sollte ignoriert werden. Das liegt zumindest an meinem Blick darauf, was es sagt, org-mode-flyspell-verify. Es funktioniert, um sicherzustellen, dass Fehler in der Rechtschreibung in Links nicht überlagern, so dass ich denke, dass die Funktion richtig funktioniert, was sie auch sagt. Die Antwort unten funktioniert gut, um es zu erkennen, nur neugierig, ob jemand etwas speziell für org implementiert hat. –

+1

Muss diesen Code durchkämmen, weil nicht ganz sicher ist, was passiert, wenn der elisp so kompliziert wird, weil er nicht sehr gut darin ist. Ich denke, dass es leicht sein sollte, auf # + zu aktualisieren, aber ich müsste eine Liste von Keywords haben, die dahinter nicht überprüft würden. Ich werde das auf dem Laufenden halten, wenn ich herausfinden kann, wie ich das machen kann. –