我试图在乳胶中显示这个方程:
\begin{alignat*}{2}
\forall \, z \in \mathbb{C}, \quad & (2z + 1 - i)(i\bar{z}+i-2)=0\\
\iff & 2z + 1 - i = 0 \quad &&\text{ or } i\bar{z}+i-2 = 0\\
\iff & z = -\frac{1}2 + \frac{1}2i &&\text{ or } \bar{z} = -i(-i+2)\\
\iff & z = -\frac{1}2 + \frac{1}2i &&\text{ or } z = 1 + 2i
\end{alignat*}
如您所见,对齐是正确的,但是 sor
与第一行的末尾对齐,而我希望它与\quad
第二行对齐。我该怎么做?谢谢
答案1
这里,第一行的右侧按照您想要的方式对齐,并且它没有任何额外的对齐点,因此您可以简单地忽略它的宽度。from \mathrlap
非常mathtools
适合这种情况:
\documentclass{article}
\usepackage{mathtools}
\usepackage{amsfonts}
\begin{document}
\begin{alignat*}{2}
\forall \, z \in \mathbb{C}, \quad & \mathrlap{(2z + 1 - i)(i\bar{z}+i-2)=0}\\
\iff & 2z + 1 - i = 0 \quad &&\text{ or } i\bar{z}+i-2 = 0\\
\iff & z = -\frac{1}2 + \frac{1}2i &&\text{ or } \bar{z} = -i(-i+2)\\
\iff & z = -\frac{1}2 + \frac{1}2i &&\text{ or } z = 1 + 2i
\end{alignat*}
\end{document}
答案2
你可以添加一些负空间:
\documentclass{article}
\usepackage{amsmath,amssymb}
\begin{document}
\begin{alignat*}{2}
\forall \, z \in \mathbb{C}, \quad
& (2z + 1 - i)(i\bar{z}+i-2)=0\hidewidth\\
\iff & 2z + 1 - i = 0 \quad &&\text{or } i\bar{z}+i-2 = 0\\
\iff & z = -\frac{1}2 + \frac{1}2i &&\text{or } \bar{z} = -i(-i+2)\\
\iff & z = -\frac{1}2 + \frac{1}2i &&\text{or } z = 1 + 2i
\end{alignat*}
\end{document}
请注意,\hidewidth
LaTeX 手册中并没有真正记录这一点,但它是对齐中非常方便的工具;它本质上
\hspace{-1000pt plus 1fill}
因此,负跳跃非常大,但具有无限的可拉伸性。因此,具有的单元格\hidewidth
永远不会是最宽的单元格,但它仍然会被正确填充。
我建议\quad
在“or”之后使用 also,以达到对称性:
\documentclass{article}
\usepackage{amsmath,amssymb}
\begin{document}
\begin{alignat*}{2}
\forall \, z \in \mathbb{C}, \quad
& (2z + 1 - i)(i\bar{z}+i-2)=0\hidewidth\\
\iff & 2z + 1 - i = 0 \quad &&\text{or}\quad i\bar{z}+i-2 = 0\\
\iff & z = -\frac{1}2 + \frac{1}2i &&\text{or}\quad \bar{z} = -i(-i+2)\\
\iff & z = -\frac{1}2 + \frac{1}2i &&\text{or}\quad z = 1 + 2i
\end{alignat*}
\end{document}