没有小写字母和 tgpagella 的旧式数字

没有小写字母和 tgpagella 的旧式数字

tgpagella激活小写字母的旧式数字。我正在寻找一种可以禁用旧式数字的方法(如在其他情况下textbf,例如 等)。

\documentclass{article}
\usepackage{tgpagella}
\begin{document}
0123456789

\textsc{0123456789}
\end{document}

答案1

使用xelatexlualatex代替:

\documentclass{article}
\usepackage{fontspec}
\setmainfont{TeX Gyre Pagella}
\begin{document}
0123456789 TeX Gyre Pagella

\textsc{0123456789 TeX Gyre Pagella}

\end{document}

在此处输入图片描述

答案2

如果问题仅出现在几个位置,则定义宏\newstylenums并对每个数字使用它可能就足够了。

\documentclass{article}
\usepackage{tgpagella}
\usepackage{etoolbox}
\makeatletter
\newcommand{\newstylenums}[1]{%
  \begingroup%
  \expandafter\ifstrequal\expandafter{\f@family}{qpl}{%
    \expandafter\ifstrequal\expandafter{\f@shape}{sc}{\fontshape{n}}{}%
  }{}%
  \selectfont%
  #1%
  \endgroup%
}
\makeatother
\begin{document}
abfg 0123456789

\textsc{abfg \newstylenums{0123456789}}

\textbf{\textsc{abfg \newstylenums{0123456789}}}

\textit{abfg \newstylenums{0123456789}}
\end{document}

MWE 的输出

相关内容