如何在方程数组中整齐地对齐“暗示”符号

如何在方程数组中整齐地对齐“暗示”符号

以下是我拥有的方程数组:

\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

答案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}

在此处输入图片描述

需要注意的一些事项。

  1. \,最后一行不需要

  2. 键入时,{(\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}

在此处输入图片描述

相关内容