6

With ConTeXt, one generally uses \underbar to underline. \underline also exists, but only for mathematics. I also played a bit with the ideas proposed on this wiki page. My tests can be seen on the following 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

enter image description here

However, none of these behaviors suit me. When there is a subscript, I would expect the bar to be broken and restart immediately after (like the underbar example, but restarting earlier and not underlying the subscript). I also notice that \underbar started inside a math environment behaves exactly like \underline.

Is it possible to tune this behavior ?

2
  • 2
    Related: petr.olsak.net/opmac-tricks-e.html#jumping Commented Jul 24, 2016 at 8:39
  • This is indeed related, but OPmac is a plain TeX solution, I would like something more ConTeXt-like, or at least independant from OPmac. I tried to copy-paste the macro, then the called macros and so on... and finally, even if I input all opmac.tex, I get a "Missing number, treated as zero" error, so it doesn't seem to be a usable solution for a Plain TeX non-user. Commented Jul 24, 2016 at 9:12

1 Answer 1

9

Here is the ConTeXt-adapted OPMac solution. Keep in mind that because this is a box it doesn't break across lines.

\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

enter image description here

2
  • 1
    @A.Licari This is actually not answer. It was just too long for a comment. I'm sure there is a better method using Metafun which I'm not capable of producing. Commented Jul 24, 2016 at 9:18
  • Well, at least it is usable, plug-and-play, and it works. I think it is sufficient to be accepted, at least as long no one else submits a "better" answer. Commented Jul 24, 2016 at 9:54

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .