siunitx не определяет стиль чисел

siunitx не определяет стиль чисел

Siunitx не распознает цифры старого стиля, несмотря на detect-allнастройки. Можете ли вы мне помочь?

МНВЭ:

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

Это приводит к:

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

решение1

Просто убедиsiunitxиспользовать только что созданное семейство шрифтов можно следующим образом:

\sisetup{text-rm=\oldstyle}

полный пример:

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

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


Вас заставят это сделать, как сказано в руководстве:

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

Чтобы этому противостоять, есть несколько возможностей:

detect-allобъединяет следующие четыре отдельные команды

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

Так что он не обнаруживаетвсе- поэтому название немного вводит в заблуждение.

Стиль чисел — это довольно специфическая настройка шрифта, которая не включена в detect-all.


Какsiunitxпредназначен для использования в научных обозначениях чисел и единиц измерения, вполне понятно, что стиль чисел не может быть изменен так легко, поскольку это не будет выглядеть"научный"больше нет. Я также использую номера старого стиля в своей диссертации для нумерации глав и т. д., и на самом деле я siunitxсначала ожидал адаптировать эту настройку, но с радостью приветствую, что этого не произошло.

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