如图所示这个答案,我们可以分别abc $x=y$
使用ulem 和 soul 包中的\st
或删除文本\sout
。但是,如果文本包含方程式环境(例如),这两种方法都不起作用abc \begin{equation}xyz\end{equation} abc
。我知道有选项可以删除数学(例如来自\cancel
cancel 包的 ),但我们如何才能删除两者?
答案1
您可以将合并的内容放在 a 中tcolorbox
,然后使用 键在顶部绘制删除线finish
。此答案基于以下问题的答案删除一段文字作者:Ulrike Fischer。我添加了图案填充、带有更宽线条的自定义图案和新tcolorbox
环境,以便更轻松地多次使用该框。请注意,由于该框是矩形,因此无法部分删除线条。但是,通过修改命令的图案,可以使用其他删除线图案(例如水平线)\fill
。
梅威瑟:
\documentclass{article}
\usepackage[most]{tcolorbox}
\usetikzlibrary{patterns}
\pgfdeclarepatternformonly{mystrikeout}{\pgfqpoint{-1pt}{-1pt}}{\pgfqpoint{11pt}{11pt}}{\pgfqpoint{10pt}{10pt}}%
{
\pgfsetlinewidth{0.4pt}
\pgfpathmoveto{\pgfqpoint{0pt}{0pt}}
\pgfpathlineto{\pgfqpoint{10.1pt}{10.1pt}}
\pgfusepath{stroke}
}
\newtcolorbox{tcbstrikeout}{breakable,
enhanced jigsaw,
opacityback=0,
parbox=false,
boxrule=0mm,
top=0mm,bottom=0pt,left=0pt,right=0pt,
boxsep=0pt,
frame hidden,
finish={\fill[pattern=mystrikeout] (frame.north west) rectangle (frame.south east);}
}
\begin{document}
some text
\begin{tcbstrikeout}
\noindent abc
\begin{equation}
xyz
\end{equation}
def
\end{tcbstrikeout}
some more text
\end{document}
结果: