代码:
\begin{proof}
$
\begin{align*}
T(1) &= \theta(1),
\\T(0) &= \theta(1),
\\T(n) &= T(n-1)+T(n-2)+\theta(1) &&n\geq2
\\T(n) &= T(n-1)+T(n-2)+c &&\text{where }c\text{ is a constant.}
\\T(n) &\leq 2T(n-1)+c
\\ &\leq 2[2T(n-2)+c]+c = 2^2T(n-2)+2c+c
\\ &\leq 2^2[2T(n-3)+c]+2c+c = 2^3T(n-3)+2^2c+2c+c
\\ &\vdots
\\ &\leq 2^{n-1}T(1)+2^{n-2}c+2^{n-3}c+\cdots+c
\\ &\lt 2^{n-1}c+2^{n-2}c+2^{n-3}c+\cdots+c+2^{-1}c+\cdots\infty
\\ &= 2^{n-1}c[1+2^{-1}+2^{-2}+\cdots\infty]
\\ &= 2^nc
\\T(n) &= O(2^n)
\\\text{Similarly,}
\\T(n)&=\Omega(2^{n/2})
\end{align*}
$
\end{proof}
如果我在每行开头都放上 &,那么缩进就太多了。我不想这样。我尝试在 S 之前放上 &,同样与 = 符号对齐。我尝试用谷歌搜索,但不确定应该使用什么关键字,也没有找到任何解决方案。
另外,如何在最后一行添加 QED 符号?
答案1
为了简化环境的设置align*
,不要将其设置为多列。相反,使用\tag*
指令将代码片段放置$n\geq2$
在where $c$ is a constant
相应行的最右侧。
使用\shortintertext
指令(由包提供mathtools
)放置字符串“Similarly,”。
顺便问一下,这是什么+\cdots\infty
意思?
\documentclass{article}
\usepackage{mathtools,amsthm}
\begin{document}
\begin{proof}
\begin{align*}
T(1) &= \theta(1)
\\T(0) &= \theta(1)
\\T(n) &= T(n-1)+T(n-2)+\theta(1) \tag*{$n\geq2$}
\\T(n) &= T(n-1)+T(n-2)+c \tag*{where $c$ is a constant}
\\T(n) &\leq 2T(n-1)+c
\\ &\leq 2[2T(n-2)+c]+c = 2^2T(n-2)+2c+c
\\ &\leq 2^2[2T(n-3)+c]+2c+c = 2^3T(n-3)+2^2c+2c+c
\\ &\vdots
\\ &\leq 2^{n-1}T(1)+2^{n-2}c+2^{n-3}c+\cdots+c
\\ &< 2^{n-1}c+2^{n-2}c+2^{n-3}c+\cdots+c+2^{-1}c+\cdots\infty
\\ &= 2^{n-1}c[1+2^{-1}+2^{-2}+\cdots\infty]
\\ &= 2^nc
\\T(n) &= O(2^n)
\\ \shortintertext{Similarly,}
T(n)&=\Omega(2^{n/2})\,. \qedhere
\end{align*}
\end{proof}
\end{document}
答案2
我建议使用这种布局,\intertext
这样“类似地”就会在左边距对齐。我还使用了一些来自的命令mathtools
,以使 \vdots
对齐的符号居中
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[showframe]{geometry}
\usepackage{mathtools}
\usepackage{amsthm}
\begin{document}
\begin{proof}
\begin{align*}
T(1) &= \theta(1),
\\T(0) &= \theta(1),
\\T(n) &= T(n-1)+T(n-2)+\theta(1) &&n\geq2
\\T(n) &= T(n-1)+T(n-2)+c &&\text{where }c\text{ is a constant.}
\\T(n) &\leq 2T(n-1)+c
\\ &\leq 2[2T(n-2)+c]+c = \mathrlap{2^2T(n-2)+2c+c}
\\ &\leq 2^2[2T(n-3)+c]+2c+c = 2\mathrlap{^3T(n-3)+2^2c+2c+c}
\\ & \vdotswithin{\leq}\\
& \leq 2^{n-1}T(1)+2^{n-2}c+2^{n-3}c+\cdots+c
\\ & < \mathrlap{2^{n-1}c+2^{n-2}c+2^{n-3}c+\cdots+c+2^{-1}c+\cdots\infty}
\\ &= 2^{n-1}c[1+2^{-1}+2^{-2}+\cdots\infty]
\\ &= 2^nc
\\T(n) &= O(2^n)
\\\intertext{Similarly,}
T(n)&=\Omega(2^{n/2}) & & \qedhere
\end{align*}
\end{proof}
\end{document}