web-dev-qa-db-ja.com

端末ではなくVimからLaTeXファイルをコンパイルする

私はLaTeXファイルをターミナルからコンパイルしていますが、ターミナルで毎回行って使用するのが少し面倒です:

xelatex "file-path"

Vim内からこれを行う方法はありますか?

1
Adam

次のようなものを試してください:

command C !xelatex %

あなたの~/.vimrc

その後、次のことができます。

:C

vimでファイルをコンパイルします。

関数を使用して、より複雑な操作を実行できます。

function WriteCompileTex()
  write
  :! xelatex %
endfunction
command WC :call WriteCompileTex()

ユーザー定義のコマンドと関数は大文字で始める必要があることに注意してください。

次のこともできます:

au BufWritePost *.tex ! xelatex %

これは、.texファイルが書き込まれるため、単純に:w、Texファイルは保存後にコンパイルされます。

3
muru

カップルvim + latexを真剣に考えている場合は、カップルlatexxmk + LaTeXBoxを使用することをお勧めします。

latexmk はエディターとは無関係です---これは、latexドキュメントのコンパイルに必要なファイルを監視し、必要に応じてコンパイルを再実行するスクリプトです。設定は少し複雑ですが、それは本当に便利なツールです。たとえば、xelatexの設定では、次のように(同じディレクトリに)latexmkrcファイルがあります。

$pdf_previewer = "start evince";
$pdf_pdf_update_method = 0;
$dvi_mode = 0;
$pdf_mode = 1;
$preview_continuous_mode = 1;
$pdflatex = "xelatex %O %S";

これで、latexmk file-nameを(同じディレクトリから)実行できるようになり、ファイル(または依存ファイル-図面や参考文献など)を変更するたびに、バックグラウンドで自動的にコンパイルされます。ファイルを保存して、プレビューが自動的に更新されるのを確認してください。

latexmkuniverseリポジトリ にあるため、これを有効にしている場合は、Sudo apt-get install latexmkで簡単にインストールできます。 。

LaTeX-BoX は、LaTeXファイルの編集を簡素化するvimのプラグインであり、latexmkを使用してコンパイルします。リンクされたページの指示に従ってインストールし、これを.vimrcに追加します。

" add a <comment> vim: set spelllang=es: to change language
" LaTeX:
let g:tex_flavor='latex'
autocmd FileType tex set spell wrap linebreak
let g:LatexBox_latexmk_async=1
let g:LatexBox_latexmk_preview_continuously=1
let g:LatexBox_quickfix=2
let g:LaTeXBox_output_type='' "Let latexmkrc choose the type 

(あなたの好みに変更してください)。次に、_vimからコマンド\llを使用してバックグラウンドコンパイルを開始します。

3
Rmano