2. 快速入门
1. 核心功能概览
公式引用插件(Equation Citator) 将 Obsidian 转变为一个强大的学术写作环境,支持 LaTeX 风格的引用,让仓库内的引用变得前所未有的简单。它包含非常丰富的功能,包括:
- 自动编号:自动为公式/图表编号,所有引用自动更新。
- 重命名标签:你可以重命名特定公式/图表的标签,同时保持引用正确。
- 公式、图表和标注引用:使用
\tag{}和\ref{}标记和引用公式。使用|fig:1.1|引用图表,也支持通过标注引用表格/定理。使用引用可在任意位置预览和跳转。 - 连续引用和跨文件引用:以紧凑视图引用多个文档中的多个公式。
- 引用时自动补全:在书写
\ref{}语法时自动补全你要查找的内容。也支持图表/标注的丰富自动补全。 - 图表标题:在图表的元数据中添加
fig:1.1|title:|desc:描述将自动在图下方渲染。 - 公式、图表和标注管理面板:完整的管理面板,支持列表/大纲视图。
- 拖拽引用:从管理面板拖拽公式。
- PDF 导出:生成格式正确的文档以供发表。
- 网页笔记导出(v1.3.5+):将笔记同步到网站构建文件夹。
兼容性 Typst Mate 支持(v1.3.1+):本插件也支持 Obsidian Typst Mate,你可以设置
设置 > 显示(分类)> 其他 > 启用 Typst 模式使其兼容 Typst 语法。 Excalidraw 支持(v1.3.3+):Excalidraw 图表可以像fig:一样被引用,并具有正确的预览。
2. 基础引用语法
我们设计本插件是以简单易用为目标。 引用的语法总结如下表所示。如果你不需要示例,可以先查看 #1.4 交互功能,然后直接跳转到 公式管理面板教程。
引用语法表
功能 语法 示例 公式标签 \tag{label}\tag{2.1}公式引用 $\ref{eq:label}$$\ref{eq:2.1}$图表 表格 > [!table:标签] 标题> [!table:3.1] 结果跨文件 $\ref{eq:脚注^{标签}}$$\ref{eq:1^{2.3}}$多重引用 $\ref{eq:1.1, 2.1}$引用多个公式 连续引用 $\ref{eq:1.1~3}$范围表示法
1.1 创建和引用公式
使用 \tag{标签} 为任意公式添加标签:
要引用此公式,输入 \ref{eq:1.1},渲染为 (1.1)
快速命令(使用 Ctrl + P 搜索并添加快捷键😄!):
在光标位置插入引用:快速插入\ref{}在光标位置插入公式引用:快速插入\ref{eq:}在光标位置插入标签并自动编号:当光标位于公式块中时,添加带自动编号的标签。
自动补全功能:只需插入
\ref{eq:}然后输入,比拖拽引用快得多,因为我们支持所有类型引用的自动补全。对于公式,只需在自动补全面板中选择你要插入的内容。
简洁/丰富自动补全模式:对于图表和标注,默认只显示标签和标题。你可以通过鼠标悬停在选项上来预览内容。或者你也可以使用
设置 > 引用 > 自动补全中显示完整图片和标注预览在自动补全选项中显示完整的图片/标注。
一次引用中只能引用一种类型,要么是公式、要么是图表、要么是标注,例如
$\ref{eq:1.1, 1.2}$或$\ref{fig:1.1, 1.2}$,它会将ref{后面的前缀作为标记引用类型的依据。因此混合引用\ref{eq:1.1, fig:1.2, table:1.3}是不允许的。
1.2 多重/连续引用
你可以用逗号引用多个公式,如 $\ref{eq:1.1, 1.2, 1.3}$,渲染为 (1.1~3)
连续引用:此功能默认开启。连续引用 会合并引用并将其渲染为 (1.1~3)。我们也可以使用 \ref{eq:1.1~3} (1.1~3) 作为多个公式的连续引用语法。
1.3 跨文件引用
跨文件引用依赖 Obsidian 内置的脚注系统:因此你可以使用以下语法创建脚注:
[^1]: [[文档_A|论文-A]]
[^2]: [[文档_B|报告-B]]
跨文件引用语法:$\ref{eq:脚注^{标签}}$。例如 (2.3.1)[1]。跨文件引用也完全支持来自文章 A[1:1] 的图表 Fig. F1[1:2] 和标注 Table. basic-grammar[1:3]。
1.4 交互功能
交互功能对于快速检查和管理你的公式非常有用,如下表所示:
| 功能 | 编辑器弹窗 | 公式面板 | 公式 | 图表 | 标注 |
|---|---|---|---|---|---|
预览(按住 Ctrl + 悬停) |
✅ | 已有 | ✅ | ✅ | ✅ |
跳转到源(双击) |
✅ | ✅ | ✅ | ✅ | ✅ |
分栏打开并跳转(Ctrl + 双击) |
✅ | ✅ | ✅ | ✅ | ✅ |
重命名标签(右键单击标签并选择重命名标签) |
❌ | ❌ | ✅ | ✅ | ❌ |
| 右键复制 | ✅ | ✅ | ✅ | ❌ | ❌ |
- 对于预览,你可以通过
设置 > 分类 > 样式 > 预览组件尺寸设置面板大小。 - 对于分栏打开并跳转,在预览组件中,如果已经打开了多个编辑器,它将重用现有的相邻编辑器而不是打开新编辑器。但在公式面板中,它总是会打开一个新编辑器,以防止重用现有编辑器。
- 对于重命名标签,选中
\tag{}来重命名公式标签,选中整个图片![[image.png|fig:1.1]]来重命名图表标签。 - 对于右键复制,你可以在
设置 > 显示(分类)> 公式面板 > 公式组件右键复制内容中自定义复制的内容,选择是否复制带标签/括号的公式内容。
2. 图表和标注引用
1) 图表引用
1. 语法
我们使用增强的图片语法来使图表可引用:
%% 我们同时支持 wiki 链接和 markdown 链接格式:
%%wiki 链接格式%%
![[James_Lovell.jpg|fig:3.1|desc:描述]]
%%markdown 链接格式%%

