如何自定义 `siunitx` 中的开括号和闭括号?

如何自定义 `siunitx` 中的开括号和闭括号?

似乎siunitx选项open-bracket不再close-bracket起作用。 是否可以恢复此类功能?

在此处输入图片描述

\documentclass{book}

    \usepackage{calc}
    
    
    % ========== Units and precision packages ==========
    \usepackage{siunitx}
    
            % complex numbers options
% BEGIN_FOLD
    
                \sisetup{complex-root-position=before-number, input-complex-root=ij}
                \newlength{\widthOperatorJSeparator}
                \setlength{\widthOperatorJSeparator}{\widthof{$\,$}}
                \sisetup{output-complex-root=\mathit{j}\hspace{0.11\widthOperatorJSeparator}}   
                
% END_FOLD
    
            % brackets options
% BEGIN_FOLD
    
                \sisetup{bracket-numbers=true, open-bracket=], close-bracket=]}

% END_FOLD



\begin{document}

\complexqty{11 + j11}{\ohm}

\end{document}

答案1

我认为这是一个疏忽,应该有一个设置括号的选项。比如

\documentclass{book}
\usepackage{amsmath}
\usepackage{siunitx}

\ExplSyntaxOn
\keys_define:nn { siunitx }
 {
  output-complex-bracket-open .tl_set:N = \l__siunitx_complex_bracket_open_tl,
  output-complex-bracket-close .tl_set:N = \l__siunitx_complex_bracket_close_tl,
 }
\ExplSyntaxOff

% complex numbers options
\sisetup{
  complex-root-position=before-number,
  input-complex-root=ij,
  output-complex-root=\mathit{j}\mspace{1mu},
  bracket-numbers=true,
  output-complex-bracket-open=[,
  output-complex-bracket-close=],
}

\begin{document}

\complexqty{11 + j11}{\ohm}

\end{document}

在此处输入图片描述

选项名称可能不是首选名称。更容易获得和定制。

答案2

siunitxv3 已删除选项open-bracketclose-bracket现在使用这些选项会引发警告。

Package siunitx Warning: Option "close-bracket" has been removed in this
(siunitx)                release.
Package siunitx Warning: Option "open-bracket" has been removed in this
(siunitx)                release.

移除操作在犯罪c077c15,带有消息

删除开/闭括号选项

这使得它们纯粹是内部的:如果需要的话可以稍后撤消。

您可以打开一个问题https://github.com/josephwright/siunitx,作为另一种解决方法,siunitx使用 加载 v2 \usepackage{siunitx}[=v2]

相关内容