| name | fix-table-pipe |
| description | 修复 Markdown 表格渲染问题,包括:(1) Callout 块内表格前缺少空行;(2) LaTeX 绝对值符号 $|f(x)|$ 中管道符被误解析为表格分隔符。当用户提到"表格格式错误"、"表格显示异常"、"表格渲染问题"、"Callout 表格"时使用此 skill。 |
修复表格渲染问题
常见问题类型
问题 1:Callout 内表格前缺少空行 ⚠️ 最常见
症状:表格显示为纯文本,或列错位、内容丢失
原因:Callout 内的表格必须前面有空行才能正确渲染
# ❌ 错误 - 表格不会渲染
> **标题**:
> | 列1 | 列2 |
> |-----|-----|
> | A | B |
# ✅ 正确 - 表格会正确渲染
> **标题**:
>
> | 列1 | 列2 |
> |-----|-----|
> | A | B |
修复方法:在表格前添加 > 空行
问题 2:LaTeX 绝对值管道符冲突
症状:表格列数比预期多,内容被截断
原因:$|x|$ 中的 | 被误认为表格分隔符
# ❌ 错误
| $|f(x)|$ 的值 | 说明 |
# ✅ 正确
| $\vert f(x) \vert$ 的值 | 说明 |
修复方法:将 |...| 转换为 \vert...\vert
工作流程
Step 1:识别问题
- 检查表格是否在 Callout 块内(行首有
>)
- 检查 Callout 内表格前是否有空行
>
- 检查表格内容是否包含
$|...|$ 格式
Step 2:修复 Callout 内表格空行问题
检测规则:
- 找到 Callout 块内的表格(以
> | 开头的行)
- 检查表格前一行是否为空行
>
- 如果不是空行,在表格前插入
>
修复示例:
# 修复前
> **逐项转换**:
> | 原来的 | 变成 | 说明 |
# 修复后
> **逐项转换**:
>
> | 原来的 | 变成 | 说明 |
Step 3:修复管道符冲突
转换规则:
不处理的情况:
- 已使用
\vert:$\vert f(x) \vert$
- 已使用
\left\right:$\left| f(x) \right|$
- 代码块内
Step 4:写回文件
使用 Edit 工具更新文件,保持原有缩进和格式。
完整示例
输入(Callout 内表格缺少空行 + 管道符问题):
> [!example] 例题
> **表格**:
> | $|f(x)|$ 的值 | 说明 |
> |:---:|:---:|
> | 1 | 正常 |
输出:
> [!example] 例题
> **表格**:
>
> | $\vert f(x) \vert$ 的值 | 说明 |
> |:---:|:---:|
> | 1 | 正常 |
注意事项
- 优先修复空行问题:Callout 内表格缺少空行是最常见的问题
- 保持 Callout 格式:空行必须是
> 而不是完全空行
- 批量处理:一次修复文件中所有类似问题