Markdown 上标和下标
标准 Markdown 没有上标和下标语法,要用 <sup> 和 <sub>:x<sup>2</sup>、H<sub>2</sub>O。本文还介绍公式写法、Unicode 字符,以及部分应用增加的简写。
简短回答
Markdown 怎么写上标和下标?
用 HTML 标签 <sup> 和 <sub>:x<sup>2</sup> 把 2 写成上标,H<sub>2</sub>O 把 2 写成下标。GitHub 和大多数允许 HTML 的应用都支持。Pandoc 和 Typora 还支持 ^文字^ 和 ~文字~。
Markdown
E = mc<sup>2</sup>,H<sub>2</sub>O显示效果
E = mc2,H2O
上标和下标的示例
根据文字要显示在哪里,选择合适的写法。
用 <sup> 写上标
适合指数、序号和注释标记。
Markdown
10<sup>-3</sup> 秒,m<sup>2</sup>,注释<sup>1</sup>显示效果
10-3 秒,m2,注释1
用 <sub> 写下标
适合化学式和下标变量。
Markdown
CO<sub>2</sub>,x<sub>i</sub>,log<sub>2</sub> 8 = 3显示效果
CO2,xi,log2 8 = 3
公式写法
支持公式的地方,美元符号里的 ^ 和 _ 可以写出规范的公式。
Markdown
$x^2 + y^2 = r^2$ 和 $\mathrm{H_2O}$显示效果
和
Unicode 字符
上标和下标数字是普通字符,在任何地方都能显示,包括聊天软件。
Markdown
x² + y² = r²,H₂O,10⁻³显示效果
x² + y² = r²,H₂O,10⁻³
嵌套和格式
标签里可以写 Markdown 和其他标签,也可以互相嵌套。
Markdown
2<sup>2<sup>2</sup></sup> = 16,价格<sup>**新**</sup>显示效果
222 = 16,价格新
Pandoc 和 Typora:^ 和 ~
Pandoc 把 ^文字^ 当作上标、~文字~ 当作下标,Typora 在开启选项后也支持。在 GitHub 上,单个波浪号表示删除线。
Markdown
x^2^ 和 H~2~O仅适用于 Pandoc 和 Typora。其他 Markdown 应用的显示效果不同,因此不提供预览。
各平台的上标下标支持
保留内嵌 HTML 的地方都支持这两个标签。
| 应用 | 支持情况 | 说明 |
|---|---|---|
| GitHub / GitLab | 支持 | 支持 <sup> 和 <sub>,公式里的 ^ 和 _ 也有效。 |
| Obsidian | 支持 | 阅读视图中支持 <sup> 和 <sub>。 |
| Typora | 支持 | 支持这两个标签,在设置中开启后还支持 ^文字^ 和 ~文字~。 |
| Notion | 不支持 | 没有输入语法,可以用行内公式或 Unicode 字符。 |
| Discord / Slack | 不支持 | 不支持上标,² 这样的 Unicode 字符可以正常显示。 |
常见问题
Markdown 有上标语法吗?
CommonMark 和 GitHub 风格 Markdown 都没有。在允许 HTML 的地方用
<sup> 和 <sub>;Pandoc 和 Typora 还支持 ^文字^ 和 ~文字~。GitHub 上怎么写上标?
用
<sup>:x<sup>2</sup>。GitHub 也支持公式,所以 $x^2$ 同样可以。为什么 ~文字~ 变成了删除线而不是下标?
~文字~ 变成了删除线而不是下标?在 GitHub 风格 Markdown 里,两侧各一个波浪号表示删除线。在那里写下标请用
<sub>。化学式怎么写?
用
<sub>:H<sub>2</sub>O,或者用公式:$\mathrm{H_2O}$。₂ 这样的 Unicode 下标数字在纯文本里也能用。Discord 和 Slack 里怎么写上标?
两者都不支持上标。可以输入 ²、³ 这样的 Unicode 字符,在任何地方都能显示。