方程中带有 siunitx 的单位间距

方程中带有 siunitx 的单位间距

我刚刚开始了解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 103 \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}

输出

仅当您想在数字和单位处对齐点时才应使用第二种方法,如下所示这里

相关内容