Skip to content

FREE BBS 数学组 Markdown/KaTeX 数学公式排版规范

规范版本:v0.5
更新日期:2026-07-23
文档类型:主规范
适用范围:数学组知识点 Markdown 正文中由 KaTeX 渲染的数学公式

1. 如何使用本规范

本规范只把以下内容列为前置的“项目约定”:

  1. 数学上存在多种通行写法,需要项目统一选择的事项;
  2. Markdown、KaTeX 与完整 LaTeX 之间存在兼容风险的事项;
  3. 容易造成语义歧义、排版失衡或复核困难的事项;
  4. 本项目作出的字体、标点和源码风格选择。

不存在明显歧义的常规写法不再逐条上升为强制规则,统一放入第 3 章“参考速查”。复核时应先检查第 2 章的项目约定,再参考第 3 章处理一般问题。完整的正反例、希腊字母表和逐项解释见《数学公式规范与不规范写法对比》。

本规范中的措辞分为三类:

  • 统一使用、不得、必须:项目强制约定;
  • 默认、优先、建议:无课程特殊传统时采用的项目写法;
  • 可以、按语境选择:存在多个合理方案,但同一篇正文必须保持一致。

2. 项目约定

2.1 Markdown 与 KaTeX 边界

  1. 行内公式使用 $...$,行间公式使用 $$...$$
  2. 每个公式必须能在不读取 LaTeX 导言区的情况下独立渲染。
  3. 开发组未明确提供稳定的全局宏前,不依赖 \newcommand\def\R\dd\abs 等自定义命令,应使用展开写法。
  4. 多行结构放在 $$...$$ 内,使用 alignedgatheredcases;不得嵌套顶层 alignequation,也不使用 eqnarray
  5. TikZ 不属于 KaTeX 渲染范围。图形先导出为 SVG 或 PNG,再通过 Markdown 引用。
  6. 最终验收以生产页面的 KaTeX 渲染结果为准;本地 LaTeX 能编译不等于页面可用。

2.2 微分与积分

微分算符 d 统一使用正体 \mathrm{d}

latex \frac{\mathrm{d}y}{\mathrm{d}x}, \qquad \frac{\mathrm{d}^2y}{\mathrm{d}x^2}

偏微分使用 \partial。积分中的被积式与微元之间保留一个小间距 \,

latex \int_a^b f(x)\,\mathrm{d}x, \qquad \iint_D f(x,y)\,\mathrm{d}x\,\mathrm{d}y

不写 dx,不写 \int f(x)\mathrm{d}x,也不用普通空格代替 \,

原函数在端点的代入统一使用右侧竖线:

latex \int_a^b f(x)\,\mathrm{d}x =\left.F(x)\right\rvert_a^b =F(b)-F(a)

不混用 \right|\right\rvert\left[F(x)\right]_a^b。多元微积分中的向量微元遵循项目向量字体,例如 \mathrm{d}\boldsymbol{r};面积、体积微元写作 \mathrm{d}S\mathrm{d}V

2.3 关系符号与定义符号

  1. 项目源码统一使用 \le\ge,不混用其别名 \leq\geq
  2. 定义等号统一使用 \coloneqq,如 f(x)\coloneqq x^2;普通恒等或已知等式使用 =
  3. 映射中的冒号使用 \colonf\colon A\to B
  4. 不使用 <=>=!=-> 代替正式数学符号。

2.4 括号、绝对值、范数与竖线

  1. 普通高度内容使用普通括号;只有内容明显较高时才使用 \left...\right
  2. 自动伸缩过大时,成对使用 \bigl/\bigr\Bigl/\Bigr 等手动尺寸。
  3. 绝对值使用 \lvert x\rvert,范数使用 \lVert x\rVert
  4. 条件概率、集合条件和整除使用 \mid,如 P(A\mid B)\{x\in\mathbb{R}\mid x>0\}a\mid b
  5. 不用普通竖线 | 同时承担绝对值、范数、条件和整除等不同语义。

