Alinhar dentro de alinhar

Alinhar dentro de alinhar

Eu tenho uma lista de equações com anotações como a abaixo:

\documentclass{scrartcl}
\usepackage{amsmath}
\begin{document}
\begin{align*}
  aaaa &= 1  &&\text{for $X$} \\
  bbbb &= 1  &&\text{for $Y$} \\
  c    &= 1  &&\text{for $Z$} \\
  d    &= 12 &&\text{for $Z$}
\end{align*}
\end{document}

Como as duas últimas linhas têm a mesma anotação, gostaria de adicionar uma chave e colocar a anotação ao lado da chave. Eu sei que posso fazer isso assim:

\documentclass{scrartcl}
\usepackage{amsmath}
\begin{document}
\begin{align*}
  \left. \begin{aligned}
    c &= 1 \\
    d &= 12 \\
  \end{aligned} \right\} &&\text{for $Z$}
\end{align*}
\end{document}

Mas como juntar os dois? As duas últimas linhas ficarão alinhadas apenas entre si, e não com as duas primeiras. Existe uma maneira de sair disso?

Desde já, obrigado.

Responder1

Aqui está uma tentativa ingênua de posicionar colchetes em align:

insira a descrição da imagem aqui

\documentclass{scrartcl}% http://ctan.org/pkg/koma-script
\usepackage{amsmath}% http://ctan.org/pkg/amsmath
\begin{document}
\begin{align*}
  aaaa &= 1  &&\text{for $X$} \\
  bbbb &= 1  &&\text{for $Y$} \\
  c    &= 1  && \\
  d    &= 12 &&\llap{\smash{\raisebox{\dimexpr.5\normalbaselineskip+.5\jot}{$\left.\begin{array}{c}\null\\[\jot]\null\end{array}\right\}\quad$}}}
      \text{\smash{\raisebox{\dimexpr.5\normalbaselineskip+.5\jot}{for $Z$}}}
\end{align*}
\end{document}

A combinação de \smash(remoção de qualquer altura vertical), \raisebox(para movimento vertical) e \llap(remoção de largura horizontal usando um left over lap) permite manipular a posição da cinta.

Naturalmente, a localização (horizontal) da cinta pode ser ajustada.

informação relacionada