![Изменить размер шрифта вывода siunitx](https://rvso.com/image/475715/%D0%98%D0%B7%D0%BC%D0%B5%D0%BD%D0%B8%D1%82%D1%8C%20%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%80%20%D1%88%D1%80%D0%B8%D1%84%D1%82%D0%B0%20%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4%D0%B0%20siunitx.png)
При записи чисел с единицами с помощью пакета 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}
но это просто меняет все написанное на \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
Я бы предложил загрузить siunitx
с опцией mode=text
. Таким образом, текстовый шрифт (здесь: Verdana) будет автоматически использоваться в директивах \num
и .\unit
% !TEX TS-program = lualatex
\documentclass{article}
\usepackage{unicode-math}
\setmainfont{Verdana} % main font
\usepackage[mode=text]{siunitx}
\begin{document}
This is some text \dots\ \qty{1064}{\um}.
\end{document}
решение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]