6

I'm using soul's \hl to set background for the paragraph parts and ulem's \uline to underline text.

The problem is what I cant underline text for text with background.

Initial doc:

\documentclass{article}
\usepackage[table]{xcolor}
\usepackage[normalem]{ulem}
\usepackage{soul}

\newcommand{\bg}[2]{\sethlcolor{#1}\hl{#2}}

\definecolor{ColorFg}{HTML}{FFFFFF}
\definecolor{ColorBg}{HTML}{008000}

\begin{document}

{\color{ColorFg}\bg{ColorBg}{Some Text}} another text.

\end{document}

initial doc

I want to underline Text:

{\color{ColorFg}\bg{ColorBg}{Some \uline{Text}}} another text.

it fails with ! Argument of \UL@on has an extra }.

I tried to use \soulregister{\uline}{1} (solution from this topic) - no errors and no underlined tex.

Is it possible to underline text with background color (maybe I have to use another packages)?

PS soul docs provides solution for nested commands, but it's not useful for me since line breaks will not work.

Thanks.

1 Answer 1

6

Simply enclose the \uline{} inside a pair of braces. You do not need any other package.

\documentclass{article}
\usepackage[table]{xcolor}
\usepackage[normalem]{ulem}
\usepackage{soul}

\newcommand{\bg}[2]{\sethlcolor{#1}\hl{#2}}

\definecolor{ColorFg}{HTML}{FFFFFF}
\definecolor{ColorBg}{HTML}{008000}

\begin{document}

{\color{ColorFg}\bg{ColorBg}{Some {\uline{Text}}}} another text.

\end{document}

And here is the output,

enter image description here


Question on answer

Could somebody please tell me why the following vanishes "Text"?

{\color{ColorFg}\bg{ColorBg}{Some \protect\uline{Text}}} another text.

enter image description here

3
  • 1
    This doesn't work if you have for example {\uline{Text Text}}. In this case you can use \mbox{\uline{Text Text}}. It doesn't work, in any case, if the contents of \uline has to break a line... Nov 5, 2013 at 17:36
  • Hm, true. @karlkoeller is right.
    – skozlovf
    Nov 5, 2013 at 17:38
  • I had to use \underline instead of \uline as in \hl{highlighted {\underline{highlighted and underlined}} highlighted} Mar 3, 2015 at 20:49

You must log in to answer this question.

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