2.5 行内、行间与多行公式

  1. 行内短分式可以使用 \frac{a}{b};普通比值在无歧义时可以使用 a/b;复杂分式移到行间。
  2. 即使分子、分母均为单字符,也保留花括号,如 \frac{1}{2}
  3. 行内不使用 \dfrac\displaystyle;行间公式本身已是展示样式,不重复添加 \displaystyle
  4. 遵循 AMS/TeX 通行排版习惯,简短极限可以使用默认样式放在行内,如 \lim_{x\to0}f(x)=L;极限条件位于算符右下侧是正常的行内排版。
  5. 不在行内使用 \displaystyle 强行把极限条件移到 \lim 正下方。极限条件较长、表达式包含复杂分式、积分、求和或嵌套结构,或者极限式是主要结论时,改用行间公式;行间无需重复添加 \displaystyle
  6. 连续推导使用 aligned,无对齐关系的多行陈列使用 gathered,分段定义使用 cases
  7. 多行公式按关系符对齐,不为了视觉居中而加入无语义的空格。

上述极限排版是与国际数学出版习惯一致的项目约定,不表述为 ISO 强制条文;ISO 80000-2 主要规范数学符号、含义和应用,并未要求含 \lim 的公式必须行间显示。

2.6 中文、公式与标点混排

  1. 行内公式与前后中文词句之间各保留一个半角空格:函数 $f$ 在区间 $[a,b]$ 上连续。
  2. 中文标点紧跟公式右侧的 $,标点前不留空格:当 $x>0$ 时,$f(x)>0$。
  3. 数学结构内部使用半角标点,如 (x,y)\{1,2,\dots,n\};中文句法标点放在数学环境外。
  4. 行间公式由完整的中文引导语和中文冒号引出;项目正文中的行间公式末尾不另加中文或英文句号。
  5. 不用 \text{} 把中文逗号、句号或长句塞入数学环境。

2.7 \text{} 的使用边界

KaTeX 支持 \text{},但项目限制其用途:

  • 仅用于无法自然移到公式外的简短条件或标签;
  • 能写成纯数学条件时直接写数学条件;
  • 能移到公式外的完整说明移到中文正文;
  • 不用 \text{} 伪造算符、单位、拉丁缩写、正体常数或句法标点;
  • 含中文的 \text{} 必须在生产页面检查字体、基线与行距。

例如,分段函数可以优先写:

latex f(x)= \begin{cases} x^2, & x\ge 0,\\ -x, & x<0 \end{cases}

确需连接词时才写 & \text{若 }x\ge 0

2.8 集合记号

  1. 空集统一使用 \varnothing,幂集统一使用 \mathcal{P}(A)
  2. 允许相等的包含关系使用 \subseteq\supseteq;严格包含使用 \subsetneq\supsetneq
  3. \subset\supset 在不同教材中含义不统一,项目正文原则上不用;必须忠实引用时,首次出现须说明是否允许相等。
  4. 集合差使用 \setminus,不使用减号或 \backslash
  5. 补集默认写 A^c,使用前必须说明全集或讨论空间。课程固定使用其他记号时,可以保留,但须先定义并全文一致。
  6. 对称差使用 A\mathbin{\triangle}B,首次出现时定义其含义;\mathbin 用于赋予 \triangle 二元运算符间距。
  7. 指标族使用 \bigcup\bigcap\bigsqcup,不直接给小运算符 \cup\cap\sqcup 添加指标。

2.9 数域、函数空间、概率与相关字体

  1. 标准数域使用 \mathbb{N}\mathbb{Z}\mathbb{Q}\mathbb{R}\mathbb{C}
  2. \mathbb{N} 是否包含 0 必须在首次出现时说明,除非课程已有统一约定。
  3. 函数空间统一写作 C([a,b])C^k(\Omega)L^p(\Omega);不用 \mathscr{C}\mathcal{C} 表示连续函数空间。
  4. 概率测度使用普通数学斜体 P,如 P(A)P(A\mid B);本项目不用 \mathbb{P} 表示概率。
  5. 幂集使用 \mathcal{P},事件族或 σ-代数使用 \mathcal{F},期望使用 \mathbb{E}
  6. 标准概率空间写作 (\Omega,\mathcal{F},P);数学括号使用半角定界符,不使用中文全角括号。

2.10 希腊字母字形

正文使用 KaTeX 命令,不直接粘贴 Unicode 希腊字母。项目默认采用:

latex \varepsilon,\theta,\kappa,\pi,\rho,\sigma,\varphi

对应变体仅在需要区分两个对象,或必须忠实引用领域固定记号时使用,并应首次说明、全文一致。

小写 omicron 使用 KaTeX 提供的 \omicron。大写 Omicron 与拉丁大写字母 O 同形,本项目为兼容完整 LaTeX 引擎直接使用 O;当前 KaTeX 虽支持 \Omicron,本项目不采用该写法。

