.png)
No MWE a seguir, tentei usar align
para garantir que termos com cores semelhantes estivessem localizados um sobre o outro. Estou procurando uma solução que:
- Centraliza os termos coloridos em torno de um eixo vertical conjunto, ele próprio centralizado em relação ao espaço horizontal alocado.
- Faça com que todo o ambiente alinhado ocupe apenas o espaço horizontal necessário (como no exemplo 2)
- Dê a cada equação sua própria tag/rótulo (como no exemplo 1)
- Estes servem como um exemplo de muitos, gostaria de evitar ter que especificar manualmente um alinhamento de "esta parte disto para aquela parte daquilo" além do que
align
já se sabe.
Aqui está meu 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}
Aqui está aproximadamente o resultado que procuro:
Atualizar: A solução de @Werner funciona muito bem, exceto para expressões maiores, ainda estou recebendo "alongamento" não intencional na saída:
\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: Obrigado @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}
Responder1
Defina itens com largura semelhante em uma caixa de largura semelhante usandoeqparbox
é \eqmakebox[<tag>][<align>]{<stuff>}
. S semelhantes <tag>
produzirão caixas de tamanhos semelhantes (em largura, correspondendo ao mais largo <stuff>
), onde você <align>
também pode alterar o mento (o padrão é c
entre):
\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 duas vezes na primeira tentativa, já que a largura mais larga do elemento é gravada .aux
e lida durante uma execução subsequente. Quaisquer alterações nos elementos mais amplos <stuff>
exigirão execuções adicionais.