某些符号的绝对值和高度缩放

某些符号的绝对值和高度缩放

我目前使用一个宏:

\newcommand{\abs}[1]{\left\lvert #1 \right\rvert}

为了写出绝对值,但我发现当我将它与 \hat 结合时,高度会被以不良的方式修改:

\lvert \hat{x} \rvert, \quad \left\lvert \hat{x} \right\rvert, \quad \lvert \hat{\psi} \rvert, \quad \left\lvert \hat{\psi} \right\rvert  

前三个在绝对值上的高度都相等,但最后一个明显更高。我只能假设这是符号 \psi 和 \hat 所特有的,而不是一般字母(在本例中为 x)。有没有办法解决这个问题而不定义另一个宏(例如 \normalabs 而不定义 \left 和 \right),或者有没有更好的方法来处理这个问题?

梅威瑟:

\documentclass{article}
\usepackage{amsmath}
\newcommand{\abs}[1]{\left\lvert #1 \right\rvert}

\begin{document}
    
    \[
    \lvert \hat{x} \rvert, \quad \left\lvert \hat{x} \right\rvert, \quad \lvert \hat{\psi} \rvert, \quad \left\lvert \hat{\psi} \right\rvert    
    \]
    
\end{document}

在此处输入图片描述

答案1

您可以更新\abs以采用可选参数,在其中指定将用作尺寸调整机制的不同内容:

在此处输入图片描述

\documentclass{article}

\usepackage{xparse}% Not needed if you have an updated LaTeX as of Oct 2020.
\usepackage{amsmath}

\NewDocumentCommand{\abs}{o m}{
  \left\lvert
  \IfNoValueTF{#1}
    {#2}% No optional argument
    {\vphantom{#1}\smash{#2}}% Use optional argument for height purposes only
  \right\rvert
}

\begin{document}
    
\[
  \abs{\hat{x}}, \quad 
    \abs{\hat{x}}, \quad 
    \lvert \hat{\psi} \rvert, \quad 
    \abs{\hat{\psi}}, \quad
    \abs[\hat{x}]{\hat{\psi}}
\]
    
\end{document}

相关内容