[Tex/LaTex] the correct way of writing a percentage next to \oldstylenums

oldstylenums

If I want to write in text e.g. 1.1-1.5% and use \oldstylenums to get non-lining numbers, what would be the correct way of specifying the percent sign?

When I simply write the percent sign as

\oldstylenums{1.1}--\oldstylenums{1.5}\%

the percent sign seems too large and out-of-place next to non-lining numbers and lowercase letters. Is there some way of getting a smaller, "lowercase" percent sign or should the "capitalized" percent sign simply be considered correct?

Best Answer

I'd never use oldstyle digits in these cases. Moreover, their input with the standard fonts is very cumbersome:

\oldstylenums{1}.\oldstylenums{1}--\oldstylenum{1}.\oldstylenum{5}\%

is something I'd never stand (note that a period in the argument of \oldstylenum produces a funny symbol).

You could use fonts that have oldstyle digits to begin with, for instance the Latin Modern fonts as modified by Clea F. Reese:

\documentclass{article}
\usepackage[
  rm={oldstyle=true,tabular=true},
  sf={oldstyle=false,tabular=true},
  tt={oldstyle=false,tabular=true}
]{cfr-lm}

\newcommand{\smallpercent}{{\footnotesize\%}}

\begin{document}
1.1--1.2\smallpercent\quad 1.1--1.3\smallpercent

1.1--1.4\smallpercent\quad 1.1--1.5\smallpercent

1.1--1.6\smallpercent\quad 1.1--1.7\smallpercent

1.1--1.8\smallpercent\quad 1.1--1.9\smallpercent

\end{document}

enter image description here

Using \small doesn't seem right; but the overall appearance is a clear invitation not to use oldstyle figures for this purpose.

Instead of the package cfr-lm you can use eco:

\usepackage{eco}

Both allow for changing the style of digits mid document; cfr-lm is more powerful, eco has only \newstylenums.