Wie richte ich Operatoren mithilfe von alignat oder einer anderen Umgebung aus?

Wie richte ich Operatoren mithilfe von alignat oder einer anderen Umgebung aus?

Ich versuche, Gleichheitszeichen und Plus-/Minusoperatoren in den folgenden beiden Gleichungen auszurichten:

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 + ...

Ich möchte die Brüche mit gleichem Nenner ausrichten, aber es scheint, als ob es mit alignat nicht klappt. Hier ist, was ich bisher erreicht habe:

\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*}

Vielen Dank für Ihre Hilfe.

Antwort1

Sie müssen verstehen, dass man in den alignUmgebungen und alignatfür nAusrichtungspunkte 2n – 1Et-Zeichen benötigt: Das erste ist die Einführung einesneinSpalte (aus der zweiten Spalte), die nächste ist für den Ausrichtungspunkt innerhalb ihrer Spalte. Außerdem habe ich den Anfangsbuchstaben +in der zweiten Zeile entfernt: Der zweite Ausrichtungspunkt ist jetzt der Bruch, und ich musste auf jeder Seite des vor dem Bruch ein Paar Klammern hinzufügen, damit er von LaTeX als binärer Operator mit eigener Leerzeichenfolge und nicht als unärer Operator betrachtet wird sign. (TeX hat unterschiedliche Leerzeichenregeln für binäre und unäre Operatoren, um gute typografische Praktiken einzuhalten.)

\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} 

Bildbeschreibung hier eingeben

Antwort2

Möglicherweise finden Sie die folgende Lösung, die nur das arrayPaket verwendet, aufschlussreich.

Die arrayin der Lösung verwendete Umgebung hat 23 [!] separate Spalten: 12 für den allerersten Term und die Zahlen und 11 für die Symbole =, +, und -. Das mag zunächst nach einer Menge Spalten aussehen. Der Vorteil ist, dass es nicht notwendig ist, {}an verschiedenen Stellen („leere mathematische Atome“) einzufügen, nur um LaTeX mitzuteilen, dass die Symbole -und +binäre statt unäre Operatoren sind. Ein weiterer Vorteil ist, dass Sie volle Flexibilität haben: Wenn Sie beispielsweise eine dritte Zeile mit Einträgen in einigen der Spalten hinzufügen müssen, die in der zweiten Spalte leer gelassen werden, müssen Sie das Setup überhaupt nicht ändern.

Bildbeschreibung hier eingeben

\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} 

Antwort3

Sie können das neue Paket verwenden autoaligne, erweitert um einen Trick zum Entfernen des +Vorzeichens aus dem ersten Term in der zweiten Zeile.

Das \fMakro dient lediglich dazu, die Eingabe zu verschlanken. Es wäre besser, wenn die leeren Terme auch mit Leerzeichen als Operationssymbole gekennzeichnet werden könnten; leider scheint das nicht zu funktionieren. Trotzdem ist die Eingabe für die Ausrichtung viel klarer als mit so vielen &Symbolen.

\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}

Bildbeschreibung hier eingeben

Antwort4

Wenn Sie jemals in der Klemme sind, können Sie die Lücken mit s ausfüllen \phantom:

Bildbeschreibung hier eingeben

\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}

verwandte Informationen