我试图在以下两个等式中对齐等号和加/减运算符:
小数 = 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
环境中,对于n
对齐点,需要2n – 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-
和+
符号是二进制而不是一元运算符。另一个好处是您拥有完全的灵活性:例如,如果您需要添加第三行,其中包含第二列中留空的某些列中的条目,则根本不需要更改设置。
\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}