![Вычеркивание цветного текста с помощью пользовательских команд](https://rvso.com/image/392351/%D0%92%D1%8B%D1%87%D0%B5%D1%80%D0%BA%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D1%86%D0%B2%D0%B5%D1%82%D0%BD%D0%BE%D0%B3%D0%BE%20%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%B0%20%D1%81%20%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E%20%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D0%BA%D0%B8%D1%85%20%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4.png)
Я пытался зачеркнуть цветной текст, определенный макросом, но, похоже, он не поддерживает перенос строк. У меня есть команда bt для ввода синего текста, и я хочу зачеркнуть часть текста красной чертой (команда rs). Ниже приведен MCVE моей проблемы.
\documentclass{article}
\usepackage{ulem,xcolor}
\newcommand{\bt}[1]{\textcolor{blue}{#1}} % bt: blue text
\newcommand{\rt}[1]{\textcolor{red}{#1}} % rt: red text
\newcommand{\rs}[1]{\rt{\sout{#1}}} % rs: red stroke
\textwidth=12cm % Forcing linebreak at 12cm
\usepackage[T1]{fontenc}
\begin{document}
\bt{Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin
sodales massa ac dapibus dignissim. Phasellus ac pretium urna.
Mauris tincidunt molestie sapien vel mattis. Vestibulum aculis
tincidunt posuere. In interdum blandit diam, id tempus elit ullamcorper iaculis.}
\rs{Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin
sodales massa ac dapibus dignissim. Phasellus ac pretium urna.
Mauris tincidunt molestie sapien vel mattis. Vestibulum aculis
tincidunt posuere. In interdum blandit diam, id tempus elit ullamcorper iaculis.}
\rs{\bt{Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin
sodales massa ac dapibus dignissim. Phasellus ac pretium urna.
Mauris tincidunt molestie sapien vel mattis. Vestibulum aculis
tincidunt posuere. In interdum blandit diam, id tempus elit ullamcorper iaculis.}}
\end{document}
Этот код выдает следующий результат. Он зачеркивает текст красной чертой, однако это разрушает перенос строк моего абзаца.
Я также попробовал soul
пакет и использованиеexpandafter
трюк (из этогосвязь), но мне это не помогло.
решение1
С soul
этим проблем нет.
\documentclass{article}
\usepackage{soul,xcolor}
\newcommand{\bt}[1]{\textcolor{blue}{#1}} % bt: blue text
\newcommand{\rt}[1]{\textcolor{red}{#1}} % rt: red text
\newcommand{\rs}[1]{\setstcolor{red}\st{#1}} % rs: red stroke
\textwidth=12cm % Forcing linebreak at 12cm
\usepackage[T1]{fontenc}
\begin{document}
\bt{Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin
sodales massa ac dapibus dignissim. Phasellus ac pretium urna.
Mauris tincidunt molestie sapien vel mattis. Vestibulum aculis
tincidunt posuere. In interdum blandit diam, id tempus elit ullamcorper iaculis.}
\rs{Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin
sodales massa ac dapibus dignissim. Phasellus ac pretium urna.
Mauris tincidunt molestie sapien vel mattis. Vestibulum aculis
tincidunt posuere. In interdum blandit diam, id tempus elit ullamcorper iaculis.}
\textcolor{blue}{\rs{Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin
sodales massa ac dapibus dignissim. Phasellus ac pretium urna.
Mauris tincidunt molestie sapien vel mattis. Vestibulum aculis
tincidunt posuere. In interdum blandit diam, id tempus elit ullamcorper iaculis.}}
\end{document}