10
votes

Comment rendre FlySpell contourner quelques mots par contexte?

J'utilise Emacs pour écrire la plupart de mes écrits. J'écris à l'aide de restructurétext, puis de les transformer en latex après un prétraitement depuis que j'écris mes citations à la latex. C'est un extrait d'un de mes textes (en espagnol): xxx

Ce texte est traité par certains scripts personnalisés qui traitent de la partie \ cite donc RST2LATEX peut faire son travail.

Lorsque j'active le mode FlySpell, il signale la plupart des touches de citation comme des erreurs d'orthographe.

Comment puis-je dire FlySpell de ne pas orthographier les choses dans les commandes \ CITE .

En outre, comment puis-je combiner le mode RST et FlySpell, de sorte que la RST -Mode garderait FlySpell de SpellChecking ce qui suit?

  • Commentaires de repos
  • Code de repos littéral
  • paramètres de la directive de repos et arguments
  • Rest Directive brute Contenu

    des idées?


0 commentaires

3 Réponses :


11
votes

Vous pouvez définir la variable ispell-analer code> à la valeur 'tex code> de sorte que FlySpell ignorera (LA) Séquences Tex. Pour ce faire, vous pouvez soit le régler manuellement dans chaque tampon comme:

(add-to-list 'auto-mode-alist '("\\.rst$" . flyspell-ignore-tex))


5 commentaires

Thomas, merci beaucoup! J'ai utilisé Ispell-mode dans le passé, mais FlySpell me convient mieux pour le moment. Néanmoins, après avoir lu l'ISPELL-Skip-Skip-Région-Région-ALIST DOC, je pense que je devrais programmer une fonction pour détecter la fin du commentaire. Je ne suis pas encore connu avec Emacs Lisp. Quoi qu'il en soit, le ispell-parser est toujours utile. Peut-être que je pouvais vérifier comment c'est utilisé et créer mon propre tweek ispell-parser quand je peux.


Manu, vous n'aurez probablement pas à programmer une fonction LISP pour détecter le début et la fin d'un commentaire. En règle générale, une expression régulière devrait être suffisante, une qui correspond au début et une qui correspond à la fin. Vous les mettez les deux entre parenthèses et l'ajoutez au ispell-skip-région-région (je l'ai essayé hier, ce n'est pas si difficile) et il y a une bonne chance que MODE contient déjà la RegexPS que vous recherchez quelque part.


En restructurétext, la fin de la section de code est détectée lorsque le niveau d'indentation est diminué. Alors Regexp ne vous aiderait pas. Cordialement, Manu.


Bien que pour \ Cite, cela peut aider.


Que dois-je faire si j'utilise aspell à la place ( (SETQ ISPELL-Program-Name "ASPELL") )? @Thomas



4
votes

Vous pouvez également utiliser flyspell-generic-work-word-mots-prédicat comme j'ai expliqué Dans cette question chez Super User.


0 commentaires

1
votes

(le filtre TEX d'Aspell peut faire exactement ce que vous voulez - mais si vous voulez une solution plus générale)

Bien que j'utilise le code ci-dessous pour persuader FlySpell de ne pas signaler certains mots avec des chiffres, Vous pouvez utiliser ce type de crochet pour correspondre à un certain contexte. p>

à la recherche - au début du poste que vous souhaitez - vous souhaiterez peut-être que vous souhaiterez peut-être rechercher en arrière pour le début / la fin du contexte que vous aimez. P >

(when "another attempt to accept certain words flyspell/ispell/aspell flags as incorrect"
  (defun flyspell-ignore-WordNumber99-stuff/ag (beg end info)
    (save-excursion
      (goto-char beg)
      (cond
    ((or
       (looking-at "\\bWord1\\b")
       (looking-at "\\bWord99Foo\\b")
       )
      t)
    (t nil)
    )
      )
    )
  )

(add-hook 'flyspell-incorrect-hook 'flyspell-ignore-WordNumber99-stuff/ag)


0 commentaires