uline 和 uuline 线宽相同

uline 和 uuline 线宽相同

如何使用 ulem 包将 uline 和 uuline 对齐为相同的线宽?我附上了屏幕截图供您参考。

在此处输入图片描述

答案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}

这或许就足够了。

相关内容