为了在数学模式下用红色删除文本,我发现此解决方案非常有用。但是,当我想在下标中执行此操作时,它会失败,因为命令没有检测到文本的大小较小。因此,它会与后面写的内容重叠,如下所示:
知道如何在数学模式下用红色划掉下标中的文本吗?
梅威瑟:
\documentclass[]{article}
\usepackage{xcolor}
\newcommand\hcancel[2][black]{\setbox0=\hbox{$#2$}%
\rlap{\raisebox{.25\ht0}{\textcolor{#1}{\rule{\wd0}{1pt}}}}#2}
\begin{document}
$ABC_{\hcancel[red]{DEF}\textcolor{green!50!black}{GHI}}(JKL)$
\end{document}
答案1
您可以修改命令以使用当前数学样式\ThisStyle
和\SavedStyle
。scalerel
\documentclass{article}
\usepackage{scalerel}
\usepackage{xcolor}
\newcommand\hcancel[2][black]{%
\ThisStyle{%
\setbox0=\hbox{$\SavedStyle #2$}%
\rlap{\raisebox{.25\ht0}{\textcolor{#1}{\rule{\wd0}{1pt}}}}\SavedStyle #2}%
}
\begin{document}
$ABC_{\hcancel[red]{DEF}\textcolor{green!50!black}{GHI}}(JKL)$
\end{document}