写科研论文的,总是离不开使用LaTEX进行论文写作和排版。这个过程其实挺漫长和痛苦的(对我而言)。以往使用Latex套件进行编辑、排版和编译,往往使用的是CTEX套件。里面附带的是WinEdt编辑界面,使用起来体验非常差。现在主要的问题是CTEX已经好久不更新了,WinEdt往往还要注册才能用的安心。经过漫长时间的选择和切换,现在我的编辑系统已经切换为TexLive+vscode+LatexWorkshop 套装,在功能上基本和以往的系统一致,而且用户体验要比传统系统提升很多,先放个界面截图给大家看看:
我参照了知乎上的帖子:使用VSCode编写LaTeX的 配置过程,基本配置步骤没有改变。首先是安装Texlive套件,这个系统比较大,安装过程可以选择linux风格的命令行界面,或者使用图形界面,都是可以的,具体步骤细节不再这里赘述了
然后是vscode的安装,真心为这两年发展迅速的vscode感到骄傲,可以说,他是一款非常优秀的编辑工具,如果不是考虑比较大的系统话工程的话,真心可以Hold了全平台,全语言。具体安装也没什么好说的,傻瓜式的过程。
LaTEX Workshop的安装,这个插件使得vscode能够支持TEx文档的编辑、编译和排版。由于版本迭代的原因,截止2020.02.10,当前的版本是8.7.1。在Latex设置方面,已经和知乎上帖子地址所列配置信息略有差别了,尤其是Tex正向搜索(Synctex from cursor)的功能,我在以往的配置中一直也没有生效。这次我认真的阅读了插件开发者的官网网址。参照上面所列的参数,基本上实现了vscode插件的常用功能,并给出了一些使用过程中方便调试、运行的小贴士。
1.有关编译工具的设置(没有改变),在vscode中选择“文件”->"首选项"->"设置“,在界面中找到”在settings.json中编辑",就是下图所示的界面:
打开settings.json文件后,在其中输入如下脚本代码段,指定TEX编译时使用的环境(无变化)。
"latex-workshop.latex.tools": [
{
"name": "latexmk",
"command": "latexmk",
"args": [
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"-pdf",
"%DOC%"
]
},
{
"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%"
]
}
],
2.设置编译管道(recipes),也就是使用什么顺序编译TEX文件。一般我常用的是一次xelatex,一次bibtex,再两次xelatex。所以管道可以这么设置(无变化):
"latex-workshop.latex.recipes": [
{
"name": "xelatex",
"tools": [
"xelatex"
]
},
{
"name": "xelatex -> bibtex -> xelatex*2",
"tools": [
"xelatex",
"bibtex",
"xelatex",
"xelatex"
]
},
{
"name": "latexmk",
"tools": [
"latexmk"
]
}
],
3.指定重新编译过程中,需要清理的临时文件类型(无变化):
"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"
],
4.指定编译后预览使用的PDF软件。这里面推荐使用SumatrPDF,可以非常便捷地进行反向搜索,也就是鼠标点击PDF正文时,相应光标定位到对应的TEX代码段中,方便定位内容,在写大文章时,这个功能真心好用。
// 指定使用外部PDF阅读器打开
"latex-workshop.view.pdf.viewer": "external",
// 指定外部阅读器的类型,文件路径
"latex-workshop.view.pdf.external.viewr.command": {
"command": "%your SumatraPDF PATH%/SumatraPDF.exe",
"args": [
"%PDF%"
],
},
其中要注意的是”%your SumatraPDF PATH%“意思是你安装的SumatraPDF文件路径,比如"D:/Program Files/SumatraPDF"。
5. 配置正向搜索。这个和原文中略有差别。我是参照LaTEX Workshop官网中的设置,具体细节可以参照官方文档。
//Forward Searching
"latex-workshop.view.pdf.external.synctex.command": "%Your SumatraPDF PATH%/SumatraPDF.exe",
"latex-workshop.view.pdf.external.synctex.args": [
"-forward-search",
"%TEX%",
"%LINE%",
"-reuse-instance",
"-inverse-search",
"code \"%Your vscode PATH%\\resources\\app\\out\\cli.js\" -r -g \"%f:%l\"",
"%PDF%"
],
注意%Your SumatraPDF PATH%依旧代表你自己系统内的SumatraPDF文件安装路径,而""%Your vscode PATH%"一般指的是类似"C:\\Program Files\\Microsoft VS Code"格式的路径,注意是"\\",代表绝对路径。使用时,在TEX文档中选择相应的代码段落,然后点击左侧工具栏上的TEX图标,在TEX Workshop列表里选择”Synctex from cursor“,可以在SumatraPDF定位到PDF中相应的段落位置。相应的效果如下图:
6. 在SumaPDF中设置反向选择:在选项里面,下方的输入框中输入:
code "%Your VSCode PATH%\resources\app\out\cli.js" -r -g "%f:%l"
反向选择的效果:
7.有关LaTEXT Workshop的一些常用快捷键:
7.1 编译文件的话,可以使用ctrl+alt+b
7.2 正向搜索时,快捷键 ctrl+alt+j
最后,祝大家vscode使用愉快,多发论文。
参考文档:
https://github.com/James-Yu/LaTeX-Workshop/wiki
https://zhuanlan.zhihu.com/p/38178015