ConTeXt:带下标的下划线行为

ConTeXt:带下标的下划线行为

使用 ConTeXt,通常使用 \underbar 来加下划线。\underline 也存在,但只用于数学。我也尝试了一下此维基页面。我的测试可以在以下 MWE 上看到。

\definetextbackground[myunderlinebackground]
                     [location=text,alternative=1,background=,frame=off]
\def\myunderline#1{
  \starttextbackground[myunderlinebackground]
  #1
  \stoptextbackground
}
\starttext
Hello, this is \underbar{a test}. And now, this is \underbar{a $a_{e}$ test}. 
And this is $\underline{\text{a } a_{e} \text{ test}}$. \\
And this is \myunderline{a $a_{e}$ test}.
\stoptext

在此处输入图片描述

但是,这些行为都不适合我。当有下标时,我希望横线断开并立即重新启动(就像下划线示例一样,但重新启动得更早,而不是在下标的下方)。我还注意到,在数学环境中启动的 \underbar 的行为与 \underline 完全相同。

有可能调整这个行为吗?

答案1

这是适用于 ConTeXt 的 OPMac 解决方案。请记住,因为这是一个框,所以它不会跨行。

\define[1]\underlinee{%
  \dontleavehmode\vbox to0pt{\vss
    \hrule height.4pt
    \vskip-\baselineskip \kern2.5pt
    \hbox{\strut\rlap{\color[white]{\pdfliteral{2 Tr 1.5 w}#1\pdfliteral{0 Tr 0 w}}}#1}
}}

\starttext
\underlinee{a $a_{e}$ test}
\stoptext

在此处输入图片描述

相关内容