我使用 Charter(附带软件包mathdesign
)作为主文本字体。由于 mathdesign 在字距调整方面做得不好(参见 MWE 中的“NOP。”和“DEF。”),我还加载了charter
此建议加载了软件包问题。
此外,我在文本中用 \micro 前缀表示了不少单位。我希望我的数字和单位与周围的文本形状相同。但是,在加载包时,charter
除了 之外mathdesign
,mu 也发生了变化。
我能做些什么?
\documentclass{scrreprt}
\usepackage[bitstream-charter]{mathdesign}
%\usepackage{charter}
\usepackage[detect-all=true]{siunitx}
\begin{document}
Testing the kerning with two examples: NOP. DEF.
Testing the ``micro'': \SI{1}{\micro\metre}
\textit{in italic text: \SI{1}{\micro\metre}}
\end{document}
示例 1:siunitx 中的字距调整不佳,但周围环境检测良好
示例 2:更好的字距调整,siunitx 中不检测周围环境
答案1
普通的 Charter 字体(字体系列bch
,随软件包一起加载charter
)不包含直立字体\textmu
(这是文本模式下 µ 的名称)。此外,它根本不包含 Ω,因此将从 Computer Modern Roman 中选择。但您可以使用和访问mathdesign
软件包提供的字形。另一方面,在数学模式下,您总是需要直立版本,这样就可以使用和。\fontfamily{mdbch}\textmu
\textohm
mathdesign
\muup
\Omegaup
因此,下面的操作应该可以满足您的要求,并且如果您选择遵循始终将单位直立的建议,它也可以解决问题:
\documentclass{scrreprt}
\usepackage[bitstream-charter]{mathdesign}
\usepackage{charter}
\usepackage{textcomp}
\usepackage[detect-all=true]{siunitx}
\sisetup{
math-micro=\muup,
math-ohm =\Omegaup,
text-micro={\fontfamily{mdbch}\textmu},
text-ohm ={\fontfamily{mdbch}\textohm}
}
\begin{document}
Testing the kerning with two examples: NOP. DEF.
With font switch: \SI{1}{\micro\metre}, \SI{1}{\ohm},
\textit{in italic text: \SI{1}{\micro\metre}, \SI{1}{\ohm}}
In math mode: $\SI{1}{\micro\metre}, \SI{1}{\ohm}$,
\textit{in italic math: $\SI{1}{\micro\metre}, \SI{1}{\ohm}$}
\sisetup{detect-all=false}
Always upright: \SI{1}{\micro\metre}, \SI{1}{\ohm},
\textit{in italic text: \SI{1}{\micro\metre}, \SI{1}{\ohm}}
In math mode: $\SI{1}{\micro\metre}, \SI{1}{\ohm}$,
\textit{in italic math: $\SI{1}{\micro\metre}, \SI{1}{\ohm}$}
\end{document}