\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

全体を 3 回タイプセットします。最初は幅を設定するための水平ファントムとして、2 回目は実際のものとして、3 回目は垂直ファントムとしてタイプセットします。

最初の 2 回は、2 つのオブジェクトが で重ね合わされます\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

別の解決策では、数式を 1 回だけ印刷します (3 回ではありません)。

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

ここに画像の説明を入力してください

関連情報