如何按我想要的方式组合 \overbrace 和 \overline?

如何按我想要的方式组合 \overbrace 和 \overline?

考虑以下:

\documentclass[a4paper,12pt]{article}

\usepackage{amsmath}

\begin{document}

$u=\overline{\exists degree\hspace{3pt} \overbrace{\big(\underbrace{degrees(course, degree)}_{u_1}\wedge\underbrace{degree\neq 1}_{u_2}\big)}^{u_3}}$

\end{document}

由此产生了如下结果:

在此处输入图片描述

\overbrace我想要u_3出现多于\overline但仍然只包含括号。我找不到办法做到这一点。

有办法吗?

答案1

将整个内容排版三次。第一次排版为水平幻影以设置宽度,第二次排版为真实内容,第三次排版为垂直幻影。

前两次两个物体是叠加的\ooalign

为了节省输入,对象被保存在一个临时命令中,该命令以说明其高度的不可见规则作为参数。

\documentclass[a4paper,12pt]{article}
\usepackage{amsmath}
\usepackage{lipsum} % for giving context

\newcommand{\func}[1]{\operatorname{#1}}
\newcommand{\var}[1]{\mathit{#1}}

\begin{document}

\lipsum*[2]
\[
\newcommand{\contents}[1]{%
  \exists\, \var{degree} \: 
  \overbrace{
    #1
    \bigl(\,
      \underbrace{\func{degrees}(\var{course},\var{degree})}_{u_1}
      \wedge
      \underbrace{\var{degree}\neq 1}_{u_2}
    \,\bigr)
  }^{u_3}
}
u={\ooalign{%
    $\displaystyle\overline{\rule{0pt}{2ex}\hphantom{\contents{}}}$\cr
    $\displaystyle\contents{\rule{0pt}{2.75ex}}$\cr
}}
\vphantom{\contents{\rule{0pt}{2.75ex}}}
\]
\lipsum[2]

\end{document}

在此处输入图片描述

答案2

另一种解决方案仅打印一次公式(而不是三次):

$$
  u =
  \vbox{\def\shiftA{3.3ex}\def\shiftB{\vrule height2.7ex width0pt} %spec. numbers for this formula
    \kern\shiftA\hrule\kern-\shiftA
    \hbox{$\displaystyle
       \exists\, {\it degree} 
           \overbrace{\big(
               \underbrace{\shiftB{\rm degrees}({\it course},{\it degree})}_{u_1}
               \wedge
               \underbrace{{\it degree}\neq 1}_{u_2}
           \big)}^{u_3}
    $}}
$$

答案3

\documentclass[12pt]{article}
\usepackage{mathtools}

\begin{document}
\def\contento{\exists\,\mathit{degree}}
\def\contenti{\big(
    \underbrace{{\rm degrees}({\it course},{\it degree})}_{u_1}
    \wedge
    \underbrace{{\it degree}\neq 1}_{u_2}
    \big)}
\[
u=\overline{\contento\phantom{\contenti}}
  \llap{$\displaystyle
        \overbrace{\vphantom{\overline{\contento\contenti}}\contenti}^{u_3}
    $}
\]

\[
u=\overline{\contento\vphantom{\contenti}}\!
\overbrace{
    \overline{\vphantom{\contento}\contenti}
}^{u_3}
\]
\end{document}

在此处输入图片描述

答案4

\overbrace我想要u_3出现多于\overline但仍然只包含括号。我找不到办法做到这一点。

所以。忘记\overline。只需使用并在所需的位置、高度、长度(和宽度)处\hspace绘制即可。\rule

$$
u=\exists degree\hspace{3pt}
\overbrace{\big(\underbrace{degrees(course, degree)}_{u_1}
\wedge\underbrace{degree\neq 1}_{u_2}\big)
   \hspace{-21em}\rule[2.25ex]{21em}{}
}^{u_3}
$$

在此处输入图片描述

相关内容