如何在数学模式下使用 siunitx 包在单位前设置水平空间?

如何在数学模式下使用 siunitx 包在单位前设置水平空间?

我经常使用数学模式下的包\si[]{}中的命令siunitx来避免使用和上标格式化单位\mathrm{},但是这样做时数字和单位之间根本没有显示空格,看起来很奇怪。

例如:

\(\mathrm{m}=1 \si{\kilo\gram}\)

我可以在内联数学模式下通过以下方式克服这个问题:

\(\mathrm{m}=1\) \si{\kilo\gram}

但在大多数数学环境中我无法做到这一点。

请注意,当您使用两个或多个单元时,单元之间会有空白

\(\mathrm{k}=40\) \si{\newton\per\meter}

我想\si[]{}在数学模式下使用该命令时在数字和单位之间添加一个空格,类似于牛顿和米之间的空格。

怎样才能做到这一点?

梅威瑟:

\documentclass[10pt,a4paper]{article}
\usepackage[latin1]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{siunitx}
\begin{document}
    Some math in inline mode \(\mathrm{m}=1\) \si{\kilo\gram}, and some centered math:
    \[\mathrm{k}=40 \si{\newton\per\meter}\]
\end{document}

答案1

使用将数字和单位分开的方法,您需要明确添加所需的空间。使用命令,您可以通过更改使用\SI{}{}的值来调整它。请参阅文档中的表 24。number-unit-product\sisetup

\documentclass[10pt,a4paper]{article}
\usepackage[latin1]{inputenc}
\usepackage{siunitx}
\begin{document}
    Some math in inline mode \(\mathrm{m}=\SI{1}{\kilo\gram}\), and some centered math:
    \[\mathrm{k}=\SI{40}{\newton\per\meter}\]

\sisetup{number-unit-product=\ }
    Some math in inline mode \(\mathrm{m}=\SI{1}{\kilo\gram}\), and some centered math:
    \[\mathrm{k}=\SI{40}{\newton\per\meter}\]
\end{document}

在此处输入图片描述

相关内容