非常短的过度支撑

非常短的过度支撑

有没有一种好看的方式来为单个字母生成过度括号?

\[
\overbrace{P}^{some annotation}
\]

对于单个字母来说太宽了P。请注意,重点实际上在于注释,读者已经看到了未注释的术语,现在可以看到在术语的哪个位置插入了正式注释的示例。

以下是我来源的一个简化示例。过度支撑P看起来不太好。

\documentclass{minimal}

\usepackage{proof}
\usepackage{mathtools}

\newcommand{\hoare}[3]{\{#1\}\;#2\;\{#3\}}
\newcommand{\ctxt}[3]{C:\langle#1,#2,#3\rangle}

\begin{document}

\begin{equation*}
\infer[Rule]
    {\underbrace{\hoare P c Q}_{\ctxt{i}{x \cdot \mathrm{xs}}{o_2}}}
    { \overbrace{\hoare{P'}{c'}{Q'}}^{\ctxt{i+1}{\mathrm{xs}}{o_1}}
    & R \implies \overbrace{P}^{\mathclap{\ctxt{o_1}{\text{a bit longer}}{o_2}}}
    }
\end{equation*}

\end{document}

答案1

最后,我用的是括号包。此包提供命令来构建您自己的上支撑/下支撑变体。我最终只使用了上支撑的“中间”部分,而没有左端和右端的小弧。这可以通过以下方式获得:

\aoverbrace[U]{formula}^{brace-formula}

必要时,我也\mathclap使用数学工具这样注释就不会在公式的其余部分引入太多空格。

\newcommand{\shortoverbrace}[2]{\aoverbrace[U]{#1}^{\mathclap{#2}}}%

相关内容