Множественное выравнивание без интервала

Множественное выравнивание без интервала

Как лучше всего набрать такое уравнение? введите описание изображения здесь

(Вертикальные красные линии обозначают три различные оси выравнивания.)

Я попробовал следующее:

\begin{alignat*}{3}
    \phi: Z^{X \times Y} &\to (Z^Y)^X\\
                   f     &\mapsto \phi(f): X &&\to Z^Y\\
                                           x &&\mapsto \phi(f)(x): Y &&&\to Z\\ 
                                                                    y &&&\mapsto \phi(f)(x)(y) = f(x,y)
\end{alignat*}

Но это не работает должным образом.

решение1

Вот с alignatи небольшой трюк с mathtools. Кодомен верхней карты слишком широк, поэтому мы подавляем его ширину, чтобы сохранить выравнивание.

\documentclass{article}
\usepackage{amsmath,mathtools}
\begin{document}
\begin{alignat*}{3}
\phi\colon Z^{X \times Y} &\to \mathrlap{(Z^Y)^X}\\
                    f     &\mapsto \phi(f)\colon &X &\to Z^Y\\
                          &                      &x &\mapsto \phi(f)(x)\colon &Y &\to Z\\ 
                          &                      &  &                         &y &\mapsto \phi(f)(x)(y) = f(x,y)
\end{alignat*}
\end{document}

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

решение2

Если грубая сила приемлема...

\documentclass{article}

\begin{document}

\[\arraycolsep0.1667em
\begin{array}{rlll}
 \phi: Z^{X \times Y} &\to (Z^Y)^X&&\\ 
f &\mapsto \phi(f): X &\to Z^Y&\\ 
&\multicolumn{1}{r}{x} &\mapsto \phi(f)(x): Y &\to Z\\ 
&&\multicolumn{1}{r}{y} &\mapsto \phi(f)(x)(y) = f(x,y) 
\end{array}
\]

\end{document} 

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

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