以下是我拥有的方程数组:
\begin{eqnarray}
\Rightarrow\eta_t &=& \eta_x(\omega \eta-(\varphi_x)_s) + (\varphi_y)_s\notag\\
\Rightarrow\eta_t\,(\varphi_y)_s &=& \eta_x(\omega \eta-(\varphi_x)_s)(\varphi_y)_s + {(\varphi_y)_s}^2\notag\\
&=&\omega\, \eta\,(\varphi_y)_s\, \eta_x-(\varphi_x)_s\, \eta_x(\varphi_y)_s + {(\varphi_y)_s}^2.
\end{eqnarray}
我要做的就是移动第一个“暗示”符号,使其与第二个符号对齐,并且不更改任何其他内容。我尝试了几种方法,但最终结果总是方程式被拉长,我想避免这种情况。(我知道不建议使用 eqnarray,但我已经做了太多事情,无法回头更改所有内容!!)
答案1
请注意,您只需要两个对齐点。(此外,避免eqnarray
!。
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{alignat}{2}
&\Rightarrow\quad
&\eta_{t}
&= \eta_{x}(\omega\eta - (\varphi_{x})_{s}) + (\varphi_{y})_{s}\notag\\
&\Rightarrow
&\eta_t(\varphi_{y})_{s}
&= \eta_{x}(\omega\eta - (\varphi_{x})_{s})(\varphi_{y})_{s} + {(\varphi_{y})_{s}}^{2}\notag\\
&&&= \omega\eta(\varphi_{y})_{s}\eta_{x} - (\varphi_{x})_{s}\eta_{x}(\varphi_{y})_{s} + {(\varphi_{y})_{s}}^{2}.
\end{alignat}
\end{document}
更新
我觉得你的箭太多了。无论如何,这里有一个版本,只有一个水平的arrow 和另一个带有单个的版本垂直的箭:
\documentclass{article}
\usepackage{mathtools}
\begin{document}
\begin{alignat}{2}
&&\eta_{t}
&= \eta_{x}(\omega\eta - (\varphi_{x})_{s}) + (\varphi_{y})_{s}\notag\\
&\Rightarrow\quad
&\eta_t(\varphi_{y})_{s}
&= \eta_{x}(\omega\eta - (\varphi_{x})_{s})(\varphi_{y})_{s} + {(\varphi_{y})_{s}}^{2}\notag\\
&&&= \omega\eta(\varphi_{y})_{s}\eta_{x} - (\varphi_{x})_{s}\eta_{x}(\varphi_{y})_{s} + {(\varphi_{y})_{s}}^{2}.
\end{alignat}
or
\begin{alignat}{2}
&&\eta_{t}
&= \eta_{x}(\omega\eta - (\varphi_{x})_{s}) + (\varphi_{y})_{s}\notag\\
\ArrowBetweenLines[\Downarrow]
&&\eta_t(\varphi_{y})_{s}
&= \eta_{x}(\omega\eta - (\varphi_{x})_{s})(\varphi_{y})_{s} + {(\varphi_{y})_{s}}^{2}\notag\\
&&&= \omega\eta(\varphi_{y})_{s}\eta_{x} - (\varphi_{x})_{s}\eta_{x}(\varphi_{y})_{s} + {(\varphi_{y})_{s}}^{2}.
\end{alignat}
\end{document}
答案2
避免eqnarray
;它会产生可怕的间距。参见这个答案以及其中标题为“避免使用 eqnarray!”的链接。
如果您想要一个唯一的方程编号,我建议使用alignedat
内部equation
,它将垂直居中方程编号。
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{equation}
\begin{alignedat}{2}
\Rightarrow\quad &&
\eta_t &= \eta_x(\omega \eta-(\varphi_x)_s) + (\varphi_y)_s
\\
\Rightarrow\quad &&
\eta_t\,(\varphi_y)_s &= \eta_x(\omega \eta-(\varphi_x)_s)(\varphi_y)_s+(\varphi_y)_s^2
\\
&&
&= \omega\eta(\varphi_y)_s\eta_x-(\varphi_x)_s\eta_x(\varphi_y)_s+(\varphi_y)_s^2.
\end{alignedat}
\end{equation}
\end{document}
需要注意的一些事项。
\,
最后一行不需要键入时,
{(\varphi_x)_s}^2
指数会像从任何地方悬挂一样。我也会简单地使用(\varphi_x)_s^2
它,这样就很清楚了。
答案3
鉴于您正在使用,\notag
您必须加载amsmath
包。在这种情况下,您可能已经看到环境amsmath
比更受青睐eqnarray
。在这种情况下,您可以使用alignat
:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{alignat}{3}
\Rightarrow&\quad&
\eta_t &= \eta_x(\omega \eta-(\varphi_x)_s) + (\varphi_y)_s\notag\\
\Rightarrow&&
\eta_t\,(\varphi_y)_s &= \eta_x(\omega
\eta-(\varphi_x)_s)(\varphi_y)_s + {(\varphi_y)_s}^2\notag\\
&&&=\omega\, \eta\,(\varphi_y)_s\, \eta_x-(\varphi_x)_s\,
\eta_x(\varphi_y)_s + {(\varphi_y)_s}^2.
\end{alignat}
\end{document}
另一种方法是使用eqnarray
包及其equationarray
环境,您可以在其中指定列的对齐方式并获得如下语法eqnarray
:
\documentclass{article}
\usepackage{amsmath,eqnarray}
\begin{document}
\begin{equationarray}{rrcl}
\Rightarrow&
\eta_t &=& \eta_x(\omega \eta-(\varphi_x)_s) + (\varphi_y)_s\notag\\
\Rightarrow&
\eta_t\,(\varphi_y)_s &=& \eta_x(\omega
\eta-(\varphi_x)_s)(\varphi_y)_s + {(\varphi_y)_s}^2\notag\\
&&=&\omega\, \eta\,(\varphi_y)_s\, \eta_x-(\varphi_x)_s\,
\eta_x(\varphi_y)_s + {(\varphi_y)_s}^2.
\end{equationarray}
\end{document}
答案4
您可以使用 TABstack 来实现。行间间隙可以用注释掉的行设置\setstackgap{S}{}
(默认 3pt)。行右侧的间隙\Rightarrow
可以用注释掉的\setstackaligngap
行设置(默认 1em = \quad
)。
\documentclass{article}
\usepackage{tabstackengine}
\stackMath
\begin{document}
\begin{equation}
%\setstackgap{S}{3pt}
%\setstackaligngap{1em}
\alignShortstack{
\Rightarrow&&\eta_t =& \eta_x(\omega \eta-(\varphi_x)_s) +
(\varphi_y)_s\\
\Rightarrow&&\eta_t\,(\varphi_y)_s =& \eta_x(\omega
\eta-(\varphi_x)_s)(\varphi_y)_s + {(\varphi_y)_s}^2\\
&&=&\omega\, \eta\,(\varphi_y)_s\, \eta_x-(\varphi_x)_s\,
\eta_x(\varphi_y)_s + {(\varphi_y)_s}^2.
}
\end{equation}
\end{document}