Выровнять внутри выравнивать

Выровнять внутри выравнивать

У меня есть список уравнений с аннотациями, как показано ниже:

\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}

Поскольку последние две строки имеют одинаковую аннотацию, я хотел бы добавить там фигурную скобку и поместить аннотацию рядом с фигурной скобкой. Я знаю, что я могу сделать это так:

\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}

Но как объединить две? Последние две линии будут выровнены только между собой, а не с первыми двумя. Есть ли выход из этого?

Заранее спасибо.

решение1

Вот наивная попытка позиционирования брекетов align:

введите описание изображения здесь

\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}

Сочетание \smash(удаление любой вертикальной высоты), \raisebox(для вертикального перемещения) и \llap(удаление горизонтальной ширины с помощью left over lap) позволяет манипулировать положением распорки.

Конечно, (горизонтальное) положение скобы можно отрегулировать.

Связанный контент