要定义本地化单位符号,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 中得到修复。