我如何得到这个带有垂直箭头的方程来帮助描述它的一些术语?
\begin{equation*}
0 \leq F = \underbrace{\sum\limits_{i=1}^{n}(y_i - \overline{y})^2}_{(n-1)s_y^2}
- 2b \underbrace{\sum\limits_{i=1}^{n}(x_i - \overline{x})(y_i - \overline{y})}_{(n-1)s_{xy} = (n-1)rs_xs_y}
+b^2 \underbrace{\sum\limits_{i=1}^{n}(x_i - \overline{x})^2}_{(n-1)s_x^2}
\end{equation*}
答案1
该命令\uparrow
制作一个可扩展的箭头。
\documentclass{article}
\usepackage{mathtools}
\newcommand\vertarrowbox[3][6ex]{%
\begin{array}[t]{@{}c@{}} #2 \\
\left\uparrow\vcenter{\hrule height #1}\right.\kern-\nulldelimiterspace\\
\makebox[0pt]{\scriptsize#3}
\end{array}%
}
\begin{document}
\begin{equation*}
0 \leq F =
{\underbrace{\sum_{i=1}^{n}(y_i-\bar{y})^2}_{(n-1)s_y^2}}
-\vertarrowbox{2b}{text}
{\underbrace{{}\sum_{i=1}^{n}(x_i-\bar{x})(y_i-\bar{y})}_{(n-1)s_{xy} = (n-1)rs_xs_y}}
+\vertarrowbox{b^2}{More text}
{\underbrace{{}\sum_{i=1}^{n}(x_i-\bar{x})^2}_{(n-1)s_x^2}}
\end{equation*}
\begin{equation*}
0 \leq F =
\sum_{i=1}^{n}(y_i-\bar{y})^2
-2b
\sum_{i=1}^{n}(x_i-\bar{x})(y_i-\bar{y})
+b^2
\sum_{i=1}^{n}(x_i-\bar{x})^2
\end{equation*}
\end{document}
奇怪的括号很容易解释:\underbrace
构成了一个 Op 原子,这与二元运算的间距相冲突,因此最好用括号括起来。但是,如果前面有一个普通符号,则应该出现一个细小的空格,这是由里面的\sum
空子公式在必要时产生的。{}
\underbrace
\underbrace
第二个显示显示没有箭头的标准间距,只是为了检查间距是否相同。
有\vertarrowbox
一个可选参数,用于指定箭头所需的高度,默认为 6ex。调用它就像\vertarrowbox[12ex]{<symbol>}{<text>}
您想要将高度加倍一样(其大小应取决于上下文)。
答案2
一种可能性是使用包tikz
及其 tikzmark
库:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{tikzmark}
\usepackage{lipsum}% for dummy text
\begin{document}
\lipsum*[11]
\[
0 \leq F = \underbrace{\sum_{i=1}^{n}(y_i - \overline{y})^2}_{(n-1)s_y^2}
- \tikzmark{A}2b
\underbrace{\sum_{i=1}^{n}(x_i - \overline{x})(y_i - \overline{y})}_{(n-1)s_{xy} = (n-1)rs_xs_y}
+ \tikzmark{B}b^2
\underbrace{\sum_{i=1}^{n}(x_i - \overline{x})^2}_{(n-1)s_x^2}
\begin{tikzpicture}[overlay, remember picture,shorten <=1mm,font=\footnotesize]
\draw[<-] ([xshift=1.0ex] pic cs:A) -- ++ (0,-1.2) node[below] {text};
\draw[<-] ([xshift=0.5ex] pic cs:B) -- ++ (0,-1.2) node[below] {text};
\end{tikzpicture}
\bigskip
\]
\lipsum*[12]
\end{document}
答案3
像这样?观察一下,解决方案设置了一个名为的宏\vertarrowbox
,它接受两个参数:(a)要放置在等式主线上的内容,以及(b)要放置在长垂直箭头下方的文本。
\documentclass{article}
\usepackage{mathtools,graphicx}
\newcommand\vertarrowbox[2]{%
\begin{array}[t]{@{}c@{}} #1 \\
\rotatebox{90}{$\xrightarrow{\hphantom{abcdefgh}}$} \\[-1ex]
\mathclap{\scriptstyle\text{#2}}%
\end{array}}
\begin{document}
\begin{equation*}
0 \leq F =
\underbrace{\sum_{i=1}^{n}(y_i-\bar{y})^2}%
_{(n-1)s_y^2}
{}-{}\vertarrowbox{2b}{text}
\underbrace{\sum_{i=1}^{n}(x_i-\bar{x})(y_i-\bar{y})}%
_{(n-1)s_{xy} = (n-1)rs_xs_y}
{}+{}\vertarrowbox{b^2}{More text}
\underbrace{\sum_{i=1}^{n}(x_i-\bar{x})^2}%
_{(n-1)s_x^2}
\end{equation*}
\end{document}
答案4
pstricks
带有和 的简短代码auto-pst-pdf
:
\documentclass{article}
\usepackage{amsmath}
\usepackage{pst-node, auto-pst-pdf}
\begin{document}
\begin{postscript}
\begin{equation*}
0 \leq F = \underbrace{\sum\limits_{i=1}^{n}(y_i - \overline{y})^2}_{(n-1)s_y^2}
{}-\rnode{B}{2b} \underbrace{\sum\limits_{i=1}^{n}(x_i - \overline{x})(y_i - \overline{y})}_{(n-1)s_{xy} = (n-1)rs_xs_y}
{}+\rnode{b2}{b^2} \underbrace{\sum\limits_{i=1}^{n}(x_i - \overline{x})^2}_{(n-1)s_x^2}
\end{equation*}
\psset{arrowinset=0.12, arrows=->, nodesep=4pt}
\uput{12ex}[d](B){\rnode[t]{T1}{\textsf{Text}}}\ncline{T1}{B}
\uput{12ex}[d](b2){\rnode[t]{T2}{\textsf{Text}}}\ncline{T2}{b2}
\end{postscript}
\end{document}