alignat または他の環境を使用して演算子を整列させる方法は?

alignat または他の環境を使用して演算子を整列させる方法は?

次の 2 つの方程式で等号とプラス/マイナス演算子を揃えようとしています。

S = 1 - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 + 1/7 - 1/8 + ...

S/2 = 1/2 - 1/4 + 1/6 - 1/8 + ...

分数を同じ分母に揃えたいのですが、alignat ではうまくいかないようです。これまでのところ、次のようになっています。

\begin{alignat*}{6}
S &= 1 &- \frac{1}{2} + \frac{1}{3} &- \frac{1}{4} + \frac{1}{5} &- \frac{1}{6} + \frac{1}{7} &- \frac{1}{8} + \frac{1}{9} &- \frac{1}{10} + \cdots\\
\frac{1}{2}S &= &+ \frac{1}{2} &- \frac{1}{4} &+ \frac{1}{6} &- \frac{1}{8} &+ \frac{1}{10}
\end{alignat*}

ご協力いただければ幸いです。

答え1

alignおよび環境では、整列ポイントalignatにアンパサンドが必要であることを理解する必要があります。最初のものは、n2n – 1列 (2 列目から) の次の行は、その列内の配置ポイント用です。また、+2 行目の頭文字を削除しました。2 番目の配置ポイントは分数になったので、分数の前の の両側に中括弧を 1 組追加して 、LaTeX で単項演算子 ではなく、独自のスペースを持つ二項演算子 と認識されるようにする必要がありましたsign。(TeX では、優れた印刷慣習に従って、二項演算子と単項演算子でスペースの規則が異なります。)

\documentclass{article}
\usepackage{mathtools}

\begin{document}

\begin{alignat*}{6}
  S
    & = 1 & {} - {}
    & \frac{1}{2} + \frac{1}{3}
    && - \frac{1}{4} + \frac{1}{5}
    && - \frac{1}{6} + \frac{1}{7}
    && - \frac{1}{8} + \frac{1}{9}
    && - \frac{1}{10} + \cdots\\%
  \frac{1}{2}S
    & = &
    & \frac{1}{2}
    && - \frac{1}{4}
    && + \frac{1}{6}
    && - \frac{1}{8}
    && + \frac{1}{10}
\end{alignat*}

\end{document} 

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

答え2

パッケージのみを使用する次のソリューションが参考になるかもしれませんarray

ソリューションで使用されている環境arrayには、23 [!] の個別の列があります。12 は最初の項と数値用、11 は=、、、+および-記号用です。最初は列が多いように思えるかもしれません。利点としては、記号が単項演算子ではなく二項演算子であることを LaTeX に通知するためだけに、さまざまな場所に (「空の数学アトム」) を挿入する必要がないことに注目{}してください。さらに利点として、完全な柔軟性があります。たとえば、2 番目の列で空白になっている列の一部にエントリを追加して 3 番目の行を追加する必要がある場合でも、セットアップをまったく変更する必要はありません。-+

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

\documentclass{article}
\usepackage{array}
\newcolumntype{R}{>{\displaystyle}r} % automatically in display math style
\newcolumntype{O}{>{{}}c<{{}}}       % "O" for "operator" ...
\begin{document}
\[
\setlength\arraycolsep{0pt} % no need for extra intercolumn whitespace
\begin{array}{*{11}{RO}R}
S &=& 1 &-& \frac{1}{2} &+& \frac{1}{3} &-& \frac{1}{4} &+& \frac{1}{5} 
        &-& \frac{1}{6} &+& \frac{1}{7} &-& \frac{1}{8} &+& \frac{1}{9} 
        &-& \frac{1}{10}&+& \cdots \\[2.5ex]
\frac{1}{2}S 
  &=&   & & \frac{1}{2} & &             &-& \frac{1}{4} & &             
        &+& \frac{1}{6} & &             &-& \frac{1}{8} & &             
        &+& \frac{1}{10}
\end{array}
\]
\end{document} 

答え3

2 行目の最初の項から符号autoaligneを削除するトリックが追加された新しいパッケージを使用できます。+

この\fマクロは入力をスリム化するためだけのものです。空の項もスペースのある演算記号で表すことができればもっと良いのですが、残念ながらうまくいかないようです。とはいえ、アライメントの入力は、&記号がたくさんある場合よりもはるかに明確になります。

\documentclass{article}
\usepackage{amsmath}
\usepackage{autoaligne}

%% A trick for an empty delimiter
\newcommand{\makeempty}[1]{%
  \begingroup\lccode`~=`#1 \lowercase{\endgroup\def~}{\mathbin{\phantom{+}}}%
  \mathcode`#1="8000
}


\begin{document}

\[
\newcommand{\f}[1]{\dfrac{1}{#1}}
\aavcoeff{2.5}
\makeempty{V}
\definirseparateurs{\\}{+||-||V||=}{}
\autoaligne{
     S = 1 - \f{2} + \f{3} - \f{4} + \f{5} - \f{6} + \f{7} - \f{8} + \f{9} - \f{10} + \dotsb \\
\f{2}S =   V \f{2}        +- \f{4}        ++ \f{6}        +- \f{8}        ++ \f{10} + \dotsb
}
\]

\end{document}

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

答え4

困ったときは、\phantoms を使用して「空白を埋める」ことができます。

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

\documentclass{article}

\begin{document}

\[
  \renewcommand{\arraystretch}{2}
  \begin{array}{l}
    \phantom{\frac{1}{2}}S = 
      \displaystyle 1 - \frac{1}{2} + \frac{1}{3} - \frac{1}{4} + \frac{1}{5} - \frac{1}{6} + \frac{1}{7} - \frac{1}{8} + \frac{1}{9} - \frac{1}{10} + \cdots \\
    \frac{1}{2}S = 
      \displaystyle \phantom{1-{}}\frac{1}{2} \phantom{{}+\frac{1}{3}} - \frac{1}{4} \phantom{{}+\frac{1}{5}} 
      + \frac{1}{6} \phantom{{}+\frac{1}{7}} - \frac{1}{8} \phantom{{}+\frac{1}{9}} + \frac{1}{10} \cdots
  \end{array}
\]

\end{document}

関連情報