我有以下方程式:
\begin{flalign*}
\text{Runtime} & = \underset{\begin{subarray}{c}
v \in V(T_1)\\
w \in C_\alpha(v)
\end{subarray}}{\sum}\big(|child(v)| + |child(w)| + \\
& \quad\quad\quad \underset{P_k \in P(child(v), child(w))}{\sum}|P_k|\big)\\
& < \underset{\begin{subarray}{c}
v \in V(T_1)\\
w \in C_\alpha(v)
\end{subarray}}{\sum}(deg(T_1) + deg(T_2) + deg(T_1) deg(T_2))\\
& = O(N_1 deg(T_1) deg(T_2)^{\alpha + 1})
\end{flalign*}
等式中第一个和的格式很糟糕。当它被分成两行时,行与行之间的间隙太大。我希望它的格式是第一行和第二行之间的间距减少,如下图所示:
我怎样才能实现这个目标?
答案1
我建议使用以下代码。请注意以下几点更改:
\sum_{\substack{}}
而\overset{...}{\sum}
这太罗嗦了。deg()
如果使用直立字体排版,效果child()
会更好(斜体看起来就像一堆变量)我认为最好不要拆分第一行。不过,如果太长,拆分第二个和的下标并添加几个负空格会有所帮助。
\Big
括号有助于直观地识别要计算的总和。\documentclass{article} \usepackage{amsmath} \DeclareMathOperator{\Deg}{deg} \DeclareMathOperator{\child}{child} \begin{document} \begin{flalign*} \text{Runtime} & = \sum_{\substack{v\in V(T_1)\\w\in C_\alpha(v)}} \!\!\!\Big(\left|\child(v)\right| + \left|\child(w)\right| + \!\!\!\!\!\!\sum_{\substack{P_k \in P(\child(v),\\\phantom{P_k \in P(}\child(w))}} \!\!\!\!\!\!|P_k|\Big)\\ & < \sum_{\substack{v\in V(T_1)\\w\in C_\alpha(v)}}(\Deg(T_1) + \Deg(T_2) + \Deg(T_1) \Deg(T_2))\\ & = O(N_1 \Deg(T_1) \Deg(T_2)^{\alpha + 1}) \end{flalign*} \end{document}
答案2
一些小的改进,使用\smashoperator
来自(如果加载 mathtools,则mathtools
无需加载):masmath
\documentclass{article}
\usepackage{mathtools}
\DeclareMathOperator{\Deg}{deg}
\DeclareMathOperator{\child}{child}
\begin{document}
\begin{flalign*}
\text{Runtime} & = \smashoperator{\sum_{\substack{v\in V(T_1)\\w\in C_\alpha(v)}}}
\Big(\left|\child(v)\right| + \left|\child(w)\right| +
\smashoperator{ \sum_{\substack{P_k \in\\P(\child(v),\child(w))}}}
|P_k|\Big)\\
& < \smashoperator{\sum_{\substack{v\in V(T_1)\\w\in C_\alpha(v)}}}\bigl(\Deg(T_1) + \Deg(T_2)
+ \Deg(T_1) \Deg(T_2)\bigr)\\
& = O\bigl(N_1 \Deg(T_1) \Deg(T_2)^{\alpha + 1}\bigr)
\end{flalign*}
\end{document}