前言
为什么要选择VS code作为Latex的编辑器呢?理由有以下三点
- 巨硬公司的界面UI设计一直都很不戳,从MS Visual Studio过来的
- VS code是开源全系统的软件,而且支持编辑几十种文本语言
- VS code的工作区设计的也很棒,放个图体会一下。不同等级的括号用不同颜色标出,再也不用数这是倒数第几个括号了。
正文
博主也是刚刚接触到Latex Workshop没多久,之前在配置环境时查了很多资料,但很少有人会把语句的具体意思讲给刚接触的小白。因此想把自己了解到的一些知识写出来。
VS code、texlive等的安装,本身是比较简单的,而且有很多博客讲得很好,在搜索引擎里很容易搜索到,这里就不多赘述。
在VS code中按下Ctrl+Shift+P快捷键,选择 "首选项:打开设置(json)",就会进入一个空文件中,这就是我们要输入Latex Workshop配置语句的地方。(首选项的设置文件还有几种,其实都可以,博主目前用的是这种)
先放一下目前的总配置文件,之后再一条条解释。
{
"latex-workshop.latex.recipes": [
{
"name": "latexmk",
"tools": [
"latexmk"
]
},
{
"name": "pdflatex",
"tools": [
"pdflatex"
]
},
{
"name": "xelatex",
"tools": [
"xelatex"
]
},
{
"name": "xelatex*2",
"tools": [
"xelatex",
"xelatex"
]
},
{
"name": "pdflatex -> bibtex -> pdflatex*2",
"tools": [
"pdflatex",
"bibtex",
"pdflatex",
"pdflatex"
]
}
],
"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": [
"%DOC%"
]
}],
"latex-workshop.latex.recipe.default": "lastUsed",
"latex-workshop.view.pdf.internal.synctex.keybinding": "double-click",
"latex-workshop.view.pdf.zoom": "auto",
"latex-workshop.view.pdf.viewer": "tab",
"latex-workshop.latex.autoBuild.run": "never",
"latex-workshop.latex.autoClean.run": "onBuilt",
"latex-workshop.latex.clean.fileTypes": [
"*.aux",
"*.bbl",
"*.idx",
"*.ind",
"*.lof",
"*.lot",
"*.out",
"*.toc",
"*.acn",
"*.acr",
"*.alg",
"*.glg",
"*.glo",
"*.gls",
"*.ist",
"*.fls",
"*.log",
"*.fdb_latexmk"
]
}
一、基础配置
1.Recipes 食谱
"latex-workshop.latex.recipes"
Latex有多种编译工具,latexmk、xelatex、pdflatex、bibtex等等。而编译复制文件时,往往需要按照一定顺序使用多种工具,这就是配置“食谱”的目的。这里只给出了几种常用的食谱,在加深对Latex的了解后,你也可以学会配置自己的食谱。
1.1
"name": "xelatex*2",
"tools": [
"xelatex",
"xelatex"
]
这个食谱"xelatex*2"的作用是正确生成目录,食谱的名字,也就是"name":后双引号里的内容,是完全自定义的,只要你可以看懂就行。下面是范例。在不考虑目录的情况下,下面的范例可以用"xelatex"正确生成。但"xelatex"无法正确生成目录。手动点两次"xelatex"也是不行的,别问怎么知道的。
\documentclass{article}
\usepackage{ctex} %中文环境需要引用的包
\usepackage{amsthm,amsmath,amssymb} %for 花体字
\usepackage{mathrsfs} %for 花体字
\begin{document}
{\centering \tableofcontents}
\newpage %为了让正文在目录的下一页,而不会和目录在一页
\section{符号}
\subsection{希腊字母}
\subsection{花体字}
$\mathbb{R}$
$\mathcal{R}$
$\mathscr{R}$
\end{document}
1.2
"name": "pdflatex -> bibtex -> pdflatex*2",
"tools": [
"pdflatex",
"bibtex",
"pdflatex",
"pdflatex"
]
这个食谱的作用是正确生成参考文献,范例就不放了。
2.Tools 工具
"latex-workshop.latex.tools":
这部分的内容就是对工具的定义,基本不存在小白自定义的空间,都是latex语言本身规定好的。
二、个性化配置
基础配置是编译一个.tex所必需的东西,而个性化配置是为了满足个人的使用习惯进行的配置。
1.
"latex-workshop.latex.recipe.default": "lastUsed",
这个语句定义了默认编译的recipe是什么,有两个选项,默认选项为"first",也就是recipe配置文件中最靠前的那个recipe。"lastUsed"则是默认使用上一次编译的recipe。注意这个上一次的记录在每次关闭VScode后是会消失的,也就是说重新打开后至少要编译一次,才会有上一次的记录。
2.
"latex-workshop.view.pdf.internal.synctex.keybinding": "double-click",
这个语句是将pdf反向索引的方式改为了双击鼠标左键。默认的方向索引方式是Ctrl+鼠标左键。双击要比按Ctrl方便多了。
latex的正向索引是光标停留在tex中,跳转到pdf中对应位置,反向索引是选择pdf中内容,跳转到tex中对应语句处。
3.
"latex-workshop.view.pdf.zoom": "auto",
设置pdf的缩放比例为自动
4.
"latex-workshop.view.pdf.viewer": "tab",
设置pdf预览使用VScode内置的软件预览。也可以选择"brower"浏览器预览,或外部软件预览。
5.
"latex-workshop.latex.autoBuild.run": "never",
这个语句设置了Latex Workshop在什么情况下会自动编译。默认值为"onFileChange",也就是文件更改后自动编译,可用选择还有"autoSave",也就是按下Ctrl+S保存后自动编译,或者"never",永远不会自动编译。
一般情况下,选择"autoSave"是比较方便的。
这里本人选择"never"的原因是,有些模板文件自己配置好了recipe,而且还不知道是什么,所以只能用模板作者提供的方式去编译,而一旦Latex Workshop编译了该模板,就会报错,而且直到关闭后重新打开为止,文件都不能再次成功编译。
6.
"latex-workshop.latex.autoClean.run": "onBuilt",
"latex-workshop.latex.clean.fileTypes": [
"*.aux",
"*.bbl",
"*.idx",
"*.ind",
"*.lof",
"*.lot",
"*.out",
"*.toc",
"*.acn",
"*.acr",
"*.alg",
"*.glg",
"*.glo",
"*.gls",
"*.ist",
"*.fls",
"*.log",
"*.fdb_latexmk"
],
这两个是配合使用的。latex编译过程中会生成大量过程文件,这些文件有时不需要再次用到,所以需要清理掉。一个是选择什么时候清理,一个是清理哪些类型的文件。
结语
博主本人也是刚刚入门,掌握的东西还很浅,尽量以小白都能看懂的方式将目前了解到的知识分享给大家。
竹杖芒鞋轻胜马,谁怕?一蓑烟雨任平生。