用 VSCode 编辑 LaTeX
LaTaX 明显比 Markdown 要难用很多,数学公式的部分 Markdown 也已经可以胜任大部分情况了。但是如果说到需要排版,那么一定会优先想到 LATEX。
插件 LaTeX Workshop
这个插件主要添加了以下功能
- 编译
- 格式化
- 代码提示
格式化功能其实基于 latexindent.pl 或 tex-fmt,我们不使用,配置出来多多少少感觉有点问题。代码提示是安装后自动启用的。以下是编译所使用的配置,
{
...
// latex workshop
"latex-workshop.latex.recipe.default": "first",
"latex-workshop.latex.recipes": [
{
"name": "xelatex -> bibtex -> xelatex * 2",
"tools": ["xelatex", "bibtex", "xelatex", "xelatex"],
},
{
"name": "tectonic",
"tools": ["tectonic"],
},
],
"latex-workshop.latex.tools": [
{
"args": [
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"%DOC%",
],
"command": "xelatex",
"env": {},
"name": "xelatex",
},
{
"args": ["%DOCFILE%"],
"command": "bibtex",
"env": {},
"name": "bibtex",
},
{
"args": ["--synctex", "--keep-logs", "--print", "%DOC%.tex"],
"command": "tectonic",
"env": {},
"name": "tectonic",
},
],
"latex-workshop.linting.lacheck.enabled": true,
...
}预览 PDF
如果编译成功,及会生成对应的 PDF 文件。VSCode 有自带的 PDF 查看器。
代码格式化
我们使用 prettier 这个插件和它的插件 prettier-plugin-latex。 这个插件可以格式化 LaTeX 代码,但是它的格式化规则和我们期望的不一样。所以我们需要在 settings.json 中添加以下配置,
{
...
"[tex]": {
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true,
},
...
}