与最后一行对齐,仅在一点对齐

与最后一行对齐,仅在一点对齐

我目前有这段代码

\begin{alignat}{4}
\hat{\Theta}^2 |+\rangle &= \hat{\Theta}(i|-\rangle) &&= -i \hat{\Theta}|-\rangle &&&= - |+\rangle \\
\hat{\Theta}^2 |-\rangle &= \hat{\Theta}(-i|+\rangle) &&= i \hat{\Theta}|+\rangle &&&= - |-\rangle \\
& \Rightarrow\hat{\Theta}^2 &&= -1 &&&
\end{alignat}

结果是:

在此处输入图片描述

我希望最后一行只将等号与上面两行中间的等号对齐,但由于它还对齐了箭头,所以最后一行出现了奇怪的空格。我该如何解决这个问题?

答案1

\mathllap{...}你可以使用该特定对齐方式的左侧进行操作

\documentclass[a4paper]{article}
\usepackage{mathtools} % autoloads amsmath
\begin{document}
\begin{alignat}{4}
\hat{\Theta}^2 |+\rangle & = \hat{\Theta}(i|-\rangle)  &                                      & = -i \hat{\Theta}|-\rangle &  &  & = - |+\rangle \\
\hat{\Theta}^2 |-\rangle & = \hat{\Theta}(-i|+\rangle) &                                      & = i \hat{\Theta}|+\rangle  &  &  & = - |-\rangle \\
                         &                             & \mathllap{\Rightarrow\hat{\Theta}^2} & = -1                       &  &  & 
\end{alignat}
\end{document}

在此处输入图片描述

答案2

对于复杂的对齐来说,IEEEtrantools非常方便。

\documentclass{article}
\usepackage{amsmath}
\usepackage{IEEEtrantools}

\newcommand{\myket}[1]{\mathinner{\mathopen|{#1}\rangle}}
\newcommand{\hTheta}{\hat{\Theta}}

\begin{document}

\begin{IEEEeqnarray}{rClCrCl}
\hTheta^2 \myket{+} &=& \hTheta(i\myket{-})  &=& -i \hTheta\myket{-} &=& - \myket{+} \\
\hTheta^2 \myket{-} &=& \hTheta(-i\myket{+}) &=&  i \hTheta\myket{+} &=& - \myket{-} \\
\IEEEeqnarraymulticol{3}{r}{\Rightarrow\hTheta^2} &=& \IEEEeqnarraymulticol{3}{l}{-1}
\end{IEEEeqnarray}

\end{document}

\hTheta这样定义是为了避免重复\hat{\Theta}太多次而影响代码的可读性。更重要的是\myket,这有助于获得更好的间距。

列类型r几乎l是不言自明的;C意思是“以关系为中心并带有间距”。

在此处输入图片描述

一个可能的改进是添加\!\IEEEeqnarraymulticol我注意到它有在这里和那里添加细空格的习惯)。

\documentclass{article}
\usepackage{amsmath}
\usepackage{IEEEtrantools}

\newcommand{\myket}[1]{\mathinner{\mathopen|{#1}\rangle}}
\newcommand{\hTheta}{\hat{\Theta}}

\begin{document}

\begin{IEEEeqnarray}{rClCrCl}
\hTheta^2 \myket{+} &=& \hTheta(i\myket{-})  &=& -i \hTheta\myket{-} &=& - \myket{+} \\
\hTheta^2 \myket{-} &=& \hTheta(-i\myket{+}) &=&  i \hTheta\myket{+} &=& - \myket{-} \\
\IEEEeqnarraymulticol{3}{r}{\Rightarrow\hTheta^2\!} &=& \IEEEeqnarraymulticol{3}{l}{-1} 
\end{IEEEeqnarray}

\end{document}

在此处输入图片描述

答案3

我还有一些其他建议达莱夫的回答(+1)。

首先,您可能需要将最右边的改为={}=等号将获得与其他两个一致的适当间距=

=其次,这更像是一个修饰性建议。您可以通过添加不可见的 来“改善”中间之后的术语对齐-。这是通过 实现的\phantom{}。我引用“改善”是因为这可能更像是个人偏好。

\documentclass{article}
\usepackage{mathtools}

\begin{document}
\begin{alignat}{4}
    \hat{\Theta}^2 |+\rangle &= \hat{\Theta}(i|-\rangle)   & &= -i \hat{\Theta}|-\rangle           & & &{}= -|+\rangle \\
    \hat{\Theta}^2 |-\rangle &= \hat{\Theta}(-i|+\rangle)  & &= \phantom{-}i \hat{\Theta}|+\rangle & & &{}= -|-\rangle \\
                    & & \mathllap{\Rightarrow\hat{\Theta}^2} &= -1 & & &
\end{alignat}
\end{document}

在此处输入图片描述


编辑(感谢您的评论)
下面是另一个示例,其中最右边的=格式正确,没有任何额外的空项{}

\documentclass{article}
\usepackage{mathtools}

\begin{document}
\begin{alignat}{4}
    \hat{\Theta}^2 |+\rangle &= \hat{\Theta}(i|-\rangle)     & &= -i \hat{\Theta}|-\rangle          & &= -|+\rangle \\
    \hat{\Theta}^2 |-\rangle &= \hat{\Theta}(-i|+\rangle)    & &= \phantom{i} \hat{\Theta}|+\rangle & &= -|-\rangle \\
    & &                   \mathllap{\Rightarrow\hat{\Theta}^2} &= -1 & &
\end{alignat}
\end{document}

相关内容