artisticat1/obsidian-latex-suite · 上手攻略
- 仓库:artisticat1/obsidian-latex-suite
- 链接:https://github.com/artisticat1/obsidian-latex-suite
- 分类:academic-writing · obsidian-plugin
- 作者:Tom
- 更新:2026-08-14
这是什么
Obsidian 的 LaTeX 增强插件,通过代码片段(snippets)文本展开、矩阵快捷键、自动分数、语法隐藏渲染等功能,让在 Obsidian 里写数学公式的速度接近手写。灵感来自 Gilles Castel 在 Vim 中用 UltiSnips 加速记数学笔记的工作流。
GitHub ⭐ 2.5k,v1.11.5,Obsidian 1.4.10+ 支持,MIT 许可证。
解决什么问题
学术写作者在 Obsidian 里记数学笔记时,每次写 \frac{a}{b}、\sqrt{x}、\int_{0}^{2\pi} 都要手动敲一长串反斜杠,打断思路。该插件用短触发词替代这些长命令(a/b → \frac{a}{b},按 Tab 确认),把公式写作从"输入法挑战"变回"思考同步"。
快速安装
方式一:Obsidian 社区插件(推荐)
- Obsidian 设置 → 社区插件 → 搜索「LaTeX Suite」→ 安装
- 开启插件
方式二:BRAT(Beta / 开发版)
- 安装 BRAT 插件
- 添加仓库:
artisticat1/obsidian-latex-suite
方式三:手动
# 克隆仓库
git clone https://github.com/artisticat1/obsidian-latex-suite.git
# 将 src/main.ts 等文件复制到 vault 的 .obsidian/plugins/obsidian-latex-suite/ 目录
# 或使用 release 的 bundled 版本
安装后输入 dm 触发显示数学模式($$ ... $$),即可开始使用。
核心用法
Snippets(代码片段)
插件内置大量默认 snippets,核心示例:
| 触发词 | 展开结果 |
|---|---|
a/b + Tab |
\frac{a}{b} |
sqx |
\sqrt{x} |
xsr |
x^{2} |
x/y |
\frac{x}{y} |
sin @t |
\sin \theta |
par + Tab + f + Tab + x + Tab |
\frac{\partial f}{\partial x} |
dint + Tab + 2pi + Tab + sin @t + Tab + @t + Tab |
\int_{0}^{2\pi} \sin \theta \, d\theta |
@l |
\lambda |
@a |
\alpha |
记忆技巧:
@开头触发希腊字母;/触发分数;sr= square;cb= cube。
快捷键
- Tab:在 snippet 中跳转占位符;在矩阵中插入
&;退出当前\left...\right块 - Enter:在矩阵中插入
\\并换行 - Shift+Enter:移动到矩阵下一行末尾(用于退出矩阵)
Visual Snippets(选中后触发)
选中公式后按对应字母:
| 按键 | 效果 |
|---|---|
U |
\underbrace{...} |
O |
\overbrace{...} |
C |
\cancel{...} |
K |
\cancelto{...} |
B |
\underset{...}{...} |
自动括号放大
当 snippet 包含 \sum、\int 或 \frac 时,周围的括号自动加上 \left 和 \right。
Conceal(语法隐藏渲染)
在设置中开启后,LaTeX 源码以渲染后的符号显示:
\dot{x}^{2} + \dot{y}^{2} → ẋ² + ẏ²
\sqrt{ 1-\beta^{2} } → √{ 1-β² }
鼠标悬停可查看原始语法。需配置等宽字体支持(推荐 JuliaMono)。
自定义 Snippets
在插件设置中编写 snippet JSON:
// 基础文本 snippet
{ trigger: "@l", replacement: "\\lambda", options: "mA" }
// 含占位符的 snippet
{ trigger: "par", replacement: "\\frac{${1:\\partial ${2:x}}}{\\partial $2}", options: "mA" }
// 正则 snippet
{ trigger: "(\\d+)ff", replacement: "$1\\frac{}{}", options: "mr" }
// 函数 snippet(可执行任意 JS)
{ trigger: "env", replacement: (match, ctx) => {
return `\\begin{${ctx.mathMode ? 'equation' : 'quote'}}\\n\\end{${ctx.mathMode ? 'equation' : 'quote'}}`;
}, options: "m" }
Options 速查:
- t = 仅文本模式;m = 仅数学模式;M = 仅块数学;n = 仅行内数学
- A = 自动展开(无需按 Tab)
- r = 正则表达式触发
- v = 可视化(需先选中文字)
- w = 词边界匹配
典型适用场景
- 数学/物理/工程笔记:上课/读论文时实时记录公式,速度接近手写
- 学术长文写作:配合 Obsidian 的双链功能,在笔记间跳转而不打断公式写作节奏
- LaTeX 初学者:通过可视化 snippets 学习标准 LaTeX 语法(展开即见标准写法)
坑与注意
⚠️ Conceal 字体:部分等宽字体不支持特殊数学符号,渲染出来是 tofu(方框)。推荐安装 JuliaMono,并在 Obsidian CSS snippet 中加载(官方 README 提供了加载代码)。
⚠️ Snippet 安全风险:snippet 文件以 JavaScript 解释执行,可以执行任意代码。不要轻易安装他人分享的 snippet 文件,尤其是来自不信任来源的。
⚠️ IME 键盘:在某些输入法(如中文拼音、德语变音键盘)下,A(自动展开)选项可能无法正常工作。
⚠️ Tab 跳转逻辑:Tab 键在 snippet 内跳转、在矩阵中插入 &、退出 \left...\right 块这三个功能共享同一按键,行为取决于光标上下文,初次使用需要适应一下。
⚠️ 行内数学预览:预览弹窗仅在光标位于行内数学($...$)内时显示,块数学($$...$$)由 Obsidian 渲染引擎处理,不走这个预览路径。
⚠️ 版本更新:Obsidian 1.4.10+ 最低要求,老版本 Obsidian 无法使用。
与同类对比
| 插件 | Snippet 引擎 | Conceal | 矩阵快捷键 | 公式预览 |
|---|---|---|---|---|
| LaTeX Suite(本文) | 自有 + 正则 | ✅ | ✅ Tab/Enter 专用 | ✅ 行内弹窗 |
| Quick LaTeX for Obsidian | 基础展开 | ❌ | ❌ | ❌ |
| LaTeX Utilities (VS Code) | 片段引擎 | 部分 | ❌ | ❌ |
| VimTeX (Neovim) | UltiSnips/LuaSnip | ✅ | ✅ | ✅ |
LaTeX Suite 是 Obsidian 生态中 snippet 方案最成熟、覆盖最完整的插件;VimTeX 在 Neovim 侧功能更全但学习曲线陡。
一句话推荐结论
在 Obsidian 里写数学公式必装,写得快、学得快、可深度定制——数学/physics/cs 研究者的标配 Obsidian 插件。
⚠️ 版本说明:本文基于 2026-08-14 日 GitHub 主分支 v1.11.5。Obsidian 最低要求 1.4.10+。JuliaMono 字体需另行安装。snippet JSON 语法以官方 DOCS.md 为准。