Como combinar \overbrace e \overline do jeito que eu quero?

Como combinar \overbrace e \overline do jeito que eu quero?

Considere o seguinte:

\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}

O que produz isso:

insira a descrição da imagem aqui

Quero que apareça o \overbracecom o rótulou_3acimao \overline, mas ainda abrange apenas os parênteses. Não consigo encontrar uma maneira de fazer isso.

Isso pode ser feito de alguma forma?

Responder1

Componha tudo três vezes. O primeiro como um fantasma horizontal para definir a largura, a segunda vez como real, a terceira vez como um fantasma vertical.

Nas duas primeiras vezes os dois objetos são sobrepostos com \ooalign.

Para economizar digitação, o objeto é salvo em um comando temporário, que toma como argumento uma regra invisível informando sua altura.

\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}

insira a descrição da imagem aqui

Responder2

Outra solução imprime a fórmula apenas uma vez (não três vezes):

$$
  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}
    $}}
$$

Responder3

\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}

insira a descrição da imagem aqui

Responder4

Quero que apareça o \overbracecom o rótulou_3acimao \overline, mas ainda abrange apenas os parênteses. Não consigo encontrar uma maneira de fazer isso.

Então. Esquecer \overline. Basta usar \hspacee desenhar um \rulena posição, altura, comprimento (e largura) desejados.

$$
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}
$$

insira a descrição da imagem aqui

informação relacionada