第一个选项

第一个选项

我想要有单位的方程。例如,物理学中的胡克定律。有以下 4 种非平凡方法。

第一个选项

% first option
\documentclass[border=1cm,varwidth]{standalone}
\usepackage{siunitx,esvect}
\begin{document}
\SI[parse-numbers=false]{\vv F=-kx\hat{x}}{\newton}
\end{document}

在此处输入图片描述

第二种选择(无法编译)

% second option
\documentclass[border=1cm,varwidth]{standalone}
\usepackage{siunitx,esvect}
\begin{document}
\SI[parse-numbers=true]{$\vv F=-kx\hat{x}$}{\newton}
\end{document}

第三种选择

% third option
\documentclass[border=1cm,varwidth]{standalone}
\usepackage{siunitx,esvect}
\begin{document}
$\vv F=-kx\hat{x}\,\si{\newton}$
\end{document}

在此处输入图片描述

第四种选择

% fourth option
\documentclass[border=1cm,varwidth]{standalone}
\usepackage{siunitx,esvect}
\begin{document}
$\vv F=-kx\hat{x}$~\si{\newton}
\end{document}

在此处输入图片描述

因为第一个数学字体渲染不正确,第二个无法编译,所以我必须在后两个之间做出选择。那么哪一个是推荐的呢?

答案1

来自文档(第siunitx4.3 节):

数字和单位经常一起给出。形式上,数量的值是数字和单位的乘积,空格被视为乘法符号。宏结合了和\SI的功能,使这既可行又简单。\num\si

因此,您的第一和第二个选项不应该给出令人满意的结果,因为 的第一个参数\SI被设计为接受数字而不是公式。因此,您的第三和第四个选项是正确的,改为使用 来\si排版公式并将其手动连接到单元。

我假设您希望公式和单位之间的间距与\SI数字和单位之间的间距相同。 中的间距\SI由选项 给出number-unit-product。 根据文档的第 24 表,此选项的默认值为\,。 因此,“推荐”方法是您的选项 3:

\documentclass[border=1cm,varwidth]{standalone}
\usepackage{siunitx,esvect}
\begin{document}
$\vv F=-kx\hat{x}\,\si{\newton}$
\end{document}

文档第 4.3 节中还有一段引文:

格式化方法适用于数学和文本模式。

\si因此,只要选择合适的空间,将其放在数学模式内部还是外部都无关紧要。

相关内容