SIUnitx 单元分组

SIUnitx 单元分组

是否有任何siunitx选项可以管理处于活动状态时的单位分组per-mode=symbol?或者,是否有更好的方法来处理这个问题?

手动插入括号可以正常工作(第二行)。但是,当我定义

\DeclareSIUnit\BracrOpen{(}%
\DeclareSIUnit\BracrClose{)}%

并将(and替换)\BracrOpenand \BracrClose,我得到了奇怪的结果(第三行)。似乎我可以通过添加一个括号组来解决这个问题(第四行),但如果可能的话,最好不需要这个额外的括号组。

我曾经\DeclareSIUnit定义过许多其他单位,并没有看到过这个问题,所以想知道是什么导致了这种情况下这种奇怪的结果。

在此处输入图片描述

笔记:

  • 我更喜欢使用宏,因为它允许对符号进行与其使用无关的其他处理。

代码:

\documentclass{article}
\usepackage{amsmath}
\usepackage{xcolor}
\usepackage{siunitx}

\sisetup{per-mode=symbol}%

\DeclareSIUnit\BracrOpen{\mathopen{(}}%
\DeclareSIUnit\BracrClose{\mathclose{)}}%

\begin{document}
\begin{align*}
    g_0 
        &= \SI{9.81}{\meter\per\second\squared} \\
        &= \SI{35.3}{(\kilo\meter\per\hour)\per\second} \\
        &= \SI{35.3}{\BracrOpen\kilo\meter\per\hour\BracrClose\per\second} 
            \qquad\text{\textcolor{red}{Incorrect!}} \\
        &= \SI{35.3}{\BracrOpen{\kilo\meter\per\hour}\BracrClose{\per\second}} \\
\end{align*}
\end{document}

相关内容