如何使用 `ulem` 包中的 `\uline` 为 `\colorbox` 内的文本添加下划线?

如何使用 `ulem` 包中的 `\uline` 为 `\colorbox` 内的文本添加下划线?

截屏:

我有以下代码:

\uline{No underlining for \colorbox{lightgray}{everything} inside the colorbox.}

看起来像这样:

截屏

我怎样才能获得内部文本的连续行\colorbox


麦格维:

\documentclass[12pt]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{xcolor}
\usepackage[normalem]{ulem}

\begin{document}

\uline{No underlining for \colorbox{lightgray}{everything} inside the colorbox.}

\end{document}

限制:

我不能使用,soul而且我认为纯色\underline看起来不太好。(顺便说一下,那些使用soul应该看看带背景的下划线文本(soul 和 ulem 嵌套)

答案1

一种方法是先在框中划线:

在此处输入图片描述

\documentclass[12pt]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{xcolor}
\usepackage[normalem]{ulem}


\begin{document}

\sbox0{\uline{\hspace{\fboxsep}everything\hspace{\fboxsep}}}
\uline{No underlining for \colorbox{lightgray}{\hspace{-\fboxsep}\usebox0\hspace{-\fboxsep}} inside the colorbox.}

\end{document}

相关内容