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

如果大家还有什么问题也可以在下面留言,我会尽力解决。

posted @ 2020-02-16 20:03  alexanderzjs  阅读(4975)  评论(9编辑  收藏  举报