對於以下內容,我需要
理解為什麼既不打印
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}}$
- 知道是否可以使預設的數學字體粗細與周圍的字體一樣輕
坎布里亞數學有點大膽。為什麼不使用更適合的預設值(拉丁現代數學)?