![方程中带有 siunitx 的单位间距](https://linux22.com/image/284305/%E6%96%B9%E7%A8%8B%E4%B8%AD%E5%B8%A6%E6%9C%89%20siunitx%20%E7%9A%84%E5%8D%95%E4%BD%8D%E9%97%B4%E8%B7%9D.png)
我刚刚开始了解siunitx
包,但我注意到方程式中的单位符号间距似乎存在一些问题。使用siunitx
可以在数值和单位之间留一个空格,方法是在单位之前的数字后留一个空格(例如\num{3.7d10} \si{\becquerel}
或\num{3.7d10}\si{ \becquerel}
)。
但是,当我在方程模式下执行此操作时,似乎没有办法在数字和单位之间创建空格。是我遗漏了什么,还是这是一个固有的故障/问题?
\documentclass[12pt,a4paper]{report}
% International language package - allows use of special characters
\usepackage[utf8]{inputenc}
% Line spacing package - allows user to set line spacing
\usepackage{amsmath}
% Graphics package - allows document to include various graphics files
\usepackage{chemformula}
% SI Unit package - allows for standard unit notation
\usepackage{siunitx}
\DeclareSIUnit\curie{Ci}
\begin{document}
% no spaces
\num{3.7d10}\si{\becquerel} \\
% space before unit
\num{3.7d10}\si{ \becquerel} \\
% space after number
\num{3.7d10} \si{\becquerel} \\
% no spaces
\begin{equation}
\num{1}\si{\becquerel} = \num{2.703d11}\si{\curie} \\
\end{equation}
% spaces before units
\begin{equation}
\num{1}\si{ \becquerel} = \num{2.703d11}\si{ \curie} \\
\end{equation}
% spaces after number
\begin{equation}
\num{1} \si{\becquerel} = \num{2.703d11} \si{\curie} \\
\end{equation}
\end{document}
答案1
当您排版带有单位的数值时,您应该使用宏\SI
:
\SI{3.7d10}{\becquerel}
这样可以有效地使用 格式化第一个参数\num
,使用 格式化第二个参数\si
,并在它们之间插入适当的间距,即使在排版方程式时(即在数学模式下)。
通常在数学模式下空格会被忽略,因此您可以写例如3\times 10
或3 \times 10
,结果将是相同的。
答案2
除非我遗漏了一些明显的东西,否则你可以使用
\documentclass{article}
\usepackage{siunitx}
\begin{document}
\begin{equation}
\SI{1.234}{\m\per\square\s}
\end{equation}
\end{document}
另一种可能性(但不推荐)是
\documentclass{article}
\usepackage{siunitx}
\begin{document}
\begin{equation}
\num{1.234}\,\si{\m\per\square\s}
\end{equation}
\end{document}
仅当您想在数字和单位处对齐点时才应使用第二种方法,如下所示这里。