改行で色付きのテキストに下線を引く

改行で色付きのテキストに下線を引く

色付きのテキストに黒線で下線を引き、改行を維持したいと考えています。これまでのところ、パッケージを使用することが最善の解決策\ulineですulem。しかし、望みどおりの結果を得ることができません。私の試みは次のとおりです。

\documentclass{article}
\usepackage{ulem}
\usepackage{color}

\begin{document}

This is a long text. This is a long text. 
\color{red}\uline{This is underlined text. 
This is underlined text. This is underlined text.}\color{black} 
This is a long text. This is a long text. 

This is a long text. This is a long text. 
\uline{\color{red}This is underlined text. 
This is underlined text. \color{black}} 
This is a long text. This is a long text. 

This is a long text. This is a long text. 
\textcolor{red}{\uline{This is underlined text. 
This is underlined text. }} 
This is a long text. This is a long text. 

This is a long text. This is a long text. 
\uline{\textcolor{red}{This is underlined text. 
This is underlined text. }} 
This is a long text. This is a long text. 

\end{document}

ここに画像の説明を入力してください

ご覧のとおり、すべての試みには欠陥があります。

これに対する解決策はありますか? よろしくお願いします!

編集:

私は現在このclozeパッケージを使用していますが、このパッケージには上記のような欠点はなく、今のところがっかりしたことはありません。これは間違いなく、LuaLaTeX に切り替えられるすべての人にとっての選択肢です。

答え1

赤いテキストに黒い線で下線を引いただけのコマンドであれば、これでうまくいくかもしれない。

\newcommand\reduline{\bgroup\color{red}\markoverwith
{\textcolor{black}{\rule[-0.5ex]{2pt}{0.4pt}}}\ULon}

そうでない場合は、あまり期待しすぎないでください。そのように解析すると、事態は複雑になります\ulem

ところで、最近下線を引いている人はいるでしょうか?

関連情報