vimでlatexを編集してかっこ良く論文を書きたい
Vimでlatexを編集してかっこ良く論文を書きたい
論文を書かなければいけない時期が必ずある。今まではWindowsのtexworksを用いて本文も書いていたが、普段の開発はLinuxのため行き来がかなり面倒に感じていた。そこでvim を用いて一つのターミナルでプログラムの実行と本文を書くことができたらいいと思いいろいろ調べて環境を整えてみた。
環境
Linux ubuntu16.04
参考にしたサイト
設定
- latexmk を使用してtexファイルをpdfへ
tex wikiに簡単にinstall する方法がのっている。
Latexmk - TeX Wiki
追記:
$ sudo apt install latexmk
$ sudo apt install texlive-lang-japanese
$ sudo apt install mupdf - latexmkの設定
~/.latexmkrcに設定を書くことでコマンドからのコンパイルの設定を決めることができる。
#!/usr/bin/perl $latex = 'platex -kanji=utf-8 -synctex=1 %S'; $dvipdf = 'dvipdfmx %S'; $bibtex = 'pbibtex'; $pdf_mode = 3; # use dvipdf $pdf_update_method = 2; $pdf_previewer = "start mupdf %O %S"; $max_repeat = 5; # Prevent latexmk from removing PDF after typeset. $pvc_view_file_via_temporary = 0;
とりあえずここまでで.texを.pdfにできる
$ latexmk main.tex - vim plugin の準備
github.com基本的にinstalationにしたがって行う
$curl -fLo ~/.vim/autoload/plug.vim --create-dirs \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim - .vimrcに設定を追加
call plug#begin('~/.vim/plugged')
Plug 'lervag/vimtex'
call plug#end()
"部分的にコンパイルする設定
function! s:previewTex() range
let l:tmp = @@
silent normal gvy
let l:selected = split(@@, "\n")
let @@ = l:tmp" \"\\documentclass{tADR2e}",
"" let l:template1 = ["\\documentclass[a4paper]{jsarticle}",
" \"\\usepackage[dvipdfmx]{graphicx}",
" \"\\usepackage{amsmath,amssymb,bm}",
" \"\\pagestyle{empty}",
let l:template1 = ["\\documentclass{tADR2e}",
\"\\begin{document}"]
let l:template2 = ["\\end{document}"]let l:output_file = "preview.tex"
call writefile(extend(extend(l:template1, l:selected), template2), l:output_file)
call system("latexmk preview.tex")
call system("mupdf preview.pdf")
endfunction
autocmd FileType tex
\ | vnoremap <buffer> <localleader>la :call <SID>previewTex()<CR>
使用方法
- プレビュー
\lvでプレビュー 画像ではmupdfを使用
- 自動コンパイル設定
\llで自動コンパイルのON/OFFを設定
これはevinceなどでpdfファイルを開いているとリロードが自動でされてかっこ良い - 部分コンパイル
vim のvisualモードで囲まれている時に\laで部分コンパイル
やっていることは単純で,選択範囲をもとにpreview.texを作成して,それをコンパイル します.また,上の例ではvim-latexの関数を使って,ノーマルモードで<localleader>la
を実行した場合現在のセクションをプレビュー
LaTeX-suite じゃない vim-latex を使ってvimによるLaTeX作成環境を整える - 睡分不足
.vimrcで書いた関数のteplate1のところでtexに合わせたテンプレートを書く。
自分はmupdfをviewerに設定している
以上