在非数学模式下取消(删除)普通文本

在非数学模式下取消(删除)普通文本

我想划掉一个字母。我发现在公式中的表达式上画一个对角箭头,表示它消失但这只在数学模式下有效,并且数学模式会更改字体。有没有办法在不进入数学模式的情况下做同样的事情?我需要这个来制作幻灯片,我想要一个非常大的字体,并且想要“删除”一个单词的首字母。

\documentclass{article}

\usepackage{cancel}

\begin{document}

$\xcancel{T}$

\end{document}

答案1

有的话为何要担心tikz?;)

\documentclass{article}
\usepackage{tikz}
\newcommand{\tcancel}[2][thick]{%
\begin{tikzpicture}
\node[inner sep=1pt] (a){#2};
\draw[#1] (a.south west) -- (a.north east);
\draw[#1] (a.north west) -- (a.south east);
\end{tikzpicture}%
}
\begin{document}
\tcancel{T} 

\tcancel[red,line width=1pt]{T}
\end{document}

在此处输入图片描述

感谢 Claudio Fiandrino 提出进一步改进的想法

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{shapes.misc}
\newcommand{\tcancel}[2][black]{%
\begin{tikzpicture}
\node[draw=#1,cross out,inner sep=1pt] (a){#2};
\end{tikzpicture}%
}
\begin{document}
\tcancel{T}

\tcancel[red,thick]{T}
\end{document}

基线可以通过[baseline={(a.base)}]如下方式进行校正

\newcommand{\tcancel}[2][black]{%
\begin{tikzpicture}[baseline={(a.base)}]
\node[draw=#1,cross out,inner sep=0pt,outer sep=0pt] (a){#2};
\end{tikzpicture}%
}

按照您的意愿进行调整innerouter sep

在此处输入图片描述

答案2

\tcancel您可以通过创建一个名为(文本模式取消...的缩写)的宏作为文本模式包装器来实现您的目标\xcancel

在此处输入图片描述

\documentclass{article}
\usepackage{cancel}
\usepackage{amsmath} % for \ensuremath and \text macros
\newcommand{\tcancel}[1]{\ensuremath{\xcancel{\text{#1}}}}
\begin{document}
$\xcancel{T}$ (letter is in math mode)

\tcancel{T} (letter is in text mode)
\end{document}

答案3

\mbox{}可用于从数学切换回文本模式:

\documentclass{article}

\usepackage{cancel}

\begin{document}

$\xcancel{\mbox{T}}$

\end{document}

结果

相关内容