如何在 Plain TeX 中排版数字符号?

如何在 Plain TeX 中排版数字符号?

我想在 Plain TeX 中排版数字符号 №。

我的第一个猜测是使用

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

但是 o 下面的线太长了,我真的不想弄乱任意长度值来缩短框。

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

确实产生了一个正常大小的 o,但这不是我想要的。

有什么想法吗?我同意 o 是上标或基线。

答案1

您可以使用一些字距调整。

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

\numero 1

\bye

在此处输入图片描述

也许更好的方法是,在重音下画一个带有横线的小 o。

\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 处理此示例)。

相关内容