VSCode 配置 LaTex 环境
讲一件很羞耻的事情
上次wordpress遇到重大安全漏洞的时候,我因为懒得处理,所以就把服务器关了。又因为上个星期审查的人打电话说我再不把服务开起来就取消我的备案。emmm,于是我就又开了起来。
这些都不是重点,这次要讲的是怎么在 VSCode 里面配置 LaTeX 的环境。
VSCode 这么好看,不好好利用一下就非常浪费。又因为我的 markdown 环境就是在 VSCode 配置的,因此就想把 LaTex 的环境也配置在 VSCode。
其实也很多人写过类似的 blog 了,但是 VSCode 和 LaTeX Workshop 的更新使得很多的 blog 都过时了,所以就想自己记录一下。
能驱动这么懒的我去配置 LaTeX 环境,显然是因为,我要写文章了。
参考资料:http://www.latexstudio.net/archives/12260.html
第一步
装 VSCode,装MiKTex。装完之后看看环境变量里面系统变量PATH有没有加入MiKTex的bin目录,有的话就不用管了,没有的话就手动添加。
第二步
在 VSCode 里面安装 LaTeX Workshop 插件。
这一步非常简单,就是搜索一下然后点一下 install 即可。
第三步
这一步比较重要
VSCode 默认添加了3个编译工具(
tools
):分别是latexmk
,pdflatex
和bibtex
(所有的工具只编译一次)。编译 tex 文档方法,保存(快捷键:Ctrl+S
),默认使用 latexmk,查看 PDF 文件使用快捷键:Ctrl+Alt+V
,或者点击右上角的图标。 为了添加其他的编译方式(比如 xelatex),我们需要修改 LaTeX Workshop 的配置。方法如下:打开 VSCode 的配置(VSCode 界面左下角,点击齿轮按钮,选择设置),在右侧(用户设置)粘贴下面 JSON 片段:
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 |
"latex-workshop.latex.tools": [ { "name": "xelatex", "command": "xelatex", "args": [ "-synctex=1", "-interaction=nonstopmode", "-file-line-error", "%DOC%" ] }, { "name": "pdflatex", "command": "pdflatex", "args": [ "-synctex=1", "-interaction=nonstopmode", "-file-line-error", "%DOC%" ] }, { "name": "bibtex", "command": "bibtex", "args": [ "%DOCFILE%" ] } ], |
编译组合 (recipes)
如果我们要对一个文档/项目完整的编译(比如
pdflatex->bibtex->pdflatex->pdflatex
)我们需要用到编译组合(recipes
)。LaTeX Workshop 默认添加了两个 recipes,分别是latexmk
和pdflatex -> bibtex -> pdflatex*2
,可以点击左侧边栏的TeX图标(只有在打开.tex文件时才会出现),选择Build LaTeX project
,然后选择适合的编译组合。 我们之前添加了xelatex
编译方式,我们这里配置下xelatex
的完整编译链xelatex -> bibtex -> xelatex*2
,外补充单次编译的recipes
。方法和之前类似,打开用户配置文件,将如下 JSON 添加到用户配置中即可。
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 45 |
"latex-workshop.latex.recipes": [ { "name": "PDFLaTeX", "tools": [ "pdflatex" ] }, { "name": "XeLaTeX", "tools": [ "xelatex" ] }, { "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" ] } ], |
然后基本大功告成,保存的时候就会编译。如过存在引用(Reference, Citation)则需要保存两次,引用才会出来。如果存在.bib
文件,则需要先用编译组合pdflatex -> bibtex -> pdflatex*2
一次,再保存两次。
因为了解 LaTeX 不深入,对它的原理,一些底层的东西一直不了解,对它的认识只停留在能用的程度,所以只能写到这里了。