Как объединить \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}
$$

введите описание изображения здесь

Связанный контент