起因
起因是因为要开始论文初稿的撰写, 然后需要使用>$\LaTeX$<. 虽然老板想让我在OverLeaf上写, 但是作为一个Vim党, 可能习惯了Vim的操作习惯以后就再也回不到纯文本的编辑上去了吧[笑]. 抛弃掉TexLive自带的TexWorks也是同理, VSCode的Vim插件总的来说还是挺好用的(虽然由于VSCode本身机制的问题会和一些插件不兼容, 比如acejump.
经过
现在是8102年了, 所以你需要的安装的是TexLive而不是CTex. 事实上, 对于中文现在TexLive也可以正常处理, 只要配置好字体就可以了1, 而且CTex也已经很久都没有更新过. 至于其他的发行版, 我只要求能用而且足够好用就可以了所以懒得圣战.
所以你需要的工具有:
- TexLive: https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/Images/
- Perl: http://www.perl.org/get.html ( Perl是latexmk需要的依赖 )
- VSCode: https://code.visualstudio.com/#alt-downloads
安装方法非常简单:
- 安装VScode
- 安装TexLive2
- 安装Perl
- 打开终端运行
tex
看是否找到命令 - 安装VSCode的LaTeX Workshop插件
输入下列测试代码1保存:
\documentclass[UTF8]{ctexart} \begin{document} 你好,world! \end{document}
- 尝试运行左侧边栏的
Build LaTeX Project - Recipe: latexmk/Recipe: pdflatex -> bibtex -> pdflatex*2
应该都能够输出pdf - 尝试运行左侧边栏的
View LaTeX PDF - View in VSCode Tab/View in web browser
就可以分别在VSCode的新标签页和浏览器打开了, 而且是会根据你编辑的内容实时刷新哟
其他的一些可能设置:
输出到指定目录(比如
./output
)而不是根目录修改
latex-workshop.latex.tools
{ "name": "latexmk", "command": "latexmk", "args": [ "-synctex=1", "-interaction=nonstopmode", "-file-line-error", "-pdf", "--outdir=output", "%DOC%" ] },
- 修改
latex-workshop.latex.outputDir
为./output
即可
编译后清理掉中间文件
修改
latex-workshop.latex.tools
{ "name": "latexmk_build", "command": "latexmk", "args": [ "-synctex=1", "-interaction=nonstopmode", "-file-line-error", "-pdf", "--outdir=output", "%DOC%" ] }, { "name": "latexmk_clean", "command": "latexmk", "args": [ "-c", "--outdir=output", "%DOC%" ] },
修改
latex-workshop.latex.recipes
{ "name": "latexmk", "tools": [ "latexmk_build", "latexmk_clean" ] },
比如想要使用xelatex来排版
- 打开VSCode的配置文件
向
latex-workshop.latex.recipes
中加入如下内容:{ "name": "xelatex", "tools": [ "xelatex" ] },
向
latex-workshop.latex.tools
中加入如下内容:{ "name": "xelatex -> bibtex -> xelatex*2", "tools": [ "xelatex", "bibtex", "xelatex", "xelatex" ] }, { "name": "xelatex", "tools": [ "xelatex", ] },
重启VScode, 你就可以在
Build LaTeX Project
下看到新添加的Recipe了~xelatex -> bibtex -> xelatex*2
用于处理需要bbl的情况,xelatex
则用于纯>$\LaTeX$<环境下使用.
在工作区排除掉LaTeX编译中间文件的显示
加入如下配置到配置文件即可:
"files.exclude": { "**/*.aux": true, "**/*.fdb_latexmk": true, "**/*.fls": true, "**/*.log": true, "**/*.synctex.gz": true, "**/*.bbl": true, "**/*.blg": true },
补充一下自动clean的文件
向
latex-workshop.latex.clean.fileTypes
中加入如下内容:"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", "*.synctex.gz" ],
其他的一些额外的有用的提示
- 在VSCode的输出面板有
LaTex Workshop
和LaTeX Compiler
两个输出选项,LaTex Workshop
是LaTeX输出插件的日志,LaTeX Compiler
是LaTeX编译器的输出日志 - 如果没有pdf文件输出请检查编译器的日志, 查看VSCode是否找到了编译器是否正确编译
- 如果有pdf文件, 但是pdf文件没有被打开请检查插件日志, 默认是打开主tex文件下同名pdf文件, 如果配置了输出目录需要修改配置
latex-workshop.latex.outputDir
- 在VSCode的输出面板有
总结
VSCode不愧是一个全能型轻量级IDE, 通过各种插件的组合能够实现IDE的基本功能, 当然缺点主要是打开反应慢(和Sublime相比), 而且有些操作逻辑很迷(比如拖出标签页是保存文件???).
不过通过这一系列配置之后基本能实现实时预览和编写, 而且支持VScode完善的现代编辑器操作, 还是非常好评的w
还不快抢沙发