为什么 \underbrace 有 _{...} 而不是可选参数?

为什么 \underbrace 有 _{...} 而不是可选参数?

为什么\underbrace(以及类似的命令)采用以下形式

\underbrace{my formula}_{some text under my formula}

标准宏不应该采用以下形式吗?

\underbrace[some text under my formula]{my formula}

因为下面的文字是可选的?

为什么它被当作数学运算符?

\documentclass{article}
\usepackage{amsmath}
\begin{document}
\[
\underbrace{a+b=c}
\]
\[
\underbrace{a+b=c}_{\text{something}}
\]
\[
\lim_{x\to a} x= a
\]
\end{document}

在此处输入图片描述

答案1

LaTeX 中的宏\underbrace与 plain 中的完全相同:它是原始“加载到 plain 之上”方法中自带的元素之一,远早于latex.ltx。此外,_“参数”根本不是参数,而是 TeX 核心下标。它看起来就像一个参数,但构造使用低级 TeX 数学模式原语。

今天重新实施后,人们可能会设置对齐方式,而无需使用基元,因此文本部分将是一个参数。但这是一个完全不同的问题!

答案2

当你看着定义\underbrace(或者\overbrace)您将看到以下内容:

> \underbrace=macro:
#1->\mathop {\vtop {\m@th \ialign {##\crcr $\hfil \displaystyle {#1}\hfil $\crcr
\noalign {\kern 3\p@ \nointerlineskip }\upbracefill \crcr \noalign {\kern 3\p@ 
}}}}\limits .

它表明 的第一个(也是唯一的)参数\underbrace被设置为math operator 并以 结尾\limits。并且,数学运算符的极限(上标和下标)设置在它的顶部/下方。因此,您可以这样做也就不足为奇了:

在此处输入图片描述

$\underbrace{abcd}_{dcba}\ \underbrace{abcd}^{dcba}$

它被视为数学运算符,因为这是在下方/上方堆叠元素的原始方式某物这样它就不会取代某物垂直。

答案3

我认为使用下划线语法进行迭代要容易得多。例如

\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{equation*}
  \underbrace{\left(\frac12+\frac13\right)}_{
    >\underbrace{\frac14+\frac14}_{
      \underbrace{2\cdot \frac14}_{
        \frac12
        }
    }
  }
  \quad + \quad
    \underbrace{\left(\frac14+\frac15+\frac16+\frac17\right)}_{
    >\underbrace{\frac18+\frac18+\frac18+\frac18}_{
      \underbrace{4\cdot \frac18}_{
        \frac12
        }
    }
  }
  \quad > \quad \frac12+\frac12
\end{equation*}

\end{document}

尝试使用“选项”语法执行相同操作。要点是,使用“下划线”语法,您将按顺序(从左到右)编写迭代代码,这与输出结果类似;而使用选项语法,您最终将从右到左编写,因此输出1/2结果中的底部将是三个\underbrace命令之后最左边的公式。

迭代下支撑

相关内容