LATEX 安装使用 (TeX Live 2021+VSCode+SumatraPDF 实时预览)

啊… 又要写毕业论文了… 担心 Overleaf 须要联网有一定风险, 还是打算 本地 TeX Live + Github 版本管理与备份.

安装

TeX Live 2021

用国内镜像下载, 速度快: 清华源 | 华为云源 | 阿里云源.

双击下载的 ISO, 打开 (不用管理员) install-tl-windows.bat, 会有 GUI 安装界面. 我直接便携安装在 D 盘了, 安装出来有 7 个多 G, 语言少选几个可以少安装一个 G, 不过也就一个 G, 干脆全装了.

好家伙装了半个多小时了, 怎么还没装完, 我这硬盘还是 SSD.

妈耶一看全是几 k 到几百 k 的小文件… 又让我想起了被 NPM 的依赖包支配的恐惧…

尼玛快 50 分钟了吧? 早知道直接上 Overleaf 了… 感觉现在 Overleaf 访问也挺稳定的.

终于装完了…

由于我选了便携安装, 所以为了识别出那几个指令, 要自己把安装路径的 bin D:\texlive\2021\bin\win32 加入系统环境变量的 Path 里.

VSCode 插件配置

  1. 安装 SumatraPDF 可以实时预览: 官网 | Github. 这是可选项, 但是确实方便. 由于只是给 LaTeX 用, 就下了个便携版, 下下来只有一个 exe, 直接扔 TeX Live 目录里得了.

  2. 在 VSCode 插件商店安装 LaTeX Workshop, 用来语法高亮, 自动补全, 编译什么的.

  3. 在 VSCode 按 F1, 输入 setjson, 选择 首选项: 打开设置 (json), 在最外层花括号内追加如下内容:

    // ======================== LaTeX 设置 BEGIN  ========================
    // bibtex 格式
    "latex-workshop.bibtex-format.tab": "tab",
    
    // 自动编译,全部关闭,当且仅当你认为有需要的时候才会去做编译
    "latex-workshop.latex.autoBuild.run": "never",
    "latex-workshop.latex.autoBuild.cleanAndRetry.enabled": false,
    
    // 设置 latex-workshop 的 PDF 预览程序,external 指的是外部程序
    "latex-workshop.view.pdf.viewer": "tab",
    "latex-workshop.view.pdf.ref.viewer": "external",
    "latex-workshop.view.pdf.external.viewer.command": "D:\\texlive\\SumatraPDF-3.3.3-64.exe", // 注意修改路径
    "latex-workshop.view.pdf.external.viewer.args": [
        "%PDF%"
    ],
    
    // 配置正向、反向搜索:.tex -> .pdf
    "latex-workshop.view.pdf.external.synctex.command": "D:\\texlive\\SumatraPDF-3.3.3-64.exe", // 注意修改路径
    "latex-workshop.view.pdf.external.synctex.args": [
        // 正向搜索
        "-forward-search",
        "%TEX%",
        "%LINE%",
        "-reuse-instance",
        // 反向搜索
        "-inverse-search",
        "\"C:\\Users\\xie\\AppData\\Local\\Programs\\Microsoft VS Code\\Code.exe\" \"C:\\Users\\xie\\AppData\\Local\\Programs\\Microsoft VS Code\\resources\\app\\out\\cli.js\" -gr %f:%l",
        "%PDF%"
    ],
    
    // 这是一些独立的编译选项,可以作为工具被编译方案调用
    "latex-workshop.latex.tools": [{
            // Windows 原生安装 TeX Live 2020 的编译选项
            "name": "Windows XeLaTeX",
            "command": "xelatex",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "-pdf",
                "%DOCFILE%"
            ]
        },
        {
            // Windows BibTeX 编译
            "name": "Windows BibTeX",
            "command": "bibtex",
            "args": [
                "%DOCFILE%"
            ]
        },
        {
            // Windows Biber 编译
            "name": "Windows Biber",
            "command": "biber",
            "args": [
                "%DOCFILE%"
            ]
        },
        {
            // WSL XeLaTeX 编译一般的含有中文字符的文档
            "name": "WSL XeLaTeX",
            "command": "wsl",
            "args": [
                "/usr/local/texlive/2020/bin/x86_64-linux/xelatex",
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "-pdf",
                //"-output-directory=%OUTDIR%",
                //"-aux-directory=%OUTDIR%",
                "%DOCFILE%"
            ]
        },
        {
            // WSL biber / bibtex 编译带有 citation 标记项目的文档
            "name": "WSL Biber",
            "command": "wsl",
            "args": [
                "/usr/local/texlive/2020/bin/x86_64-linux/biber",
                "%DOCFILE%"
            ]
        },
        {
            // macOS 或者 Linux 的简单编译
            // 两种操作系统的操作方式相同
            "name": "macOS / Linux XeLaTeX",
            "command": "xelatex",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "-pdf",
                "%DOCFILE%"
            ]
        },
        {
            // macOS 或者 Linux 的索引编译
            // 两种操作系统的操作方式相同
            "name": "macOS / Linux Biber",
            "command": "biber",
            "args": [
                "%DOCFILE%"
            ]
        }
    ],
    
    // 这是一些编译方案,会出现在 GUI 菜单里
    "latex-workshop.latex.recipes": [{
            // 1.1 Windows 编译简单的小文档,这个选项不太常用,因为绝大多数文章都需要有参考文献索引
            "name": "Windows XeLaTeX 简单编译",
            "tools": [
                "Windows XeLaTeX"
            ]
        },
        {
            // 1.2 Windows 编译带有索引的论文,需要进行四次编译;-> 符号只是一种标记而已,没有程序上的意义
            "name": "Windows xe->bib->xe->xe 复杂编译",
            "tools": [
                "Windows XeLaTeX",
                "Windows BibTeX",
                "Windows XeLaTeX",
                "Windows XeLaTeX"
            ]
        },
        {
            // 2.1  WSL 编译简单的小文档,这个选项不太常用,因为我绝大多数文章都需要有引用。
            "name": "XeLaTeX 简单编译",
            "tools": [
                "WSL XeLaTeX"
            ]
        },
        {
            // 2.2 带有 citation 索引的文档,需要进行四次编译;-> 符号只是一种标记而已,没有程序上的意义
            "name": "xe->bib->xe->xe 复杂编译",
            "tools": [
                "WSL XeLaTeX",
                "WSL Biber",
                "WSL XeLaTeX",
                "WSL XeLaTeX"
            ]
        },
        {
            // 3.1 macOS 简单 小文档
            "name": "macOS XeLaTeX 简单编译",
            "tools": [
                "macOS XeLaTeX"
            ]
        },
        {
            // 3.2 macOS 四次编译
            "name": "macOS xe->bib->xe->xe 复杂编译",
            "tools": [
                "macOS / Linux XeLaTeX",
                "macOS / Linux Biber",
                "macOS / Linux XeLaTeX",
                "macOS / Linux XeLaTeX"
            ]
        }
    ],
    
    // 清空中间文件
    "latex-workshop.latex.clean.fileTypes": [
        "*.aux",
        "*.bbl",
        "*.blg",
        "*.idx",
        "*.ind",
        "*.lof",
        "*.lot",
        "*.out",
        "*.toc",
        "*.acn",
        "*.acr",
        "*.alg",
        "*.glg",
        "*.glo",
        "*.gls",
        "*.ist",
        "*.fls",
        "*.log",
        "*.fdb_latexmk",
        "*.bcf",
        "*.run.xml",
        //"*.synctex.gz"
    ]
    // ======================== LaTeX 设置 END ========================
    

    上面这串设置是网上找的 (文章都是抄来抄去, 也不知道到底是谁整理的…), 不过看着很靠谱. 但也是自己改动了一些.

    1. 首先是网上找的原版有错别字, 有个 command 打成了 commmand
    2. 其次由于我用的是 BibTeX 而不是 Biber, 所以依葫芦画瓢加了个 Windows BibTeX 的配置, 复杂编译改成了 BibTeX (其他 Linux, Mac 的没改, 还是 Biber).
    3. latex-workshop.view.pdf.viewer 改成了 tab, 在 VSCode 内部打开预览窗口. 原本是 external.
    4. Json 里面要注意必须修改的有两个, 一个是 VSCode 的路径要替换, 一个是 SumatraPDF 的路径.
  4. 搞腚!
    vscode-latex-preview.png

    点上面那个绿色的播放键 ▷ 就会编译并更新预览. 当然你也可以把 VSCode 设置里的 latex-workshop.latex.autoBuild.run 改成 onSave 甚至 onFileChange, 可以做到实时刷新. 但是 LaTeX 毕竟不是 Markdown, 编译还是挺慢的, 想想还是手动更新好了.

安装问题踩坑

VSCode 报错: Recipe terminated with fatal error: spawn xelatex ENOENT.

这是忘记把安装路径的 bin 加入 Path 了.

编译报错: Cannot find 'xxx.bcf'!

将默认文献工具改为 BibTeX, 于是找的不是 .bcf 而是 .bib 了.

搞论文

复旦毕业论文模板: 曾祥东大佬的模板 Github

  • 8
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值