面向作者的完整功能参考。编辑器为 Tiptap 富文本(WYSIWYG),保存时双写:content_html(展示权威源,保留下划线/颜色/高亮/对齐等样式)与 content_md(Markdown 源,降级展示/导出用,有损——见第 11 节)。

用法:本文档本身就是一份「可直接粘贴的演示」。新建文章 → 全选复制本文档原文(含 $$$、代码块、表格等)→ 粘贴保存 → 在前台逐项比对渲染效果。文档中的所有公式均为真实可渲染的 LaTeX,不是「源码↔预期」两列对照。


1. 文本样式

效果Markdown 语法快捷键备注
加粗**文本**Cmd/Ctrl+B
斜体*文本*Cmd/Ctrl+I
下划线无 Markdown 表达Cmd/Ctrl+U仅存 content_html
删除线~~文本~~Cmd/Ctrl+Shift+S
行内代码代码Cmd/Ctrl+E
高亮==文本==工具栏高亮按钮(多色)颜色仅存 content_html
文字颜色无 Markdown 表达顶部工具栏色板仅存 content_html
链接[文字](https://…)工具栏/气泡菜单裸 URL 自动识别为链接(autolink)
对齐无 Markdown 表达工具栏(左/中/右/两端)作用于标题与段落

入口提示:颜色选择在顶部工具栏色板;气泡菜单(选中文本时浮出)只有「粗体 / 斜体 / 行内代码 / 链接」四项。

2. 标题与目录

支持 H1–H4 四级标题,语法为 # / ## / ### / #### 加空格。

  • 文章页自动渲染目录(TOC),提取 H2 / H3 / H4(H1 不进目录),锚点可点击跳转,滚动时高亮当前章节。
  • 正文内 #+空格快捷生成标题;H1–H3 也可走 Slash 菜单。

3. 列表

无序(-/*/+ 加空格)、有序(1. 加空格)、任务(- [ ] / - [x] 加空格)。

  • 任务列表在文章页渲染为可读勾选框(只读)。
  • 列表内 Tab/Shift+Tab 缩进/反缩进。

4. 引用与分割线

引用块用 > 行首触发;分割线用 --- 触发。

5. 代码块

const a = 1;
  • 行首输入 ````` 加语言名(如 javascriptgo)再回车,或 Slash 菜单「代码块」插入。
  • 编辑器右上角下拉切换语言;前台按语言高亮,并显示语言标签与复制按钮。

6. 图片

  • 工具栏「图片」下拉 / Slash 菜单「图片」→ 本地上传或素材库。
  • 上传走分片通道(purpose=post),支持秒传与断点续传。
  • 文章页自动走 w=1200 缩略(GIF 保动画),点击看原图。
  • Markdown 语法 ![alt](url) 同样有效。

7. 表格

列 A列 B
12

Slash 菜单或工具栏「表格」插入 3×3 空表(带表头)。光标进入表格后顶部出现表格工具栏:增删行列、合并/拆分单元格、删除整表。


8. 数学公式

渲染核心为 KaTeX + mhchem 扩展 + 项目物理宏表。本节每一条都是可直接渲染的真实 LaTeX——把本节整段贴入编辑器,应该看到对应的符号/公式排版,而不是命令名文本。

8.1 两种形态与输入规则

形态渲染示例输入方式
行内公式质能方程 著名Slash「行内公式」,或粘贴 $E=mc^2$
公式块见下方示例Slash「公式块」,或粘贴 $$...$$

键入提示:手动键入时,编辑器的即时转换规则是 `

(行内)与 $

…$在键入时不会即时转换,但**粘贴或 Markdown 导入时**会被@tiptap/markdown` 正常识别为行内公式。手动插入最稳的方式是走 Slash 菜单。

$100$5 美元 这类货币写法不会误触公式。点击公式进入编辑态(源码 + 实时预览),Esc/Enter 退出。

8.2 基础结构(真实渲染)

  • 上下标同挂:
  • 分数与展示型分数:
  • 根号与 n 次根:
  • 分数作指数(嵌套):
  • 二项式系数:

8.3 希腊字母与常用符号

小写(含变体):

大写:

关系与集合:

形状不同——粘贴本行可见两种字形对照。

8.4 大型运算符(上下限)

行内公式里大运算符的上下限会压缩到侧边:;块级则在正上下方。

8.5 函数名与对数三角

函数名为直立体(不斜),\operatorname{} 可定义任意直立函数名。

8.6 括号与定界符

  • 圆 / 方 / 花 / 角 / 双竖括号(花括号须转义):
  • 括号随内容自动放大:
  • 左大括号右空(\right. 不可见闭合):
  • 物理宏自动缩放圆括号:

8.7 标注、帽子与向量

\vu 为物理宏单位向量(自动带帽子)。

8.8 矩阵与分段函数(全族环境)

裸矩阵 / 圆括号 / 方括号:

花括号 / 单竖线 / 双竖线:

分段函数与方程组:

行分隔 \\、列分隔 &。矩阵行尾的 \\ 是合法语法不是污染——清洗反斜杠双写时务必保留。

8.9 对齐与多行

aligned& 对齐(通常放等号前);gathered 各行居中。

8.10 字体与文本

\text{} 内可排中文与混合文字:

8.11 空格

语法渲染含义
a\,b窄空格(thin)
a\;b中空格(medium)
a\ b标准空格
a\quad b宽空格
a\qquad b更宽

8.12 化学(mhchem 全语法)

分子式与离子

  • 水、葡萄糖、硫酸:
  • 离子电荷:
  • 同位素:
  • 配位化合物:

反应方程式

\ce{CaCO3 ->[\Delta] CaO + CO2 ^}

-> 反应箭头、<=> 可逆箭头、^ 气体符号、v 沉淀符号、[\Delta] 反应条件、(g)/(l)/(aq) 物态标注——分子式中字母均直立体,不斜。

物理单位

\pu{} 输出直立体单位、自动处理科学计数与下标。

8.13 物理宏表(项目内置,全清单)

\RR \ZZ \NN \QQ \CC   \dd{} \dv{}{} \pdv{}{}
\bra{} \ket{} \braket{}{} \expval{}
\abs{} \norm{} \vu{}   \grad \divg \curl \qty()
源码渲染含义
\RR \ZZ \NN \QQ \CC实数 / 整数 / 自然数 / 有理数 / 复数集
\dd{x}直立体微分 d
\dv{f}{x}莱布尼茨导数(双参数)
\pdv{f}{x}偏导(双参数)
\bra{\phi} \ket{\psi} \braket{\phi}{\psi} 狄拉克左矢 / 右矢 / 内积
\expval{H}期望值(角括号)
\abs{x} \norm{v} 绝对值 / 范数(自动缩放)
\vu{i}单位向量(带帽子)
\grad \divg \curl 梯度 / 散度 / 旋度
\qty(\frac{a}{b})自动缩放圆括号

刻意差异\div 仍是除号 (不覆写),散度必须用 \divg\dv / \pdv双参数形态(不支持 physics 包的单参数算子形态)。

8.14 综合实例(物理)

牛顿第二定律与万有引力

麦克斯韦方程组(微分形式)

麦克斯韦方程组(积分形式)

薛定谔方程(含时)

定态薛定谔与本征值方程

爱因斯坦场方程

狄拉克方程(协变形式)

洛伦兹变换与能动量关系

拉格朗日量与欧拉-拉格朗日方程

哈密顿量

热力学四大方程(简单形式)

理想气体状态方程

8.15 综合实例(数学分析)

泰勒级数

傅里叶级数

高斯积分

欧拉公式与欧拉恒等式

黎曼 Zeta 函数

柯西不等式

留数定理(柯西积分公式)

二项式定理

斯特林公式

8.16 综合实例(线性代数)

行列式(3 阶)与莱布尼茨公式

特征值方程

协方差矩阵

矩阵乘法

正交投影

奇异值分解

8.17 综合实例(概率统计)

贝叶斯定理

全概率公式与期望

二项分布

正态分布

中心极限定理

协方差与相关系数

熵与交叉熵

8.18 综合实例(量子力学)

对易子与不确定关系

自旋算符(泡利矩阵)

期望值(狄拉克记号)

归一化与正交性

一维势阱能级

谐振子能级

8.19 综合实例(化学综合)

氧化还原配平(高锰酸钾氧化 Fe²⁺)

酯化反应(可逆)

电池反应(铅酸蓄电池)

缓冲溶液(亨德森-哈塞尔巴尔赫方程)

配位化合物命名前驱

热化学方程式

8.20 错误容错

故意写错的公式 $\frac{1$(缺右括号)→ 不白屏、不打断页面:公式位置渲染红色错误标记,其余内容正常。编辑器内同样容错,方便边写边改:

$$ \frac{1 + 2}{3 $$

8.21 注意事项(踩坑高发)

  1. 反斜杠不要双写\\ 是 LaTeX 换行命令(矩阵/aligned 换行靠它)。从 LLM 输出、JSON 接口、部分平台导出拷贝的公式常带 \\pi 双写,渲染出来是命令名文本(“pi、varphi、frac”)——改回 \ 即可。本项目与 GitHub/Typora/Obsidian 行为一致,不自动折叠。
  2. 矩阵/aligned 行尾的 \\合法语法不是污染,清洗双写时务必保留。
  3. 花括号是结构符,字面花括号写 \{ \}
  4. KaTeX 不支持的 LaTeX 宏包(如 physicssiunitx 本体、TikZ)不可用;常用物理命令已由 8.13 宏表覆盖。

9. Markdown 快捷输入(输入规则)

输入即转换,无需菜单:

输入得到
#+空格 / ## / ###标题
>+空格引用块
-+空格 / *+空格 / 1.+空格列表
- [ ]+空格任务列表
`````+语言+回车代码块
---分割线
**文本** *文本* ~~文本~~ ==文本== 代码行内样式
$$公式$$(段内)/ $$$公式$$$(行首三美元)公式节点

$公式$ 在键入时不会即时转换,但粘贴/MD 导入时有效;手动插入走 Slash 菜单最稳。

10. Slash 菜单

任意位置输入 / 唤起,支持关键词/中文模糊搜索。共 14 项,按组:

  • 基础:正文、一/二/三级标题
  • 列表:无序、有序、任务列表
  • :引用、代码块、分割线、表格(3×3 带表头)
  • 媒体:行内公式、公式块、图片

H4–H6、对齐、颜色、链接、行内样式、撤销重做等不在 Slash 菜单——只在工具栏/气泡菜单。

11. 存储与有损说明(重要)

  • content_html 是展示权威源:下划线、文字颜色、高亮颜色、对齐这些 Markdown 表达不了的样式只存在这里,文章页始终正确。
  • content_md 是有损的:上述样式在 Markdown 导出/降级展示时会丢失(加粗/斜体/删除线/高亮标记保留)。公式、代码块、表格、任务列表、图片在两条路径间无损往返(round-trip 测试保障)。
  • 旧 Markdown 文章走降级渲染路径(react-markdown + remark-math),公式渲染与主路径同一套 KaTeX 组件,视觉一致。

12. 暂不支持

  • 流程图等图块(Mermaid):已定设计(ADR-0004 图块模型),下期实现。
  • 脚注、上标下标(正文文本)、Wiki 链接、HTML 混排(降级路径不解析原始 HTML)。