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 丢失单位
The track is \SI{44}{\kilo\metre} long.“问题”标签页: Skipped 3 unknown commands: \SI, \kilo, \metre
在公式中,整个公式会变红:
公式中的 \SI 让公式显示为红色
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\,\%.如果要写很多单位,简短的命令可以少打些字:
自己定义的单位命令
\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 数学基础。
常见问题
不用 siunitx 怎么写摄氏度?
在公式中写 20\,^{\circ}\mathrm{C};在文本中写 20\,\textdegree C。两种写法在这里和 TeX 发行版中都可用。
为什么数字和单位之间有空格?
大多数排版规范要求用细空格把单位与数字隔开。\, 提供这个空格,并让数字和单位保持在同一行。
本页的每个示例都在构建网站时由 Scissor LaTeX 排版。 最后更新:2026-11-07