如您所知,对齐环境将所有标有 &(通常是等号)的位置精确地放在彼此之下。我现在想保存 LaTeX 计算出的 & 的位置,并在以后再次使用它。更详细地说,我有类似的东西:
\begin{xyz}
\begin{align}
x &= a \\
&= b %store the position of & in \positionequal
\end{align}
\end{xyz}
\begin{xyz}
\begin{align} %read \positionequal and use it to put & at the right position
&= c
\end{align}
\end{xyz}
标有% 的内容对我来说不清楚:
我如何找到这个位置,保存它(以便它不会在一个 xyz 环境到另一个 xyz 环境之间丢失)并再次使用它?
答案1
与早期环境中最宽的元素一起使用,即导致计算位置的\phantom{...}
元素。在您的示例中,align
\begin{xyz}
\begin{align}
x &= a \\
&= b %store the position of & in \positionequal
\end{align}
\end{xyz}
\begin{xyz}
\begin{align} %read \positionequal and use it to put & at the right position
\phantom{x} &= c
\end{align}
\end{xyz}
答案2
虽然这不是最好的做法,但似乎可以通过使用\pdfsavepos
或zref
包来解决我的问题。
它使您可以了解等式左边的起点和终点之间的距离,以便您可以在适当的\hspace
时间重现该距离。
答案3
用于\intertext
环境之间的文本,这样你就可以让所有&
标记都对齐到相同的位置。参见例如这里;他们说它只适用于短文,但据我所知,我能够在其中塞入长段文本和分段命令而不会出现问题(YMMV)。