如何删除整组文本

如何删除整组文本

我正在使用命令来删除一个单词或一个句子;然而,我想知道是否可以在不使用括号和的\sout{some text}情况下删除一组文本。{}

与 类似的内容{\color{red} some text}\textcolor{red}{some text}或者类似于 的内容\begin{sout}\end{sout}这不起作用!)

答案1

这使用了我的包的变体censor来完成删除线,因为\xblackout该包的宏可以跨段落边界工作(但不能跨数学,OP澄清说没有必要)。

为了使\xblackout宏作为环境运行,我使用了environ的包功能\BODY。即便如此,我还是必须通过中间宏进行\soutrefunexp一次扩展\BODY,才能使其易于消化\xblackout

\documentclass{article}
\usepackage{environ,censor,calc}
\NewEnviron{mysout}
 {\soutrefunexp{\BODY}}
%%%%%%%%%%%
\censorruleheight=.1ex %THICKNESS OF CENSOR RULE
\newlength\nextcharwidth
\makeatletter
\renewcommand\@cenword[1]{%
  \setlength{\nextcharwidth}{\widthof{#1}}%
  \censorrule{\nextcharwidth}%
  \kern -\nextcharwidth%
  #1}
\makeatother
\newcommand\soutref[1]{\censorruledepth=.55ex\xblackout{#1}}
\newcommand\soutrefunexp[1]{\expandafter\soutref\expandafter{#1}}
%%%%%%%%%%%
\begin{document}
What is this?

Another paragraph.

\begin{mysout}
What is this?

Another paragraph.
\end{mysout}

What is this?

Another paragraph.
\end{document}

enter image description here

替换\xblackout\blackout会产生以下略有不同的结果:

enter image description here

相关内容