IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> LATEX 安装使用 (TeX Live 2021+VSCode+SumatraPDF 实时预览) -> 正文阅读

[开发工具]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

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2021-08-09 10:26:16  更:2021-08-09 10:28:05 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/22 13:22:17-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码