[Tex/LaTex] Separate long math text under sum symbol into different lines

equationsmath-mode

I have the following equation, where there is a lot of stuff under the sum symbol:

\begin{equation}
d(\vec{x},\vec{y})=
  \sum_{Z_{xy}\in\vec{Z}_{xy},\forall x\in\vec{x},\forall y\in\vec{y}} 
    f(Z_{xy})
\end{equation}

In the resulting document, I find it kind of hard to read. Is there a way to write the equation to make the result more readable, e.g. putting the stuff under the sum symbol on different lines?

Best Answer

You can use the \substack command from the amsmath package, like this:

\begin{equation}
  d(\vec{x},\vec{y}) =
  \sum_{\substack{Z_{xy}\in\vec{Z}_{xy}\\
                  \forall x\in\vec{x}\\
                  \forall y\in\vec{y}}}
        f(Z_{xy}) 
\end{equation}

However, the result still doesn’t look good, because of the extra spacing around the sum symbol:

Image showing the result of the ‘\substack’ command

To fix this, you can use the \mathclap command from the mathtools package, like this:

\begin{equation}
 d(\vec{x},\vec{y}) =
    \sum_{\mathclap{\substack{Z_{xy}\in\vec{Z}_{xy}\\
                              \forall x\in\vec{x}\\
                               \forall y\in\vec{y}}}}
          f(Z_{xy}) 
\end{equation}

Image showing the result of the ‘\mathclap’ and ‘\substack’ commands

But perhaps you might be happy using only \mathclap, and not \substack. The result looks good as long as the subscript is not too wide.

\begin{equation}
  d(\vec{x},\vec{y}) =
    \sum_{\mathclap{{Z_{xy}\in\vec{Z}_{xy},
          \forall x\in\vec{x},
          \forall y\in\vec{y}}}} f(Z_{xy})
\end{equation}

Image showing the result of the ‘\mathclap’ command

The mathtools package also have several other useful commands for typesetting mathematics, including more commands for improving the display of subscripts and superscripts. I very much recommend taking a look at its documentation.

Related Question