
Я хочу набрать знак цифры № в Plain TeX.
Моя первая догадка — использовать
\def\numero{$\rm N^{\underline o}$}
но линия под буквой «о» слишком длинная, и мне не хочется возиться с произвольными значениями длины, чтобы укоротить поле.
И
\def\numero{$\rm N^{\b o}$}
выдает о нормального размера, а это не то, что мне нужно.
Есть идеи? Меня устраивает, если o будет надстрочным или базовым.
решение1
Вы можете использовать кернинг.
\def\numero{%
\leavevmode
\hbox{%
$\rm N^{\mkern0.8mu\underline{\mkern-0.8mu o\mkern-0.8mu}\mkern0.8mu}$%
}%
}
\numero 1
\bye
Возможно, лучше было бы сделать маленькую «о» более выразительной и поставить черту под ударением.
\def\numero{%
{\rm N}%
\raise1.05ex\hbox{\fiverm \b{o}}%
}
\numero 1
\bye
Если вы не хотите угадывать величину подъема и использовать pdftex
, вы можете использовать \fontcharht
(или поступить сложнее, измерив высоту N и выполнив некоторые арифметические действия).
\def\numero{%
{\rm N}%
\begingroup
\setbox0=\hbox{\fiverm o}%
\raise\dimexpr\fontcharht\font`N-\ht0\hbox{\fiverm \b{o}}%
\endgroup
}
\numero 1
решение2
Если вы используете движок Unicode (xetex или luatex), то вы можете просто загрузить шрифт Unicode и использовать № напрямую. Например:
\input lmfonts
№1
\bye
(обработайте этот пример с помощью luatex или xetex).