跳到正文

Scissor LaTeX 中的 siunitx

siunitx 宏包在 Scissor LaTeX 中不可用。\SI、\si、\qty、\unit 和 \num 无法识别:在文本中数字会保留,但单位会消失(并在“问题”标签页中注明);在公式中整个公式会变红。请改用 \mathrm 和细空格 \, 书写单位。

宏包的作用

siunitx 以统一的方式排版数字和单位。你写 \SI{44}{\kilo\metre}(在第 3 版中写 \qty{44}{\km}),得到的是数字、一个细空格和直立的单位。它还能格式化长数字、在表格列中对齐数字,以及输出范围和列表。

这里可用的功能

命令在 Scissor LaTeX 中你看到的效果
文本中的 \SI{44}{\kilo\metre}、\qty{44}{\km}不支持“44”:数字保留,单位丢失。“问题”标签页会列出被跳过的命令。
文本中的 \si{\metre\per\second}、\unit{...}不支持什么都没有:单位丢失。
文本中的 \num{12345.6}不支持“12345.6”,没有数位分组。
上述任一命令出现在 $...$ 或 \[...\] 中不支持整个公式显示为红色。
\sisetup{...}、列类型 S不支持\sisetup 会被静默跳过。S 列被当作居中列读取,所以数字不会按小数点对齐。

示例

在文本中,数字保留下来,单位却没有:

文本中的 \SI 丢失单位

LaTeX导言区: \usepackage{siunitx}在编辑器中打开 (在新标签页中打开)
The track is \SI{44}{\kilo\metre} long.

“问题”标签页: Skipped 3 unknown commands: \SI, \kilo, \metre

在公式中,整个公式会变红:

公式中的 \SI 让公式显示为红色

LaTeX导言区: \usepackage{siunitx}在编辑器中打开 (在新标签页中打开)
The speed is $v = \SI{12}{\metre\per\second}$.

以红色显示: 无法读取公式,因此改为显示其源代码。

手动书写单位。用细空格 \, 分隔数字和单位,用 \mathrm 让单位保持直立:

手动书写的数字和单位

The track is $44\,\mathrm{km}$ long, and John Doe runs it at
$3.5\,\mathrm{m\,s^{-1}}$. The water is at $20\,^{\circ}\mathrm{C}$
(or 20\,\textdegree C in text), the resistor has $12\,\mathrm{k\Omega}$,
the hair is $5\,\mu\mathrm{m}$ thick, and the sample weighs
$1.2 \times 10^{3}\,\mathrm{kg}$. Prices rose by 10\,\%.
由 Scissor LaTeX 排版: 手动书写的数字和单位

如果要写很多单位,简短的命令可以少打些字:

自己定义的单位命令

\documentclass{article}
\newcommand{\un}[1]{\,\mathrm{#1}}
\newcommand{\celsius}{\,^{\circ}\mathrm{C}}
\begin{document}
Erika Mustermann measured $44\un{mm}$ at $21\celsius$,
and a flow of $0.8\un{L\,min^{-1}}$.
\end{document}

兼容性

  • 从 TeX 发行版迁移到这里: 文本中的数字保留但单位丢失,含有 siunitx 命令的公式会变红。请按上面的方法换成 \,\mathrm{...}。
  • 从这里迁移到 TeX 发行版: 用 \mathrm 和 \, 书写的单位在任何地方都能编译,效果也一样。

完整手册见 CTAN:ctan.org/pkg/siunitx。另请参阅 LaTeX 数学基础。

另请参阅数学基础、表格和 physics。

常见问题

不用 siunitx 怎么写摄氏度?

在公式中写 20\,^{\circ}\mathrm{C};在文本中写 20\,\textdegree C。两种写法在这里和 TeX 发行版中都可用。

为什么数字和单位之间有空格?

大多数排版规范要求用细空格把单位与数字隔开。\, 提供这个空格,并让数字和单位保持在同一行。

本页的每个示例都在构建网站时由 Scissor LaTeX 排版。 最后更新:2026-11-07