我们在标题和描述中提供完整的 Markdown 语法支持,因此你可以在其中书写行内公式。使用 $\ref{fig:1.1}$ Fig. 1.1 来引用以下图表。
![[img/A minecraft image.png|fig:1.1|title: 一张 Minecraft 图片|desc:这是 $\text{Minecraft}$ 图片的描述|214]]
请注意,插件仅在添加了 fig:xx 时才会渲染标题和描述。如果这与其他插件冲突,你可以在 设置 > 分类 > 样式 > 渲染图片标题和描述 中切换。
预览组件中的标题/描述可以在 设置 > 分类 > 样式 > 预览组件中渲染图表信息 中切换。
2. 支持 Excalidraw 和章节预览
v1.3.3 之后,我们也可以使用相同的语法引用 excalidraw 图片 Fig. 1.2。

要正确渲染 excalidraw,需要在 设置 > 显示(分类)> 其他 > 使用 Markdown 渲染器的扩展名 中包含 excalidraw 和 excalidraw.md,其中 excalidraw.md 必须被添加。
章节引用:由于外部文件链接视图 ![[#1.4 交互功能|fig:1.6]] 的语法与图片相同,当 md 在 使用 Markdown 渲染器的扩展名 设置中时,我们甚至可以引用章节预览 Fig. 1.3。
Click here to jump to #1.4 交互功能
3. 局限性
本插件不支持为网页链接的 Markdown 格式图片创建标题。但你仍然可以用 Fig. 1.4 引用它。
为什么不支持:我们在
.internal-embed image-embed类中添加标题,而网页链接图片渲染为<img>标签,没有这个包装类。在这些图片外部创建元素会在编辑时引发一些问题。你可以简单地将其设为本地图片文件来解决。
2) 标注引用
1. 语法
本插件支持引用自定义类型的标注,这为我们引用表格、定理和任何自定义内容提供了灵活性。
你可以在 标注引用前缀 设置中配置自定义前缀。默认只启用了 table:。
我们给出一个引用表格的示例:
2024 年 Q4 销售数据
产品 收入 增长 部件 A $100K +15% 部件 B $150K +22%
使用以下语法引用表格:$\ref{table:2.1}$,渲染为 Table. 2.1
标注内的引用必须严格匹配大小写。例如:
- 标注标签:
> [!NOTE:1] - 引用使用:
$\ref:{NOTE:1}$(区分大小写)
所有图表和标注引用支持 #1.1 创建和引用公式 中的语法和交互功能。
2. 自定义标注颜色
我们还支持通过将 callout.css 添加到 设置 > 外观 > CSS 代码片段 来自定义标注颜色,这样你就可以写出像这样漂亮的标注(添加此代码片段后生效):
2024 年 Q4 销售数据
这是一个红色的标注表格
产品 收入 增长 部件 A 100K +15% 部件 B 150K +22% 部件 C 200K +33%
3. 局限性
-
目前插件不支持标注的自动编号和重命名。请查看 zh-CN/5. 进阶技巧 了解如何更好地使用标注引用。
-
遗憾的是,我们目前还不支持为标注自定义图标。因为它使用图标作为
data-callout,而我们也使用第一个字段作为引用标签。
3. 使用自动编号系统
你可以基于标题级别自动为当前文件中的所有公式/图表编号:
- 使用命令
自动编号当前文件公式/自动编号当前文件图表 - 使用工具栏按钮
1) 自动编号方式和深度
你可以在 设置 > 分类 > 自动编号 中自定义 自动编号方式 和 自动编号深度。
自动编号方式:
- 相对:基于相对标题层级编号(2.1.1、2.1.2 等)
- 绝对:使用绝对标题级别进行自动编号(# 对应 1.1、1.2 等)
编号深度(1-6):控制自动编号的最大级别 (1.1)、(1.1.1)
自动编号全局前缀:如果你正在撰写一本书的特定章节,可以使用此设置。你可以将其设置为 5.,这样在第 1 节中,公式将显示为 \tag{5.1.4}。
2) 自动编号期间的引用更新
当自动编号运行时,所有引用都会自动更新以匹配新的编号。这使你可以在任意位置插入或删除公式,无需担心重新编号或引用断裂。
在自动编号过程中解决冲突有 2 个设置:
- 自动删除冲突的标签引用(默认:开启):当一个标签被重命名为另一个标签,而该标签的旧引用仍然存在(在自动编号后未被修改),它们将被自动删除以避免错误引用。
- 自动删除未使用的标签引用(默认:关闭):如果引用未被使用,它将被自动删除。(仅当你完全依赖自动编号进行标签管理时才使用此设置)。
3) 排除特定标签的公式
标注中的公式默认不会包含在自动编号系统中。因此,要防止公式被自动编号,你应该将其放入标注中(参见 #166)。
此公式将被排除在自动编号系统之外: $$\iiint \nabla \cdot A dx = \iint A \cdot \vec{n} dS$$
你仍然可以通过 设置 > 分类 > 自动编号 > 标注内公式自动编号 来包含标注中的公式。
4) 仅对重要公式编号
如果文件中包含许多推导步骤,但你只想为你打算引用的少数关键公式分配编号:
- 启用选项:
设置 > 分类 > 仅自动编号带标签的公式
- 为你关心的公式手动添加标签:
- 在末尾:使用你的快捷键(例如"在光标位置插入标签并自动编号")。
- 在表达式中间:先插入
\tag{A}或其他临时标签,然后运行自动编号。
对于我的工作流程,我建议对重要公式使用 \boxed。