【Helix】支持 LaTeX 编译和正反向搜索
介绍如何在 Helix 中配置 LaTeX 的自动编译以及正反向搜索。
目录
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 查看相应的文档说明。

