有没有办法在数学模式中删除数学公式?
我已经知道这一点:
\usepackage[normalem]{ulem}
\sout{ ...}
和
\usepackage{soul}
\st{...}
很有用,但它们不能在数学模式下使用。所以需要将其转换为 \text 模式然后执行。有没有更好的办法?
我也知道这一点:
\usepackage[makeroom]{cancel}
\cancel{}
\cancelto{}
但它们看起来不像删除线。
谢谢!另请参阅这。
答案1
这将帮助您入门。请注意,这不会逐个删除每个组件;您必须自己删除。
\bgroup
...有\egroup
两个用途。首先,它保留了 的内容\box0
。它还意味着您可以将其用作\mathsout
指数等,而不必将其括在括号中。
\documentclass{article}
\usepackage{mathtools}
\newcommand{\mathsout}[1]% will draw line through middle of #1
{\bgroup\mathchoice
{\sbox0{$\displaystyle{#1}$}%
\usebox0\hspace{-\wd0}%
\rule[0.5\ht0-0.5\dp0-.5pt]{\wd0}{1pt}}%
{\sbox0{$\textstyle{#1}$}%
\usebox0\hspace{-\wd0}%
\rule[0.5\ht0-0.5\dp0-.5pt]{\wd0}{1pt}}%
{\sbox0{$\scriptstyle{#1}$}%
\usebox0\hspace{-\wd0}%
\rule[0.5\ht0-0.5\dp0-.5pt]{\wd0}{1pt}}%
{\sbox0{$\scriptscriptstyle{#1}$}%
\usebox0\hspace{-\wd0}%
\rule[0.5\ht0-0.5\dp0-.5pt]{\wd0}{1pt}}%
\egroup}
\begin{document}
\begin{equation}
x= \cos(\omega t) + \mathsout{sin(\omega t)} + \mathsout{e}^\mathsout{-t}
\end{equation}
\end{document}