
Я пытаюсь выровнять знаки равенства и операторы плюс/минус в следующих двух уравнениях:
С = 1 - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 + 1/7 - 1/8 + ...
С/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
для n
точек выравнивания нужны 2n – 1
амперсанды: первый из них — ввестинеcolumn (из второго столбца), следующий — для точки выравнивания внутри своего столбца. Также я удалил ìinitial +
во второй строке: вторая точка выравнивания теперь является дробью, и мне пришлось добавить пару фигурных скобок с каждой стороны перед –
дробью, чтобы 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, что символы -
и +
являются бинарными, а не унарными операторами. Еще одним плюсом является то, что у вас есть полная гибкость: если, скажем, вам нужно добавить третью строку с записями в некоторых столбцах, которые остались пустыми во втором столбце, вам вообще не нужно менять настройку.
\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
Вы можете использовать новый пакет 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
Если вы когда-нибудь окажетесь в затруднительном положении, вы можете «заполнить пробелы» с помощью \phantom
s:
\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}