完整大小写字母表及变体对照见参考文档。

2.11 \boxed 的使用

\boxed{...} 是强调数学结论的命令,不是环境。项目作如下约定:

  1. 仅用于完整推导后的最终答案、核心结论或需要读者立即定位的结果。
  2. 默认每个例题或独立推导最多使用一次;多个并列最终结论可以合并展示。
  3. 不用于普通中间步骤、定义、已知条件或仅仅“比较重要”的公式。
  4. 只在行间公式中使用;不嵌套方框,不承载长段中文,不把句末标点放入方框。
  5. 方框内部不使用 \,\quad 等命令人为增加内边距。
  6. 过长或多行内容优先改为正文提示或拆分;确需框住多行公式时必须复核移动端宽度。

```markdown 因此,方程的最终解为:

$$ \boxed{x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}} $$ ```

2.12 主公式与附加条件的间距

主公式后跟定义域、参数范围或成立条件时,单个简短条件统一使用:

latex 主公式,\qquad 附加条件

例如:

markdown $$ A(x)\coloneqq\int_a^x f(t)\,\mathrm{d}t, \qquad x\in[a,b] $$

具体约定如下:

  1. 主公式与条件之间先写半角数学逗号 ,,再写 \qquad
  2. 不使用普通空格、~~\quad\quad 或任意 \hspace 模拟该间距。
  3. 公式最后不再添加逗号或句号。
  4. 条件较长、数量较多或导致窄屏溢出时,把条件移到公式外:

```markdown 对任意 \(x\in[a,b]\),定义:

$$ A(x)\coloneqq\int_a^x f(t)\,\mathrm{d}t $$ ```

2.13 允许按语境选择但须保持一致的事项

以下事项不存在唯一通行答案,不应仅凭个人偏好判错:

  • 普通比值使用 / 还是短分式;按可读性选择;
  • 括号使用自动伸缩还是手动尺寸;按实际高度选择;
  • 公式是否编号;仅在正文需要引用时编号;
  • 某一领域固定记号是否保留;必须先定义并全文一致。

3. 参考速查

本章用于发现常见疏漏,不把每一项都视为项目特有的强制约定。遇到课程教材已有明确传统时,应先保证数学含义准确,再保持全文一致。

3.1 字体与算符

对象 参考写法 说明
一般变量 xn\alpha 默认数学斜体
内置函数 \sin x\ln x\det\boldsymbol{A} 不写成字母连乘
反三角函数 \arcsin x\arccos x\arctan x 不用有倒数歧义的 \sin^{-1}x
非内置算符 \operatorname{rank}\boldsymbol{A}\operatorname{tr}\boldsymbol{A}\operatorname{span}S\operatorname{im}T 不用 \text{...} 伪造算符
正体常数 \mathrm{e}\mathrm{i} 按项目约定使用正体
单位 5\,\mathrm{m} 数值与单位之间留小间距
集合族 \mathcal{F} 与一般集合和概率测度区分
向量、矩阵、线性映射 \boldsymbol{x}\boldsymbol{A}T 项目统一字体,不混用 \vec\mathbf

3.2 常用对象与运算

含义 参考写法
元素属于、不属于 \in\notin
并、交、差 \cup\cap\setminus
笛卡尔积 \times
不交并 \sqcup
集合基数 \lvert A\rvert
开、闭、半开区间 (a,b)[a,b](a,b][a,b)
含无穷端点的区间 (-\infty,a][a,+\infty)
内积 \langle\boldsymbol{x},\boldsymbol{y}\rangle
二项式系数 \binom{n}{k}
单位矩阵、零向量、零矩阵 \boldsymbol{I}_n\boldsymbol{0}\boldsymbol{0}_{m\times n}
直和、张量积、正交补 \oplus\otimesV^\perp
梯度、散度、旋度 \nabla f\nabla\cdot\boldsymbol{F}\nabla\times\boldsymbol{F}

