LaTeXの一部の環境を無視するようにスペルを構成する方法


10

LaTeXドキュメントの一部をスペルチェックしないようにvimに指示する方法はありますか?たとえば、minted環境やURL を使用してコードをブロックします\url{}か?

(スペルチェックに関連があるかどうかはわかりませんが、vimtexプラグインを使用して、latexファイルを編集しています。)


1
これも参照してください:vi.stackexchange.com/a/4003/1800
VanLaser

@Gregoireはvimtex / issues /#219でもこの質問に言及しました。
Karl YngveLervåg15年

回答:


10

と一緒にクラスターに追加することで、構文アイテムのスペルチェックを無効にできます@NoSpell:help spell-syntaxいくつかの情報を読んで、おそらくいくつかの例がすでに含まれているtex構文ファイルを確認できます。入力:tabe $VIMRUNTIME/syntax/tex.vimすると、新しいタブにtex構文ファイルが表示されます。次に検索/\c@NoSpellすると、次のような行が表示されることがあります

 syn cluster texMathZoneGroup add=@NoSpell

texMathZoneGroupクラスタは、構文アイテムの数を含むように、以前のスクリプトで定義されており、ここでは@NoSpellこれらの項目の無効スペルチェックにクラスタに追加されます。特定の構文ファイルをどこで変更するのが最も適切かを正確に言うことはできません。その構文ファイルをよく知らないためです。単純に追加できる明らかなクラスターがすでに存在している場合@NoSpellcontains=、問題のアイテムを含むクラスターを作成する必要がある場合があります。また、ユーザーランタイムディレクトリに構文ファイルのコピーを作成し、分散構文ファイルを変更するのではなく、そこに変更を適用するafter/syntax/tex.vimか、構文ファイルが読み込まれた後に実行されるやその他のスクリプトに変更を適用することもお勧めします。。

プラグインを使用しているため、スペルチェックされるアイテムに関連するオプションがある場合があります。私は使ってvimtexいませんが、KarlLervågはここでかなり活動的です。


vimtex今日、そのようなオプションはありません。しかし、ミント環境ではスペルを無視することは理にかなっているようですので、それに応じてプラグインを更新するかもしれません。素敵な説明ありがとうございます!
Karl YngveLervåg15年

コードを見回したところ、ミント環境用の既存のリージョンが見つからなかったので、次のように独自のリージョンを作成しようとしましたが、syn region mintedZone start="\\begin{minted}" end="\\end{minted}" contains=@NoSpell役に立たないようです。なにか提案を?
グレゴワール2015

@グレゴワールお願いします、Vimtexの問題でこの議論を続けましょう。
Karl YngveLervåg15年

5

たとえば、独自の構文ルールを追加できます~/.vim/after/syntax/tex.vim。などのコマンド内でのスペルチェックを防ぐために\url、次のコードを使用できます。

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

ここtexStatementDelimiterは、内部構文プラグインによって定義されるグループです:e $VIMRUNTIME/syntax/tex.vim。を参照してください。

上記のコマンドを理解したい場合は、次のヘルプセクションをお勧めします。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.