шрифты / siunitx: Понимание того, как работают «detect-all» и «detect-inline-family=math»

шрифты / siunitx: Понимание того, как работают «detect-all» и «detect-inline-family=math»

Для следующего мне нужно

  1. понять, почему ни то, detect-allни другое detect-inline-family=mathне делает \numпечать тем же шрифтом, что и окружающая встроенная математика, и единственный способ сделать это — сделать так, math-rm = \symupкак предложеноэтот ответ.

  2. понимаю, почему мне нужно загрузить опцию math-rm = \symup, чтобы скопировать \numматематический шрифт документа по умолчанию.

  3. Подскажите, пожалуйста, можно ли сделать шрифт математических символов по умолчанию таким же светлым, как и окружающий его обычный текст, так как для моих глаз он выглядит немного жирнее.

введите описание изображения здесь

\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}}$

введите описание изображения здесь

  1. узнать, возможно ли сделать шрифт по умолчанию для математических символов таким же светлым, как и окружающие его элементы

Ну, Cambria Math немного смелее. Почему бы вам не использовать значение по умолчанию (латинская современная математика), которое подошло бы лучше?

Связанный контент