siunitx não detecta estilo numérico

siunitx não detecta estilo numérico

Siunitx não reconhece os números antigos, apesar da detect-allconfiguração, você pode me ajudar?

MNWE:

\documentclass{standalone}

\usepackage{fontspec}
\setmainfont{TeX Gyre Pagella}

\newfontfamily\oldstyle[Numbers={Monospaced,OldStyle}]{TeX Gyre Pagella}

\usepackage[detect-all]{siunitx}

\begin{document}
  \oldstyle\num{123}123
\end{document}

Isto resulta em:

insira a descrição da imagem aqui

Responder1

Apenas convençasiunitxpara usar sua família de fontes recém-criada:

\sisetup{text-rm=\oldstyle}

exemplo completo:

\documentclass{standalone}

\usepackage{fontspec}
\setmainfont{TeX Gyre Pagella}

\newfontfamily\oldstyle[Numbers={Monospaced,OldStyle}]{TeX Gyre Pagella}

\usepackage[detect-all]{siunitx}

\AtBeginDocument{
\sisetup{text-rm=\oldstyle}
}

\begin{document}
  \oldstyle\num{123}123
\end{document}

insira a descrição da imagem aqui


Você é forçado a fazer isso, como diz o manual:

O pacote siunitx controla a fonte usada para imprimir a saída independentemente do material ao redor. O método padrão é ignorar totalmente o ambiente e usar as fontes atuais do corpo.

Para trabalhar contra isso, existem apenas algumas possibilidades:

detect-allcombina os seguintes quatro comandos únicos

  • detect-weight
  • detect-family
  • detect-shape
  • detect-mode

Então ele não detectatodos- o nome é, portanto, um pouco enganador.

O estilo numérico é uma configuração de fonte bastante específica que não está incluída no detect-all.


Comosiunitxdestina-se a ser usado para notações científicas de números e unidades é bastante compreensível que o estilo dos números não possa ser alterado tão facilmente como não pareceria"científico"não mais. Estou usando números antigos em minha tese também para números de capítulos, etc. e, na verdade, esperava siunitxadaptar essa configuração no início, mas fiquei feliz por isso não acontecer.

informação relacionada