为什么下标数字看起来不对齐?

为什么下标数字看起来不对齐?

我感觉$\mathbb{Z}_{31}$,一旦编译,看起来就很奇怪。数字似乎1略高于数字3,或者反过来:数字的卷曲下部3略低于数字底部1。从印刷的角度来看,这是预期的外观吗?

我确实不喜欢它的外观,但下面的图片是来自 pdf 的屏幕截图,所以可能是由于渲染错误造成的。

在此处输入图片描述

然而,下面的小例子显示了相同的输出:

\documentclass{article}
\usepackage{amssymb}

\begin{document}
A $\mathbb{Z}_{01}$ b $\mathbb{Z}_{11}$ c $\mathbb{Z}_{21}$ d $\mathbb{Z}_{31}$

E $\mathbb{Z}_{41}$ f $\mathbb{Z}_{51}$ g $\mathbb{Z}_{61}$ h $\mathbb{Z}_{71}$

I $\mathbb{Z}_{81}$ j $\mathbb{Z}_{91}$ k $\mathbb{Z}_{101}$ l $\mathbb{Z}_{131}$
\end{document}

在此处输入图片描述

盯着上面这张图片看一会儿,你会发现下标的底部看起来也41错位了,也就是说,数字1比数字略高4。这些下标的高度不同吗?这里有什么问题吗,还是这只是视觉错觉?

注意:这可能与命令无关\mathbb{}

编辑:这是使用 Adob​​e pdf 的 6400 倍缩放:数字的圆形底部3明显低于数字的底部1

在此处输入图片描述

答案1

没什么不对。当字形在顶部或底部形成曲线时,它通常会超出该曲线;同样,在对角线交叉处允许一些超出。如果没有这种超出,则会出现如下组合

AT IS

由于眼睛感知形状的方式,看起来不对齐。这已经使用了几个世纪。以下是来自的相关部分cmr10.mf

o#:=8/36pt#;      % amount of overshoot for curves
apex_o#:=8/36pt#;    % amount of overshoot for diagonal junctions

这表明最大超调量为 0.22222pt;这里有一个视觉证明,其中 A 和 S 被重新缩放以避免超调。

\documentclass{article}
\usepackage{graphicx}

\newcommand{\addkern}[2]{%
  \sbox0{#1#2}\sbox2{#1{}#2}%
  \kern\dimexpr\wd0-\wd2\relax
}
\newcommand{\sA}{\resizebox{\width}{\dimexpr\height-.22222pt}{A}}
\newcommand{\sS}{\raisebox{0.22222pt}{\resizebox{\width}{\dimexpr\height-.44444pt}{S}}}

\begin{document}

MANHATTAN ISLAND

M\sA NH\sA\addkern{A}{T}TT\addkern{T}{A}\sA N I\sS L\sA ND

\fboxsep=0pt\fboxrule=0.1pt

\fbox{MANHATTAN ISLAND}

\fbox{M\sA NH\sA\addkern{A}{T}TT\addkern{T}{A}\sA N I\sS L\sA ND}

\end{document}

首先是一张“低分辨率”图片:

在此处输入图片描述

不幸的是,捕捉到光栅会给 S 带来错误的印象。但第二行中的 A 显然出现得太低了。

这是一张高分辨率图片

在此处输入图片描述

也许对 A 来说效果并不明显,但对 S 来说效果肯定是显著的。过冲量由字体设计师决定。有些字体的过冲量很大,而有些字体则相反。

无论如何,您不应该近距离盯着高分辨率图片:打印出来并挂在墙上,模拟阅读 10pt 字体。

相关内容