[Tex/LaTex] \hl command is underlining instead of highlighting

highlightingsoul

How can I highlight the dollar currency symbol? For some reason, the code below is underlining rather than highlighting when I try it.

\documentclass{article}
\usepackage{soul}

\begin{document}
\hl{\$ 10} 
\end{document}

Best Answer

If you include the package color or xcolor it will highlight the text background.

\documentclass{article}
\usepackage{soul}
\usepackage{color}

\begin{document}
\hl{\$ 10}
\end{document}

Example

Using \sethlcolor you can set the highlighting color.

\documentclass{article}
\usepackage{soul}
\usepackage{color}

\DeclareRobustCommand{\hlgreen}[1]{{\sethlcolor{green}\hl{#1}}}

\begin{document}
\hl{\$ 10} \hlgreen{\$ 10}
\end{document}

Second Example

See this answer for why \DeclareRobustCommand should be used.

littleO's answer using xcolor's \colorbox results in a margin around the highlighted word, which might be useful in some scenarios.

\documentclass{article}
\usepackage{soul}
\usepackage{xcolor}

\DeclareRobustCommand{\hlgreen}[1]{{\sethlcolor{green}\hl{#1}}}
\DeclareRobustCommand{\boxgreen}[1]{\colorbox{green}{#1}}

\begin{document}
This item costs \hlgreen{\$10} in a shop

This item costs \boxgreen{\$10} in a shop
\end{document}

Example 3

Related Question