[Tex/LaTex] Nested \underset screws up size – is there a better way

symbols

I often find myself wanting two or more conditions below a sum, supremum, limit, etc. Currently, the only way I know to typeset this is using an \underset inside another \underset. For example,

\|A\|= \underset{\underset{\|\eta\|=1}{\|\xi\|=1}}{\sup} |\langle A\xi, \eta \rangle|

or

\underset{\underset{i_1+\dots+i_k=n}{i_1<\dots<i_k}}{\sum} x_1^{i_1} \dots x_k^{i_k}.

What I don't like about this is that the two lines under the sum, sup, lim, or whatever end up a different size, and I'd really like them to be equal. Is there a more flexible way to create multiline expressions under these symbols? (I tried putting a \\ inside the first argument of \underset, but it didn't work.)

Best Answer

You could use \substack or the subarray environment of the amsmath package.

For example:

\|A\|= \sup\limits_{\substack{\|\eta\|=1\\\|\xi\|=1}} |\langle A\xi, \eta \rangle|

You can omit \limits in displaymath mode. Of course \substack and subarray can also be combined with \underset.

Here's an example for \underset with subarray:

\underset{\begin{subarray}{c}
  i_1+\dots+i_k=n \\
  i_1<\dots<i_k
  \end{subarray}}{\sum} x_1^{i_1} \dots x_k^{i_k}.

With subarray you can achieve left alignment by specifying l instead of c. r However, r doesn't work for right aligment, if one expects that.