更强大的删除线/划掉线

更强大的删除线/划掉线

我总是用这个ulem包来删除不需要的文本,就像这样

\documentclass{article}
\usepackage{ulem}
\begin{document}    
\xout{Lorum ipsum dola blah blah blah.}
\sout{Lorum ipsum dola blah blah blah.}
\end{document}

这种方法效果很好,但不太稳健:即使受影响的文本中出现段落中断也会导致此方法抛出编译错误。

我有兴趣了解更强大的方法,可以用来删除或划掉大段文本(例如整个章节)。至少,这意味着引用、公式、段落分隔符和分页符不会造成问题。如果章节标题和表格等内容也能被删除就更好了。如果 LaTeX 还可以使用类似 TiKz 的东西来智能地划掉受影响文本中的数字(也许这要求太高了,但这个社区以前就让我感到惊讶!),那就锦上添花了。

我非常乐意接受实现此目的的其他方法(例如,一个想法是让 TiKz 计算受影响材料的形状并在其上绘制适当大小的斜阴影矩形,但我不知道该怎么做)。我最感兴趣的是听听人们是否知道解决这个问题的任何方法。

答案1

\xout这只是在和周围放置了一个段落解析包装器\sout,如下所示\xoutpars\soutpars

然而,这不会解决诸如数学等问题。

\documentclass{article}
\usepackage{ulem,lipsum}
\newcommand\xoutpars[1]{\let\helpcmd\xout\parhelp#1\par\relax\relax}
\newcommand\soutpars[1]{\let\helpcmd\sout\parhelp#1\par\relax\relax}
\long\def\parhelp#1\par#2\relax{%
  \helpcmd{#1}\ifx\relax#2\else\par\parhelp#2\relax\fi%
}
\begin{document}
\xout{Lorum ipsum dola blah blah blah.}
\sout{Lorum ipsum dola blah blah blah.}

Now we start. \xoutpars{This is a test

...of multiple paragraphs.

And now a third.}

Now we start. \soutpars{This is a test

...of multiple paragraphs.

And now a third.}
\end{document}

在此处输入图片描述

相关内容