Примите во внимание следующее:
\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}
$$