Siunitx は設定にもかかわらず、旧式の数字を認識しません。detect-all
助けてもらえますか?
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}
結果は次のようになります:
答え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
次の4つのコマンドを組み合わせます
detect-weight
detect-family
detect-shape
detect-mode
だから検出されない全て- そのため、名前は少し誤解を招く可能性があります。
数字スタイルは、 には含まれていない、かなり特殊なフォント設定ですdetect-all
。
としてsiunitx数値や単位の科学的表記に使用することを意図しているため、数値のスタイルを簡単に変更できないのは当然です。「科学的」もうそうではありません。私は論文でも章番号などに古いスタイルの数字を使用しており、siunitx
最初はこの設定を採用するつもりでしたが、そうしなくてよかったと思っています。