博客数学公式写作指南
这篇指南只解决一个实际问题:为什么有些公式在 Typora 里显示正常,发到博客后却变成红色源码,甚至把后面的整段正文一起带坏。
原因不是 Typora 更“正确”,而是它对数学语法更宽松;而博客构建链路里的 Markdown 数学解析更严格。一旦输入结构不稳定,公式块就可能在解析时把后续文本一起吞进去。
如果你以后要在博客里写数学内容,先记住下面两条规则。
规则一:多行显示公式时,让 $$ 单独占行
最危险的写法是把 $$ 和多行公式正文写在同一行。
错误写法:
1$$\begin{aligned}2f(x) &= a + b \\3&= c4\end{aligned}$$这种写法在 Typora 里通常也能显示,但到了站点构建阶段,$$ 和正文混在一起,容易让整个数学块边界变得不稳定。
正确写法:
1$$2\begin{aligned}3f(x) &= a + b \\4&= c5\end{aligned}6$$只要是下面这些多行环境,都按这个规则写:
alignedcasesmatrix、bmatrix、pmatrix- 任何会跨多行的推导式
一个最稳的习惯是:看到公式会换行,就先回车,把开始和结束的 $$ 都单独放一行。
规则二:Markdown 表格里的绝对值不要写成 |…|
Markdown 表格本身就用竖线 | 分列,所以表格里的数学绝对值如果也直接写成 |t|,解析器可能会先把它当成表格分隔符,而不是数学内容。
错误写法:
1| 分布 | 特征函数 |2| --- | --- |3| 拉普拉斯 | $e^{-|t|}$ |更稳的写法:
1| 分布 | 特征函数 |2| --- | --- |3| 拉普拉斯 | $e^{-\lvert t \rvert}$ |结论很简单:在 Markdown 表格里,绝对值优先写成 \lvert ... \rvert,不要裸写 |...|。
为什么 Typora 能过,博客却会失败
Typora 更像是一个容错很强的写作工具。很多不标准写法,它会尽量帮你补救,所以你在本地预览时看不出问题。
而博客真正上线前,会经过 Markdown 解析和 KaTeX 渲染。这个阶段更看重结构是否清楚、边界是否明确。也就是说:
- Typora 能显示,不代表 Markdown 结构就稳定。
- 站点一旦遇到结构不稳的数学块,错误往往不是只坏一行,而是可能把后面整段文字一起拖进去。
所以博客写作时,应该以“解析结构稳定”为第一目标,而不是只看编辑器里能不能显示。
推荐写法模板
多行推导
1$$2\begin{aligned}3f(x) &= a + b \\4&= c5\end{aligned}6$$分段函数
1$$2f(x) =3\begin{cases}4x^2, & x \ge 0 \\5-x, & x < 06\end{cases}7$$表格中的绝对值
1| 名称 | 表达式 |2| --- | --- |3| 绝对值指数项 | $e^{-\lvert t \rvert}$ |发布前自查清单
每次写完数学文章,发布前至少检查这四项:
- 有没有多行公式把开始的
$$和\begin{aligned}写在同一行。 - 有没有多行公式把结束的
\end{aligned}和结束的$$写在同一行。 - 有没有 Markdown 表格里的绝对值还写成
|...|。 - 有没有某个公式块一出错,导致后面整段文本都变成红色源码。
如果第四种情况出现,不要只盯着变红的那一段,优先回头检查它前面的最近一个大块公式。
一句话总结
写博客数学公式时,只要记住两件事:
- 多行显示公式让
$$单独占行。 - 表格里的绝对值写成
\lvert ... \rvert。
这两条看起来很小,但能避开大多数“Typora 正常、网页报错”的问题。
部分信息可能已经过时