Compile un archivo LaTeX desde Vim y no desde la terminal

Compile un archivo LaTeX desde Vim y no desde la terminal

Estoy compilando mis archivos LaTeX desde la terminal y se vuelve un poco molesto ir cada vez a la terminal y usar:

xelatex "file-path"

¿Hay alguna manera de hacer esto desde dentro de Vim?

Respuesta1

Si te tomas en serio la pareja vim+ latex, mi opción preferida es usar la pareja latexxmk+ LaTeXBox.

latexmkEn realidad, es independiente del editor: es un script que observa los archivos necesarios para compilar un documento de látex y vuelve a ejecutar la compilación cuando sea necesario. La configuración es un poco compleja, pero es una herramienta realmente útil. Por ejemplo, mi configuración xelatextiene un latexmkrcarchivo (en el mismo directorio) 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";

ahora puede ejecutar latexmk file-name(¡desde el mismo directorio!) y tendrá una compilación automática en segundo plano cada vez que modifique el archivo (o cualquier archivo dependiente, como un dibujo o una bibliografía). Simplemente guarde el archivo y observe cómo la vista previa se actualiza automáticamente.

latexmkestá en eluniversorepositorio, así que si lo tienes habilitado, simplemente puedes instalarlo mediante sudo apt-get install latexmk.

Caja de látexes un complemento vimque simplifica la edición de archivos LaTeX y se utiliza latexmkpara compilar. Instálelo siguiendo las instrucciones de la página vinculada y agréguelo a su .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 

(cambia a tu gusto). Ahora comienza la compilación en segundo plano vimcon el comando \ll.

Respuesta2

Pruebe algo como:

command C !xelatex %

en tus ~/.vimrc.

Entonces puedes hacer:

:C

en vim para compilar el archivo.

Puedes realizar operaciones más complejas usando funciones:

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

Tenga en cuenta que los comandos y funciones definidos por el usuario deben comenzar con una letra mayúscula.

También puedes hacer:

au BufWritePost *.tex ! xelatex %

Esto ejecutará este comando cada vez que .texse escriba un archivo, de modo que usted pueda simplemente hacerlo :wy su archivo Tex se compilará después de guardarlo.

información relacionada