Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

quickrun+latexmkの覚書(quickfixを使う)

$
0
0

もう何度目だって感じなんですがquickfixを使っている例を余り見ないので.

方針

  • 共通の設定は~/.latexmkrcに書く.
  • 特別な設定は作業ディレクトリの.latexmkrcに書く
  • quickrunlatexmkを呼び出してタプセットする.
  • 正常終了するときは何も出さない.
  • エラーが出たときはquickfixから該当の行に飛べるようにする.
  • synctex機能を使う.

~/.latexmkrc

~/.latexmkrc
$pdflatex="xelatex -synctex=1 -file-line-error %O %S";$pdf_mode=1;$dvi_mode=$postscript_mode=0;

latexmkの概要については他に記事があると思うので省略.
普段使うのはXeLaTeXなのでそれに合わせて設定する.
latexmk--xelatexオプションを付けたときの動作を少し改造した.
付け加えたのは-synctex=1-file-line-error
前者はsynctexを使うため,後者はquickfixで該当の行に飛べるようにするためのもの.
なおlualatexuplatex等にも同様のオプションがある.

quickrunの設定

インストールはdein.vim使うなりvim-plug使うなり.
こうした.

$MYVIMRC
letg:quickrun_config = {
            \ 'tex':  {
            \ 'command': 'latexmk',
            \ 'exec': ['%c %o %s'],
            \ 'outputter': 'error',
            \ 'outputter/error/success': 'null',
            \ 'outputter/error/error': 'quickfix',
            \ }
            \}

タイプセットに成功したときは何も出さず,失敗するとquickfixを出すような設定.

quickfixから該当の行に飛べる

上のようなソースで<Leader>rするとタイプセットが行われ,
下のquickfix\undefinedが定義されていないというエラーが出る.
quickfixウィンドウでカーソルを合わせてEnterを押すとmain.texの4行目に飛ぶ.

課題

ファイル分割に対応していない.

以下の記事のようにするとよさそう.

TeXをもっと便利に使う!(自動コンパイル・部分コンパイル・分割ファイルから親ファイルのコンパイル)【Vim + vim-quickrun + latexmk】

中間ファイルの削除

タイプセットに成功したときは中間ファイルを削除するようにしたい.
hooksuccessを使ってlatexmk -cをしたいけどよくわからない.


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>