巴别塔 (Babel) 丢弃了内衬数字?

巴别塔 (Babel) 丢弃了内衬数字?

我使用 Baskervaldx 的 Baskerville 作为正文(带osf选项),使用 Newtx 的 Times 作为数学(带baskervaldx选项)。

pdflatex编译时未babel启用,文本图形为旧式,数学图形为直线。由于babel启用,所有图形都切换为旧式,我不想让数学图形变成这样……

如何才能将旧式数字保留为文本,将线条保留为数学?


分数维:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
%\usepackage[english]{babel}

\usepackage[osf]{Baskervaldx}
\usepackage[baskervaldx]{newtxmath}

\begin{document}

Baskervaldx text with old-style figures: 012345.

Math font is NewTXmath with baskervaldx option,
in \emph{inline math} ($x = 425^{28}$)
and \emph{display math:}

\[x = 425^{28}\]

\end{document}

答案1

奇怪的是,您没有提到查看文档newtxmath,其中包含使用 Babel 时使用衬线数字进行数学运算和悬挂进行文本的详细说明。

不幸的是,它们似乎只有在使用字体时才适用newtxtext,尽管文档实际上并没有这么说。

因此最直接的选择可能就是明确重写所需的配置。

例如,

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[american]{babel}
\usepackage[osf]{Baskervaldx}
\usepackage[baskervaldx]{newtxmath}
\SetSymbolFont{operators}   {normal}{T1}{Baskervaldx-LF} {m}{n}
\SetSymbolFont{operators}   {bold}  {T1}{Baskervaldx-LF} {b}{n}

\begin{document}

Baskervaldx text with old-style figures: 012345.

Math font is NewTXmath with baskervaldx option,
in \emph{inline math} ($x = 425^{28}$)
and \emph{display math:}

\[x = 425^{28}\]

\end{document}

调整字体配置

相关内容