LaTeX是一种基于TEX的排版系统,很多老师都会要求学生用Latex写论文,我也不例外。那么问题就来了,如果每次都敲上一串命令去执行编译,岂不是非常麻烦?有些时候还不止调用一种编译器,甚至需要对文档的不同部分使用不同的编译器。那么就需要一个IDE。这里其实有很多可选的:LyX、TeXworks、TexStudio、WinEdt、Emacs、Sublime Text、Atom、Visual Studio Code。
本文将介绍如何在macOS中,配置Visual Studio Code为核心的Latex IDE。
准备安装包:
MacTex Latex 的编译环境支持
Visual Studio Code IDE的核心编辑器
Skim PDF阅读器,方便预览文档。
Contents
安装步骤:
安装MacTex:
MacTex是在MacOS上比较常用的Latex编译环境包,当然texlive或者MikTex也可以在MacOS中使用。它基本是傻瓜式安装,只是安装文件较大,介意的话是可以使用MacTex_Basic安装包的,但是之后编译的时候可能会遇到一些缺少依赖包的问题。
安装Visual Studio Code:
VSCode是微软主导开发的免费编辑器,这两年它凭借着优秀的语法着色,较高的运行速度以及强大的插件平台获得了不少程序员的青睐。
首先下载VSCode的安装包,安装也是傻瓜型,直接按照引导安装即可。
安装完成后,开始安装LaTeX支持插件。在左侧点击扩展按钮,然后搜索LaTeX Workshop,选择安装并且启用即可。
配置编译方式以及编译组合:
VS Code 默认添加了3个编译工具: latexmk,pdflatex 和 bibtex。默认的工具链只编译一次,而这些工具链并不能完成一些项目中特殊内容的编译,因此我们为它添加其他编译方式。例如最常用的xelatex。那么我们需要修改VS Code的配置。点击界面左下角齿轮图标选择配置。在用户自定义设置的json中添加以下片段:
"latex-workshop.latex.tools": [ { "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": "xelatex", "command": "xelatex", "args": [ "-synctex=1", "-interaction=nonstopmode", "-file-line-error", "-pdf", "%DOC%" ] }, { "name": "bibtex", "command": "bibtex", "args": [ "%DOCFILE%" ] } ],
编译工具链组合设置:
比较常用的工具链组合是xelatex -> bibtex -> xelatex*2因此我们继续在用户自定义设置中添加编译链:
"latex-workshop.latex.recipes": [ { "name": "xelatex -> bibtex -> xelatex*2", "tools": [ "xelatex", "bibtex", "xelatex", "xelatex" ] }, { "name": "latexmk", "tools": [ "latexmk" ] }, { "name": "pdflatex -> bibtex -> pdflatex*2", "tools": [ "pdflatex", "bibtex", "pdflatex", "pdflatex" ] } ],
在指定好以上内容后,就可以正常进行编译了,第一条内容会被当做默认值使用,因此直接按住ctrl+alt+B就会按照默认值开始编译。
安装Skim:
安装Skim本体仍然是傻瓜式安装,安装完后默认情况下并不能提供正向搜索功能。
Skim提供了一个名为displayline的脚本可以用于正向搜索。
使用方法为:
/Applications/Skim.app/Contents/SharedSupport/displayline %line "%pdffile" "%texfile"
此处 %line 表示 .tex 文件的行号,%pdffile 表示编译生成的 PDF 文件的完整路径,%texfile 则是对应的 .tex 源文件。
只要给出如下设置即可进行正向查看:
"latex-workshop.view.pdf.external.synctex": { "command": "/Applications/Skim.app/Contents/SharedSupport/displayline", "args": [ "-r", "%LINE%", "%PDF%", "%TEX%" ] }, }