我正在尝试使用\cancel
该cancel
包来删除一些彩色文本,但很明显,对角线是先画出来的,所以它不能很好地取消。
最小的例子。
\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 代码中