考慮以下:
\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}