## mathlink

### 主要特性


| 特性        | 说明                                              |
| --------- | ----------------------------------------------- |
| 📝 自动渲染   | 链接显示为数学公式，原笔记内容不变                               |
| 🔄 实时更新   | 修改 mathLink 后，所有链接几乎即时刷新                        |
| 👁️ 多模式支持 | 阅读模式、实时预览模式、画布（Canvas）                          |
| 🔗 链接类型   | 维基链接 `[[note]]` 和 Markdown 链接 `[note](note.md)` |
| 🔧 兼容性    | 兼容 Extended MathJax 和 Dataview                  |



---

### 使用方法
#### 1. 基础用法：为笔记设置 mathLink

在笔记顶端的 YAML frontmatter 中添加 `mathLink` 字段：

```YAML
---
mathLink: $\mathbb{R}^2 \to \mathbb{R}^3$
---
```

**效果**：所有指向该笔记的 `[[笔记名]]` 都会显示为 **ℝ² → ℝ³**（渲染后的数学公式）

---

#### 2. 带别名的链接（覆盖 mathLink）

`[[笔记名|$\sum_{i=1}^n i = \frac{n(n+1)}{2}$]]`

**效果**：链接显示为 **∑ᵢ₌₁ⁿ i = n(n+1)/2**，覆盖笔记自带的 mathLink

---

#### 3. 块/标题链接

##### 标题链接

`[[笔记名#Theorem 1.2]] `

标题中的 MathJax 会自动渲染（笔记内 + 大纲视图）

##### 块链接

为特定块设置 mathLink：

```YAML
---
mathLink-blocks:
    proof-end: $\square$
---
```


`[[笔记名#^proof-end]] `

**效果**：链接显示为 ** $\square$ **

---

#### 4. 自定义模板（自动生成）

**场景**：你有大量标题为 `... iff ...` 的笔记，希望自动替换 `iff` 为 `⇔`

**设置模板**（在 MathLinks 设置中）：

| 字段                | 值                 |
| ----------------- | ----------------- |
| Match for         | `iff`             |
| Replace with      | `\Leftrightarrow` |
| Global match      | true              |
| Case sensitive    | true              |
| Match whole words | true              |

**使用**：在笔记 frontmatter 中写：

```YAML
---
mathLink: auto
---
```

**效果**：标题 `P iff Q` 自动显示为 **P ⇔ Q**

---

#### 5. 排除文件

在设置中可以选择忽略某些文件或文件夹（这些文件不会应用 mathLink 渲染）

---

#### 6. 源模式

默认关闭，开启后可在源码模式下渲染 Wikilink（注意：仅支持维基链接）

---

### 完整示例

**笔记 A (微积分笔记_example)：**

```YAML
---
mathLink: $\int_a^b f(x)\,dx$
---
```

**笔记 B (引用笔记 A)：**

根据 `[[微积分笔记_example]] ` 的定义...
使用别名：`[[微积分笔记_example|$\oint_C \vec{F}\cdot d\vec{r}$]] `


**渲染效果：**

- `[[微积分笔记_example]]` → $\int_a^b f(x)\,dx$
    
- 带别名 →  $\oint_C \vec{F}\cdot d\vec{r}$ 
    

---

### 小贴士

- mathLink 优先于自动模板，别名优先于 mathLink
    
- 修改后几乎即时生效，无需重启 Obsidian
    
- 模板支持全局匹配、大小写敏感、整词匹配等精细控制

## Latex Suite


打开 LaTeX Suite 的 Snippets 表，我们发现它是这样的：

