次の点を考慮してください。
\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}
$$