合并 \oldstylenums 和 \textsc

合并 \oldstylenums 和 \textsc

我希望有一个命令,将\oldstylenums参数中的数字和\textsc参数中的文本结合起来。我相信使用一些 for 循环的解决方案是可能的,但我认为一定有一个更简单的解决方案。

梅威瑟:

\documentclass{article}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\pagestyle{empty}

\begin{document}

I get \oldstylenums{1s}

I want \oldstylenums{1}\textsc{s}

\end{document}

平均能量

答案1

当然你真的在这种情况下,您想要的是带有小写字母和旧式数字的字体。作为真实或虚拟字体,那么您只需访问字体,TeX 无需执行任何操作。但虚拟字体现在并不那么流行,也许可以执行 TeX 循环:

\documentclass{article}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\pagestyle{empty}

\begin{document}

I get \oldstylenums{1s}

I want \oldstylenums{1}\textsc{s}

\makeatletter
\def\zzz#1{%
\@tfor\tmp:=#1\do{%
\ifcat1\tmp\relax\oldstylenums\tmp\else\textsc\tmp\fi}}
\makeatother

\zzz{1s}

\end{document}

答案2

提供cfr-lm对拉丁现代旧式数字的支持,其中包括:

\documentclass{article}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[rm=oldstyle]{cfr-lm}
\pagestyle{empty}

\begin{document}

1234567890

\textsc{I want 1234567890}

\end{document}

在此处输入图片描述

相关内容