# How do cross out text in math mode?

Since \sout does not work in math mode, what can I use instead? I don't want the diagonal strikeout like with cancelf

• @Mico as I mentioned I want a HORIZONTAL slash NOT a diagonal one I want \sout but for math mode Apr 12, 2020 at 1:13
• One should be able to adapt the answers at Diagonal strikeout starting too low and ending too high to get a horizontal line as it allows you to control how high you start and end. Apr 12, 2020 at 5:30

The package cancel was made exactly for this purpose.

The manual says that there are four different commands:

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

The first three work in math and text mode, but \cancelto is only for math mode.

And this is what they do

MWE

\documentclass{article}

\usepackage{cancel}

\begin{document}

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

\end{document}

This answer is heavily based on egreg's comment and he deserves all the credit.

\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}
• @M.Winter you can redefine the \@thickbar as follows:\newcommand{\@thickbar}[2]{% \textcolor{red}{ {\mkern0mu\vbox{ \sbox\z@{$#1\textcolor{black}{#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@}}#1} } and make sure to add \usepackage{xcolor} Feb 23, 2021 at 19:19