![](https://forum-zh.obsidian.md/uploads/default/original/2X/5/5796a403d832f03c928f00e0716cd285ee1f734c.png)

每一条 snippet 都是这样的：

`{trigger: "触发文本", replacement: "替换文本", options: "选项"}`

它提供的选项有

- `m` : math 的意思，只在公式块中启用
- `t` : text 的意思，只在公式块外启用
- `A` : Auto 的意思，不需要按 Tab 就会执行替换
- `r` : Regex 正则表达式， `trigger` 的内容会被解析一下，后面再详细说
- `w` : 只有在 trigger 后面或者前面有 `.`, `,`, `-` 这类标点时启用

从这里可以发现，说到底 LaTeX Suite 也就是提供了个文本替换功能。但是这就已经够了。就像我之前说的那样，往往是这种又不起眼又朴素无比的小功能带来了最好的编辑体验。

既然在公式块外面也可用，而且还提供了正则表达式这类功能，这就给了我们操作的空间。我们先从数学开始。

![](https://castel.dev/2be9c99e6ab5787fc5196bbf4ce525a7/sum4.gif)

Castel 老哥的做法非常硬核，不适合普通用户掌握。而且他这套纯 vim 模式也不见得适合使用汉语的用户，LaTeX Suite 也只是采取了他的一部分思路而已。有兴趣的朋友可以移步他的博客：

[Gilles Castel’s setup using UltiSnips 201](https://castel.dev/post/lecture-notes-1/)

接下来我会基于本人的使用体验对 LaTeX Suite 的默认设置进行改动。因为本人是数二考生，所以数学部分主要聚焦于微积分学和线性代数笔记体验的改良。需要做其他科目笔记的朋友可以基于同样的思路自己改造。

 
 **矩阵**


加上左对齐：


```
{
    trigger: /(matrix|cases|align|array)/,
    replacement: "\\begin{[[0]]}{l}\n$0\n\\end{[[0]]}",
    options: "rMA",
    description: "Miscellaneous environments with new lines",
}
```

**常用公式：**

参考：
[如何用LaTeX Suite真正实践数学笔记 - 经验分享 - Obsidian 中文论坛](https://forum-zh.obsidian.md/t/topic/22521)
## TikZJax

## LaTeX-like Theorem & Equation Referencer for Obsidian

### Theorem Callouts 插件说明

本插件为 Obsidian 提供**定理型标注块**（Theorem Callouts），专用于创建 `theorem`、`definition`、`lemma` 等数学环境，风格类似 LaTeX。

---

### 一、基本用法
![image.png](https://nas.chenalna.site/sata11-19012711369/images/20260602115739301.png)

- 默认**自动编号**
    
- 编号样式可在设置中调整
    
- 支持**交叉引用**（类似 `cleveref` 宏包）
    

---

### 二、别名（Aliases）

可用短别名代替完整环境名，效果完全相同。

```
> [!thm] 标题
> 内容

> [!cor]
> 内容
```


更多别名：
[Theorem callouts](https://ryotaushio.github.io/obsidian-latex-theorem-equation-referencer/theorem-callouts/theorem-callouts.html)

> 别名参考自 _Bookdown_，但部分环境为插件扩展。

---

### 三、编号控制

#### 3.1 不编号（加 `*`）

```
> [!lemma|*] 标题
> 内容

```

#### 3.2 手动编号
```

> [!def|A.1] 标题
> 内容

```



---

### 四、快捷键设置
使用 Latex Suit 或 Easytypping 设置快捷键。注意 example 和 exm 的不同
example是 Obsidian自带的,不会代入 Latex自动排序的公式，要改成 exm


```
> [!example] 

> [!exm] 
 
```

---

### 五、图形界面插入

运行命令 **Insert theorem callout** 弹出对话框选择环境类型。

---

### 六、自定义显示名称（通过 Profiles）

详见插件设置中的 **Profiles** 功能，可批量修改各环境的显示文本。

---

### 七、元数据注释（Metadata）

在标注块内使用 `%% ... %%` 添加 YAML 风格的键值对：

```text
> [!theorem]
> %% label: my-theorem %%
> %% display: 勾股定理 %%
> %% main %%
```

`[[微积分笔记_example#^f01edd]] ` 会显示 勾股定理


**支持字段：**

| 字段        | 说明                                |
| --------- | --------------------------------- |
| `label`   | 预留字段，未来可能用于导出到 Pandoc / LaTeX     |
| `display` | 引用该定理时显示自定义文本（而非默认标题）             |
| `main`    | 将该定理标记为笔记的“主定理”，链接到笔记时显示定理标题而非笔记名 |

可写在一行或多行，`main` 等价于 `main: true`。

---

### 八、自定义样式（CSS）

1. **设置路径**：  
    插件设置 → Global → Theorem callouts → Style → **Custom**
    
2. 编写自定义 CSS 片段（可参考插件 GitHub 仓库中的预设示例）
    
3. 强烈建议使用自定义样式，预设样式仅在默认主题下测试，可能与其他主题冲突。
    

---

### 九、注意事项

- ❌ **不要将定理标注块嵌套在其他标注块（callout）内部**，否则渲染可能出错。
    
- ✅ 始终将其作为笔记的**顶层块**使用。


### 十、Callouts和 Equation 的区别

| 功能                   | 作用对象                  | 核心能力            |
| -------------------- | --------------------- | --------------- |
| **Theorem Callouts** | 定理、定义、引理等**文本块**      | 给文字块编号、加标题、交叉引用 |
| **Equations**        | 数学公式、方程组（`$$...$$` 块） | 给公式编号、按编号引用     |

---

#### 详细对比

| 对比维度             | Theorem Callouts      | Equations                     |
| ---------------- | --------------------- | ----------------------------- |
| **语法**           | `> [!theorem]` 开头的标注块 | `$$ ... $$` 数学块               |
| **编号方式**         | 全局自动编号（所有标注块都编号）      | 仅被引用时才编号（即带有反向链接的公式）（可改为全部编号） |
| **标题支持**         | ✅ 可加自定义标题             | ❌ 无标题，只有编号或 `\tag{}`          |
| **手动标签**         | 支持（如 `[!def\|A.1]`）   | 支持（`\tag{*}`）                 |
| **不编号语法**        | `[!lemma\|*]`         | 不加引用即可（或设置中关闭全部编号）            |
| **元数据语法**        | `%% display: ... %%`  | `% display: ... %`            |
| **`display` 效果** | 链接显示自定义文本             | 链接显示自定义文本（替代编号）               |
| **`main` 支持**    | ✅ 支持                  | ❌ 不支持                         |
| **PDF 导出注意**     | 正常                    | 可能需要运行转换命令                    |

插件**只为 `$$...$$` 块级公式**自动编号。

`$...$` 行内公式：

- 不会被编号
    
- 无法被引用
    
- 不在插件功能范围内


## Longform

