首頁>技術>

最近想要用命令列去編譯 latex 檔案。

最簡單的命令,輸入

```

xelatex a.tex

```

我隨便寫了一個報錯,看看 [Overleaf, Online LaTeX Editor](https://www.overleaf.com/) 這個平臺的表現如何。

因為這個專案是開源的,好奇心的驅使下,讓我想看看他背後用什麼命令去編譯的。

原始碼檔案地址:[/file/2020/09/21/20200921014517_1.jpg.js latexmk + xelatex 命令編譯的。

如果你還不了解 Latexmk 是什麼東東,這裡簡單的介紹一下:LaTeX 要生成最終的 PDF 文件,如果含有交叉引用、BibTeX、術語表等等,通常需要多次編譯才行。而使用 Latexmk 則只需執行一次,它會自動幫你做好其它所有事情。通常情況下,你安裝的 LaTeX 發行版已經包含了 Latexmk,我們並不需要手動安裝它。

一般來說,你可能已經在你的計算機上安裝了它,因為它是 MacTeX 和 MikTeX 它與許多linux發行版捆綁在一起。

在最簡單的情況下,你只需要輸入

```

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

```

```

latexmk -C

```

更多的命令,只需要輸入

```

latexmk -help

```

更詳細的可以看官網:[Latexmk](https://link.zhihu.com/?target=http%3A//personal.psu.edu/~jcc8/software/latexmk/)

他上面有詳解。

## xelatex 命令列

最簡單的命令

```

xelatex a.tex

```

但這個命令遇到錯誤不會停止,你必須不斷的按回車鍵才行。

以下是幾個比較常用的命令

1. -halt-on-error 和 -interaction=nonstopmode 引數 使編譯遇到錯誤時立即停止

2. -file-line-error 使報錯輸出檔案和行號

3. -synctex=1 則開啟 synctex 的功能

更多的命令

```

xelatex -help

```

## latexmk 結合 xelatex 編譯

比如

```

latexmk -xelatex -file-line-error -halt-on-error -interaction=nonstopmode -synctex=1 a.tex

```

**參考資料:**

1、[LaTeX 技巧938:如何配置 latexmk](https://www.latexstudio.net/archives/51493.html)

2、[Using Latexmk - homepage](https://mg.readthedocs.io/latexmk.html)

最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • 說說我對 WSGI 的理解