我正在從終端編譯我的 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 檔案將在儲存後進行編譯。