align環境の動作

align環境の動作

長い方程式を含む原稿を書いています。方程式を分解するには、パッケージalignが提供する環境の方が好みです。amsmatheqnarray

以下の例では、必要な配置の種類を示しています。eqnarray正しい動作が得られ、シンボルalignの後にスペースが削除されます&

\documentclass{article}
\usepackage{amsmath}

\begin{document}

\begin{eqnarray}
  \vec{F} &=& m\vec{a}\\
          && + \frac{dm}{dt} \vec{v}
\end{eqnarray}  

\begin{align}
  \vec{F} =& m\vec{a}\\
          & + \frac{dm}{dt} \vec{v}
\end{align}  

\end{document}

質問

最初の例を を使用して再現することは可能ですかalign?

答え1

=の後に置く必要があります。最初の行の最後に+ +`&を追加しました。\phantom{=:} to push theto right. (IMO it would be nice if we put this

\documentclass{article}
\usepackage{amsmath}

\begin{document}

\begin{eqnarray}
  \vec{F} &=& m\vec{a}\\
          && + \frac{dm}{dt} \vec{v}
\end{eqnarray}

\begin{align}
  \vec{F} &= m\vec{a} \\
          & \phantom{=:} + \frac{dm}{dt} \vec{v}
\end{align}

\end{document}

ここに画像の説明を入力してください

アップデート@egreg の提案 (彼は数学者なので、彼の言うことには反対しません :) ) に従って、代わりにを使用して物事を右に押し出す\phantom{=:}ことができます。\qquad

\documentclass{article}
\usepackage{amsmath}

\begin{document}

\begin{eqnarray}
  \vec{F} &=& m\vec{a}\\
          && + \frac{dm}{dt} \vec{v}
\end{eqnarray}

\begin{align}
  \vec{F} &= m\vec{a} \\
         & \qquad + \frac{dm}{dt} \vec{v}
\end{align}

\end{document}

ここに画像の説明を入力してください

注: 推奨されるのは使用しないでください等価配列。

答え2

さて、この「答え」はここでの適切な範囲を超えていますが、引き続き配置することを推奨&amsmathます関係の兆候は単純に間違っています。

&の適切な配置は前に関係の記号。これは tex 自体の基本です。

練習として、教科書の 192 ページにある最初の複数行表示のコードを (プレーン) として、次に として示します。2\eqalign&==&例の唯一の違いは です。

$$\eqalign{%
  (x+y)(x-y) &= x^2 -xy +yx -y^2\cr
             &= x^2 -y^2\cr
  (x+y)^2    &= x^2 +2xy +y^2\cr
}$$
%
now, with ampersands and equal signs interchanged:
%
$$\eqalign{%
  (x+y)(x-y) =& x^2 -xy +yx -y^2\cr
             =& x^2 -y^2\cr
  (x+y)^2    =& x^2 +2xy +y^2\cr
}$$

\bye

出力は次のとおりです。

ここに画像の説明を入力してください

間隔は、p.170 の間隔表の値によって決まります。=記号の後に続く「ヌル」条件は&、その表にはありません。ただし、結果は明らかです。amsmath は単にこのモデルに従い、デフォルトの結果に依存します。

答え3

のために整列する同様の結果を生成する等価配列例のように、

\documentclass{article}
\usepackage{amsmath}

\begin{document}

\begin{eqnarray}
  \vec{F} &=& m\vec{a}\\
          && + \frac{dm}{dt} \vec{v}
\end{eqnarray}

\end{document}

以下のように、=記号と&の間には中括弧を使用する必要があります。

\documentclass{article}
\usepackage{amsmath}

\begin{document}

\begin{align}
  \vec{F} ={}& m\vec{a}\\
          & + \frac{dm}{dt} \vec{v}
\end{align}

\end{document}

謝辞

感謝したいのはダリフそしてトルビョルンT答えを指摘し、原稿によるラース・マドセン

eqnarray を避けてください。

プラクテックスジャーナル、2006年、第4号

関連情報