從 Vim 而不是從終端編譯 LaTeX 文件

從 Vim 而不是從終端編譯 LaTeX 文件

我正在從終端編譯我的 LaTeX 文件,每次進入終端並使用它會有點煩人:

xelatex "file-path"

有沒有辦法從 Vim 內部做到這一點?

答案1

如果您認真對待這對vim+ latex,我的首選選擇是使用這對latexxmk+ LaTeXBox。

latexmk確實獨立於編輯器——它是一個腳本,用於監視編譯乳膠文檔所需的文件並在需要時重新運行編譯。配置有點複雜,但它是一個非常有用的工具。例如,我的設定xelatex是有一個latexmkrc檔案(在同一目錄中),如下所示:

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

現在您可以執行latexmk file-name(從同一目錄!)並且每次修改檔案(或任何依賴檔案—如繪圖或參考書目)時,您都會進行自動後台編譯。只需儲存檔案並觀看預覽自動更新。

latexmk在裡面宇宙儲存庫,所以如果您啟用了該功能,您只需通過 即可安裝它sudo apt-get install latexmk

乳膠盒vim是一個簡化 LaTeX 檔案編輯並用於編譯的插件latexmk。按照連結頁面上的說明安裝它,並將其添加到您的.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 

(根據你的口味改變)。現在,您可以vim使用命令啟動後台編譯\ll

答案2

嘗試類似的方法:

command C !xelatex %

在你的~/.vimrc

然後你可以這樣做:

:C

在vim中編譯該檔案。

您可以使用函數執行更複雜的操作:

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

請注意,使用者定義的命令和函數必須以大寫字母開頭。

您也可以這樣做:

au BufWritePost *.tex ! xelatex %

.tex每當寫入檔案時都會執行此命令,以便您可以簡單地執行:w,並且您的 Tex 檔案將在儲存後進行編譯。

相關內容