Markdown 数学公式完全指南:让你的技术写作更专业

大家好!今天我们继续聊聊每个程序员和技术写作者都应该掌握的技能——Markdown。

你是否曾在写技术博客时,为复杂的数学公式而苦恼?是否希望能在文档中轻松插入专业级别的数学表达式?

这是介绍Markdown的第三篇,我们将深入探讨如何在Markdown中优雅地处理数学公式,让你的技术文档更加专业。

第一部分:为什么需要在Markdown中使用数学公式?

在技术写作中,我们经常需要表达:

  • 算法复杂度分析:$O(n \log n)$
  • 机器学习公式:$J(\theta) = \frac{1}{2m}\sum_{i=1}^{m}(h_\theta(x^{(i)}) - y^{(i)})^2$
  • 物理定律:$E = mc^2$
  • 统计学表达式:$\mu = \frac{1}{N}\sum_{i=1}^{N} x_i$

使用Markdown的数学公式功能,可以让我们在保持文档简洁的同时,准确表达这些复杂的数学内容。

第二部分:Markdown中如何插入数学公式?

在 Markdown 中,我们可以使用 LaTeX 语法来插入数学公式,主要分为两种形式:

LaTeX(读作 /ˈlɑːtɛx/ 或 /ˈleɪtɛx/)是国际上数学、物理、计算机等科技领域的专业排版工具,是科学文献交流和出版的事实标准。

如果你想深入了解,可以看看这个教程:LaTeX 入门与进阶

行内公式

行内公式语法:使用单个 $ 符号包围起来,如:

算法复杂度分析:$O(n \log n)$

渲染效果如下:

算法复杂度分析:$O(n \log n)$

块公式

块公式语法:使用两个 $$ 符号包围起来,如:

$$H(D_2) = -\left(\frac{2}{4}\log_2 \frac{2}{4} + \frac{2}{4}\log_2 \frac{2}{4}\right) = 1$$

渲染效果如下:

$$H(D_2) = -\left(\frac{2}{4}\log_2 \frac{2}{4} + \frac{2}{4}\log_2 \frac{2}{4}\right) = 1$$

第三部分: 常用数学符号和表达式详解

⚠️ 提示:部分平台对数学符号支持有限,可能出现渲染问题。

上标与下标

用于表示指数和下标,如变量索引等:

  • 上标:$x^2$ -> $x^2$(表示x的平方)
  • 下标:$x_1$ -> $x_1$(表示x的下标1)

分数与根号

处理数学表达式中的分数和根式:

  • 分数:$\frac{a}{b}$ -> $\frac{a}{b}$(表示a除以b)
  • 平方根:$\sqrt{a}$ -> $\sqrt{a}$ (表示a的平方根)
  • n次方根:$\sqrt[n]{a}$ -> $\sqrt[n]{a}$(表示a的n次方根)

积分与求和

常用在数学和物理公式中:

  • 积分:$\int_{0}^{1} x^2 dx$ -> $\int_{0}^{1} x^2 dx$(表示从0到1的定积分)
  • 求和:$\sum_{i=1}^{n} i$ -> $\sum_{i=1}^{n} i$(表示从1到n的求和)

希腊字母

科学和工程领域常用符号:

  • 小写:$\alpha, \beta, \gamma$ -> $\alpha, \beta, \gamma$(常用于角度、系数等)
  • 大写:$\Gamma, \Delta, \Theta$ -> $\Gamma, \Delta, \Theta$ (常用于特殊函数、变化量等)

极限与微分

  • 极限:$\lim_{x \to 0} \frac{\sin x}{x} = 1$ -> $\lim_{x \to 0} \frac{\sin x}{x} = 1$(表示x趋向于0时,函数$\sin x$
    除以x的极限)
  • 导数:$\frac{d}{dx}x^2 = 2x$ -> $\frac{d}{dx}x^2 = 2x$(表示x的导数)
  • 偏导数:$\frac{\partial f}{\partial x}$ -> $\frac{\partial f}{\partial x}$(表示x的偏导数)

矢量与集合

  • 矢量:$\vec{a}$ 或 $\mathbf{a}$ -> $\vec{a}$(表示向量a)
  • 属于关系:$x \in A$ -> $x \in A$(表示x属于集合A)
  • 子集:$A \subseteq B$ -> $A \subseteq B$(表示A是B的子集)

