![uline 和 uuline 线宽相同](https://linux22.com/image/411548/uline%20%E5%92%8C%20uuline%20%E7%BA%BF%E5%AE%BD%E7%9B%B8%E5%90%8C.png)
答案1
这是因为\uline
为下划线使用了精确控制的“规则”,但\uuline
因为是按原样书写\uwave
(使用\markoverwith
),所以以块的形式规定了双重规则。 显然,块是必需的\uwave
(波浪线字符必须对齐,并且只能以完整字符的形式出现),而\uuline
使用块更多是为了方便。
它们对齐有多重要? 的定义\uuline
可以使用较小的“块”来提供更精确的大小匹配。 可以使用两个规则使其精确匹配,但这需要重写更多内部宏。
具有较小块的A\uuline
可以定义如下:
\makeatletter
\protected\def\uuline{\leavevmode \bgroup
\UL@setULdepth
\ifx\UL@on\UL@onin \advance\ULdepth2.8\p@\fi
\let\ULleaders\cleaders % added
% use \UL@pixel widths below
\markoverwith{\lower\ULdepth\hbox{\kern-0.5\UL@pixel
\vbox{\hrule width3\UL@pixel\kern1\p@\hrule}\kern-0.5\UL@pixel}}%
\ULon}
这或许就足够了。