数学模式下删除线

数学模式下删除线

如何在数学模式下删除单词(类似于文本模式\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}

示例文档的屏幕截图

参考:与 \ensuremath 相反:确保我*不*处于数学模式?

答案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}

在此处输入图片描述

相关内容