VS Code编译Latex避坑指南

为了顺利毕业,当年毕业前曾经尝试了诸多的Latex编辑器和编译器,有Texlive自带的Texworks editor,也有自带大量数学符号省去查找麻烦的Texstudio,以及心血来潮下尝试的Atom,到现在需要重新拾起Latex时发现前两者的编辑感受着实不太令人满意,而Atom由于过多的插件安装,导致启动速度实在不尽如人意,最后选择了新方案:VS Code+Texlive+SumatraPDF
主要的安装过程网上内容很多,基本学习和采用了知乎@开心鲨鱼的内容,关于Texlive的安装及环境变量的配置,就不过多赘述了。但在安装及之后调试中出现了下述几个问题,简单的写一些解决方法供大家参考


首先说明一下电脑配置:
win10+VScode v1.43.2+texlive2017(手头有现成版本就没有更新)+SumatraPDF v3.1.2


1. 默认编译方式

VS Code中使用ctrl+alt+b时会默认使用在settings.json文件中的latex-workshop.latex.recipes下的第一种编译方式,可以根据常用需求将最常用的放置于第一个,例如我的第一个放置的是xelatex
至于以及对应的%!TEX program = xelatex这种方式对于纯粹的xelatex文件是有效的,但是对于含有bib参考文献的应该怎么处理,或者是否不能使用该方法我并不清楚。希望评论区有人可以答疑。


2. xelatex+bib方式中的[?]

在我参考及查找的诸多内容中,xelatex+bib对应的在latex-workshop.latex.recipes中的编译方式都是有误的,在bibtex编译后需要再使用xelatex编译两次才能正确显示参考文献及文章中对应的cite标签,因而需要在对应的部分更改为

{
	"name": "xelatex -> bibtex -> xelatex -> xelatex",
	"tools": [
		"xelatex",
		"bibtex",
		"xelatex",
		"xelatex"
	]
}

当然,name可以不改,我比较强迫症


3. 关于正反向搜索的问题

首先是文件地址的问题,建议使用/而不是Windows下\\,可以在使用setting sync同步后更好的移植到其他的系统


其次是关于latex-workshop.view.pdf.external.synctex.args项中的

"D:/ProgramFiles/Coding/VSCode/code D:/ProgramFiles/Coding/VSCode/resources/app/out/cli.js -r -g %f:%l"

在使用中发现会修改SumatraPDF中的对应的反向搜索地址内容,导致无法反向搜索,因为在SumatraPDF中应该使用的是

"D:\ProgramFiles\Coding\VSCode\Code.exe" "D:\ProgramFiles\Coding\VSCode\resources\app\out\cli.js" -r -g "%f:%l"

所以应该把该句内容改为

"\"D:\ProgramFiles\Coding\VSCode\Code.exe\" \"D:\ProgramFiles\Coding\VSCode\resources\app\out\cli.js\" -r -g \"%f:%l\""

其中增加的那些\是在" "中使用"时需要增加的转义符号。


感谢阅读

作为一个计算机刚入门的小白,只能讲一些自己使用过程发现的问题,如果你还有什么问题,可以在下面留言,我会尽力看能否和你一起学习尝试解决,以及上面的内容在你使用中如果觉得有帮助的话,记得回来给我点个赞。

你可能感兴趣的:(VS,Code,学习)