特殊符号

  • 无穷大:$\infty$ -> $\infty$
  • 空集:$\emptyset$ -> $\emptyset$
  • 因此:$\therefore$ -> $\therefore$
  • 因为:$\because$ -> $\because$

第四部分: 高级应用示例

矩阵示例

矩阵是技术文档中常见的内容,可以用如下方式表示:

$$
\begin{pmatrix}
1 & a_1 & a_1^2 & \cdots & a_1^n \\
1 & a_2 & a_2^2 & \cdots & a_2^n \\
\vdots & \vdots & \vdots & \ddots & \vdots \\
1 & a_m & a_m^2 & \cdots & a_m^n \\
\end{pmatrix}
$$

$$
\begin{pmatrix}
1 & a_1 & a_1^2 & \cdots & a_1^n \
1 & a_2 & a_2^2 & \cdots & a_2^n \
\vdots & \vdots & \vdots & \ddots & \vdots \
1 & a_m & a_m^2 & \cdots & a_m^n \
\end{pmatrix}
$$

方程组示例

在工程和数学计算中,我们经常需要表示方程组:

线性方程组

$$
\begin{cases}
2x + 3y - z = 1 \\
x - y + 2z = -2 \\
3x + y + z = 3
\end{cases}
$$

$$
\begin{cases}
2x + 3y - z = 1 \
x - y + 2z = -2 \
3x + y + z = 3
\end{cases}
$$

使用align环境的方程组

$$
\begin{align}
2x + 3y - z &= 1 \\
x - y + 2z &= -2 \\
3x + y + z &= 3
\end{align}
$$

$$
\begin{align}
2x + 3y - z &= 1 \
x - y + 2z &= -2 \
3x + y + z &= 3
\end{align}
$$

机器学习常用公式

线性回归

$$
\hat{y} = \theta_0 + \theta_1 x_1 + \theta_2 x_2 + \cdots + \theta_n x_n
$$

$$
\hat{y} = \theta_0 + \theta_1 x_1 + \theta_2 x_2 + \cdots + \theta_n x_n
$$

逻辑回归

$$
h_\theta(x) = \frac{1}{1 + e^{-\theta^T x}}
$$

$$
h_\theta(x) = \frac{1}{1 + e^{-\theta^T x}}
$$

梯度下降算法

$$
\theta_j := \theta_j - \alpha \frac{\partial}{\partial \theta_j} J(\theta)
$$

$$
\theta_j := \theta_j - \alpha \frac{\partial}{\partial \theta_j} J(\theta)
$$

正则化项

$$
J(\theta) = \frac{1}{2m} \left[ \sum_{i=1}^m (h_\theta(x^{(i)}) - y^{(i)})^2 + \lambda \sum_{j=1}^n \theta_j^2 \right]
$$

$$
J(\theta) = \frac{1}{2m} \left[ \sum_{i=1}^m (h_\theta(x^{(i)}) - y^{(i)})^2 + \lambda \sum_{j=1}^n \theta_j^2 \right]
$$

统计学公式

概率密度函数

$$
f(x|\mu,\sigma^2) = \frac{1}{\sqrt{2\pi\sigma^2}} e^{-\frac{(x-\mu)^2}{2\sigma^2}}
$$

$$
f(x|\mu,\sigma^2) = \frac{1}{\sqrt{2\pi\sigma^2}} e^{-\frac{(x-\mu)^2}{2\sigma^2}}
$$
贝叶斯定理

$$
P(A|B) = \frac{P(B|A)P(A)}{P(B)}
$$

$$
P(A|B) = \frac{P(B|A)P(A)}{P(B)}
$$

协方差

$$
\text{Cov}(X,Y) = E[(X - E[X])(Y - E[Y])]
$$

$$
\text{Cov}(X,Y) = E[(X - E[X])(Y - E[Y])]
$$

物理公式示例

薛定谔方程

$$
i\hbar\frac{\partial}{\partial t}\Psi(\mathbf{r},t) = \hat{H}\Psi(\mathbf{r},t)
$$

$$
i\hbar\frac{\partial}{\partial t}\Psi(\mathbf{r},t) = \hat{H}\Psi(\mathbf{r},t)
$$
麦克斯韦方程组

