RefTools文献管理

配置VSCode为LaTeX集成开发环境(IDE) - 初级版

2017-08-12  本文已影响2219人  Specter119

LaTeX的集成开发环境(Integrated Development Environment, 简称IDE)的配置方案非常多,专用软件(WinEdt, TexMakerX, TeXnicCenter),或者是通用编辑器(vim, emacs, sublime text)均有。那么VSCode的优势到底在哪?

Visual Studio Code
简称VSCode,由微软开发的全平台集成开发软件。

  1. 已经有专用编辑器了,为什么要用通用编辑器?
    因为不只写LaTeX。
  2. 相比传统『神级』编辑器(vim, emacs等),新一代编辑器(VSCode, Atom)有何优势?
    • 效率:传统编辑器高
    • 难度:新编辑器上手简单
    • 颜值:新编辑器高
  3. Atom和VSCode孰优孰劣?
    • 支持:Atom插件多且好,包括且不局限于LaTeX范围。
    • 性能:VSCode好,启动快,大文件读写不卡(貌似和LaTeX没关系?)。
    • 难度:VSCode上手难度比Atom略高。

    Atom,装插件即用,默认设置很少修改,几乎都不知道中间发生了什么。但VSCode,所有的配置都在settings.json中,使用者会更加明白发生了什么,包括默认设置做了什么。孰优孰劣,看各人喜好。

综上所述,VSCode的适合人群:同时具有编程和LaTeX需求,且对编辑器性能要求较高,有一定动手能力的人们。

VSCode安装之前的工作

安装TeX Live套装

多看书texdoc, 多查https://tex.stackexchange.com/,善于提问

CTeX/LaTeX 交流群,QQ群号: 31752345,中文开发者云集的群。
温馨提示,群里被群主虐过的才算萌新,否则只是渣渣。
进群先看群公告 × 3。

VSCode的安装配置

安装 LaTeX Workshop

点选左侧扩展按钮,在展开的扩展栏顶端搜索LaTeX Workshop,搜到后点击安装。

该扩展是当前编译 LaTeX 的全部依赖,微软官方的LaTeX Language Support已经停止开发。

使用方法可以通过 Ctrl/Cmd + Shift + p 命令快捷方式中,搜索 latex workshop 获得。

现在的LaTeX Workshop配置,有些拗口,需要修改如下设置:

LaTeX Workshop升级到5.x版本后,右下角弹窗可将toolchain自动转换为recipes的,参考 from toolchain to recipe 了解更多。

latex-workshop.latex.recipes: 编译的方案
latex-workshop.latex.tools: 编译的命令及参数
latex-workshop.latex.magic.args: 魔法注释命令的参数

编译方案 (Latex recipes) 就是不同tools的组合,把 latex-workshop.latex.tools串起来。
魔法注释 (Magic comments),用来定义编译引擎(pdflatex, xelatex 等)以及根文件 (Root file)。

下面举例实现 xelatex > bibtex > xelatex > xelatex 的配置。

使用 Ctrl/Cmd + , 打开设置窗口,左侧为默认配置,右侧为用户的全局配置,在右侧加入(注意缩进):

    "latex-workshop.latex.recipes": [
        {
            "name": "xelatex -> bibtex -> xelatex*2",
            "tools": [
                "xelatex",
                "bibtex",
                "xelatex",
                "xelatex"
            ]
        }
    ],
    "latex-workshop.latex.tools": [
        {
            "name": "bibtex",
            "command": "bibtex",
            "args": [
              "%DOCFILE%"
            ]
        },
        {
            "name": "xelatex",
            "command": "xelatex",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "-shell-escape",
                "%DOC%"
            ],
        }
    ],

latex-workshop.latex.recipes暂时只能使用第一个。

将来应该会有支持选择recipe的编译命令,否则开发者没必要支持多recipe

如果不设置latex-workshop.latex.recipes,默认将使用latexmk编译,可以参考 Configuration Files 了解更多。

非根tex文件,建议第一行前插入:

% !TEX root = 主文件相对路径

当前版本,不建议使用魔法注释定义引擎
以前魔法注释定义的引擎相当于现在的tools,而现在定义的是只包含一步的recipes且优先级更高。所以,现在的魔法引擎使用情景非常有限,等待作者转换下思路。

个人觉得,现在的魔法注释,要么写latexmk这种集成编译命令,或者编译不含文献的文档时候可以随便换pdflatex或者xelatex。但是针对含文献的情况,反而不如之前的版本灵活。
如果诸位觉得现在的定义更好,可以留下你的方案给予建议。

结语

至此,一个简单可用的LaTeX环境就搭建好了:

缺点:

缺点的前两条会抽时间反馈给作者,剩下的两条通过继续配置可以实现,因此下一篇的内容可能是代码格式化以及语法检查。

上一篇下一篇

猜你喜欢

热点阅读