Bagaimana saya bisa mencari simbol LaTeX di Vim?


12

Bisakah saya mengintegrasikan beberapa bentuk penyelesaian simbol ke Vim? Editor TeX khusus seperti TeXMaker menyediakan daftar simbol untuk diselesaikan (misalnya, \almenunjukkan daftar dengan \alpha, \lamenunjukkan \lambdadan \langle).

Harap dicatat bahwa TeX memiliki jumlah simbol yang agak besar, sehingga saran yang melibatkan pemetaan manual \aluntuk \alphatidak akan berguna.

Plugin terkait yang saya miliki:

  • SuperTab dengan let g:SuperTabDefaultCompletionType="context"dan set omnifunc=syntaxcomplete#Complete
  • LaTeX-Box

Jika itu penting, saya menggunakan XeLaTeX untuk mengkompilasi.

Terkait:


Sebagai pelengkap untuk ini, ada detexify ketika Anda tahu cara menggambar karakter tetapi Anda tidak ingat nama perintahnya.
Gilles 'SO- stop being evil'

Saya berencana untuk menambahkan fitur seperti itu ke vimtex , berdasarkan pada penyelesaian kamus seperti yang digunakan misalnya latex-suite. vimtexadalah plugin yang relatif baru dan didasarkan pada LaTeX-Box, jadi itu akan terasa agak akrab.
Karl Yngve Lervåg

@ KarlYngveLervåg Saya beralih ke vimtex baru-baru ini. Apakah Anda sempat menambahkan fitur ini? Maka saya dapat mengecek kamus, dan mungkin Anda dapat memposting menggunakan vimtex sebagai jawaban.
muru

Iya. Saya sarankan Anda menggunakan snippetsuntuk ekspansi yang rumit, tetapi untuk yang sederhana, Anda dapat melihat :h vimtex-imapsdeskripsi fitur yang diimplementasikan dalam vimtex.
Karl Yngve Lervåg

Jawaban:


9

Untuk memperluas perintah di LaTeX, saya menggunakan kamus yang disalin dari latex-suite (lebih detail, yang ini ) dan memasukkannya ~/.vim/dictionarieslalu menggunakan

autocmd FileType * exec("setlocal dictionary+=".$HOME."/.vim/dictionaries/".expand('<amatch>'))
set completeopt=menuone,longest,preview
set complete+=k

Ide dari sini . Saya menggunakannya dengan supertab; file kamus tidak benar-benar lengkap (ada \alphatetapi tidak \langle) tetapi itu akan menjadi masalah melengkapinya ...

Salah satu opsi untuk menambahkan simbol adalah mengurai (tidak rumit --- hanya sedikit keajaiban shell yang akan melakukannya) database detexify . Misalnya, seseorang dapat menggunakan:

{ curl -sL https://raw.githubusercontent.com/kirel/detexify/master/lib/latex/symbols.yaml |
   grep -Po '(?<=\\)[[:alpha:]]{2,}';
   curl -sL https://raw.githubusercontent.com/gerw/vim-latex-suite/master/ftplugin/latex-suite/dictionaries/dictionary
} | sort -u | tee ~/.vim/dictionaries/tex

Saya tahu bahwa @muru tidak akan menolak untuk menemukan skrip yang tepat! Btw, akan lebih baik untuk menambahkan juga kata kunci dari kamus lateks-suite ...
Rmano

1
Selesai Itu menambahkan 600 kata ke daftar dari detexify. :)
muru

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.