两个下支撑架之间的定心操作器

两个下支撑架之间的定心操作器

我想将一个运算符置于两个下括号之间,其中包含上述方程部分的描述。我目前有这个:

\documentclass[a4paper, 12pt]{article}
\usepackage{indentfirst}
\usepackage{mathtools}
\usepackage{enumitem}

\begin{document}
\section{Foo}
\subsection{Bar}
\subsubsection*{Baz}\noindent
\parbox{\textwidth}{
    \begin{enumerate}
    \setlength{\jot}{10pt}
        \item [1.] Lorem ipsum dolor sit amet, consectetur adipiscing elit.
        \item [2.] abcde\\
        \begin{equation*}
        \setlength{\jot}{10pt}
        \begin{aligned}
            (a+b+c+d+e) &= a+b+c+d+e\\
            &= \underbrace{(a+b)}_\text{(FooBar)} 
            +
            \underbrace{(c+d+e)}_\text{
                (This is much longer than the part over the underbrace.)
            }
        \end{aligned}
        \end{equation*}
    \end{enumerate}
}
\end{document}

这将生成以下文档:

文档

我希望运算符位于等式两部分的中心。我找到了使用\parboxes 的其他解决方案,但在我看来,这看起来很丑陋。我不希望文本是多行的,只希望运算符居中,如下所示: 正确的

答案1

请允许我提出一个替代方案:将两个括号中的一个替换为\overbrace

\documentclass[a4paper, 12pt]{article}
\usepackage{indentfirst}
\usepackage{mathtools}
\usepackage{enumitem}

\begin{document}
\section{Foo}
\subsection{Bar}
\subsubsection*{Baz}\noindent
\parbox{\textwidth}{
    \begin{enumerate}
    \setlength{\jot}{10pt}
        \item [1.] Lorem ipsum dolor sit amet, consectetur adipiscing elit.
        \item [2.] abcde\\
        \begin{equation*}
        \setlength{\jot}{10pt}
        \begin{aligned}
            (a+b+c+d+e) &= a+b+c+d+e\\
            &= \overbrace{(a+b)}^{\text{(FooBar)} }
            +
            \underbrace{(c+d+e)}_{\mathclap{\text{
                (This is much longer than the part over the underbrace.)
            }}}
        \end{aligned}
        \end{equation*}
    \end{enumerate}
}
\end{document}

在此处输入图片描述


关于您最初的请求,我认为没有任何优雅的解决方案不需要手动调整您想要的+标志周围的间距。当然,您可以制作一个巨大的宏,根据下划线文本的大小计算此间距,但这可能会变得很庞大,并且需要您输入这些下划线文本作为参数。从长远来看,手动解决方案也可能带来更令人满意的结果,但需要付出更多工作。以下是其中一种解决方案:

\documentclass[a4paper, 12pt]{article}
\usepackage{indentfirst}
\usepackage{mathtools}
\usepackage{enumitem}

\newcommand\centerop[2]{\hspace{#1}#2\hspace{#1}}

\begin{document}
\section{Foo}
\subsection{Bar}
\subsubsection*{Baz}\noindent
\parbox{\textwidth}{
    \begin{enumerate}
    \setlength{\jot}{10pt}
        \item [1.] Lorem ipsum dolor sit amet, consectetur adipiscing elit.
        \item [2.] abcde\\
        \begin{equation*}
        \setlength{\jot}{10pt}
        \begin{aligned}
            (a+b+c+d+e) &= a+b+c+d+e\\
            &= \underbrace{(a+b)}_{\mathclap{\text{(FooBar)} }}
            \centerop{1.3cm}{+} %adjust the number 3cm manually
            \underbrace{(c+d+e)}_{\mathclap{\text{
                (This is much longer than the part over the underbrace.)
            }}}
        \end{aligned}
        \end{equation*}
    \end{enumerate}
}
\end{document}

在此处输入图片描述

答案2


\documentclass[a4paper, 12pt]{article}
\usepackage{indentfirst}
\usepackage{mathtools}
\usepackage{enumitem}
\usepackage{utfsym}
\begin{document}
\section{Foo}
\subsection{Bar}
\subsubsection*{Baz}\noindent
\parbox{\textwidth}{
    \begin{enumerate}
    \setlength{\jot}{10pt}
        \item [1.] Lorem ipsum dolor sit amet, consectetur adipiscing elit.
        \item [2.] abcde\\
        \begin{equation*}
        \setlength{\jot}{10pt}
        \begin{aligned}
            (a+b+c+d+e) &= a+b+c+d+e\\
            &= \underbrace{(a+b)}_{\hspace{.02cm}\usym{2780}} 
            +
            \underbrace{(c+d+e)}_{\hspace{.02cm}\usym{2781}}
        \end{aligned}
        \end{equation*}
    \end{enumerate}
}
where  \usym{2780}=(FooBar) and \usym{2781}=This is much longer than the part over the underbrace.
\end{document}

答案3

这与高斯勒的回答类似,但如果您坚持支撑不足的话,还可以提供一些建议以获得更好的输出。

\documentclass[a4paper, 12pt]{article}
\usepackage{mathtools}

\newcommand{\ubracetext}[3][c]{{%
  \underbrace{#2}_{\mbox{\normalfont\scriptsize\begin{tabular}[t]{@{}#1@{}}#3\end{tabular}}}%
}}

\begin{document}

\begin{equation*}
%%% a hack for the particular case
\begin{aligned}
(a+b+c+d+e) &= a+b+c+d+e\\
            &= \ubracetext{(a+b)}{(FooBar)}
               \makebox[1em][l]{\hspace{1.3em}$+$}
               \ubracetext{(c+d+e)}{
                 (This is much longer than \\ the part over the underbrace.)
               }
\end{aligned}
\end{equation*}

\end{document}

有几个问题,\underbrace所以我通常建议定义

\newcommand{\ubrace}{2}{{\underbrace{#1}_{#2}}}

(请注意附加的括号,因此整个对象被视为普通符号)。但是如果您想使用括号下方的文本并使其可跨行拆分,最好使用合适的命令。

该命令\ubracetext有一个可选参数(默认c)来选择分割文本的对齐方式,可以是l、,r甚至是p{<length>}

至于在两者之间放置 + 号,我只需用眼睛测量即可。可以精确计算间距,但您会有多少个这样的物体?在我看来,一个实际上太多了!

相关内容