Skip to content

3. 表格、代码与数学公式

"结构化数据的呈现,代码的展示,数学公式的渲染——Markdown 的多面性。"

本章介绍 Markdown 中用于展示结构化数据(表格)、代码(代码块)以及数学公式的语法。这些功能对于技术文档尤为重要。

3.1 表格

表格用于展示结构化数据,基本语法如下:

markdown
| 表头1 | 表头2 | 表头3 |
|-------|-------|-------|
| 内容1 | 内容2 | 内容3 |
| 内容4 | 内容5 | 内容6 |

渲染:

表头1表头2表头3
内容1内容2内容3
内容4内容5内容6

对齐方式

使用 : 控制对齐:

markdown
| 左对齐 | 居中对齐 | 右对齐 |
|:-------|:--------:|-------:|
| 内容1 | 内容2 | 内容3 |
| 较长内容会自动换行 | 居中 | 靠右 |

渲染:

左对齐居中对齐右对齐
内容1内容2内容3
较长内容会自动换行居中靠右

对齐语法

  • :--- 左对齐(默认)
  • :---: 居中对齐
  • ---: 右对齐

复杂表格

表格中可以包含其他 Markdown 元素:

markdown
| 功能 | 语法 | 示例 |
|------|------|------|
| **粗体** | `\*\*文本\*\*` | **粗体** |
| *斜体* | `\*文本\*` | *斜体* |
| `代码` | `` \`代码` `` | `代码` |
| [链接](url) | `[文字](url)` | [示例](https://example.com) |

3.2 代码块

代码块用于展示多行代码,支持语法高亮。

基础代码块

使用三个反引号 ``` 包裹代码:

```语言
代码内容
```

示例(JavaScript):

```javascript
function greet(name) {
  console.log(`Hello, ${name}!`);
}
greet('World');
```

渲染:

javascript
function greet(name) {
  console.log(`Hello, ${name}!`);
}
greet('World');

常用语言标识符

语言标识符
JavaScriptjavascriptjs
TypeScripttypescriptts
Pythonpythonpy
Javajava
C/C++c / cpp
Gogo
Rustrust
Rubyruby
PHPphp
HTMLhtml
CSScss
JSONjson
YAMLyamlyml
Shell/Bashbashshell
Markdownmarkdownmd
纯文本text 或 不指定

代码块选项

某些 Markdown 解析器(如 Hugo、某些主题)支持额外选项:

markdown
```python {filename="script.py" #line-numbers}
# 带行号
print("Hello")

### 缩进代码块(不推荐)

旧式语法使用 4 个空格缩进:

```markdown
    这是缩进代码块
    不推荐使用,因为反引号语法更清晰

建议:始终使用反引号语法,因为它支持语法高亮。

3.3 数学公式

Markdown 支持 LaTeX 风格的数学公式,需要解析器支持(如 MathJax、KaTeX)。

行内公式

使用 $ 包裹:

markdown
勾股定理:$a^2 + b^2 = c^2$

渲染:勾股定理:$a^2 + b^2 = c^2$

块级公式

使用 $$ 包裹:

markdown
$$
E = mc^2
$$

渲染: $$ E = mc^2 $$

常用 LaTeX 语法

效果语法
上下标x^2, a_n, x_{i}
分数\frac{分子}{分母}
根式\sqrt{表达式}\sqrt[n]{表达式}
求和/积分\sum_{i=1}^{n}, \int_{a}^{b}
希腊字母\alpha, \beta, \gamma, \delta
矩阵\begin{matrix} ... \end{matrix}
括号( ), [ ], \{ \}, \left( \right)

示例:

markdown
$$
\sum_{i=1}^{n} i = \frac{n(n+1)}{2}
$$

$$
\begin{matrix}
a & b \\
c & d
\end{matrix}
$$

渲染: $$ \sum_{i=1}^{n} i = \frac{n(n+1)}{2} $$

$$ \begin{matrix} a & b \ c & d \end{matrix} $$

注意:并非所有 Markdown 平台都支持数学公式。VitePress 默认支持,GitHub 需要特定配置。


练习

  1. 创建一个包含 4 列的表格,展示不同编程语言的特性
  2. 编写一个带语法高亮的代码块(选择你熟悉的语言)
  3. 尝试写一个行内公式和一个块级公式

上一篇: 2. 进阶格式与语法
下一篇: 4. 列表、引用与分割线