如何在 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 處理此範例)。

相關內容