对于以下内容,我需要
理解为什么两者都不
detect-all
使detect-inline-family=math
打印\num
字体与周围的内联数学相同,唯一的方法是通过math-rm = \symup
按照建议的方式这个答案。了解为什么我需要加载该选项
math-rm = \symup
才能使\num
复制文档成为默认数学字体。知道是否可以让默认数学字体粗细与周围的普通文本一样细,因为它在我眼里看起来更粗一些。
\documentclass[14pt]{article}
\usepackage[no-math]{fontspec}
\setmainfont{Latin Modern Roman}
\usepackage{unicode-math}
\setmathfont[math-style=ISO]{Cambria Math}
\usepackage[
detect-all,
detect-inline-family=math
]{siunitx}
\begin{document}
\centering
text: 123 \num{123}\\
inline math: $123~\num{123}$\\
display math: \[123~\num{123}\]
\verb|\sisetup{math-rm = \symup}|
\sisetup{math-rm = \symup} % https://tex.stackexchange.com/a/438342/2288
\vspace{\baselineskip}
text: 123 \num{123}\\
inline math: $123~\num{123}$\\
display math: \[123~\num{123}\]
\end{document}
答案1
\mathrm
(和\mathbf
等)在默认设置中使用周围文本字体的字形,\symrm
(和\symbf
?等)使用数学字体的字形:
\documentclass[14pt]{article}
\usepackage{unicode-math}
\setmainfont{Arial}
\setmathfont[math-style=ISO]{Cambria Math}
\begin{document}\pagestyle{empty}
$\mathrm{mathrm}\quad\symrm{symrm}$
\end{document}
默认情况下\num
使用其中一种\mathXXX
字体,默认情况下此\mathXXX
字体使用文本字体,因此\num
即使在数学中也使用文本字体。math-rm = \symup
您可以强制它使用数学字体。
detect-inline-family=math
并不意味着\num
会使用数学字体,而是意味着\num
如果位于数学命令中,则会做出反应。例如尝试
$123~\num{456}~\mathsf{\num{789}}$
- 知道是否可以让默认的数学字体粗细和周围的字体一样轻
嗯,Cambria Math 更大胆一些。为什么不使用更合适的默认 (拉丁现代数学)?