fonts / siunitx: Compreender como funcionam “detect-all” e “detect-inline-family = math”

Sep 17 2020

Para o seguinte, preciso

  1. entenda por que nem detect-allnem detect-inline-family=mathnão \numimprime a mesma fonte da matemática embutida ao redor, e a única maneira de fazer isso é math-rm = \symupcomo sugerido por esta resposta .

  2. entendo porque preciso carregar a opção math-rm = \symuppara fazer a \numcópia da fonte matemática padrão do documento.

  3. sei se é possível tornar a espessura da fonte matemática padrão tão leve quanto o texto normal ao redor, uma vez que parece um pouco mais ousado aos meus olhos.

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

Respostas

3 UlrikeFischer Sep 26 2020 at 21:39

\mathrm(e \mathbfetc) usa na configuração padrão glifos da fonte do texto ao redor, \symrm(e \symbf? etc) usa glifos da fonte matemática:

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

Por padrão, \numusa uma das \mathXXXfontes e, por padrão, essas \mathXXXfontes usam fontes de texto e, portanto, \numusam uma fonte de texto, mesmo em matemática. Com math-rm = \symupvocê pode forçá-lo a usar a fonte matemática.

detect-inline-family=mathnão significa que \numusará uma fonte matemática, significa que \numreagirá se estiver dentro de um comando matemático. Tente por exemplo

  $123~\num{456}~\mathsf{\num{789}}$

  1. saber se é possível fazer o peso da fonte matemática padrão tão leve quanto o ambiente

Bem, Cambria Math é um pouco mais ousada. Por que você não usa o padrão (matemática moderna latina) que se encaixaria melhor?