\下支撑间距

\下支撑间距

我目前正在使用\underbrace命令,并希望将\cdot两个术语居中。我如何才能更好地格式化这个点积并将低价文本对齐到相同的高度?

谢谢。

间距不正确

\begin{equation*}
        g'(t)=Df_{\gamma(t)}\left(\gamma'(t)\right)=\underbrace{\nabla f_{\gamma(t)}}_{\text{gradient}} \cdot \underbrace{\gamma'(t)}_{\text{tangent to level line}}
    \end{equation*}

答案1

添加适当的内容\vphantom并水平展平较长的文本:

在此处输入图片描述

\documentclass{article}

\usepackage{amsmath}

\begin{document}

\begin{equation}
  g'(t) = Df_{\gamma(t)} \bigl( \gamma'(t) \bigr) 
    = \underbrace{\nabla f_{\gamma(t)}}_{\text{gradient}} \hspace{1.5em} \cdot \hspace{1.5em}
      \underbrace{\vphantom{f_{()}}\gamma'(t)}_{\text{\makebox[0pt]{tangent to level line}}}
\end{equation}

\end{document}

您还可以改变括号的方向:

在此处输入图片描述

\documentclass{article}

\usepackage{amsmath}

\begin{document}

\begin{equation}
  g'(t) = Df_{\gamma(t)} \bigl( \gamma'(t) \bigr) 
    = \underbrace{\nabla f_{\gamma(t)}}_{\text{gradient}} \cdot
      \overbrace{\gamma'(t)}^{\text{\makebox[0pt]{tangent to level line}}}
\end{equation}

\end{document}

答案2

完整工作示例:

\documentclass{article}

\usepackage{amsmath}
\usepackage{calc}

\begin{document}

\newlength{\lowerlength}
\newlength{\upperlength}
\newlength{\correction}
\setlength{\upperlength}{\widthof{$\gamma'(t)$}}
\setlength{\lowerlength}{\widthof{\scriptsize tangent to level line}}
\setlength{\correction}{(\lowerlength-\upperlength)*\real{0.5}}

\begin{equation*}
  g'(t)=Df_{\gamma(t)}\left(\gamma'(t)\right)=\underbrace{\nabla f_{\gamma(t)}}_{\text{gradient}} \;\quad\cdot\quad\; {\underbrace{\gamma'(t)\llap{\phantom{$_{()}$}}}_{\hspace{-\correction}\text{tangent to level line}\hspace{-\correction}}}
\end{equation*}
\end{document}

calc包可用于计算长度,它提供了一种计算文本长度的简单方法。在下标中添加负空间可防止第二个因子向右移动太远。

为了垂直对齐两个下括号,我们需要让两个因子看起来具有相同的高度。这里的关键点是第一个因子下标中的括号。因此,我们将它们不可见地添加到第二个因子中(\phantom),并让 TeX 忽略它们的高度(\llap)。

相关内容