`cancelto` :箭头不连贯的问题

`cancelto` :箭头不连贯的问题

我正在使用该包cancel来执行如图所示的操作。 图片

如您所见,箭头不连贯。我读了另一个提到相同错误的问题:这里。正如所接受的答案所建议的:我可以pict2e在正常情况下使用该包,但这cancel是一个记录在案的问题,其解决方案是(据我所知),将该行添加\@ifundefined{OriginalPictureCmds}{\let\OriginalPictureCmds\relax}{}到我的文档序言中。

这会导致错误并且无法正常工作。错误是:! You can't use '\spacefactor' in vertical mode

有人可以帮我使这个工作以使箭头光滑吗?

答案1

这是一个使用 的解决方案tikz

在此处输入图片描述

我们定义一个新命令\cancelto,它接受三个参数,其中一个是可选的。第一个必需参数是“to”表达式,如0示例中所示。\scriptsize{0}如果您希望它更小,可以使用。第二个必需参数是要取消的表达式。调用顺序是

\cancelto[<height>]{<to>}{<expression>}

可选参数通过指定取消表达式上方和下方的高度来调整箭头的角度。在示例中,它设置为3ex。我将默认值设置为.5ex

首先使用和(来自包)的长度\hght\wdth高度和宽度来捕获表达式。然后在 0 大小的框内绘制一个箭头(以与表达式重叠)。然后放置表达式。\widthof\heightofcalc

以下是代码:

\documentclass{article}

\usepackage{calc}
\usepackage{tikz}

\newlength{\hght}
\newlength{\wdth}

\newcommand{\cancelto}[3][.5ex]{\setlength{\hght}{\heightof{$#3$}}\setlength{\wdth}{\widthof{$#3$}}%
    \makebox[0pt][l]{\tikz[baseline]{\draw[-latex](0,-#1)--(\wdth,\hght+#1) node[shift={(1mm,.5mm)}]{#2};}}#3}

\begin{document}

\[
\sqrt{\frac{i}{2}}\sqrt{\frac{i-1}{2}}\cancelto[3ex]{0}{\{e^{it_1E_{i,i-1}}e^{it_2E_{i-1,i-2}}-e^{it_2E_{i,i-1}}e^{it_1E_{i-1,i-2}}\}}
\]

\end{document}

这里可选参数设置为其默认值.5ex

在此处输入图片描述

当然,您可以像调整任何您想要的东西一样调整线条的粗细、颜色、箭头\draw等等tikz

相关内容