3.3 上下标、极限与映射

  • 多字符上下标和上标加花括号:x_{n+1}a^{(k)}
  • 高阶导数优先写 f^{(k)}(x);极限条件写完整:\lim_{x\to x_0^+}
  • 求和、乘积的指标范围写完整:\sum_{k=1}^{n}\prod_{j=1}^{m}
  • 函数与映射可写:f\colon A\to Bx\mapsto f(x)
  • 矩阵转置写 \boldsymbol{A}^{\mathsf{T}},共轭转置或伴随写 \boldsymbol{A}^*,逆矩阵写 \boldsymbol{A}^{-1},Moore–Penrose 广义逆写 \boldsymbol{A}^{\dagger}
  • 行列式写 \det\boldsymbol{A};矩阵展开的行列式使用 vmatrix,普通矩阵使用 pmatrix
  • 线性代数算符统一写作 \ker T\dim V\operatorname{rank}\boldsymbol{A}\operatorname{tr}\boldsymbol{A}\operatorname{span}S\operatorname{im}T
  • 极值点使用 \operatorname*{arg\,max}\operatorname*{arg\,min};Jacobian 写 J_f,Hessian 写 \nabla^2 f

3.4 常见源码问题

避免 参考改写
dx \mathrm{d}x
\int f(x)dx \int f(x)\,\mathrm{d}x
$sin x$ $\sin x$
$R^n$ 表示实空间 $\mathbb{R}^n$
|x|\|x\| 混用 \lvert x\rvert\lVert x\rVert
全部使用 \left...\right 按内容实际高度选择
行内 \dfrac 短式用 \frac,复杂式移到行间
\text{rank} \operatorname{rank}
\sin^{-1}x 表示反正弦 \arcsin x
\mathscr{C}[a,b] C([a,b])
\left.F(x)\right|_a^b \left.F(x)\right\rvert_a^b
\mathbf{r}\vec{x} \boldsymbol{r}\boldsymbol{x}
f:A->B f\colon A\to B
未配置的 \R\dd 使用展开写法

4. 复核流程

4.1 第一轮:项目约定

优先检查:

  1. KaTeX 环境、宏与多行环境是否符合第 2.1 节;
  2. 微分、积分、关系符、定界符和竖线是否统一;
  3. 集合、概率、希腊字形及 \text{} 是否符合项目约定;
  4. 中文空格和标点是否正确;
  5. \boxed 是否被滥用,主公式与附加条件是否按 ,\qquad 处理。

4.2 第二轮:数学与可读性

逐式确认数学条件、定义域、上下限、量词、正负号和等价关系准确;再参考第 3 章检查字体、层级、源码可读性和全文一致性。

自动搜索只能标记“需要人工确认”的位置,不能盲目全局替换。例如普通 Markdown 竖线、英文单词中的字母 d 与数学微分无关。

4.3 第三轮:生产页面渲染

至少检查:

  • 开头第一个公式;
  • 全文最长公式;
  • 一个多行推导或分段函数;
  • 所有含中文 \text{} 的公式;
  • 所有 \boxed 公式;
  • 所有“主公式+附加条件”结构;
  • 图表附近公式和窄屏显示效果。

重点观察基线、行距、括号尺寸、长式溢出、多行对齐、中文字体和不支持命令。

5. 复核结论模板

```markdown

数学公式复核记录

  • 文件:
  • 知识点名称 / ID:
  • 初审人:
  • 日期:

检查结果

  • [ ] 项目约定检查通过
  • [ ] 数学内容与适用条件准确
  • [ ] 参考速查未发现明显疏漏
  • [ ] 生产页面与窄屏渲染通过

问题清单

  1. 文件位置/公式片段:问题;建议修改为……

结论

  • [ ] 通过
  • [ ] 修改后通过
  • [ ] 需再次复核 ```

6. 正式发布前仍需确认

  1. 生产页面的 KaTeX 版本、完整配置和测试入口;
  2. 是否配置稳定的全局宏;未确认前继续使用展开写法;
  3. alignedgatheredcases\tag{}\boxed\omicron 的生产支持情况;
  4. 含中文 \text{} 的字体、基线和行距表现;
  5. 自然数是否包含 0
  6. 公式末尾标点由 KaTeX 片段还是 Markdown 正文层处理。

附录 A:积分相关命令速查

本附录汇总微积分、向量分析和微分形式中常见的积分源码。积分号后的微元继续遵守第 2.2 节:微分算符使用正体 \mathrm{d},被积式与微元之间使用 \,

A.1 基本积分号与积分区域

