数字“1”前空格太多

数字“1”前空格太多

在许多字体中,数字1左侧有大量空白。在 512 这样的数字中,这也许是可取的,但当 出现1在单词开头时,在我看来是错误的,如下例所示。有没有办法让 LaTeX 自动检测 何时1出现在单词开头并删除不需要的填充?

数字一

\documentclass[12pt]{article}
\begin{document}
\noindent
The article appears in vol.\ 16 of the encyclopedia. \\
The article appears in vol.\ sixteen of the encyclopedia.
\end{document}

答案1

问题是数字通常设置为相同宽度,因此表格中的对齐方式看起来更好。但是,数字1相当细,因此它具有较大的侧边距:

\documentclass[12pt]{article}

\pagestyle{empty}
\setlength{\parindent}{0pt}
\setlength{\fboxsep}{0pt}
\setlength{\fboxrule}{.1pt}

\begin{document}
  \Huge
  \fbox{1}\\
  \fbox{2}
\end{document}

1 和 2 盒装

对于 来说, 的左边界和字符的起始位置(左侧边界)之间的距离比1对于 数字 的左边界和字符的起始位置之间的距离要大得多2

找到合适的字体是比较棘手的部分。以下示例使用 LuaLaTeX 来使用 Latin Modern 作为 OpenType 字体,其中比例数字可用作字体功能。

\documentclass[12pt]{article}
\usepackage{fontspec}


\begin{document}
\begingroup

  \noindent
  The article appears in vol.\ 16 of the encyclopedia. \\
  \fontspec[Numbers=Proportional]{Latin Modern Roman}%
  The article appears in vol.\ 16 of the encyclopedia.\\
  The article appears in vol.\ sixteen of the encyclopedia.

\endgroup

\begingroup

  \setlength{\fboxsep}{0pt}
  \setlength{\fboxrule}{.1pt}
  \Huge
  \noindent
  \fbox{1}\\
  \fontspec[Numbers=Proportional]{Latin Modern Roman}%
  \fbox{1}\\
  \fbox{2}

\endgroup
\end{document}

结果

答案2

如果您愿意插入某种“钩子”,那么您当然可以知道句点后面是否跟着数字 1:

在此处输入图片描述

\documentclass[12pt]{article}
\makeatletter
\def~{\nobreakspace\@ifnextchar1{\kern-.2em}{}}
\makeatother
\begin{document}
\noindent
The article appears in vol.~16 of the encyclopedia. \\
The article appears in vol.~26 of the encyclopedia. \\
The article appears in vol.~sixteen of the encyclopedia.
\end{document}

使用连字符可以让vol.和 后面的数字连在一起,这是件好事。例如,用 来结束一行vol.会让读者认为句子结束得太早了,从而导致句子不够流畅。

相关内容