首页/文章/ 详情

Vscode+Latex+SumatraPDF环境配置

3天前浏览3

本次推文主要记录自己在 Vscode 中配置 Latex 环境的过程,希望可以对正在频繁使用 Latex 的小伙伴有所帮助。

我接触 Latex 是在读研期间,刚开始主要用 Overleaf,不用下载任何软件,也不用配置任何环境,直接就能拿来用,但是编译速度真的很拉,可能是国内网络环境导致的,后来又接触了 Texstudio,本地化运行,编译更加稳定,速度也有所提升。

在如今 AI 遍地飞的时代,写代码总喜欢 AI 辅助,写的时候有一些联想,按下 Tad 键直接可以自动补全,利用各种插件的加持,使得过程更加丝滑、界面更美观,显然 Texstudio 已经不能满足我的需求。

这时在网上看到一些主流的 IDE 都是可以关联 Latex 的,那我就在最常用的 Vscode 中关联一下吧,将环境配置过程做了总结,要是你也想在 Vscode 中配置 Latex,不妨照着试一试~


主要支持:

  1. Latex 语法自动补全
  2. 与 Sumatra PDF 梦幻联动
    1. Vscode 中编译,Sumatra 预览
    2. 正向搜索,点击 Vscode 任意代码位置即可跳转Sumatra 相应位置
    3. 反向搜索,双击 PDF 任意位置即可跳转 Vscode 相应 Latex 代码位置
  3. 保存文件时自动编译
  4. 自动格式化 tex 代码
  5. 加速编译小技巧

软件安装部分就省略了,主要就是TeX Live 和 VSCode 的安装,这里假设你都已经安装好了,本文主要记录环境配置过程。

1 环境配置

Vscode 中安装Latex Workshop 插件,打开设置中的配置文件

image.png

将下列代码[1]添加其中:


 
//------------------------------LaTeX 配置----------------------------------
//右键菜单
"latex-workshop.showContextMenu":true,
//从使用的包中自动补全命令和环境
"latex-workshop.intellisense.package.enabled":true,
//编译出错时设置是否弹出气泡设置
"latex-workshop.message.error.show":false,
"latex-workshop.message.warning.show":false,
// 编译工具和命令
"latex-workshop.latex.tools":[
{
"name":"xelatex",
"command":"xelatex",
"args":[
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"%DOCFILE%"
]
},
{
"name":"pdflatex",
"command":"pdflatex",
"args":[
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"%DOCFILE%"
]
},
{
"name":"latexmk",
"command":"latexmk",
"args":[
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"-pdf",
"-outdir=%OUTDIR%",
"%DOC%"
],
"env":{}
},
{
"name":"lualatex",
"command":"lualatex",
"args":[
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"-shell-escape",//这个命令行在网上的Latex Workshop设置里一般没有,所以直接recipe会报错
"%DOCFILE%"
]
},
{
"name":"bibtex",
"command":"bibtex",
"args":[
"%DOCFILE%"
]
},
{
"name":"biber",
"command":"biber",
"args":[
"%DOCFILE%"
]
}
],
// 用于配置编译链
"latex-workshop.latex.recipes":[
{
"name":"XeLaTeX",
"tools":[
"xelatex"
]
},
{
"name":"PDFLaTeX",
"tools":[
"pdflatex"
]
},
{
"name":"xelatex -> bibtex -> xelatex*2",
"tools":[
"xelatex",
"bibtex",
"xelatex",
"xelatex"
]
},
{
"name":"xelatex -> biber -> xelatex*2",
"tools":[
"xelatex",
"biber",
"xelatex",
"xelatex"
]
},
{
"name":"pdflatex -> bibtex -> pdflatex*2",
"tools":[
"pdflatex",
"bibtex",
"pdflatex",
"pdflatex"
]
}
],

