Compile um arquivo LaTeX do Vim e não do terminal

Compile um arquivo LaTeX do Vim e não do terminal

Estou compilando meus arquivos LaTeX a partir do terminal e fica um pouco chato ir sempre ao terminal e usar:

xelatex "file-path"

Existe uma maneira de fazer isso dentro do Vim?

Responder1

Se você leva o casal vim+ a sério latex, minha opção preferida é usar o casal latexxmk+ LaTeXBox.

latexmké independente do editor, na verdade --- é um script que monitora os arquivos necessários para compilar um documento latex e reexecuta a compilação quando necessário. A configuração é um pouco complexa, mas é uma ferramenta muito útil. Por exemplo, minha configuração xelatexé ter um latexmkrcarquivo (no mesmo diretório) como este:

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

agora você pode executar latexmk file-name(a partir do mesmo diretório!) e terá compilação automática em segundo plano toda vez que modificar o arquivo (ou qualquer arquivo dependente --- como um desenho ou uma bibliografia). Basta salvar o arquivo e ver a visualização ser atualizada automaticamente.

latexmkestá nouniversorepositório, então se você tiver isso habilitado, você pode simplesmente instalá-lo por sudo apt-get install latexmk.

LaTeX-BoXé um plugin vimque simplifica a edição dos arquivos LaTeX e utiliza latexmkpara compilar. Instale-o seguindo as instruções na página vinculada e adicione-o ao seu .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 

(mude ao seu gosto). Agora você inicia a compilação em segundo plano vimcom o comando \ll.

Responder2

Tente algo como:

command C !xelatex %

na tua ~/.vimrc.

Então você pode fazer:

:C

no vim para compilar o arquivo.

Você pode realizar operações mais complexas usando funções:

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

Observe que os comandos e funções definidos pelo usuário devem começar com letra maiúscula.

Você também pode fazer:

au BufWritePost *.tex ! xelatex %

Isso executará este comando sempre que um .texarquivo for gravado, para que você possa simplesmente fazer isso :w, e seu arquivo Tex será compilado após salvar.

informação relacionada