LaTeX'teki bazı ortamları yoksaymak için büyüyü yapılandırma


10

Vim'e lateks belgesinin bir kısmını yazım denetimi yapmamasını söylemenin bir yolu var mı? Örneğin, mintedortam veya URL'leri kullanarak kod bloğu \url{}?

(Yazım denetimi ile ilgili olduğundan emin değilim ama lateks dosyalarını düzenlemek için vimtex eklentisini kullanıyorum .)



@Gregoire bu soruyu vimtex / konular / # 219'da da belirtmiştir .
Karl Yngve Lervåg

Yanıtlar:


10

Sözdizimi öğeleri için yazım denetimini, birlikte bir kümeye ekleyerek devre dışı bırakabilirsiniz @NoSpell. :help spell-syntaxBazı bilgileri okuyabilir ve büyük olasılıkla zaten birkaç örnek içeren tex sözdizimi dosyanıza bakabilirsiniz. Yazdığınızda :tabe $VIMRUNTIME/syntax/tex.vimtex sözdizimi dosyasını yeni bir sekmede almanız gerekir. Arama /\c@NoSpellyaparsanız, aşağıdaki gibi bir çizgi görebilirsiniz:

 syn cluster texMathZoneGroup add=@NoSpell

texMathZoneGroupKüme sözdizimi öğeleri bir dizi içerdiği önceki komut tanımlanmıştır ve burada @NoSpellbu öğeler için devre dışı yazım denetimi için kümeye eklenir. Korkarım o sözdizimi dosyasını çok iyi bilmediğim için sözdizimi öğeleriniz için en iyi değişikliği nerede yapacağımı tam olarak söyleyemem. Basitçe ekleyebileceğiniz açık bir küme olabilir @NoSpellveya söz contains=konusu öğelerin oluşturduğu bir küme oluşturmanız gerekebilir . Ayrıca, kullanıcı çalışma zamanı dizininizdeki sözdizimi dosyasının bir kopyasını oluşturmak ve dağıtılmış sözdizimi dosyasını değiştirmek yerine değişikliklerinizi oraya uygulamak after/syntax/tex.vimveya sözdizimi dosyası yüklendikten sonra çalışan bir veya diğer komut dosyasında değişikliklerinizi uygulamak da iyi bir fikirdir. .

Bir eklenti kullandığınızdan, hangi öğelerin yazım denetimiyle ilgili seçeneklere sahip olabilir. Ben kullanmıyorum vimtexama Karl Lervåg burada oldukça aktiftir ve alırsanız onun dikkatini sizin için cevap verebilir.


vimtexBugün böyle bir seçenek yok, hayır. Ancak darbelere uğramış ortamlarda yazımı yok saymak mantıklı görünüyor, bu yüzden eklentiyi uygun şekilde güncelleyebilirim. Güzel açıklama için teşekkürler!
Karl Yngve Lervåg

Kodun etrafına baktım ve darp edilmiş ortam için mevcut bir bölge bulamadım, bu yüzden böyle bir şey yaratmaya çalıştım: syn region mintedZone start="\\begin{minted}" end="\\end{minted}" contains=@NoSpellama yardımcı görünmüyor. Herhangi bir öneri?
Grégoire

@ Grégoire Lütfen, vimtex sayısında bu tartışmaya devam edelim .
Karl Yngve Lervåg

5

Örneğin, kendi sözdizimi kurallarınızı ekleyebilirsiniz ~/.vim/after/syntax/tex.vim. Gibi bir komutun içinde yazım denetimini önlemek \urliçin aşağıdaki kodu kullanabilirsiniz:

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

Burada texStatementve Delimiterdahili sözdizimi eklentisi tarafından tanımlanan gruplar, bkz :e $VIMRUNTIME/syntax/tex.vim.

Yukarıdaki komutları anlamak istiyorsanız, aşağıdaki yardım bölümlerini önerebilirim:

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.