Kompilieren Sie eine LaTeX-Datei aus Vim und nicht aus dem Terminal

Kompilieren Sie eine LaTeX-Datei aus Vim und nicht aus dem Terminal

Ich kompiliere meine LaTeX-Dateien vom Terminal aus und es wird etwas lästig, jedes Mal ins Terminal zu gehen und Folgendes zu verwenden:

xelatex "file-path"

Gibt es eine Möglichkeit, dies innerhalb von Vim zu tun?

Antwort1

Wenn Sie es mit dem Paar vim+ ernst meinen latex, ist meine bevorzugte Option die Verwendung des Paars latexxmk+ LaTeXBox.

latexmkist eigentlich unabhängig vom Editor – es ist ein Skript, das die zum Kompilieren eines Latex-Dokuments benötigten Dateien überwacht und die Kompilierung bei Bedarf erneut ausführt. Die Konfiguration ist etwas komplex, aber es ist ein wirklich nützliches Tool. Mein Setup sieht beispielsweise xelatexeine latexmkrcDatei (im selben Verzeichnis) wie diese vor:

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

Jetzt können Sie es ausführen latexmk file-name(aus demselben Verzeichnis!) und Sie erhalten eine automatische Kompilierung im Hintergrund, jedes Mal, wenn Sie die Datei ändern (oder eine abhängige Datei – wie eine Zeichnung oder eine Bibliographie). Speichern Sie einfach die Datei und sehen Sie zu, wie die Vorschau automatisch aktualisiert wird.

latexmkist in demUniversumRepository, wenn Sie dies aktiviert haben, können Sie es einfach durch installieren sudo apt-get install latexmk.

LaTeX-BoXist ein Plugin, vimdas die Bearbeitung von LaTeX-Dateien vereinfacht und latexmkzum Kompilieren verwendet. Installieren Sie es gemäß den Anweisungen auf der verlinkten Seite und fügen Sie dies zu Ihrem hinzu .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 

(Änderungen nach Belieben). Nun starten Sie die Hintergrundkompilierung vimmit dem Befehl \ll.

Antwort2

Versuchen Sie etwas wie:

command C !xelatex %

in deinem ~/.vimrc.

Dann können Sie Folgendes tun:

:C

in vim, um die Datei zu kompilieren.

Sie können komplexere Operationen mithilfe von Funktionen durchführen:

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

Beachten Sie, dass benutzerdefinierte Befehle und Funktionen mit einem Großbuchstaben beginnen müssen.

Sie können außerdem Folgendes tun:

au BufWritePost *.tex ! xelatex %

Dadurch wird dieser Befehl immer ausgeführt, wenn .texin eine Datei geschrieben wird, sodass Sie einfach Folgendes tun können :wund Ihre Tex-Datei nach dem Speichern kompiliert wird.

verwandte Informationen