如何在同一行中使用不同颜色删除或取消

如何在同一行中使用不同颜色删除或取消

例如,假设我有一个方程

x = 2 + 1 - 2 - 1 (显然是玩具示例)

我希望 +2 和 -2 抵消,+1 和 -1 抵消

所以在 Latex 中我想要类似的东西

在此处输入图片描述

有没有一种简单的方法可以在 Latex 中实现多色删除线或取消?

在此处输入图片描述

这里有类似的问题,但它是针对全局着色的 用不同颜色划掉

答案1

一种可能性是使用cancel。(编辑:已\textcolor用颜色替换,非常感谢 Werner!)

\documentclass{article}
\usepackage{cancel,xcolor}
\newcommand{\Cancel}[2][black]{{\color{#1}\cancel{\color{black}#2}}}
\begin{document}
\[x~=~\Cancel[blue]{2}+\Cancel[red]{1}-
 \Cancel[blue]{2}-\Cancel[red]{1}\]
\end{document}

在此处输入图片描述

但请注意,环境色不会产生效果,也就是说,不幸的是,{\color{green}\Cancel[blue]{2}+\Cancel[red]{1}}您需要这样做\Cancel[blue]{\color{green} 2}+\Cancel[red]{\color{green} 1}。我想会有更好的方法,并期待学习新的技巧。

编辑:只是为了好玩:一个 TiZ 版本。该选项X将会进行某种\xcancel删除。

\documentclass{article}
\usepackage{tikz}
\newif\ifCancelX
\tikzset{X/.code={\CancelXtrue}}
\newcommand{\Cancel}[2][]{\relax
\ifmmode%
  \tikz[baseline=(X.base),inner sep=0pt] {\node (X) {$#2$};
  \tikzset{#1}
  \draw[#1,overlay,shorten >=-2pt,shorten <=-2pt] (X.south west) -- (X.north east);
  \ifCancelX
    \draw[#1,overlay,shorten >=-2pt,shorten <=-2pt] (X.north west) -- (X.south east);   
  \fi}
\else
  \tikz[baseline=(X.base),inner sep=0pt] {\node (X) {#2};
  \tikzset{#1}
  \draw[#1,overlay,shorten >=-2pt,shorten <=-2pt] (X.south west) -- (X.north east);
  \ifCancelX
    \draw[#1,overlay,shorten >=-2pt,shorten <=-2pt] (X.north west) -- (X.south east);
  \fi}%
\fi}

\begin{document}
\[x~=~\Cancel[blue,X]{2}+\Cancel[red]{\frac{1}{2}}-
 \Cancel[blue]{2}-\Cancel[red, line width=1pt]{\frac{1}{2}}\]
\end{document}

在此处输入图片描述

相关内容