TexLive安裝配置教程


在寫文檔/論文的時候,最常用的莫過於Markdown和TeX語言了,不過,由於Markdown編輯的多樣性受到嚴格限制,所以,安裝一個TeX編譯環境非常必要。本文將從安裝配置的角度描述整個過程,並作部分原理上的闡述,畢竟授之以魚不如授之以漁。

我究竟需要什么?

TeX是一種語言,但是由於其包含的命令比較復雜,因此將其組合打包成不同的宏包以供文檔編寫者使用,常見的有:

  • Plain TeX:Knuth提供的最小的宏集合;
  • LaTeX:一種更常用的宏集合。

為了能夠把寫好的TeX文件編譯產生PDF文檔,需要用到編譯工具TeX、PDFTeX以及XeTeX等:

  • TeX編譯工具中的TeX命令: 最初的由Knuth大神開發的將Plain TeX文件編譯成.div;
  • PDFTeX編譯工具中的PDFTeX命令:把Plain Tex文件直接編譯成 PDF文件;
  • XeTeX編譯工具中的XeTeX命令:把Plain TeX文件直接編譯成 PDF文件,支持Unicode編碼和直接訪問操作系統字體;
  • PDFTeX編譯工具中的PDFLaTeX命令:PDFTeX中的命令,把LaTeX文件直接編譯成 PDF文件;
  • XeTeX編譯工具中的XeLaTeX命令:XeTeX中的命令,把LaTeX文件直接編譯成 PDF文件,支持Unicode編碼和直接訪問操作系統字體。

那么,什么工具提供這些編譯工具呢?常用的有:TeXLive、MikTex等。

TeXLive怎么安裝?

很多人喜歡下載完整的TeXLive,然后直接打開編輯器(如VSCode)編輯代碼並聲稱。但是,一個完整的iso文件太大了,也不利於以后出了錯誤進行調試。因此,這里用最小版從頭開始安裝TeXLive。基本步驟如下:

  1. 到清華的開源軟件鏡像站下載TexLive的安裝器https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/tlnet/install-tl.zip;
  2. 解壓以后進入解壓后的文件夾並執行這個命令來安裝./install-tl --gui(如果提示需要安裝某些插件的話,請配合安裝,例如Ubuntu下sudo apt install wish)。這里,可能要明白幾個概念,首先,為了保證下載速度,選擇一個鏡像倉庫地址,這個可以在界面的首頁選擇;其次,在安裝的時候可以選擇便攜式安裝(也就是portable),我個人習慣盡量不把這個東西安裝在系統路徑,以防后面重裝系統;再次,根據需要選擇初始安裝的包,我在這里一般選擇最小化安裝(minimal)以方便后期我自己添加需要的包;最后,在選項里面選擇allow execution of restricted list of programs via \write18create all format files,另外兩個安裝文檔樹的選項不用勾選,但是一定要記得勾選生成格式化文件那個選項);
  3. 等待一段時間的下載和安裝以后,最小化的TeXLive系統就安裝好了,這時候記得配置環境變量,讓命令行可以順利的訪問基本命令。

TeXLive在VSCode下如何編譯TeX文件?

這里,可以使用相應的命令加上tex文件,例如:xelatex XXX.tex,其中的編譯選項就不在此列出了。VSCode需要安裝Latex Workshop這個擴展,然后對VSCode的Preferences: Open Settings (JSON)這個文件進行編輯,下面給出一個Linux下我常用的配置文件:

