内联数学模式中的旧式数字,但不在 displaymath 中

内联数学模式中的旧式数字,但不在 displaymath 中

\(我希望内联数学模式(带有和)中的数字\)为旧式,以匹配其余文本。但是,显示模式下的数学应该采用常规内联数字。我尝试使用 etoolbox 包,但遗憾的是,没有用。MWE:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{libertine}
\usepackage[libertine]{newtxmath}
\useosf
\usepackage{etoolbox}
\AtBeginEnvironment{math}{\def\libertine@figurestyle{OsF}}
%\AtBeginEnvironment{displaymath}{\useosf}


\begin{document}

This is some text with 45 numbers included becuase 123 I like numbers. I also like to \(5+4=9\) include math in my texts.
\begin{math}
77 \times 11 \neq 5
\end{math}
Some more text here.

\[5+4\neq 10 \]

\end{document}

更新

以下命令很有用,但不适用于mathdisplaymath环境。不过,它们适用于tabular环境。

  • 比例旧式数字:\fontfamily{LinuxLibertineT-OsF}\selectfont
  • 比例衬线数字:\fontfamily{LinuxLibertineT-LF}\selectfont
  • 表格旧式数字:\fontfamily{LinuxLibertineT-TOsF}\selectfont
  • 表格内衬数字:\fontfamily{LinuxLibertineT-TLF}\selectfont

例如:

\AtBeginEnvironment{tabular}{\fontfamily{LinuxLibertineT-TOsF}\selectfont}

相关内容