如何在数学模式下删除文本?

如何在数学模式下删除文本?

由于 \sout 在数学模式下不起作用,我可以用什么来代替?我不想像使用 cancelf 那样出现对角删除线

答案1

这个包裹cancel正是为此目的而制作的。

手动的说有四个不同的命令:

  1. \cancel
  2. \bcancel
  3. \xcancel
  4. \cancelto{<value>}{<expression>}

前三个在数学和文本模式下工作,但\cancelto仅适用于数学模式。

这就是他们所做的

在此处输入图片描述

平均能量损失

\documentclass{article}

\usepackage{cancel}

\begin{document}

\(\cancel{f(x)} = \bcancel{4} + \xcancel{5} - \cancelto{45}{60}\)

\end{document}

答案2

这个答案很大程度上基于埃格尔的评论,他值得所有的赞誉。

输出

\documentclass{article}
\makeatletter
\newcommand{\linethrough}{\mathpalette\@thickbar}
\newcommand{\@thickbar}[2]{{#1\mkern0mu\vbox{
    \sbox\z@{$#1#2\mkern-1.5mu$}%
    \dimen@=\dimexpr\ht\tw@-\ht\z@+2\p@\relax % The +2 represents the vertical shift of the line.
    \hrule\@height0.5\p@ % The 0.5 represent the thickness on the line.
    \vskip\dimen@
    \box\z@}}
}
\makeatother
\newcommand{\mathstrike}[1]{\ensuremath{\linethrough{#1}}}

\begin{document}
    \mathstrike{f(x) = x^2},\qquad \mathstrike{c_0}, \qquad \mathstrike{f(x) = x^2 + c_0}
\end{document}

相关内容