透過使用者定義的命令刪除彩色文本

透過使用者定義的命令刪除彩色文本

我一直在嘗試刪除巨集定義的彩色文本,但它似乎不支援換行。我有一個命令 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}

在此輸入影像描述

相關內容