阿拉伯数字的字距调整?

阿拉伯数字的字距调整?

在大多数字体中,阿拉伯数字的宽度不成比例,这意味着 1 和 8 的宽度完全相同,即使前者的自然宽度较小。这对于排版表格很有用,但在连续文本中,这会分散注意力:

\documentclass{article}
\pagestyle{empty}


\begin{document}
  Look at this figure:
  1,123,456 cars.
  How to remove the extra space between the first two 1?
\end{document}

结果

我觉得前两个“一”之间的间距有点太大。排版师对这个问题有什么看法?如何在连续文本中启用数字字距调整(或仅使用其自然宽度)?

答案1

OpenType 是其众多标准字体功能“表格数字”选项tnum(每个数字的宽度相同,适用于表格)对阵 pnum对于“比例数字”(数字可能有不同的宽度,正如您所要求的)。

lnum请注意,这与“衬线图形”的选择不同且正交。对阵 onum“旧式人物”。

如果您使用的字体支持这些功能,则支持 OpenType 的 TeX 引擎 LuaTeX 和 XɘTeX 可以访问这些字形。使用 LuaLaTeX 或 XeLaTeX 尝试此示例:

\documentclass[12pt]{article}
\usepackage{fontspec}
\begin{document}
\fontspec{Linux Libertine O}
{\addfontfeatures{Numbers={Lining,Monospaced}}     0123456789}

{\addfontfeatures{Numbers={Lining,Proportional}}   0123456789}

{\addfontfeatures{Numbers={OldStyle,Monospaced}}   0123456789}

{\addfontfeatures{Numbers={OldStyle,Proportional}} 0123456789}
\end{document}

输出

fontspec(的默认字体 Latin Modern Roman中的替代数字很丑陋;请避免使用它们。)

相关内容