[texhax] Underline with numbers
Paul Isambert
zappathustra at free.fr
Sun Dec 12 17:34:39 CET 2010
Le 11/12/2010 23:43, Evan Wessler a écrit :
> I'm trying to create underlined text, but with numbers under the underlines. (I need to refer to the underlined pieces of text by number.) If that's confusing, imagine being able to do the same thing with an underline as you're able to do with an arrow like \xleftarrow[below]{above}, where the [below] and {above} text end up below and above the arrow with subscript/superscript sizing, respectively.
>
> Of course, I tried \underline[option]{text}, but was sad to discover no option existed.
>
> Anyone have any advice?
If your underlined text is not supposed to break, then the following
might do:
\makeatletter
\newbox\uboxa
\newbox\uboxb
\def\unum{%
\@ifnextchar[
{\@unum}
{\@unum[\dp\uboxa]}%
}
\def\@unum[#1]#2#3{%
\setbox\uboxa=\hbox{#2}%
\setbox\uboxb=\vbox{%
\copy\uboxa
\kern.1em\hrule\kern.1em
\hbox to \wd\uboxa{\hfil#3\hfil}}%
\ht\uboxb=\ht\uboxa
\dp\uboxb=#1\relax
\quitvmode\box\uboxb
}
\makeatother
Then:
\unum[<depth>]{<text>}{<number>}
produces an underlined <text> with <number> below (or anything else, for
that matter); the depth of that is <depth>, which defaults to the
natural depth of <text> (as if the rule and the number below did not
exist). The line
\kern.1em\hrule\kern.1em
in the definition of \@unum can be modified to set the amount of space
surrounding the rule.
Now if you want your text to break across lines, it'll be a little bit
harder...
Best,
Paul
More information about the texhax
mailing list