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%"
]
},
}