%20%ED%99%98%EA%B2%BD%EC%97%90%EC%84%9C%20%ED%95%A0%EB%8B%B9%EB%90%9C%20%EA%B3%B5%EA%B0%84%20%EB%82%B4%EC%97%90%EC%84%9C%20%EC%9A%94%EC%86%8C%EB%A5%BC%20%EC%A4%91%EC%95%99%EC%97%90%20%EB%B0%B0%EC%B9%98.png)
align
다음 MWE에서는 유사한 색상의 용어가 서로 위에 위치하는지 확인하는 데 사용하려고 했습니다 . 나는 다음과 같은 해결책을 찾고 있습니다.
- 색상이 지정된 용어는 할당된 수평 공간을 기준으로 중앙에 있는 공동 수직 축을 중심으로 정렬됩니다.
- 전체 정렬된 환경이 필요한 만큼만 수평 공간을 차지하도록 합니다(예 2에서와 같이).
- 각 방정식에 고유한 태그/레이블을 지정합니다(예 1에서와 같이).
- 이것들은 많은 것 중 하나의 예입니다. 이미 알고 있는 것 이상으로 "이 부분에서 저 부분까지"의 정렬을 수동으로 지정하지 않아도 되기를 바랍니다
align
.
내 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}
내가 추구하는 결과는 대략 다음과 같습니다.
업데이트: @Werner의 솔루션은 훌륭하게 작동합니다. 더 큰 표현식을 제외하고는 여전히 출력에서 의도하지 않은 "스트레칭"이 발생합니다.
\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}
최종 결과: @베르너님 감사합니다.
\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}
답변1
다음을 사용하여 비슷한 너비의 상자에 너비가 같은 항목을 설정합니다.eqparbox
의 \eqmakebox[<tag>][<align>]{<stuff>}
. 유사한 <tag>
s는 비슷한 크기의 상자(너비 기준, 가장 넓은 것과 일치)를 생성하며 여기서 내용도 <stuff>
변경할 수 있습니다 (기본값은 entre).<align>
c
\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}
.aux
가장 넓은 요소 너비가 에 기록되고 후속 실행 중에 읽혀지므로 처음에 두 번 컴파일합니다 . 가장 넓은 범위 내의 요소를 변경하려면 <stuff>
추가 실행이 필요합니다.