KaTeX 综合渲染测试
这个页面用于测试博客对 KaTeX 的完整支持。
说明: 这是一份渲染回归测试文件,不是公式语法大全。每个小节针对一个具体的共存或边界问题,打开页面后应能快速判断当前测试是否通过。
测试目标包括:
- 行内 / 块级定界符
- 常用数学语法
- 真实数学与物理公式
- 与普通 Markdown 的混合排版
- 列表、引用、表格中的公式
- 与 Mermaid 的共存
- 错误隔离
- 边界与移动端排版
- 综合真实文章场景
1. Basic Delimiters(基础定界符)
测试目标: 两套行内定界符($...$ 与 \(...\))和两套块级定界符($$...$$ 与 \[...\])都能被识别,且简单公式渲染正确。
1.1 行内公式:$…$
最简单的行内公式是 $a + b = c$。
- 简单公式:质能方程 $E = mc^2$ 是相对论的核心结论。
- Greek 字母:$\alpha$、$\beta$、$\gamma$、$\theta$、$\pi$、$\omega$ 都应正常显示。
- 上标:$x^2 + y^2 = z^2$。
- 下标:$a_1, a_2, \ldots, a_n$。
- 分数:$\frac{a+b}{a-b}$。
1.2 行内公式:(…)
另一套行内定界符也必须可用:(E = mc^2)。
- 简单公式:(F = ma)
- Greek 字母:(\Delta x \cdot \Delta p \geq \frac{\hbar}{2})
- 上标:(e^{i\pi} + 1 = 0)
- 下标:(v_0) 与 (v_t) 表示初速度和末速度。
- 分数:(\frac{d}{dx}x^n = nx^{n-1})
同一行混用两套定界符:$x^2$ 与 (x_0) 都应渲染为公式,而不是原样输出定界符。
1.3 块级公式:$$…$$
$$ x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a} $$
多行形式的方程组:
$$ \begin{cases} 2x + 3y = 12 \ 4x - y = 5 \end{cases} $$
较复杂的块级公式:
$$ \int_{-\infty}^{+\infty} e^{-x^2},dx = \sqrt{\pi} $$
1.4 块级公式:[...]
[ \sum_{k=1}^{n} k = \frac{n(n+1)}{2} ]
多行对齐形式:
[ \begin{aligned} (a+b)^2 &= a^2 + 2ab + b^2 \ (a-b)^2 &= a^2 - 2ab + b^2 \end{aligned} ]
2. Common Syntax(常用 KaTeX 语法)
测试目标: 覆盖博客日常数学内容中可能出现的主要命令。重点是常见、实际可用的数学表达,而不是堆砌罕见语法。
2.1 上标 / 下标
$$ x_i^2,\quad a_{n+1},\quad x^{2}{i},\quad p{\text{max}} $$
2.2 分数
$$ \frac{a}{b},\qquad \dfrac{1}{1+\dfrac{1}{x}},\qquad \frac{x^2+1}{x-1} $$
2.3 根号
$$ \sqrt{2},\qquad \sqrt[3]{x},\qquad \sqrt{x^2+y^2} $$
2.4 指数与对数
$$ e^x,\qquad a^b,\qquad \ln x,\qquad \log_2 8 = 3,\qquad \lg 100 = 2 $$
2.5 Greek 字母
$$ \alpha;\beta;\gamma;\delta;\epsilon;\theta;\lambda;\mu;\pi;\rho;\sigma;\tau;\phi;\omega;\Omega;\Delta;\Sigma $$
2.6 向量
$$ \vec{a},\qquad \mathbf{F},\qquad \hat{n},\qquad \vec{c} = \vec{a} + \vec{b} $$
2.7 求和
$$ \sum_{k=1}^{n} k = \frac{n(n+1)}{2},\qquad \sum_{i=0}^{\infty} \frac{1}{2^i} = 2 $$
2.8 连乘
$$ \prod_{i=1}^{n} i = n!,\qquad \prod_{k=1}^{4} k = 24 $$
2.9 积分
$$ \int_0^1 x^2,dx = \frac{1}{3},\qquad \oint_C \vec{F}\cdot d\vec{r},\qquad \iint_D f(x,y),dA $$
2.10 极限
$$ \lim_{x \to 0} \frac{\sin x}{x} = 1,\qquad \lim_{n \to \infty} \left(1+\frac{1}{n}\right)^n = e $$
2.11 极值
$$ \max_{x \in [0,1]} x(1-x) = \frac{1}{4},\qquad \min_{x > 0} \left(x + \frac{1}{x}\right) = 2 $$
2.12 矩阵
$$ \begin{pmatrix} a & b \ c & d \end{pmatrix},\qquad \begin{bmatrix} 1 & 2 & 3 \ 4 & 5 & 6 \end{bmatrix},\qquad \begin{vmatrix} 1 & 2 \ 3 & 4 \end{vmatrix} $$
2.13 行列式
$$ \det(A) = \begin{vmatrix} a & b \ c & d \end{vmatrix} = ad - bc $$
2.14 分段函数
$$ f(x) = \begin{cases} x^2, & x \geq 0 \ -x, & x < 0 \end{cases} $$
2.15 二项式
$$ \binom{n}{k} = \frac{n!}{k!(n-k)!},\qquad (x+1)^n = \sum_{k=0}^{n} \binom{n}{k} x^k $$
2.16 各种括号
$$ (a+b),\quad [a+b],\quad {a+b},\quad |a+b|,\quad \left( \frac{a}{b} \right),\quad \left{ \frac{a}{b} \right},\quad \left[ \frac{a}{b} \right],\quad \left| \vec{v} \right| $$
2.17 多行对齐公式
$$ \begin{aligned} \sin(2x) &= 2\sin x \cos x \ \cos(2x) &= \cos^2 x - \sin^2 x \ \tan(2x) &= \frac{2\tan x}{1-\tan^2 x} \end{aligned} $$
3. Mathematics and Physics(真实数学与物理公式)
测试目标: 使用来自高中数学、物理以及大学基础课程的真实公式,测试不同复杂度、不同宽度的公式在正文中的表现。
3.1 二次函数
二次函数 $y = ax^2 + bx + c$ 的对称轴为 $x = -\frac{b}{2a}$,判别式 $\Delta = b^2 - 4ac$ 决定根的个数。
$$ x = \frac{-b \pm \sqrt{b^2-4ac}}{2a} $$
3.2 三角函数
同角关系 $\sin^2\theta + \cos^2\theta = 1$,正切定义 $\tan\theta = \frac{\sin\theta}{\cos\theta}$,以及和角公式:
$$ \sin(\alpha+\beta) = \sin\alpha\cos\beta + \cos\alpha\sin\beta $$
3.3 导数
幂函数求导 $\frac{d}{dx}x^n = nx^{n-1}$,三角函数求导 $(\sin x)’ = \cos x$,链式法则:
$$ \frac{dy}{dx} = \frac{dy}{du} \cdot \frac{du}{dx} $$
3.4 积分
不定积分 $\int x^n,dx = \frac{x^{n+1}}{n+1} + C$($n \neq -1$),定积分的牛顿-莱布尼茨公式:
$$ \int_a^b f(x),dx = F(b) - F(a) $$
3.5 概率
条件概率 $P(A \mid B) = \frac{P(AB)}{P(B)}$,数学期望 $E(X) = \sum_i x_i p_i$,正态分布密度函数:
$$ f(x) = \frac{1}{\sqrt{2\pi},\sigma} e^{-\frac{(x-\mu)^2}{2\sigma^2}} $$
3.6 向量
向量加法 $\vec{c} = \vec{a} + \vec{b}$,点积 $\vec{a} \cdot \vec{b} = |\vec{a}||\vec{b}|\cos\theta$,叉积模长:
$$ |\vec{a} \times \vec{b}| = |\vec{a}||\vec{b}|\sin\theta $$
3.7 牛顿第二定律
物体所受合外力等于质量与加速度的乘积:
$$ F = ma $$
3.8 动能
质量为 $m$、速度为 $v$ 的物体,其动能为:
$$ E_k = \frac{1}{2}mv^2 $$
3.9 动量
动量定义 $p = mv$,碰撞中的动量守恒:
$$ m_1 v_1 + m_2 v_2 = m_1 v_1’ + m_2 v_2' $$
3.10 电场
点电荷 $Q$ 在距离 $r$ 处产生的电场强度与电荷受到的电场力:
$$ E = k\frac{Q}{r^2}, \qquad F = qE $$
3.11 电势
点电荷的电势 $V = k\frac{Q}{r}$,电场力做功与电势差的关系:
$$ W_{AB} = q U_{AB} = q(V_A - V_B) $$
3.12 电阻
电阻定律 $R = \rho\frac{L}{S}$,欧姆定律 $I = \frac{U}{R}$,以及电功率:
$$ P = UI = I^2 R = \frac{U^2}{R} $$
3.13 电磁感应
法拉第电磁感应定律,磁通量 $\Phi = BS\cos\theta$ 的变化产生感应电动势:
$$ \mathcal{E} = -\frac{d\Phi}{dt} $$
3.14 相对论
质能方程与相对论动能:
$$ E = mc^2, \qquad E_k = (\gamma - 1)mc^2, \qquad \gamma = \frac{1}{\sqrt{1 - v^2/c^2}} $$
4. Markdown Compatibility(Markdown 混合测试)
测试目标: 公式与普通 Markdown 元素组合时,双方都保持原有语义,公式不吞掉周边文本,Markdown 样式也不破坏公式。
4.1 普通段落 + 行内公式
在匀变速直线运动中,位移与时间的关系是 $s = v_0 t + \frac{1}{2}at^2$,其中 $v_0$ 表示初速度,$a$ 表示加速度。把已知量代入后即可求出未知量,这是物理学习中最常见的计算方式之一。
导数的定义是 $f’(x) = \lim_{h \to 0} \frac{f(x+h)-f(x)}{h}$,它把"瞬时变化率"变成了可以计算的表达式。
4.2 粗体文本 + 公式
勾股定理 $a^2 + b^2 = c^2$ 描述了直角三角形三边之间的关系。
能量守恒 表明系统的总能量 $E = E_k + E_p$ 保持不变。
4.3 斜体文本 + 公式
当 $n \to \infty$ 时,调和级数 $\sum_{k=1}^{n} \frac{1}{k}$ 是发散的。
质量为 $m$ 的物体在重力作用下自由下落。
4.4 inline code + 公式
LaTeX 命令 \frac{a}{b} 对应渲染结果 $\frac{a}{b}$,而 \sqrt{x} 对应 $\sqrt{x}$。
行内代码 $E=mc^2$ 这里被反引号包裹,不应被当作公式渲染,应原样显示为代码。
4.5 链接 + 公式
欧拉恒等式 $e^{i\pi} + 1 = 0$ 被誉为最美的数学公式,可参考 Euler’s identity。
更多渲染细节见本博客的 Mermaid 测试 页面,其中 $V = IR$ 仅作为行内公式示例出现。
4.6 标题附近的公式
质能关系 $E = mc^2$
标题下方紧跟块级公式:
$$ \Delta E = \Delta m \cdot c^2 $$
小节标题含公式 $F=ma$
标题中的公式也应被正确渲染,而不是显示原始的 $ 符号。
4.7 中文 + 公式
根据动能定理,合外力对物体做的功等于物体动能的变化量,即 $W = \Delta E_k$。当拉力 $F$ 与摩擦力 $f$ 同时作用时,合力为 $F_{\text{合}} = F - f$。
4.8 英文 + 公式
Newton’s second law states that the net force $F$ equals mass $m$ times acceleration $a$, written as $F = ma$. The kinetic energy is given by $E_k = \frac{1}{2}mv^2$.
4.9 中文标点紧邻公式
因此,$F = ma$,这就是牛顿第二定律;又因为 $W = Fs$,所以功等于力乘以位移。
当 $x > 0$ 时,函数 $f(x) = \ln x$ 单调递增;若 $x \leq 0$,则函数无定义。
4.10 连续出现多个行内公式
由 $F = ma$、$W = Fs$ 和 $P = \frac{W}{t}$ 可以逐步推出 $P = Fv$,进而得到 $P = Fv\cos\theta$。
三个公式连续出现时,$a^2$、$b^2$、$c^2$ 之间的间距与普通文本间距应保持一致。
5. Lists(列表测试)
测试目标: 公式出现在无序列表、有序列表和多层嵌套列表中,行内与块级公式都不破坏列表结构。
5.1 无序列表中的公式
常见物理公式包括:
- 牛顿第二定律 $F = ma$
- 动能 $E_k = \frac{1}{2}mv^2$
- 动量 $p = mv$
- 电场力 $F = qE$
5.2 有序列表中的公式
推导步骤:
- 由 $F = ma$ 出发;
- 结合 $W = Fs$ 得到 $W = mas$;
- 利用 $v^2 - v_0^2 = 2as$ 消去加速度;
- 最终得到动能定理 $W = \frac{1}{2}mv^2 - \frac{1}{2}mv_0^2$。
5.3 嵌套列表中的公式
- 数学
- 二次方程求根公式: $$ x = \frac{-b \pm \sqrt{b^2-4ac}}{2a} $$
- 判别式为 $\Delta = b^2 - 4ac$
- 韦达定理:$x_1 + x_2 = -\frac{b}{a}$,$x_1 x_2 = \frac{c}{a}$
- 物理
- 牛顿第二定律 $F = ma$
- 匀变速位移公式: $$ s = v_0 t + \frac{1}{2}at^2 $$
- 动量守恒: $$ m_1 v_1 + m_2 v_2 = m_1 v_1’ + m_2 v_2' $$
6. Blockquotes(引用块测试)
测试目标: 引用块内出现行内公式、块级公式和多行引用时,引用样式与公式渲染互不干扰。引用块内容区域通常更窄,同时兼测窄栏排版。
6.1 引用中的行内公式
引用文本,其中包含 $E = mc^2$。
6.2 引用中的块级公式
牛顿第二定律可以写成:
$$ F = ma $$
这是经典力学的基石。
6.3 多行引用
第一行引用,包含公式 $p = mv$,表示动量等于质量乘以速度。
第二行引用,包含公式 $E_k = \frac{1}{2}mv^2$,表示动能与速度的平方成正比。
第三行引用,包含较长的行内公式 $\Delta x \cdot \Delta p \geq \frac{\hbar}{2}$,用于测试窄区域中的长公式表现。
引用块之后的普通段落应正常显示:$a + b = c$。
7. Tables(表格测试)
测试目标: 表格是重点测试项。观察 KaTeX 是否破坏表格结构、列宽和横向滚动,长公式是否被截断。
7.1 表格 A:行内公式
| 物理量 | 公式 | 单位 |
|---|---|---|
| 动能 | $E_k=\frac{1}{2}mv^2$ | J |
| 动量 | $p=mv$ | kg·m/s |
| 欧姆定律 | $I=\frac{U}{R}$ | A |
| 电阻定律 | $R=\rho\frac{L}{S}$ | Ω |
| 电场强度 | $E=\frac{F}{q}$ | N/C |
| 电功率 | $P=UI$ | W |
| 密度 | $\rho=\frac{m}{V}$ | kg/m³ |
| 压强 | $p=\frac{F}{S}$ | Pa |
7.2 表格 B:复杂内容
| 项目 | 说明 | 公式 / 内容 |
|---|---|---|
| 长公式 | 二次函数求根公式较长 | $x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}$ |
| 中文 + 公式 | 根据动能定理,合外力做功 $W$ 等于动能变化 $\Delta E_k$ | $W=\Delta E_k$ |
| 多个公式 | 同一单元格内放两个公式 | $F=ma$ 与 $E_k=\frac{1}{2}mv^2$ |
| 空单元格 | ||
| Markdown 混排 | 粗体、斜体 与公式 $x^2+y^2=z^2$ 混排 | 见 链接 + 公式 |
| 行内代码 | 代码中的定界符不渲染:$not math$ |
但这里是公式 $e^{i\pi}+1=0$ |
| 对齐公式 | 多行公式放入单元格 | $\begin{aligned} a &= b+c \ d &= e+f \end{aligned}$ |
7.3 兼容性探索:表格单元格中的块级公式
以下单元格使用块级定界符,属于兼容性探索,不同 Markdown 解析器对这种结构的处理可能不同,不作为核心功能要求:
| 场景 | 块级公式单元格 |
|---|---|
| 单行块级 | $$E=mc^2$$ |
| 分数块级 | $$\frac{a}{b}+\frac{c}{d}$$ |
若上述表格结构异常(错列、撑破列宽、单元格内容丢失),属可接受的兼容性问题;核心要求是表格 A 与表格 B 不被破坏,且表格之后的内容正常渲染。
8. Mermaid Compatibility(Mermaid 兼容性测试)
测试目标: KaTeX 的处理不能破坏 Mermaid,Mermaid 的处理也不能破坏 KaTeX。本节不要求 Mermaid 本身支持数学公式,只测试两者的共存。
8.1 Mermaid 之前的公式
在打开图表之前,先看一个行内公式 $E = mc^2$ 和一个块级公式:
$$ F = ma $$
8.2 普通 Mermaid 图表
flowchart LR
A[Markdown 源文件] --> B[Hugo 构建]
B --> C[HTML 页面]
C --> D[浏览器渲染]
D --> E{公式与图表正常?}
E -->|是| F[测试通过]
E -->|否| G[排查问题]
8.3 Mermaid 之后的公式
图表之后紧跟行内公式 $a^2 + b^2 = c^2$,以及块级公式:
$$ \sum_{k=1}^{n} k = \frac{n(n+1)}{2} $$
Mermaid 应正常显示,且下方公式应正常渲染,两者互不影响。
8.4 块级公式与 Mermaid 紧邻
$$ \lim_{x \to 0} \frac{\sin x}{x} = 1 $$
flowchart TD
S[开始] --> P[计算极限]
P --> Q{结果等于 1?}
Q -->|是| OK[正确]
Q -->|否| ERR[检查步骤]
ERR --> P
OK --> E[结束]
$$ \vec{F} = q\vec{E} $$
8.5 完整序列:普通 Markdown → KaTeX → Mermaid → KaTeX → 普通 Markdown
这一段是普通 Markdown 文本,介绍物理研究的一般流程。
下面是块级公式:
$$ W = \int \vec{F} \cdot d\vec{r} $$
中间插入一个 Mermaid 图表:
sequenceDiagram
participant 学生 as 学生
participant 书 as 课本
participant 题 as 习题
学生->>书: 学习公式
书-->>学生: 返回推导过程
学生->>题: 代入 $F=ma$ 求解
题-->>学生: 返回答案
图表之后继续块级公式:
$$ E_k = \frac{1}{2}mv^2 $$
最后回到普通 Markdown 文本:这一段必须完整显示,说明 KaTeX 与 Mermaid 的处理都没有吞掉周边内容。
8.6 探索性案例:Mermaid 文本中的数学表达式
部分 Mermaid 图表类型允许在节点文本里写普通文本。这里仅做探索性尝试,不引入任何 Mermaid 扩展,也不作为通过条件:
flowchart LR
A["已知 F=ma"] --> B["求 a=F/m"]
B --> C["代入数值计算"]
若节点中的公式以原样文本显示,属正常现象。
9. Error Isolation(错误隔离测试)
测试目标: 这是必须通过的测试。一个 KaTeX 错误不能阻止后续文章内容继续渲染:错误公式之后的普通 Markdown、正常公式、图表都应照常显示。
9.1 正常内容开场
这里是正常内容,包含正常公式 $a + b = c$。
9.2 故意未闭合的行内公式
这里故意放置一个未闭合的公式:$E = mc^2 缺少右定界符,这个错误是故意的。
如果上面这行显示为原始文本或仅该公式渲染失败,都是可接受的;不可接受的是它导致后续整篇文章不再渲染。
9.3 不完整的命令
这个公式的命令不完整,缺少 \right 配对:$\left( x^2 + 1$。
这个公式的 \frac 缺少第二组参数:$\frac{1}$。
9.4 明显非法的语法
这个公式使用了不存在的命令:$\notacommand{x+y}$。
这个块级公式的花括号不配对:
$$ \frac{\partial f}{\partial x} + \frac{ $$
这个公式混入了非法字符:$x @# y$。
9.5 错误公式之后的正常内容
这里是错误公式之后的正常内容。普通段落、粗体、斜体、行内代码 都应照常显示。
这里还有一个正常的块级公式:
$$ E = mc^2 $$
以及一个正常的行内公式 $\pi \approx 3.14159$。
9.6 错误之后的 Mermaid 图表
flowchart LR
X[错误已隔离] --> Y[后续内容正常]
Y --> Z[测试通过]
9.7 最后再来一段普通 Markdown
最后继续放置普通 Markdown:这是一个普通链接,这是一段带列表的文字:
- 第一条,公式 $F = ma$ 正常;
- 第二条,公式 $E = mc^2$ 正常;
- 第三条,无公式,纯文本。
本节通过标准: 从 9.5 开始到本节结束的全部内容完整渲染,说明单个 KaTeX 错误没有污染整个页面。
10. Edge Cases(边界与排版测试)
测试目标: 暴露渲染问题的边界情况:极短/极长行内公式、宽块级公式、紧邻标点与中文、异常空格,以及移动端横向溢出。
10.1 很短的行内公式
短公式 $x$、$y$、$1$ 应与周围文字基线对齐,不应出现明显偏移或裁剪。
10.2 很长的行内公式
较长的行内公式 $\int_{-\infty}^{+\infty} \frac{1}{1+x^2},dx = \pi$ 出现在句子中间时,应随文字正常换行而不被截断,下面这句同样较长:$\frac{\partial^2 u}{\partial t^2} = c^2 \frac{\partial^2 u}{\partial x^2}$ 也应完整显示。
10.3 很宽的块级公式
下面这个公式故意设计得较宽,用于测试移动端横向溢出:
$$ \begin{aligned} \frac{\partial^2 u}{\partial t^2} &= c^2\left(\frac{\partial^2 u}{\partial x^2} + \frac{\partial^2 u}{\partial y^2} + \frac{\partial^2 u}{\partial z^2}\right) + \frac{1}{\rho}\frac{\partial p}{\partial r} - \frac{\mu}{\rho}\nabla^4\psi + \sigma E_x + \int_0^\infty \frac{e^{-x^2}}{1+x^2},dx \end{aligned} $$
再放一个宽矩阵:
$$ \begin{pmatrix} 1 & \frac{1}{2} & \frac{1}{3} & \frac{1}{4} & \frac{1}{5} \ \frac{1}{2} & \frac{1}{3} & \frac{1}{4} & \frac{1}{5} & \frac{1}{6} \ \frac{1}{3} & \frac{1}{4} & \frac{1}{5} & \frac{1}{6} & \frac{1}{7} \ \frac{1}{4} & \frac{1}{5} & \frac{1}{6} & \frac{1}{7} & \frac{1}{8} \ \frac{1}{5} & \frac{1}{6} & \frac{1}{7} & \frac{1}{8} & \frac{1}{9} \end{pmatrix} $$
桌面端不应出现页面级横向滚动;移动端应可以优雅地处理(整体缩放或图表区域内部滚动均可)。
10.4 连续两个公式
第一个公式 $a^2 + b^2 = c^2$ 紧跟第二个公式 $\sin^2\theta + \cos^2\theta = 1$,中间只有普通文字连接。
连续两个块级公式:
$$ x_{n+1} = x_n - \frac{f(x_n)}{f’(x_n)} $$
$$ g(x) = \int_0^x f(t),dt $$
10.5 公式与中文文字紧邻
当$x>0$时,$f(x)=\ln x$单调递增,这里公式前后没有空格。
函数$g(x)=e^x$的导数等于它自身,同样没有空格。
10.6 公式与标点紧邻
即$f(x)=x^2$,这是一个抛物线。(公式紧邻中文逗号)
结果为$P=UI$。(公式紧邻句号)
已知$\vec{a}=(1,2)$、$\vec{b}=(3,4)$,求夹角。(公式紧邻顿号)
10.7 公式前后存在多个空格
公式 $E=mc^2$ 前后各有多个空格,渲染后间距不应异常放大或塌陷。
10.8 窄内容区域中的长公式
窄区域(引用块)中的较长公式:$\frac{d}{dx}\left(\int_a^x f(t),dt\right) = f(x)$,观察是否溢出引用块边界。
10.9 行尾以公式结尾
这一行以公式结尾 $\lim_{n\to\infty} \left(1+\frac{1}{n}\right)^n = e$
下一行以公式开头 $\gamma = \frac{1}{\sqrt{1-v^2/c^2}}$ 是洛伦兹因子。
11. Integrated Article Scenario(综合场景)
测试目标: 以一篇真实博客文章的形态,把标题、段落、行内/块级公式、列表、引用、表格、Mermaid 混合在一起,检验整体阅读体验。本节应读起来像文章,而不是测试代码堆。
从牛顿力学到现代物理
1687 年,牛顿在《自然哲学的数学原理》中给出了三大运动定律,其中第二定律 $F = ma$ 把"力"和"运动"第一次用同一个方程联系起来。从此,描述物体的运动变成了一道数学题。
经典力学的框架
在牛顿的框架里,只要知道物体的受力情况,就能通过加速度求出它未来的位置。匀变速直线运动的位移公式就是这一思路的直接产物:
$$ s = v_0 t + \frac{1}{2}at^2 $$
能量的视角则更加简洁。动能 $E_k = \frac{1}{2}mv^2$ 与势能 $E_p = mgh$ 相互转化,总量保持不变:
$$ E_k + E_p = \text{常量} $$
引用麦克斯韦的评价可以说明当时的乐观情绪:
自然界的一切力都可以归结为引力与电磁力,剩下的只是计算问题。
这里的"计算",本质上就是求解形如 $F = ma$ 的方程。
电磁学的统一
电与磁的规律同样简洁。库仑定律描述电荷间的作用力,法拉第定律则揭示了磁通量变化产生感应电动势:
$$ F = k\frac{q_1 q_2}{r^2}, \qquad \mathcal{E} = -\frac{d\Phi}{dt} $$
下图总结了经典物理几条主线之间的关系:
flowchart TD
N[牛顿力学 F=ma] --> M[麦克斯韦电磁学]
M --> R[热力学与统计力学]
R --> A[19 世纪末的物理学天空]
A --> C{两朵乌云}
C --> R1[黑体辐射]
C --> R2[光速不变]
R1 --> Q[量子力学]
R2 --> S[狭义相对论]
走向相对论与量子力学
20 世纪初,两个问题动摇了经典物理。为了解释光速不变,爱因斯坦建立了狭义相对论,质能关系 $E = mc^2$ 表明质量本身就是一种能量;更一般地,物体的总能量为:
$$ E = \frac{mc^2}{\sqrt{1 - v^2/c^2}} = \gamma mc^2 $$
另一朵乌云催生了量子力学。海森堡不确定性原理指出,位置与动量无法同时精确测定:
$$ \Delta x \cdot \Delta p \geq \frac{\hbar}{2} $$
三种理论的对比
| 理论 | 适用范围 | 核心公式 | 诞生时间 |
|---|---|---|---|
| 牛顿力学 | 低速、宏观 | $F=ma$ | 1687 |
| 电磁学 | 电磁现象 | $\nabla \cdot \vec{E} = \frac{\rho}{\varepsilon_0}$ | 1860s |
| 狭义相对论 | 高速、惯性系 | $E=\gamma mc^2$ | 1905 |
| 量子力学 | 微观世界 | $i\hbar\frac{\partial}{\partial t}\Psi = \hat{H}\Psi$ | 1920s |
小结
回顾这段历程,可以看到一条清晰的线索:
- 牛顿用 $F = ma$ 统一了地上的运动;
- 麦克斯韦用一组方程统一了电与磁;
- 爱因斯坦用 $E = mc^2$ 统一了质量与能量;
- 量子力学则告诉我们,$E = h\nu$ 是微观世界能量的最小单位。
理论在演进,但物理学的美感始终如一——用尽可能少的假设,解释尽可能多的现象。正如 $e^{i\pi} + 1 = 0$ 把五个最重要的常数写进一个等式,好的物理公式也应当如此。
测试检查清单
完成页面加载后,依次检查:
-
$...$与\(...\)行内定界符均正常 -
$$...$$与\[...\]块级定界符均正常 - 上标、下标、分数、根号、Greek 字母正常
- 求和、连乘、积分、极限、极值正常
- 矩阵、行列式、分段函数、二项式正常
- 括号自动伸缩与多行对齐正常
- 第 3 节全部真实公式渲染正确
- 粗体、斜体、链接、行内代码与公式混排正常
- 行内代码中的
$...$不被当作公式渲染 - 中文、英文、标点紧邻公式时排版正常
- 连续多个行内公式间距正常
- 无序 / 有序 / 嵌套列表结构不被公式破坏
- 引用块中的行内与块级公式正常
- 窄引用区域中的长公式不溢出
- 表格 A(行内公式)结构与列宽正常
- 表格 B(复杂内容)结构正常
- 表格 7.3 中块级公式单元格的表现可接受
- Mermaid 图表前后的公式均正常
- Mermaid 图表本身未被 KaTeX 处理破坏
- 「普通 Markdown → KaTeX → Mermaid → KaTeX → 普通 Markdown」完整显示
- 错误公式之后的段落、列表、公式、图表全部正常
- 一个 KaTeX 错误没有阻止文章后续渲染
- 极短 / 极长行内公式正常
- 宽块级公式在桌面端不造成页面横向滚动
- 宽块级公式在移动端可正常查看
- 连续块级公式之间间距正常
- 公式前后有无空格都不影响渲染
- 第 11 节综合文章的整体排版可读
- 整个 Hugo build 正常