\cancel 在被取消的事物下绘制

\cancel 在被取消的事物下绘制

我正在尝试使用\cancelcancel包来删除一些彩色文本,但很明显,对角线是先画出来的,所以它不能很好地取消。 在此处输入图片描述

最小的例子。

\documentclass{article}
\usepackage{xcolor,cancel}
\begin{document}
\leavevmode
\cancel{\textcolor{red}{T}}
\textcolor{red}{T}\llap{\cancel{\phantom{T}}}
\end{document}

我显然可以使用\llap,但这不是最佳选择。有没有更好的方法?

答案1

使用 Tikz:

\newcommand{\cancel}[1]{%
    \tikz[baseline=(tocancel.base)]{
        \node[inner sep=0pt,outer sep=0pt] (tocancel) {#1};
        \draw[red] (tocancel.south west) -- (tocancel.north east);
    }%
}%

This is a \cancel{test}

Tikz 的另一种可能性是使用形状strike out

\documentclass{minimal}
\usepackage{tikz}
\usetikzlibrary{calc}
\usetikzlibrary{shapes.misc}


\begin{document}
Strike \tikz[baseline] \node [strike out,draw=red,anchor=text] {me}; out!
\end{document}

pstricks在包中使用pstricks-add

%in preamble
\usepackage{pstricks,pstricks-add}

%in document
%example taken from pstricks-add documentation
\psCancel[linecolor=red]{Tikz :-)}

编辑 1:我刚刚意识到宏\psCancel在要取消的文本之前绘制标记,与包装相同cancel。如果您想要文本上方的标记,我想您应该使用 Tikz。

编辑 2:将有关基线的建议纳入 Tikz 代码中

相关内容