
次のコードとその結果を検討してください。
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{align}
A >& B > C &> D \\
A >& E &>D
\end{align}
\begin{eqnarray}
A >& B > C &> D \\
A >& E &> D
\end{eqnarray}
\end{document}
結果は最初の結果ではなく 2 番目の結果にしたいのですが、これを align 環境で実現したいと考えています。
- これやってもいいですか?
- そもそも & は何をするものなのでしょうか?
編集: これまでのところ、ご協力ありがとうございます。提案されたオプションはすべて気に入っています (賛成票を投じました) が、両方の行に番号を付けたい場合はどうすればよいでしょうか? ではなく、 としalign*
ますalign
。
答え1
および を使用した変形でalignat
、のコマンドeqmakebox
の構造を模倣します: \documentclass{article}\vdotswithin
mathtools
\usepackage{amsmath}
\usepackage{eqparbox}
\begin{document}
\begin{alignat}{3}
A & > B & & \eqmakebox[A]{$ {}>{} $} C &&> D \\
A & > & & \eqmakebox[A]{$ E $}& & >D
\end{alignat}
\end{document}
アンパサンドの使用法の説明
align
との唯一の違いはalignat
、 環境では、整列した方程式の列間の間隔がユーザーによって選択されることですalignat
。
のためにん列を使用する場合は、2n – 1 &
: 2 番目以降は、それぞれが&
新しい列の始まりを示し、次の行は&
その列内の配置ポイントを示します。
ここでは、列間に間隔を空けずに3
列を設定します。5&
答え2
これは配列を使用するとより良く実現されます:
\documentclass{article}
\usepackage{array}
\begin{document}
\[
\setlength{\arraycolsep}{0pt}
\renewcommand{\arraystretch}{1.5}
\begin{array}{c *{3}{ >{{}}c<{{}} c } }
A &> & B &> & C &> & D \\
A &> & \multicolumn{3}{c}{E} &> & D
\end{array}
\]
\end{document}
関係記号の偶数列である 7 つの配置ポイントは、正しいスペースを生成するために空のサブ式で囲まれます。列間のパディングは (ローカルに) ゼロに設定されます。
答え3
alignat
の代わりに、いくつかの低レベルコマンドを使用してalign
中央揃えを取得することも、eqnarray
パッケージを使用することもできます。
整列する
\documentclass{article}
\usepackage{amsmath}
\makeatletter
\newcommand{\ccol}[1]{\omit\column@plus\hfill$\m@th\displaystyle #1$\hfill\span}
\makeatother
\begin{document}
\begin{alignat}{2}
A >{}& B > C &&> D \\
A >{}&\ccol{E}&>D
\end{alignat}
\end{document}
方程式配列
\documentclass{article}
\usepackage{eqnarray}
\begin{document}
\arraycolsep 0pt
\begin{equationarray}{rcl}
A >{}& B > C &{}> D \\
A >{}&E&{}>D
\end{equationarray}
\end{document}