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

1

Eu estou compilando meus arquivos LaTeX do terminal e fica um pouco chato ir todas as vezes no terminal e usar:

xelatex "file-path"

Existe uma maneira de fazer isso dentro do Vim?

    
por Adam 22.10.2014 / 20:44

2 respostas

3

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

latexmk é independente do editor, na verdade - é um script que observa os arquivos necessários para compilar um documento de látex e re-executar a compilação quando necessário. A configuração é um pouco complexa, mas é uma ferramenta realmente útil. Por exemplo, minha configuração para xelatex está tendo um arquivo latexmkrc (no mesmo diretório) assim:

$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 (do mesmo diretório!) e terá uma compilação de fundo automática toda vez que modificar o arquivo (ou qualquer arquivo dependente - como um desenho ou uma bibliografia). Basta salvar o arquivo e assistir a atualização automaticamente.

latexmk está no repositório universo , por isso, se tiver ativado isso, pode simplesmente instalá-lo por sudo apt-get install latexmk .

LaTeX-BoX é um plugin para vim que simplifica a edição dos arquivos LaTeX, e usa latexmk para compilar. Instale-o seguindo as instruções na página vinculada e adicione isso 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 para o seu gosto). Agora você inicia a compilação em segundo plano de vim com o comando \ll .

    
por Rmano 22.10.2014 / 21:45
3

Tente algo como:

command C !xelatex %

no seu ~/.vimrc .

Então você pode fazer:

:C

no vim para compilar o arquivo.

Você pode fazer 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 uma letra maiúscula.

Você também pode fazer:

au BufWritePost *.tex ! xelatex %

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

    
por muru 22.10.2014 / 21:24