使用取消包时括号大小异常

使用取消包时括号大小异常

我很高兴地使用了取消包,它可以划掉部分数学公式。

然而,今天我注意到,在具有多项式幂的公式中,位于取消之外的括号的大小表现得非常奇怪。根据幂中加号和减号的数量和组合,外部括号\left(意外\right)地比平常大或小。

这使得将它们与等效的非取消项一起使用变得很复杂,或者像我的情况一样,只在符号上有差异的项。我尝试的更简单的例子是:

    \documentclass{article}
    \usepackage{cancel} 
    \begin{document}

    \begin{equation}
    \left[ \psi_0 \, \cancel{e^{-i \left( k_0 z-\omega_0t\right)}} \right] 
    \left[ \psi_0 \, \cancel{e^{i \left( k_0 z-\omega_0t \right)} } \right] 
    \end{equation}

    \end{document}

但我希望两个术语中的括号大小相同。

我不确定这是个 bug 还是我遗漏了什么。但即使这是个 bug,知道是否有任何技巧可以帮助我解决它也会很有帮助。

包含两个示例的图像,其中一个是取消命令将括号缩小到正常大小以下,另一个是取消命令将括号放大:

取消套餐导致括号大小异常的两个示例

我试图找到规则来发布在这里,使用从一到七个术语以及不同的加号和减号组合,但不幸的是,在我看来,这是一种非常不稳定的行为,我无法理解整体模式。我在这里发布了一些额外的例子,希望它能帮助专家用户发现问题可能出在哪里。

    \documentclass{article}
    \usepackage{cancel} 
    \begin{document}

    How the brackets normally look:
    \begin{equation}
    P =  \left[ {e^{1}} \right]
    \quad
    P =  \left[ {e^{-1}} \right]
    \quad
    P =  \left[ {e^{-\left(1\right)}} \right]
    \quad
    P =  \left[ {e^{-\left(-1\right)}} \right]
    \quad
    P =  \left[ {e^{-\left(12\right)}} \right]
    \end{equation}

    If there are brackets in the exponential, it matters whether the signs are inside or outside and even the number of characters as well:
    \begin{equation}
    P =  \left[ \cancel{e^{1}} \right]
    \quad
    P =  \left[ \cancel{e^{-1}} \right]
    \quad
    P =  \left[ \cancel{e^{-\left(1\right)}} \right]
    \quad
    P =  \left[ \cancel{e^{-\left(-1\right)}} \right]
    \quad
    P =  \left[ \cancel{e^{-\left(12\right)}} \right]
    \end{equation}

    With one to five terms preceded by a plus sign in the exponential, the outer brackets look normal, six or more, they are larger than usual:

    \begin{equation}
    P =  \left[ \cancel{e^{+1+2+3+4+5}} \right]
    \quad
    P =  \left[ \cancel{e^{+1+2+3+4+5+6}} \right]
    \end{equation}

    When the terms are preceded by a minus sign, the strange behaviour starts at five terms instead:

    \begin{equation}
    P =  \left[ \cancel{e^{-1-2-3-4}} \right]
    \quad
    P =  \left[ \cancel{e^{-1-2-3-4-5}} \right]
    \end{equation}

    When the first number in the exponent is not preceded by any sign the behaviour is quite erratical. 
    \begin{equation}
    P =  \left[ \cancel{e^{1+2}} \right]
    \quad
    P =  \left[ \cancel{e^{1+2+3}} \right]
    \quad
    P =  \left[ \cancel{e^{1+2+3+4}} \right]
    \end{equation}

    \end{document}

答案1

成功的秘诀是使用 smash 命令从麻烦的带有负指数的取消因子中移除标称高度:

    \left( \smash{\cancel{e^{-i(...)}}} \right)

然后添加一个垂直幻影,为具有正指数的项提供适当的高度,但不显示在公式中:

    \left( \vphantom{\cancel{e^{i(...)}}} \smash{\cancel{e^{-i(...)}}} \right)

(@Qrrbrbirlbel 的评论已经消失,因此我发布了他的回答,以防有人遇到同样的问题。)

答案2

该包使用的工具与环境中获取\line和使用的工具相同。由于仅提供有限的一组斜率,因此需要进行一些舍入,并且它们会产生您注意到的副作用。\vectorpicture

让我们提醒一下,在 中\line(x,y)xy应该是区间 [-6,6] 内的整数,没有公约数。在包中,cancel条目的水平或垂直维度都得到了纠正(确切的规则由文件 确定cancel.sty)。

相关内容