siunitx:无法为 \ohm 定义本地符号

siunitx:无法为 \ohm 定义本地符号

要定义本地化单位符号,siunitx建议使用\DeclareSIUnit。除了某些情况(例如 ),它效果很好\ohm。错误消息令人费解。考虑以下 MWE:

\documentclass{scrbook}
\usepackage{polyglossia}
\setdefaultlanguage[babelshorthands = true]{russian}

\usepackage{fontspec}
\usepackage{siunitx}

\setmainfont{Libertinus Serif}
\newfontfamily\cyrillicfont{Libertinus Serif}

\DeclareSIUnit\ohm{\text{Ом}}

\begin{document}

«… а может быть, человек~— лишь промежуточное звено для создания истинного венца
творения~— рюмки коньяка с ломтиком лимона…»

\qty{10}{\ohm}

\end{document}

这会导致以下错误消息:

> \l__siunitx_symbol_tmpa_tl=macro:
->\mathrm {Ω}.
<argument> \show \l__siunitx_symbol_tmpa_tl 
                                 \show \l__siunitx_symbol_tmpb_tl \group_end: \
l.13 \begin{document}
                   
> \l__siunitx_symbol_tmpb_tl=macro:
->\mathrm {\protect \text  {Ом}}.
<argument> ...ymbol_tmpa_tl \show \l__siunitx_symbol_tmpb_tl 
                                                  \group_end: \prg_return_fa...
l.13 \begin{document}

这到底是什么意思?我该怎么办?

答案1

某个版本中存在一段杂散的调试代码:只需按 Enter 即可跳过。该问题仅出现在 v3.0.11 中:该问题在 v3.0.10 中不存在,并在 v3.0.12 中得到修复。

相关内容