有没有非打字机我可以将十六进制数字与表格数字一起使用的字体是什么,即 0–F 的宽度相同,因此它们会按列排列?我搜索后什么也找不到。我想如果没有,我可以编写一个 hack 宏来近似它,方法是将每个数字放在相同宽度的框中。
答案1
如果您希望字体按照其设计产生等宽字母,那么这就是打字机字体的定义。如果这就是您所追求的,您只需在此类字体库中查找适合的字体即可。
但是,如果您愿意使用宏或环境方法来解决此问题,我在这里使用它tokcycle
来构建\rmhex
伪环境,它将产生等距数字。间距的选择与文档默认字体在 0-9、AF 范围内的最宽字形相匹配,这涵盖了 OP 似乎感兴趣的十六进制范围。
在下面的 MWE 中,我展示了结果。虽然间距看起来很宽,但它被设置为 的宽度,这是 Computer Modern 在 0-9,AF 范围内最宽的字形。环境通过对环境中的每个标记D
应用固定宽度来工作。\makebox
\documentclass{article}
\usepackage{tokcycle}
\newsavebox\lettwd
\savebox\lettwd{{\ooalign{0\cr A\cr B\cr C\cr D\cr E\cr F}}}
\tokcycleenvironment\rmhex
{\addcytoks{\makebox[\wd\lettwd]{##1}}}
{\processtoks{##1}}
{\addcytoks{##1}}
{\addcytoks{\makebox[\wd\lettwd]{##1}}}
\begin{document}
\rmhex 0123456789\endrmhex
\rmhex 2356 FFB A\endrmhex
DDDDDDDDDD
\end{document}