{
    "latex-workshop.synctex.synctexjs.enabled": true,
    "latex-workshop.showContextMenu":true,
    "latex-workshop.intellisense.package.enabled": true,
    "latex-workshop.message.log.show": false,
    "latex-workshop.message.warning.show": false,
    "latex-workshop.latex.autoBuild.run": "never",
    "latex-workshop.synctex.afterBuild.enabled": true,
    "editor.wordWrap": "on",
    "workbench.startupEditor": "newUntitledFile",
    // 對應Clean up auxiliary files命令需要清楚的臨時文件類型
    "latex-workshop.latex.clean.fileTypes": [
        "*.aux",
        "*.bbl",
        "*.blg",
        "*.bcf",
        "*.cut",
        "*.dvi",
        "*.idx",
        "*.ind",
        "*.lof",
        "*.lot",
        "*.out",
        "*.toc",
        "*.xml",
        "*.pdf",
        "*.acn",
        "*.acr",
        "*.alg",
        "*.glg",
        "*.glo",
        "*.gls",
        "*.ist",
        "*.fls",
        "*.log",
        "*.synctex.gz",
        "*.fdb_latexmk",
        "*.gz"
    ],
    // 這個viewer的配置好像不太需要,因為在對應的View Latex PDF命令里面可以選瀏覽方式
    "latex-workshop.view.pdf.viewer": "tab",
    // 重點:這決定了下面的recipes調用不同TeX命令具體的執行方式
    "latex-workshop.latex.tools": [  
    {
        "name": "pdflatex",
        "command": "/path/to/pdflatex",
        "args": [
            "-synctex=1",
            "-interaction=nonstopmode",
            "%DOCFILE%.tex"
        ]
    },
    {
        "name": "xelatex",
        "command": "/path/to/xelatex",
        "args": [
            "-synctex=1",
            "-interaction=nonstopmode",
            "%DOCFILE%.tex"
        ]
    },
    {
        "name": "bibtex",
        "command": "/path/to/bibtex",
        "args": [
            "%DOCFILE%.aux"
        ]
    },
    {
        "name": "biber",
        "command": "/path/to/biber",
        "args": [
            "%DOCFILE%.bcf"
        ]
    }
    ],
    // 這個會生成在Commands里面的recipe
    "latex-workshop.latex.recipes": [
    {
        "name": "pdflatex",
        "tools": [
            "pdflatex"
        ]
    },
    {
        "name": "xelatex",
        "tools": [
            "xelatex"
        ]
    },
    {
        "name": "bibtex",
        "tools": [
            "bibtex"
        ]
    },
    {
        "name": "biber",
        "tools": [
            "biber"
        ]
    }
    ]
}

TeXLive怎么安裝其他軟件包?

在TeXLive中,包含一個非常有用的包管理器,叫做tlmgr(TeXLive Manager)。這個包管理器有一些基本的命令需要了解(在Linux或者Mac上,這個命令是tlgmr,在windows上是tlmgr.bat,這里就用tlmgr舉例):

  1. tlmgr init-usertree:用來給你建立一個工作區域管理存放后續安裝的東西,這個要首先執行。
  2. tlmgr option repository https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/tlnet:用來更換倉庫源以加快下載速度。
  3. tlmgr install XXX:用來安裝XXX這個包。
  4. tlmgr info XXX:用來搜索並展示包含XXX的包。
    這樣就可以愉快的使用安裝好的包了。

TeXLive后續問題匯總(持續更新)

:最小化TeXLive無法執行XeLaTeX命令。
:這里需要重新安裝XeTeX,tlmgr install --reinstall xetex

:找不到格式化文件,例如,I can't find the format file `xelatex.fmt'!。
:解決步驟同上。

:編譯過程中發現字體有問題。
:這里可以用tlmgr info命令搜索需要下載的字體並從CTAN官網下載。一般這個時候也會有對應的路徑,比如texmf-dist/fonts/。把下載的字體解壓放在這些路徑下,然后分別運行mktexlsrsudo fc-cache。如果是Windows下發現mktexmf: empty or non-existent rootfile!這種錯誤的,請重新為所有用戶安裝字體文件(右鍵點擊xxx.ttf或者xxx.otf,然后“為所有用戶安裝”),然后運行fc-cache

:在VSCode的編譯過程中出現extractbb --versionsh: extractbb: command not found
:原因可能和VSCode本身執行方式有關,有待排查。臨時解決方案為在命令行中運行xelatex xxx.tex看是否報錯,如果出現類似的編譯錯誤,請使用xelatex xxx.tex -shell-escape

如果大家還有什么問題也可以在下面留言,我會盡力解決。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM