4

I want to typeset the numero sign № in Plain TeX.

My first guess is to use

\def\numero{$\rm N^{\underline o}$}

but the line under the o is too long and I don't really want to mess up with arbitrary length values to shorten the box.

And

\def\numero{$\rm N^{\b o}$}

does produce a normal-size o which is not what I want.

Any idea? I am fine with the o being superscript or baseline.

0

2 Answers 2

8

You can use some kerning.

\def\numero{%
  \leavevmode
  \hbox{%
    $\rm N^{\mkern0.8mu\underline{\mkern-0.8mu o\mkern-0.8mu}\mkern0.8mu}$%
  }%
}

\numero 1

\bye

enter image description here

Perhaps better, raise a smaller o with a bar under accent.

\def\numero{%
  {\rm N}%
  \raise1.05ex\hbox{\fiverm \b{o}}%
}

\numero 1

\bye

enter image description here

If you don't want to guess the amount of raising and use pdftex, you can use \fontcharht (or do it the hard way by measuring the height of N and doing some arithmetic).

\def\numero{%
  {\rm N}%
  \begingroup
  \setbox0=\hbox{\fiverm o}%
  \raise\dimexpr\fontcharht\font`N-\ht0\hbox{\fiverm \b{o}}%
  \endgroup
}

\numero 1

enter image description here

2
  • Thank you for your answer, I will study those solutions
    – user227615
    Apr 14, 2022 at 20:20
  • @user202729 Thanks for noting
    – egreg
    Apr 15, 2022 at 7:53
5

When you are using Unicode engine (xetex or luatex) then you can simply load a Unicode font and use № directly. For example:

\input lmfonts

№1

\bye

(process this example by luatex or xetex).

You must log in to answer this question.