Siunitx erkennt die Oldstyle-Nummern trotz der detect-all
Einstellung nicht, können Sie mir helfen?
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}
Das führt zu:
Antwort1
Einfach überzeugenAbonnierenum Ihre neu erstellte Schriftfamilie zu verwenden, indem Sie:
\sisetup{text-rm=\oldstyle}
vollständiges Beispiel:
\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}
Sie sind dazu gezwungen, wie im Handbuch steht:
Das siunitx-Paket steuert die Schriftart, die für die Druckausgabe verwendet wird, unabhängig vom umgebenden Material. Die Standardmethode besteht darin, die Umgebung vollständig zu ignorieren und die aktuellen Textschriftarten zu verwenden.
Um dem entgegenzuwirken, gibt es einige Möglichkeiten:
detect-all
kombiniert die folgenden vier Einzelbefehle
detect-weight
detect-family
detect-shape
detect-mode
Es erkennt also nichtalle– der Name ist daher etwas irreführend.
Der Zahlenstil ist eine eher spezielle Schrifteinstellung, die nicht in enthalten ist detect-all
.
AlsAbonnierenist für die wissenschaftliche Notation von Zahlen und Einheiten gedacht, es ist aber verständlich, dass der Zahlenstil nicht so einfach geändert werden kann, da er sonst nicht"wissenschaftlich"mehr. Ich verwende in meiner Arbeit auch für Kapitelnummern etc. alte Nummern und hatte eigentlich erwartet, siunitx
diese Einstellung zuerst anpassen zu müssen, war dann aber erfreut, dass dies nicht der Fall war.