含义 推荐源码 渲染
一重积分 \int_a^b f(x)\,\mathrm{d}x \(\int_a^b f(x)\,\mathrm{d}x\)
二重积分 \iint_D f(x,y)\,\mathrm{d}x\,\mathrm{d}y \(\iint_D f(x,y)\,\mathrm{d}x\,\mathrm{d}y\)
三重积分 \iiint_\Omega f\,\mathrm{d}V \(\iiint_\Omega f\,\mathrm{d}V\)
闭合曲线积分 \oint_\gamma \(\oint_\gamma\)
闭合曲面积分 \oiint_\Sigma \(\oiint_\Sigma\)
闭合三重积分 \oiiint_\Omega \(\oiiint_\Omega\)

积分区域统一放在积分号下标中。区间用 [a,b];平面区域通常用 D\Omega\subset\mathbb{R}^2;空间或一般区域用 \Omega;曲线用 \gamma;曲面用 \Sigma;区域边界用 \partial\Omega。字母含义必须在正文首次出现时定义,不因对象是积分区域就自动改用花体。

A.2 曲线积分

类型 推荐写法
标量函数对弧长 \int_\gamma f\,\mathrm{d}s
向量场沿曲线 \int_\gamma \boldsymbol{F}\cdot\mathrm{d}\boldsymbol{r}
坐标形式 \int_\gamma (P\,\mathrm{d}x+Q\,\mathrm{d}y)
闭合曲线 \oint_\gamma (P\,\mathrm{d}x+Q\,\mathrm{d}y)
边界曲线 \oint_{\partial D} (P\,\mathrm{d}x+Q\,\mathrm{d}y)

使用 \oint 只表示路径闭合,不自动表达方向;曲线方向或边界的诱导定向须在正文说明。坐标形式含多个加减项时,整个被积微分式属于同一个积分号,不在每一项前重复积分号。

A.3 曲面积分与体积分

类型 推荐写法
标量曲面积分 \iint_\Sigma f\,\mathrm{d}S
向量场通量 \iint_\Sigma \boldsymbol{F}\cdot\boldsymbol{n}\,\mathrm{d}S
闭合曲面通量 \oiint_{\partial\Omega}\boldsymbol{F}\cdot\boldsymbol{n}\,\mathrm{d}S
体积分 \iiint_\Omega f\,\mathrm{d}V

\boldsymbol{n} 表示已定义方向的单位法向量。\oiint 只用于闭合曲面;普通曲面即使有边界仍使用 \iint\oiiint 虽可渲染,但“闭合三重积分”的语义并非各领域都常用,只有课程已明确定义时才使用。

A.4 外微分与微分形式

外微分仍使用项目统一的正体微分算符:

含义 推荐源码 渲染
外微分 \mathrm{d}\omega \(\mathrm{d}\omega\)
坐标微分 \mathrm{d}x^i \(\mathrm{d}x^i\)
楔积 \alpha\wedge\beta \(\alpha\wedge\beta\)
外微分平方为零 \mathrm{d}^2\omega=0 \(\mathrm{d}^2\omega=0\)
Stokes 形式 \int_{\partial\Omega}\omega=\int_\Omega\mathrm{d}\omega \(\int_{\partial\Omega}\omega=\int_\Omega\mathrm{d}\omega\)

微分形式示例:

latex \omega =P\,\mathrm{d}x+Q\,\mathrm{d}y, \qquad \mathrm{d}\omega =\left( \frac{\partial Q}{\partial x} -\frac{\partial P}{\partial y} \right) \mathrm{d}x\wedge\mathrm{d}y

不要用普通字母 d 与外微分算符混写;\wedge 两侧不手工添加空格。

A.5 KaTeX 兼容边界

  • KaTeX 原生支持 \int\iint\iiint\oint\oiint\oiiint\wedge
  • KaTeX 不支持 \iiiint\idotsint,课程 Markdown 中不得使用。
  • 四维或一般高维积分优先写成 \int_\Omega f(x)\,\mathrm{d}x;如需强调维数,可在定义清楚后写 \mathrm{d}^n x
  • 不用 \int\!\!\int、负间距或重复积分号手工拼接 \iint;也不用未配置的自定义宏代替上述命令。
  • 最终仍须在生产页面核对 KaTeX 版本与实际渲染结果。

参考依据

  • AMS-LaTeX amsmath 用户指南;
  • LaTeX2e 数学公式参考;
  • KaTeX Supported Functions、Options 与 Auto-render 文档;
  • GB/T 15834—2011《标点符号用法》。