最近想要用命令行去編譯 latex 文件。html
最簡單的命令,輸入linux
xelatex a.tex
我隨便寫了一個報錯,看看 Overleaf, Online LaTeX Editor 這個平臺的表現如何。git
由於這個項目是開源的,好奇心的驅使下,讓我想看看他背後用什麼命令去編譯的。github
從源碼能夠看到,他是使用 latexmk + xelatex 命令編譯的。.net
若是你還不瞭解 Latexmk 是什麼東東,這裏簡單的介紹一下:LaTeX 要生成最終的 PDF 文檔,若是含有交叉引用、BibTeX、術語表等等,一般須要屢次編譯才行。而使用 Latexmk 則只需運行一次,它會自動幫你作好其它全部事情。一般狀況下,你安裝的 LaTeX 發行版已經包含了 Latexmk,咱們並不須要手動安裝它。命令行
通常來講,你可能已經在你的計算機上安裝了它,由於它是 MacTeX 和 MikTeX 它與許多linux發行版捆綁在一塊兒。code
在最簡單的狀況下,你只須要輸入htm
latexmk
若是你想.pdf
文件做爲輸出,只需輸入:文檔
latexmk -pdf
若是你只想編譯一個特定的.tex
文件在當前目錄中,只需提供文件名:
latexmk myfile.tex
若是要預覽結果,只需使用
latexmk -pv
若是但願 Latexmk 連續檢查全部輸入文件中的更改,並在須要時編譯整個過程並始終顯示結果,請鍵入
latexmk -pvc
使用 xelatex 引擎編譯
latexmk -pvc -xelatex file.tex
Latexmk 有文件監測的機制。
它應該能夠作到只需運行一次,而後每次文件保存動做後,自動從新編譯。
固然,選項能夠組合在一塊兒,例如。
latexmk -pdf -pv myfile.tex
運行LaTeX以後,當前目錄被大量臨時文件污染;您能夠使用這個命令清理
latexmk -c
這不會刪除.pdf
/.ps
/.dvi
若是你想刪除這些文件,使用
latexmk -C
更多的命令,只須要輸入
latexmk -help
更詳細的能夠看官網:Latexmk
他上面有詳解。
最簡單的命令
xelatex a.tex
但這個命令遇到錯誤不會中止,你必須不斷的按回車鍵才行。
如下是幾個比較經常使用的命令
更多的命令
xelatex -help
好比
latexmk -xelatex -file-line-error -halt-on-error -interaction=nonstopmode -synctex=1 a.tex
參考資料: