![如何排版一个右括号,使其具有与它所支撑的内容完全相同的高度和深度?](https://linux22.com/image/464252/%E5%A6%82%E4%BD%95%E6%8E%92%E7%89%88%E4%B8%80%E4%B8%AA%E5%8F%B3%E6%8B%AC%E5%8F%B7%EF%BC%8C%E4%BD%BF%E5%85%B6%E5%85%B7%E6%9C%89%E4%B8%8E%E5%AE%83%E6%89%80%E6%94%AF%E6%92%91%E7%9A%84%E5%86%85%E5%AE%B9%E5%AE%8C%E5%85%A8%E7%9B%B8%E5%90%8C%E7%9A%84%E9%AB%98%E5%BA%A6%E5%92%8C%E6%B7%B1%E5%BA%A6%EF%BC%9F.png)
我想设计一个右括号内容,其高度和深度等于它所支撑的内容。可以使用 来设计它\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}