Comment configurer le sort pour ignorer certains environnements dans LaTeX

10

Existe-t-il un moyen de dire à Vim de ne pas vérifier l'orthographe d'une partie d'un document en latex? Par exemple, un bloc de code utilisant l' mintedenvironnement ou des URL dans \url{}?

(Je ne suis pas sûr que ce soit pertinent pour la vérification orthographique, mais j'utilise le plugin vimtex pour éditer des fichiers latex.)

Grégoire
la source
1
Voir (aussi) ceci: vi.stackexchange.com/a/4003/1800
VanLaser
@Gregoire a également mentionné cette question dans vimtex / issues / # 219 .
Karl Yngve Lervåg

Réponses:

10

Vous pouvez désactiver la vérification orthographique des éléments de syntaxe en les ajoutant à un cluster avec @NoSpell. Vous pouvez lire :help spell-syntaxquelques informations et consulter votre fichier de syntaxe tex qui contient probablement déjà plusieurs exemples. Si vous tapez, :tabe $VIMRUNTIME/syntax/tex.vimvous devriez obtenir le fichier de syntaxe tex dans un nouvel onglet. Si vous effectuez une recherche, /\c@NoSpellvous pouvez voir une ligne comme

 syn cluster texMathZoneGroup add=@NoSpell

Le texMathZoneGroupcluster a été défini plus tôt dans le script pour contenir un certain nombre d'éléments de syntaxe et @NoSpellest ajouté ici au cluster pour désactiver la vérification orthographique de ces éléments. Je crains de ne pas pouvoir dire exactement où effectuer le meilleur changement pour vos éléments de syntaxe particuliers, car je ne connais pas très bien ce fichier de syntaxe. Il peut déjà y avoir un cluster évident où vous pouvez simplement ajouter @NoSpell, ou vous devrez peut-être créer un cluster que contains=les éléments en question. C'est également une bonne idée de faire une copie du fichier de syntaxe dans votre répertoire d'exécution utilisateur et d'y appliquer vos modifications plutôt que de modifier le fichier de syntaxe distribué, ou d'appliquer vos modifications dans un after/syntax/tex.vimou un autre script qui s'exécute après le chargement du fichier de syntaxe .

Puisque vous utilisez un plugin, il peut avoir des options liées aux éléments dont l'orthographe est vérifiée. Je n'utilise pas vimtexmais Karl Lervåg est assez actif ici et si vous obtenez son attention, je pourrais répondre à cela pour vous.

jjaderberg
la source
Il n'y a pas de telles options vimtexaujourd'hui, non. Mais il semble logique d'ignorer l'orthographe dans les environnements minted, donc je pourrais mettre à jour le plugin en conséquence. Merci pour la belle explication!
Karl Yngve Lervåg
J'ai regardé autour de moi dans le code et je n'ai pas trouvé de région existante pour l'environnement minted alors j'ai essayé de créer la mienne comme ceci: syn region mintedZone start="\\begin{minted}" end="\\end{minted}" contains=@NoSpellmais cela ne semble pas aider. Toute suggestion?
Grégoire
@ Grégoire Continuons cette discussion dans le numéro vimtex .
Karl Yngve Lervåg
5

Vous pouvez ajouter vos propres règles de syntaxe, par exemple ~/.vim/after/syntax/tex.vim. Afin d'empêcher la vérification orthographique dans une commande telle que \url, vous pouvez utiliser le code suivant:

syntax match texStatement '\\command' nextgroup=texMyCommand
syntax region texMyCommand matchgroup=Delimiter start='{' end='}' contained contains=@NoSpell

Ici texStatementet Delimitersont des groupes qui sont définis par le plugin de syntaxe interne, voir :e $VIMRUNTIME/syntax/tex.vim.

Si vous souhaitez comprendre les commandes ci-dessus, je peux recommander les sections d'aide suivantes:

Karl Yngve Lervåg
la source