使用 siunitx 包编写带单位的数字时\SI{1064}{\um}
,数字和单位明显小于文本,但 mu 似乎是正确的大小。我使用 Verdana 作为主文本字体,并使用数学的默认 LaTeX 字体。MiKTeX 并使用 LuaLaTeX 编译。
平均能量损失
\documentclass[10pt,a4paper]{article}
\usepackage{siunitx}
\usepackage{fontspec}
\defaultfontfeatures{Ligatures=TeX}
\setsansfont{Verdana} % Setting sans font
\renewcommand*{\familydefault}{\sfdefault} % Making sans serif font the default
\linespread{1.16} % Increasing the linespacing
\usepackage{unicode-math}
\begin{document}
This is some text \SI{1064}{\um} m $m$
\end{document}
我尝试使用\defaultfontfeatures{Scale=MatchLowercase}
\documentclass[10pt,a4paper]{article} \usepackage{siunitx}
\usepackage{fontspec}
\defaultfontfeatures{Ligatures=TeX}
\setsansfont{Verdana} % Setting sans font
\renewcommand*{\familydefault}{\sfdefault} % Making sans serif font the default
\linespread{1.16} % Increasing the linespacing
\usepackage{unicode-math}
\defaultfontfeatures{Scale=MatchLowercase}
\begin{document}
This is some text with scaling \SI{1064}{\um} m $m$
\end{document}}
数学模式中的数字和 m 变大了,但单位中的 m 没有变大。我试过了,\sisetup{detect-all}
但那只会把所有用 Verdana 书写的文字都改成\SI
Verdana,这不是我想要的。有没有办法增加单位字体的大小?
答案1
您的问题是数学模式字体与正文字体大小不同。我已通过缩放来解决这个问题,例如
\documentclass[10pt,a4paper]{article}
\usepackage{siunitx}
\usepackage{fontspec}
\defaultfontfeatures{Ligatures = TeX, Scale = MatchLowercase}
\setsansfont{Verdana} % Setting sans font
\renewcommand*{\familydefault}{\sfdefault} % Making sans serif font the default
\usepackage{unicode-math}
\begin{document}
This is some text \qty{1064}{\um}.
\end{document}
答案2
答案3
我最初将@JosephWright 的答案标记为解决方案,但这似乎缩小了主字体(Verdana)以匹配数学字体大小。
因此,使用他的回答以及@Mico 关于如何更改主数学字体的评论,我找到了一个似乎有效的解决方案:
\documentclass[10pt,a4paper]{article}
\usepackage{siunitx}
\usepackage{unicode-math}
\defaultfontfeatures{Ligatures=TeX}
\setsansfont{Verdana} % Setting sans font
\renewcommand*{\familydefault}{\sfdefault} % Making sans serif font the default
\setmathfont{Cambria Math}[Scale=MatchUppercase] % Setting the maths font and scaling to match Verdana size
\setmathrm{Cambria Math}[Scale=MatchUppercase] % Setting the upright maths font used by siunitx
\newfontfamily{\mufont}{Cambria Math} % Selecting the mu from the Cambria Math font...
\DeclareSIPrefix\micro{\ensuremath{\mufont μ}}{-6} % ...and the selecting it for use with siunitx and make it represent 10^-6
\begin{document}
This is some text \dots\ \qty{1064}{\um}.
\end{document}
我需要将直立数学字体设置为 Cambria Math 并按比例缩放\setmathrm{Cambria Math}[Scale=MatchUppercase]