如何在数学模式下删除单词(类似于文本模式\sout
下的删除\usepackage{ulem}
)?我试过了\usepackage{cancel}
,\(\cancel{1+1=2}\)
但结果画的是一条对角线。
答案1
使用类似
\sout{$a^2+b^2=c^2$}
或者
\[
\hbox{\sout{$a^2+b^2$}}=c^2
\]
当然,为了方便起见,您也可以定义一个命令。
答案2
版本 2(Martin 的精彩评论)
\documentclass{scrartcl}
\usepackage{xcolor,cancel}
\newcommand\hcancel[2][black]{\setbox0=\hbox{$#2$}%
\rlap{\raisebox{.45\ht0}{\textcolor{#1}{\rule{\wd0}{1pt}}}}#2}
\begin{document}
\[
x+\hcancel[red]{ \sum_a \mathcal{D}^a\mathcal{D}_a}=2x+ \sum_a \mathcal{D}^a\mathcal{D}_a+3
\]
\end{document}
答案3
我正在将这个 hack 与ulem
序言中的包一起使用。
\usepackage[normalem]{ulem}
\usepackage{amsmath}
\newcommand{\stkout}[1]{\ifmmode\text{\sout{\ensuremath{#1}}}\else\sout{#1}\fi}
在文档中,我使用这样定义的命令,\stkout
Lorem \stkout{ipsum}. $x + \stkout{y + z} = 1$.
\begin{equation}
A + \stkout{B + C + D} = E.
\end{equation}
答案4
适用于数学和文本模式
\documentclass{article}
\usepackage{calc}
\newsavebox\CBox
\newcommand\hcancel[2][0.5pt]{%
\ifmmode\sbox\CBox{$#2$}\else\sbox\CBox{#2}\fi%
\makebox[0pt][l]{\usebox\CBox}%
\rule[0.5\ht\CBox-#1/2]{\wd\CBox}{#1}}
\begin{document}
\hcancel{Test}
\hcancel[2pt]{Test}
\end{document}