//文件清理。此属性必须是字符串数组
"latex-workshop.latex.clean.fileTypes":
[
"*.aux",//包含有关文档交叉引用、标签和参考文献等信息
"*.bbl",//用于管理文献引用和参考文献列表
"*.blg",
"*.idx",
"*.ind",
"*.lof",//插图目录
"*.lot",
"*.out",
"*.toc",//目录
"*.acn",
"*.acr",
"*.alg",
"*.glg",
"*.glo",
"*.gls",
"*.ist",
"*.fls",
"*.log",
"*.fdb_latexmk",
],
//设置为onFaild 在构建失败后清除辅助文件
"latex-workshop.latex.autoClean.run":"onFailed",
// 使用上次的recipe编译组合
"latex-workshop.latex.recipe.default":"lastUsed",

"latex-workshop.synctex.indicator":"circle",//正向搜索显示
"latex-workshop.view.pdf.internal.synctex.keybinding":"double-click",//双击反向搜索
"editor.wordWrap":"on",
"editor.renderControlCharacters":false,
"security.workspace.trust.untrustedFiles":"newWindow",// 
"files.autoSave":"afterDelay",// 自动保存
 

重启 Vscode 后,点击右上角绿色小箭头即可编译

image.png

编译后可以直接在 Vscode 中进行预览,但是在较大文件时内部预览比较卡顿,这时可以利用 Sumatra PDF 进行实时预览,Sumatra PDF 是一款轻量级的 PDF 阅读软件(免费),启动速度极快,PDF 渲染速度也是极快。

可以左侧写 Latex 代码,右侧用 Sumatra PDF 预览,效果如下:

image.png


2 Sumatra PDF 环境配置

将下列代码[2]加入配置文件中,注意每个人的安装路径不同,替换为自己的安装路径!


 
"latex-workshop.view.pdf.viewer":"external",
"latex-workshop.view.pdf.ref.viewer":"external",
"latex-workshop.view.pdf.external.viewer.command":"C:/APP/SumatraPDF/SumatraPDF.exe",
"latex-workshop.view.pdf.external.viewer.args":[
"%PDF%"
],
"latex-workshop.view.pdf.external.synctex.command":"C:/APP/SumatraPDF/SumatraPDF.exe",//定位
"latex-workshop.view.pdf.external.synctex.args":[
"-forward-search",
"%TEX%",
"%LINE%",
"%PDF%"],
 

然后在SumatraPDF 的设置中的高级选项里面插入以下代码,这里以个人 Vscode 安装位置为准


 
InverseSearchCmdLine = "D:\APP\Microsoft VS Code\Code.exe""D:\APP\Microsoft VS Code\resources\app\out\cli.js" --ms-enable-electron-run-as-node -r -g "%f":"%l"
EnableTeXEnhancements = true
 

经过以上配置,就可以在 Vscode 中丝滑的写代码了。

3 进阶设置

3.1 保存后自动编译

如果我们不想每次编译都要点击右上角的小绿箭头,也可以在配置文件中加入:


 
"latex-workshop.latex.autoBuild.run":"onSave",
 

现在就可以在 Vscode 中保存代码后自动编译了,效果如下:

VscodeLatex演示.gif


3.2 格式化 Latex 代码

配置文件中加入:


 
"latex-workshop.formatting.latex":"latexindent",
"latex-workshop.formatting.latexindent.path":"D:\\APP\\texlive\\2024\\bin\\windows\\latexindent.exe",//替换自己的路径
"editor.formatOnSave":true
 

一般情况下在安装 TexLive 后会,已经包含了 latexindent.exe,只需要用 Everything 全盘搜索一下路径即可。

3.3 加速编译小技巧

当编译较大文档时,编译的时间将会变得很慢,这时,可以主文件开头加入:


 
\special{dvipdfmx:config z 0}
 

加入这个命令后,将极大提升编译速度,同时会产生较大的内存,即不压缩PDF,可在最后编译时注释该命令。

  1. https://zhuanlan.zhihu.com/p/624932249
  2. https://blog.csdn.net/Chris_dua/article/details/124365821

来源:易木木响叮当
ACTUM渲染
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-07-17
最近编辑:3天前
易木木响叮当
硕士 有限元爱好者
获赞 263粉丝 372文章 391课程 2
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