Centrar elementos dentro de su espacio asignado en el entorno alineado(ed)

Centrar elementos dentro de su espacio asignado en el entorno alineado(ed)

En el siguiente MWE he intentado utilizarlo alignpara asegurar que los términos de colores similares estén ubicados uno encima del otro. Estoy buscando una solución que:

  1. Centra los términos coloreados alrededor de un eje vertical conjunto, a su vez centrado con respecto al espacio horizontal asignado.
  2. Haga que todo el entorno alineado ocupe solo el espacio horizontal necesario (como en el ejemplo 2)
  3. Asigne a cada ecuación su propia etiqueta (como en el ejemplo 1)
  4. Estos sirven como un ejemplo de muchos, me gustaría evitar tener que especificar manualmente una alineación de "esta parte de esto a aquella parte de aquello" más allá de lo que alignya se sabe.

Aquí está mi MWE:

\documentclass{article} 
\usepackage{amsmath} 
\usepackage{xcolor} 
\newcommand{\COne}{\color{red}}
\newcommand{\CTwo}{\color{blue}}

\begin{document}
\begin{align}
( \varphi \rightarrow (&{\COne\psi} &\rightarrow {\CTwo\chi} ) )   \\
( \varphi \rightarrow ( &{\COne( \varphi \rightarrow \varphi )} &\rightarrow{\CTwo\varphi} ) )
\end{align}

\begin{equation}
\begin{aligned}
( \varphi \rightarrow (&{\COne\psi} &&\rightarrow {\CTwo\chi} ) )   \\
( \varphi \rightarrow ( &{\COne( \varphi \rightarrow \varphi )} &&\rightarrow{\CTwo\varphi} ) )
\end{aligned}
\end{equation}

\end{document}

Mis esfuerzos hasta ahora

Este es aproximadamente el resultado que busco:

ingrese la descripción de la imagen aquí

Actualizar: La solución de @Werner funciona muy bien, excepto para expresiones más grandes, todavía obtengo un "estiramiento" involuntario en la salida:

\begin{align}
( \varphi \rightarrow (&\eqmakebox[a]{$\COne\psi$} \rightarrow {\CTwo\chi} )  \rightarrow 
 ( ( \varphi \rightarrow &\eqmakebox[b]{$\COne\psi$} ) \rightarrow ( \varphi \rightarrow{\CTwo \chi} ) )  \\
( \varphi \rightarrow ( &\eqmakebox[a]{$\COne( \varphi \rightarrow \varphi )$} \rightarrow  {\CTwo\varphi} ) ) \rightarrow  
( ( \varphi \rightarrow &\eqmakebox[b]{$\COne( \varphi \rightarrow \varphi ) $}) \rightarrow ( \varphi \rightarrow {\CTwo\varphi} ) )
\end{align}

Resultado final: Gracias @Werner.

\documentclass{article} 
\usepackage{amsmath,eqparbox,xcolor} 
\newcommand{\COne}{\color{red}}
\newcommand{\CTwo}{\color{blue}}

\begin{document}

\begin{alignat}{5}
\varphi \rightarrow (&\eqmakebox[a]{$\COne\psi$} &\rightarrow &{\CTwo\chi} ) &\rightarrow 
( ( \varphi \rightarrow &\eqmakebox[b]{$\COne\psi$} ) \rightarrow ( \varphi \rightarrow{\CTwo \chi} )  \\
\varphi \rightarrow ( &\eqmakebox[a]{$\COne( \varphi \rightarrow \varphi )$} &\rightarrow  &{\CTwo\varphi} ) ) &\rightarrow  
( ( \varphi \rightarrow &\eqmakebox[b]{$\COne( \varphi \rightarrow \varphi ) $}) \rightarrow ( \varphi \rightarrow {\CTwo\varphi} ) 
\end{alignat}


\end{document}

ingrese la descripción de la imagen aquí

Respuesta1

Establezca elementos del mismo ancho en un cuadro de ancho similar usandoeqparbox's \eqmakebox[<tag>][<align>]{<stuff>}. Los mensajes similares <tag>producirán cuadros de tamaño similar (en ancho, coincidiendo con el más ancho ), donde también <stuff>puedes cambiar el formato (el valor predeterminado es entre):<align>c

ingrese la descripción de la imagen aquí

\documentclass{article}
\usepackage{amsmath,xcolor,eqparbox}
\newcommand{\COne}{\color{red}}
\newcommand{\CTwo}{\color{blue}}

\begin{document}

\begin{align}
  ( \varphi \rightarrow ( &{\COne\psi} &\rightarrow {\CTwo\chi} ) )   \\
  ( \varphi \rightarrow ( &{\COne( \varphi \rightarrow \varphi )} &\rightarrow{\CTwo\varphi} ) )
\end{align}

\begin{equation}
  \begin{aligned}
  ( \varphi \rightarrow ( &{\COne\psi} &&\rightarrow {\CTwo\chi} ) )   \\
  ( \varphi \rightarrow ( &{\COne( \varphi \rightarrow \varphi )} &&\rightarrow{\CTwo\varphi} ) )
  \end{aligned}
\end{equation}

\begin{align}
  ( \varphi \rightarrow ( &\eqmakebox[psi]{$\COne\psi$} \rightarrow {\CTwo\chi} ) )   \\
  ( \varphi \rightarrow ( &\eqmakebox[psi]{$\COne( \varphi \rightarrow \varphi )$}\rightarrow{\CTwo\varphi} ) )
\end{align}

\end{document}

Compile dos veces en el primer intento, ya que el ancho de elemento más ancho se escribe en .auxy se lee durante una ejecución posterior. Cualquier cambio en elementos dentro del más amplio <stuff>requerirá ejecuciones adicionales.

información relacionada