unicode-math 和旧式数字

unicode-math 和旧式数字

我正在尝试找到一种使用fontspecunicode-math和存档以下内容的好方法lualatex

  1. 几乎全球通用的旧式数字,包括内联数学
  2. 显示方程式的排列数字,例如equation

我目前不稳定、丑陋的解决方案如下。我说不稳定是因为类选项fleqn会破坏它的丑陋。。。好吧,看看:

\documentclass{article}
\usepackage{fontspec}
\usepackage{unicode-math}
\defaultfontfeatures{Numbers=OldStyle}
\setmainfont[Ligatures=TeX]{Tex Gyre Pagella}
\setmathfont[]{Tex Gyre Pagella Math}
%% PROBLEM   : No +onum in this font (or Cambria Math)
%% "SOLUTION": Take numbers from normal font
\setmathfont[range=\mathup/{num}]{Tex Gyre Pagella}
%% PROBLEM   : Not old style figures in display env.
%% "SOLUTION": Reload the Math variant since it ain't got onum.
\everydisplay={\setmathfont[range=\mathup/{num}]{Tex Gyre Pagella Math}}
\begin{document}
\noindent\centering
123\textit{x}\textsubscript{456}\\
$123x_{456}$
\begin{equation}
123x_{456}
\end{equation}
\end{document}

输出如下:

在显示和内联时使用不同的数字样式输出

我花了相当多的时间查阅 的手册fontspecunicode-mathmathspec还是没能找到更好的解决方案。的version参数似乎需要 这样的内容。setmathfontunicode-mathbold

附加问题:我是否破坏了某些印刷风格?

相关内容