为什么 \endgroup 在 \uline 中不起作用?

为什么 \endgroup 在 \uline 中不起作用?

我想要带下划线的文本(或数学),其中下划线的颜色与文本的颜色不同(例如,用红线加下划线的黑色文本)。因此,我使用\ulinefromulem包尝试了以下代码:

\documentclass{article}
\usepackage{ulem}
\usepackage{xcolor}

\begin{document}
\color{red}\uline{\begingroup\color{black} a ä $a$ öü a a a aa a a a aa a a a aa a a a aa a a a aa a a a aa a a a aa a a a aa a a a aa a a a aa a a a a a aa a\endgroup}\color{black} gsgfsd
\end{document}

\endgroup这会产生一个缺失的错误消息:(

为什么?

我怎样才能解决这个问题?

答案1

如果你真的想要在文本下划线(红色?),你可以使用soul

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

\newcommand{\redul}[1]{%
  \begingroup
  \setulcolor{red}%
  \ul{#1}%
  \endgroup
}

\begin{document}
\redul{a a $a$ aa a a a aa a a a aa a a a aa a a a aa a a a aa
  a a a aa a a a aa a a a aa a a a aa a a a aa a a a a a aa a} gsgfsd
\end{document}

在此处输入图片描述

相关内容