正如标题所述,当使用该noto
包将默认字体更改为 Noto Sans 时,我注意到插入的希腊字母 mu 与siunitx
常规文本的字体大小不匹配。默认字体如下所示:
您可以清楚地看到 mu 和 m 字符的高度相同。使用 Noto Sans(detect-all
建议使用在这个问题中将siunitx
字体设置为与标准文本字体匹配),我们可以看到 mu 字符现在太小了:
这个问题不仅限于siunitx
此,因为当使用textgreek
包将常规 mu 插入文本(示例图像中的中间行)时,字符的大小也是错误的。
其他希腊字符(例如 alpha 和 kappa)在 Noto 和默认字体中都与拉丁文本高度一致。有没有办法纠正 Noto 中 mu 字符的大小,或者这种大小差异是设计使然?
用于生成上述图像的最小工作示例:
\documentclass[12pt]{report}
\usepackage{textgreek}
\usepackage{siunitx}
% Comment out to use original font
\usepackage[sfdefault]{noto}
\sisetup{detect-all}
\begin{document}
\noindent
Example siunitx: \SI{5}{\micro\metre}
\noindent
Example text: 5\textmu m
\noindent
Example maths: $5\mu m$
\end{document}
答案1
使用alphabeta
而不是textgreek
。Noto Sans 系列支持希腊语,因此您不需要进行字体系列替换。
\documentclass[12pt]{report}
\usepackage{alphabeta}
\usepackage{siunitx}
% Comment out to use original font
\usepackage[sfdefault]{noto}
\sisetup{detect-all}
\begin{document}
Example siunitx: \SI{5}{\micro\metre}
Example text: 5\textmu m
Example maths: $5\mu m$
\end{document}
答案2
LaTeX 认为 noto 没有该符号,因此用 cmss 中小得多的符号替换它。
例如,您可以将 noto 的类别从 7 更改为 6,但请注意,这可能意味着 LaTeX 可能会尝试使用 noto 中字体未提供的符号。对 textcomp 支持进行分类并非易事,因为这里的每种字体都不同。
\documentclass[12pt]{report}
\usepackage{textgreek}
\usepackage{siunitx}
\tracinglostchars=3
% Comment out to use original font
\usepackage[sfdefault]{noto}
\DeclareEncodingSubset{TS1}{NotoSans-*}{6}
\sisetup{detect-all}
\begin{document}
\noindent
Example siunitx: \SI{5}{\micro\metre}
\noindent
Example text: 5\textmu m
\noindent
Example maths: $5\mu m$
\end{document}
答案3
这是一个具有主字体比例的解决方案,以便\textmu
字符的可能回退看起来没问题:
\documentclass[14pt]{extreport}
\usepackage{textgreek}
\usepackage{siunitx}
% Comment out to use original font
\usepackage[sfdefault,scale=0.85]{noto}
\sisetup{detect-all}
\begin{document}
\noindent
Example siunitx: \SI{5}{\micro\metre}
\noindent
Example text: 5\textmu m
\noindent
Example maths: $5\mu m$
\end{document}