如何排版一个右括号,使其具有与它所支撑的内容完全相同的高度和深度?

如何排版一个右括号,使其具有与它所支撑的内容完全相同的高度和深度?

我想设计一个右括号内容,其高度和深度等于它所支撑的内容。可以使用 来设计它\left. \right\rbrace,但实际上我希望多个括号彼此对齐。因此,括号必须放在对齐字符 之后。&&因此,我需要测量内容或使用\vphantom

下面的解决方案有效,但它们有一个主要缺点:他们要求我两次排版括号方程。另外,我尝试使用的实现\saveheightEq与使用的解决方案不一致\savebox。有什么可能的解决方案吗?

在此处输入图片描述

\documentclass[aspectratio=169, xcolor={x11names}, t, handout]{beamer}

\usepackage{calc}
\newlength{\heightEq}
\newlength{\depthEq}

\usetheme{Dresden}
\usefonttheme{professionalfonts}

\NewDocumentCommand{\basmahspace}{}{\mspace{0.61\thinmuskip}}

\newsavebox\rbracebox

\NewDocumentCommand{\saveheightEq}{m}%
    {%
        \setlength{\heightEq}{\heightof{#1}}%
        \setlength{\depthEq}{\depthof{#1}}%
    }
    
\NewDocumentCommand{\rbraceheightEq}{}%
    {%
        \left. \vphantom{\rule{0pt}{\heightEq}}\vphantom{\rule[-\depthEq]{0pt}{\depthEq}} \right\rbrace%
    }
    
\begin{document}

\begin{frame}
    
    \saveheightEq{$1 - \frac{1 + \ln{\frac{V_{oc}}{V_{t}} + 0.72}}{\displaystyle 1 + \frac{V_{oc}}{V_{t}}}$}
    
    \savebox\rbracebox{$\left. \vphantom{1 - \frac{1 + \ln{\frac{V_{oc}}{V_{t}} + 0.72}}{\displaystyle 1 + \frac{V_{oc}}{V_{t}}}} \right\rbrace$}
    
    \begin{alignat*}{6}
        V_{oc} &\approx a \basmahspace V_{t} \basmahspace \ln{\frac{I_{ph}}{I_{0}}}
        && \medspace \bigg\rbrace
        && \text{Increased temperature means increased $I_{0}$}
        \\
        \mathrm{FF}_{i} &= 1 - \frac{1 + \ln{\frac{V_{oc}}{V_{t}} + 0.72}}{\displaystyle 1 + \frac{V_{oc}}{V_{t}}}
        && \rbraceheightEq
        && \smash{\llap{\vrule width 1pt depth 7em height 2.5em}}\text{Decreased $V_{oc}$ means decreased $\mathrm{FF}$}
        \\
        \mathrm{FF}_{i} &=  1 - \frac{1 + \ln{\frac{V_{oc}}{V_{t}} + 0.72}}{\displaystyle 1 + \frac{V_{oc}}{V_{t}}} 
        && \usebox\rbracebox
        && \text{Decreased $V_{oc}$ means decreased $\mathrm{FF}$}
    \end{alignat*}
    
\end{frame}

\end{document}

相关内容