Sobrescritos muito altos após macros definidas com \DeclarePairedDelimiter

Sobrescritos muito altos após macros definidas com \DeclarePairedDelimiter

Eu tenho uma macro para valor absoluto (usando \DeclarePairedDelimiterfrom mathtools):

\DeclarePairedDelimiter{\abs}{\lvert}{\rvert}

Isso funciona muito bem em termos de ajuste do tamanho das cercas, etc. Mas a posição sobrescrito quando uso \abs{x}^2é muito alta. Veja o seguinte:

Saída PDF

Alguma ideia se isso é um bug ou não, ou como posso corrigi-lo? Editar:Parece que o comportamento acima se deve ao fato de DeclarePairedDelimiterchamar \mathclose/fazer uma subfórmula. Não sei se essa foi uma escolha de design ou não - mas certamente gostaria de saber se existe uma maneira fácil de contornar isso.

Aqui está o meu código para o acima.

\documentclass{minimal}
\usepackage[active,tightpage]{preview}
\usepackage{varwidth,mathtools}
\DeclarePairedDelimiter{\abs}{\lvert}{\rvert}
\begin{document}
  \begin{preview}\begin{varwidth}{360pt}
    The superscript following \verb'\abs{x}' is higher than that following \verb'\lvert x\rvert'.
    Here is an example:

    \begin{center}
      \verb'\abs{x}^2 \lvert x\rvert^2' produces $\abs{x}^2 \lvert x\rvert^2$.
    \end{center}
    The same happens in displayed math:
    \begin{equation*}
      \abs{x}^2 \lvert x\rvert^2
    \end{equation*}
  \end{varwidth}\end{preview}
\end{document}

Desde já, obrigado.

Responder1

Esta é uma opção de design em mathtools. Nem todos os usuários sabem \rvertque é melhor que |, então nós os ajudamos, também nos ajuda se alguém quiser usar )(como par delimitador. A não ser repetir o material da cerca depois \vpahntomda cerca, não conheço método melhor.

Mas, neste caso, como você está usando as cercas esquerda e direita adequadas, há uma saída:

\DeclarePairedDelimiter{\abs}{\lvert}{\rvert}
\reDeclarePairedDelimiterInnerWrapper{\abs}{nostar}{#1#2#3}

Responder2

DeclarePairedDelimiterproduz uma subfórmula.EDITARcomo @Daleif sugeriu, isso se deve à DeclarePairedDelimiterchamada \mathcloseda chave certa.

Isso equivale a usar colchetes ( {e }), que também produzem subfórmulas matemáticas, o que às vezes pode causar problemas de alinhamento. (Aliás, é por isso que você normalmente não tem colchetes adjacentes {}) no modo matemático.

Veja os exemplos a seguir:

\documentclass{minimal}
\usepackage{amsmath,mathtools}
\DeclarePairedDelimiter{\abs}{\lvert}{\rvert}
\begin{document}

    \begin{gather}
      \left|x\right|^2 \lvert x\rvert^2 \\
      \abs{x}^{2} \lvert x\rvert^{2} \\
      {|x|}^{2} \lvert x\rvert^{2} 
    \end{gather}
\end{document}

Produzindo:

insira a descrição da imagem aqui

Você pode ver claramente que o segundo exemplo (que é o seu texto) e a subfórmula produzem o mesmo alinhamento.

Parece que o expoente é aplicado a toda a subfórmula e não é transportado como expoente da sua variável.

informação relacionada