1. 程式人生 > 實用技巧 >【工具】LaTeX 環境配置

【工具】LaTeX 環境配置

LaTeX 環境配置

LaTeX 的發行版軟體眾多,一般使用texlive/mactex+合適的編輯器即可。

進入清華大學映象源,根據需要下載最新版本的映象檔案。

Windows/Linux 推薦使用 texlive,Mac 則推薦使用 mactex(雖然 texlive 也可以在 Mac 下用 Unix 的方式安裝)。mactex 是一個基於 texlive 之上的封裝,二者主要區別是:

  • 採用 Mac 專用的方式打包,安裝簡便,不勞心配置。
  • 封裝了一些為 Mac 設計的老古董工具(LaTeXit 和 TeXshop,可以移除)。

Mac 還有一個精簡版的 basictex,和 mactex 類似,也是對 texlive 的封裝。但是 basictex 中缺少很多巨集包,在使用的時候需要先手工安裝這些巨集包。

texlive2019 的安裝

Windows 系統安裝

  • 載入映象檔案。
  • 點選 install-tl-advanced.bat 檔案,進行安裝。可以選擇安裝的內容,修改需要安裝的包。
    • 去掉多餘的語言包,只保留 Chinese 和 English 即可。
    • 去掉 Texworks editor 這個雞肋的自帶編輯器。
  • 相關命令。
    • tex -v, latex -v, xelatex -v :用於測試是否安裝好。
    • tlmgr update --all :用於更新 Texlive。

Linux 系統安裝

  • sudo apt install perl-tk :使用圖形化安裝介面,需要安裝 perl-tk 元件。
  • sudo mount -o loop texlive2019.iso /mnt
  • cd /mnt && sudo ./install-tl -gui
  • 同 Windows 安裝,去除多餘語言包和雞肋的編輯器後,點選安裝即可。
  • cd / && sudo umount /mnt

環境變數配置

安裝完成後,需要配置如下的環境變數, vim ~/.zshrc

export PATH=/usr/local/texlive/2019/bin/x86_64-linux:$PATH
export MANPATH=/usr/local/texlive/2019/texmf-dist/doc/man:$MANPATH
export INFOPATH=/usr/local/texlive/2019/texmf-dist/doc/info:$INFOPATH

字型配置

texlive 雖然可以直接使用系統字型,然而 texlive 自帶的字型並不在系統的字型目錄裡面。為了讓系統可以使用 texlive 所帶的字型,需要進行如下配置:

  • sudo cp /usr/local/texlive/2019/texmf-var/fonts/conf/texlive-fontconfig.conf /etc/fonts/conf.d/09-texlive.conf
  • sudo fc-cache -fsv

更新源配置

配置合適的 CTAN 源可以加快巨集包更新的網速,以清華的源為例:

  • tlmgr option repository https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/tlnet
  • tlmgr update --self --all :更新 texlive。

mactex 的安裝

  • 下載好 mactex,一路下一步即可。
  • 安裝完成後,會有 2 個老古董軟體。
    • TexShop:IDE,免費開源。
    • Latexit:LaTex 的公式編輯器,可以輸出 PDF、JPEG、PNG 等多種格式的數學式。

VSCode 及 LaTeX Workshop 外掛的安裝

VSCode 是一款很優秀的編輯器,適合各種開發及編輯工作。LaTeX Workshop 則是適用於在 VSCode 上編輯 LaTeX 的很好用的外掛,下面主要是它的配置介紹。

編譯方式(tool)

LaTeX 有很多編譯方式, 比如 latexxelatexpdflatexlatexmk 等等。這裡推薦使 xelatex, 它使用的是 utf-8 編碼方式,支援中文,但是 LaTeX Workshop 預設的編譯方式是 latexmk,可以通過修改 LaTeX Workshop 的 tool 設定來自定義編譯方式,如下:

"latex-workshop.latex.tools": [
    {
        "name": "xelatex",
        "command": "xelatex",
        "args": [
            "-synctex=1",
            "-interaction=nonstopmode",
            "-file-line-error",
            "-pdf",
            "%DOCFILE%"
        ]
    },
    {
        "name": "pdflatex",
        "command": "pdflatex",
        "args": [
            "-synctex=1",
            "-interaction=nonstopmode",
            "-file-line-error",
            "%DOCFILE%"
        ]
    },
    {
        "name": "bibtex",
        "command": "bibtex",
        "args": [
            "%DOCFILE%"
        ]
    }
]

將 tools 中的 %DOC% 替換成 %DOCFILE% 就可以支援中文路徑下的檔案了

編譯組合(recipe)

如果我們要對一個文件/專案完整的編譯(比如 pdflatex->bibtex->pdflatex->pdflatex )我們需要用到編譯組合( recipes )。LaTeX Workshop 預設添加了兩個 recipes ,分別是 latexmkpdflatex -> bibtex -> pdflatex*2 ,初此之外,也可以在設定的 recipe 選項中修改組合方式,如下:

"latex-workshop.latex.recipes": [
    {
        "name": "xelatex",
        "tools": [
            "xelatex"
        ]
    },
    {
        "name": "xelatex ➞ bibtex ➞ xelatex × 2",
        "tools": [
            "xelatex",
            "bibtex",
            "xelatex",
            "xelatex"
        ]
    },
    {
        "name": "pdflatex ➞ bibtex ➞ pdflatex × 2",
        "tools": [
            "pdflatex",
            "bibtex",
            "pdflatex",
            "pdflatex"
        ]
    }
]