web-dev-qa-db-fra.com

Compiler un fichier LaTeX depuis Vim et non depuis un terminal

Je compile mes fichiers LaTeX depuis le terminal et cela devient un peu ennuyeux d'aller à chaque fois dans le terminal et d'utiliser:

xelatex "file-path"

Existe-t-il un moyen de le faire depuis l'intérieur de Vim?

1
Adam

Essayez quelque chose comme:

command C !xelatex %

dans ton ~/.vimrc.

Ensuite, vous pouvez faire:

:C

dans vim pour compiler le fichier.

Vous pouvez effectuer des opérations plus complexes à l'aide de fonctions:

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

Notez que les commandes et fonctions définies par l'utilisateur doivent commencer par une majuscule.

Vous pouvez également faire:

au BufWritePost *.tex ! xelatex %

Cela exécutera cette commande chaque fois qu'un .tex le fichier est écrit pour que vous puissiez simplement faire :w, et votre fichier Tex sera compilé après l'enregistrement.

3
muru

Si vous êtes sérieux au sujet du couple vim + latex, mon option préférée est d'utiliser le couple latexxmk + LaTeXBox.

latexmk est indépendant de l'éditeur, vraiment --- c'est un script qui surveille les fichiers nécessaires pour compiler un document latex et relancer la compilation si nécessaire. La configuration est un peu complexe, mais c'est un outil vraiment utile. Par exemple, ma configuration pour xelatex a un fichier latexmkrc (dans le même répertoire) comme ceci:

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

vous pouvez maintenant exécuter latexmk file-name (à partir du même répertoire!) et vous aurez une compilation automatique en arrière-plan à chaque fois que vous modifiez le fichier (ou tout fichier dépendant --- comme un dessin ou une bibliographie). Enregistrez simplement le fichier et regardez l'aperçu se mettre à jour automatiquement.

latexmk est dans le référentiel de l'univers , donc si vous l'avez activé, vous pouvez simplement l'installer par Sudo apt-get install latexmk.

LaTeX-BoX est un plugin pour vim qui simplifie l'édition des fichiers LaTeX et utilise latexmk pour compiler. Installez-le en suivant les instructions de la page liée et ajoutez-le à votre .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 

(changez à votre goût). Vous commencez maintenant la compilation en arrière-plan à partir de vim avec la commande \ll.

3
Rmano