我想删除用 生成的交叉引用\cref
。我认为像下面这样的基本示例可以起作用:
\documentclass{article}
\usepackage{cleveref}
\usepackage{soul}
\begin{document}
Consider
\begin{equation}\label{eq:int}
\int_a^bf(t)dt=0
\end{equation}
Then \st{Ignore \cref{eq:int}.}
\end{document}
但是,我收到一条错误消息,提示符号太多}
。为了澄清起见,我希望交叉引用仍然保留(并且是蓝色的,但我认为这对本示例来说并不重要),但在其上方有删除线。
任何帮助,将不胜感激。
答案1
这是 的绕过解决方案TikZ
,通过用线套印删除文本,使用与基线对齐的节点并应用和west
节点east
锚点作为绘图的起点和终点。
使用TikZ
样式和/或pgfkeys
等,定制会更好。
\documentclass{article}
\usepackage{cleveref}
\usepackage{tikz}
\newcommand{\tikzst}[2][line width=1pt,blue,opacity=0.4]{%
\tikz[baseline]{ \node[anchor=text,outer sep=0pt,inner sep=0pt] (A) {#2}; \draw[#1] ([xshift=-0.1ex]A.west) -- ([xshift=0.1ex]A.east);}%
}
\begin{document}
Consider
\begin{equation}\label{eq:int}
\int_a^bf(t)dt=0
\end{equation}
\begin{equation}
c^2 = a^{2} + b^{2} \label{eq:pythagoras}
\end{equation}
Then \tikzst{Ignore \cref{eq:int}}, but think of \tikzst[red]{\cref{eq:pythagoras}}!
\end{document}