带背景的下划线文本(soul 和 ulem 嵌套)

带背景的下划线文本(soul 和 ulem 嵌套)

我使用soul's\hl来设置段落部分的背景,并使用ulem's\uline来给文本加下划线。

问题是我无法为带有背景的文本加下划线。

初始文档:

\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}

初始文件

我想强调的是Text

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

它失败了! Argument of \UL@on has an extra }.

我尝试使用\soulregister{\uline}{1}来自该主题的解决方案) - 没有错误,也没有下划线的文本。

是否可以为带有背景颜色的文本加下划线(也许我必须使用其他包)?

PSsoul文档提供了嵌套命令的解决方案,但对我来说没用,因为换行符不起作用。

谢谢。

答案1

只需将其放在\uline{}一对括号内即可。您不需要任何其他包装。

\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}

输出如下,

在此处输入图片描述


问题解答

有人能告诉我为什么下面的“文本”消失了吗?

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

在此处输入图片描述

相关内容