0%

使用VS Code编写LaTeX

前言

近日开始学习LaTeX,发现可以用VS Code编辑,很是方便,不过安装网上的教程安装后我并无法使用,后经改正现已正常使用,这里就和大家分享一下。由于我刚刚开始学习LaTeX,所以有错误之处还是希望大家可以给我指出。

前期准备

首先跟大家列一下我的LaTeX的学习环境:

  • TeX Live 2017
  • Visual Studio Code –1.22.1
  • LaTeX Workshop –5.3.1 (VS Code 插件)
  • SumatraPDF 阅读器

LaTeX Workshop配置

LaTeX Workshop在升级到5.0版本后,配置上有了一些变动,这也使得网上相关的资料不多。不过据称仅仅是把过去的tool.chain改成了recipe,应该是一样的。

编译方式(tool

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
"latex-workshop.latex.tools": [
{
"name": "xelatex",
"command": "xelatex",
"args": [
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"%DOCFILE%"
]
},
{
"name": "latexmk",
"command": "latexmk",
"args": [
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"-pdf",
"%DOC%"
]
},
{
"name": "pdflatex",
"command": "pdflatex",
"args": [
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"%DOC%"
]
},
{
"name": "bibtex",
"command": "bibtex",
"args": [
"%DOCFILE%"
]
}
],

注意:这里添加了xelatex的编译方式,并且是%DOCFILE%,这里和网上其他的配置不一样的,不过在我电脑上这样才能正常编译。

另外 (关于上述编译方式的一点说明)

  1. TeX - pdfTeX - XeTeX都是排版引擎,按照先进程度递增。
  2. LaTeX是一种格式,基于TeX格式定义了很多更方便使用的控制命令。上述四个引擎都有对应的程序将LaTeX格式解释成引擎能处理的内容。
  3. CTeX,MiKTeX,TeX Live都是 TeX 的发行,他们是许许多多东西的集合。
  4. bibtex是一种格式,用于协调LaTeX的参考文献处理。
  5. latexmkLaTeX自动编译工具

编译组合(recipe

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
"latex-workshop.latex.recipes": [
{
"name": "XeLaTeX",
"tools": [
"xelatex"
]
},
{
"name": "PDFLaTeX",
"tools": [
"pdflatex"
]
},
{
"name": "latexmk",
"tools": [
"latexmk"
]
},
{
"name": "BibTeX",
"tools": [
"bibtex"
]
},
{
"name": "pdflatex -> bibtex -> pdflatex*2",
"tools": [
"pdflatex",
"bibtex",
"pdflatex",
"pdflatex"
]
},
{
"name": "xelatex -> bibtex -> xelatex*2",
"tools": [
"xelatex",
"bibtex",
"xelatex",
"xelatex"
]
}
],

指定编译方式

LaTeX Workshop可以在lex文件的首行指定编译方式(% !TEX program)以及主文档(% !TEX root)。% !TEX program% !TEX root被称为Magic Command

其他配置

设置 SumatraPDF 作为 PDF 阅读器。关闭自动编译。

1
2
3
4
"latex-workshop.view.pdf.viewer": "external",
"latex-workshop.latex.autoBuild.onSave.enabled": false,
"latex-workshop.view.pdf.viewer": "external",
"latex-workshop.latex.autoBuild.onSave.enabled": false,