Helix 配置

在 Helix 的配置文件夹下创建 languages.toml 文件,写入如下代码:

 1[language-server.texlab.config.texlab.build]
 2# https://github.com/helix-editor/helix/wiki/Language-Server-Configurations#latex
 3# https://github.com/latex-lsp/texlab/wiki/Configuration
 4onSave = true
 5forwardSearchAfter = true
 6executable = "latexmk"
 7args = [
 8    # "-cd", # Maybe block the powershell after compile a .tex file
 9    "-xelatex",
10    "-halt-on-error",
11    "-interaction=nonstopmode",
12    "-synctex=1",
13    "%f"
14]
15
16[language-server.texlab.config.texlab.forwardSearch]
17# https://github.com/latex-lsp/texlab/wiki/Previewing#sumatrapdf
18executable = "SumatraPDF"
19args = [
20    "-reuse-instance",
21    "-forward-search",
22    "%f",
23    "%l",
24    "%p"
25]
26
27[language-server.texlab.config.texlab.chktex]
28onOpenAndSave = true
29onEdit = true
30
31[[language]]
32name = "latex"
33language-servers = ["texlab"]

SumatraPDF

这里使用的 PDF 预览器是 SumatraPDF,其他 PDF 预览器也是类似的,在 设置->选项->设置反向搜索命令行 中填入 texlab inverse-search --input "%f" --line %l"

使用

打开一个 .tex 文件,然后每次修改后保存就会自动进行编译,自动打开相应的 SumatraPDF 程序就可以预览 PDF 效果了。正向搜索会自动高亮刚更改的 .tex 文件的那行,反向搜索则是双击 SumatraPDF 中 PDF 相应想要查看的行,会将 Helix 中的光标自动跳转到点击的行在相应文件中的位置,具体可以参考 Previewing · latex-lsp/texlab Wiki

关于 LaTeXMK 更多的可选参数可以通过在命令行中输入 texdoc latexmk 查看相应的文档说明。