使用siunitx的两个问题

使用siunitx的两个问题

我对该siunitx软件包有两个问题。在阅读文档并搜索互联网均无果后,我希望有人能帮助我:

\documentclass[12pt, 
        ]{scrreprt} 

\usepackage[ngerman]{babel} 
\usepackage[babel, german=quotes]{csquotes} 
\usepackage{amsmath} 

\usepackage{siunitx} 
\sisetup{ 
        mode = math, 
        detect-all, 
        exponent-product = \cdot, 
        number-unit-separator=\text{\,}, 
        output-decimal-marker={\text{,}}, 
}     

\usepackage{chemmacros} 
\usechemmodule{all} 
\chemsetup{greek = {fontspec}} 

\usepackage{fontspec} 

\usepackage{unicode-math} 
\setmainfont{Lucida Bright OT} 
\setmathfont{Libertinus Math} 

\begin{document} 

\SI{5}{\ohm} $\Omega$ 

\end{document}

问题#1:

\sisetup部分中,我将模式明确设置为math。这样做,我希望两个 omegas(Ohm 和 math-mode-Omega)看起来相同,即使用相同的字体(在本例中为 Libertinus Math)。为什么情况并非如此?

问题 #2:

如果我使用 LuaLaTeX 编译给定的 MWE,则不会显示 SI-Omega ( \ohm)。如果我执行以下三项操作之一,则会\ohm显示 (这意味着符号本身可用):

  • 注释掉detect-all里面的行\sisetup
  • 更改为另一种主字体(我绝对不想这样做);
  • 注释掉与 chemmacros 包相关的三行。

detect-all对我来说,这似乎很奇怪,其他字体和线条都没有问题chemmacros

造成此问题的原因可能是什么,或者我做错了什么?

附言:我正在使用 TUG 的 Lucida 版本以及最新版本的 TeXLive 2017(所有软件包都是最新的)。

=====================更新=====================

昨天这里有一个答案,建议重新排序命令。不幸的是,这并没有解决问题。无论如何,我尝试了其他方法:切换到 Lucida 字体的 Type-1 形式会导致以下代码:

\documentclass[12pt,
               ]{scrreprt}
%\usepackage[T1]{fontenc} % for pdfLaTeX
\usepackage[ngerman]{babel}
\usepackage[babel, german=quotes]{csquotes}
\usepackage{amsmath}
\usepackage{siunitx}
\sisetup{
        mode = math,
        detect-all,
        exponent-product = \cdot,
        number-unit-separator=\text{\,},
        output-decimal-marker={\text{,}},
}     

\usepackage{chemmacros}
\usechemmodule{all}

\usepackage{lucimatx}

\begin{document}
\SI{5}{\ohm} $\Omega$

\end{document}

如果我使用LuaLaTeX和编译此新代码\usepackage[T1]{fontenc},我会得到一个 Omega,但采用标准字体 (CMR)。使用和LaTeX编译代码,我会得到正确字体 (Lucida) 的 \ohm-Om​​ega。所以,也许问题在于编码问题而不是软件包问题?pdfLaTeX\usepackage[T1]{fontenc}

答案1

我找到了一种解决方法,至少我会将此视为一种解决方法,因为符号\micro无需任何改变即可工作。

通过增加

    math-ohm = \ensuremath{\upOmega},
    text-ohm = Ω,

到它\sisetup按预期工作。尽管如此,我还是希望对一般问题有一个更基本的答案(特别是为什么符号有效\micro?)。有趣的是,在发布初始帖子之前,我尝试过这个版本(因为手册中推荐它\siunitx(对于XeTeX))并且它没有工作......可能是一些打字错误。由于我使用 Lucida 作为文本字体以及数学字体,因此在我的特殊情况下任何差异都应该无关紧要。

相关内容