$$
\begin{aligned}
\nabla \cdot \mathbf{E} &= \frac{\rho}{\varepsilon_0} \\
\nabla \cdot \mathbf{B} &= 0 \\
\nabla \times \mathbf{E} &= -\frac{\partial \mathbf{B}}{\partial t} \\
\nabla \times \mathbf{B} &= \mu_0\left(\mathbf{J} + \varepsilon_0\frac{\partial \mathbf{E}}{\partial t}\right)
\end{aligned}
$$

$$
\begin{aligned}
\nabla \cdot \mathbf{E} &= \frac{\rho}{\varepsilon_0} \
\nabla \cdot \mathbf{B} &= 0 \
\nabla \times \mathbf{E} &= -\frac{\partial \mathbf{B}}{\partial t} \
\nabla \times \mathbf{B} &= \mu_0\left(\mathbf{J} + \varepsilon_0\frac{\partial \mathbf{E}}{\partial t}\right)
\end{aligned}
$$

化学反应方程式

化学反应平衡

$$
aA + bB \rightleftharpoons cC + dD
$$

$$
aA + bB \rightleftharpoons cC + dD
$$

能斯特方程

$$
E = E^0 - \frac{RT}{nF} \ln Q
$$

$$
E = E^0 - \frac{RT}{nF} \ln Q
$$

数学环境类型

除了基本的行内和块级公式,LaTeX还提供了多种数学环境:

所谓数学环境类型是指在 LaTeX 中预定义的、用于不同类型数学表达的结构化格式。每种环境都有其特定的用途和显示样式

对齐公式

$$
\begin{align}
x &= y + z \\
a &= b + c
\end{align}
$$

$$
\begin{align}
x &= y + z \
a &= b + c
\end{align}
$$

分段函数

$$
f(x) =
\begin{cases}
x^2 & \text{if } x \geq 0 \\
-x^2 & \text{if } x < 0
\end{cases}
$$

$$
f(x) =
\begin{cases}
x^2 & \text{if } x \geq 0 \
-x^2 & \text{if } x < 0
\end{cases}
$$

多行公式

$$
\begin{aligned}
E &= mc^2 \\
F &= ma \\
v &= u + at
\end{aligned}
$$

$$
\begin{aligned}
E &= mc^2 \
F &= ma \
v &= u + at
\end{aligned}
$$

第五部分:平台兼容性与注意事项

不同平台对数学公式的支持程度不同,使用时需要注意:

平台 支持情况 备注
GitHub ✅ 完全支持 使用 MathJax 渲染
Jupyter Notebook ✅ 完全支持 原生支持 LaTeX
微信公众号 ⚠️ 部分支持 内置公式编辑器,支持基础LaTeX语法
今日头条 ⚠️ 部分支持 需使用第三方工具
知乎 ⚠️ 部分支持 建议发布前测试
掘金 ⚠️ 部分支持 需开启数学公式选项

第六部分: 数哥私藏资料推荐

实用工具推荐

以下工具可以帮助你更轻松地编写数学公式:

  • Mathpix Snip:截图识别数学公式,自动生成 LaTeX 代码,支持多种格式导出
  • Overleaf:在线 LaTeX 编辑器,专业级公式编辑和协作平台
  • latexlive:在线 LaTeX 公式编辑器,实时预览功能
  • MathJax:开源数学公式渲染引擎,可集成到网站中
  • KaTeX:快速、易于使用的数学公式渲染库,适合网页应用

学习路径建议

  1. 基础掌握:熟练使用基本数学符号和公式
  2. 进阶应用:学习矩阵、多行公式等复杂表达
  3. 工具整合:结合MathJax、KaTeX等渲染引擎
  4. 专业领域:根据专业需求学习特定符号系统(如化学、物理等)

结语

Markdown 的数学公式功能虽然看起来只是一个小特性,但它能显著提升你的技术写作质量和专业度。特别是对于理工科的朋友来说,掌握这项技能可以让你在写博客、做笔记、制作技术文档时更加得心应手。


📌 本次分享就到这里,感谢你的阅读!
🔔 关注【数说编程】,第一时间获取技术写作、效率工具、编程干货!
💬 如果你觉得这篇文章对你有帮助,欢迎点赞、收藏、分享给更多朋友!