然而,我很难正确地对齐它们,这是我迄今为止尝试过的:
\begin{align*}
&(a)\hspace{20pt}\lfloor{n/2}\rfloor &< p &\leq\hspace{19pt} n &\Rightarrow {l}_{p}(n\wr)&=1 \\
&(b)\hspace{20pt}\lfloor{n/3}\rfloor &< p &\leq \lfloor{n/2}\rfloor &\Rightarrow {l}_{p}(n\wr)&=0 \\
&(c)\hspace{20pt}\sqrt{n} &< p &\leq \lfloor{n/3}\rfloor &\Rightarrow {l}_{p}(n\wr)&=\lfloor{n/p}\rfloor\mod 2\\
&(d)\hspace{20pt}2 &< p &\leq \sqrt{n} &\Rightarrow {l}_{p}(n\wr)&<\log_2(n)\\
&(d)\hspace{20pt}{} p &= 2 &\Rightarrow {l}_{p}(n\wr)={\sigma}_{2}(\lfloor{n/2}\rfloor)
\end{align*}
我怎样才能按照示例中所示以正确的方式进行对齐?
答案1
对于多个点(并且块之间没有大的间距),有alignat
。让我们检查一下您的问题,回想一下,这alignat
会形成“右对齐/左对齐”列对。
您有:左对齐列(用于项目标签);右对齐列(用于下限);左对齐列(用于关系);右对齐列(用于变量);左对齐列(用于上限);可以左对齐或右对齐的列(箭头);左对齐列(用于最终条件)。
所以我们应该
&\text{(a)}\qquad
&\lfloor n/2\rfloor
&<{}
&p
&&\le n
&\implies
&l_p(n\wr)=1
\\
并且我们应该重复这个模式。我们总共有八个&
,这样就构成了五对。关系后面的空组是为了确保正确的间距。我使用\implies
它在两端单独添加一些空间。我利用了最终条件都具有相同结构的事实,因此对齐是自动的;否则,请遵循相同的模式分析。
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{alignat*}{5}
&\text{(a)}\qquad &\lfloor n/2\rfloor &<{} &p &\leq n &\implies &l_{p}(n\wr)=1 \\
&\text{(b)}\qquad &\lfloor n/3\rfloor &<{} &p &\leq \lfloor n/2\rfloor &\implies &l_{p}(n\wr)=0 \\
&\text{(c)}\qquad &\sqrt{n} &<{} &p &\leq \lfloor n/3\rfloor &\implies &l_{p}(n\wr)=\lfloor n/p\rfloor \bmod 2\\
&\text{(d)}\qquad &2 &<{} &p &\leq \sqrt{n} &\implies &l_{p}(n\wr)<\log_2(n)\\
&\text{(e)}\qquad & & &p &= 2 &\implies &l_{p}(n\wr)=\sigma_{2}(\lfloor n/2\rfloor)
\end{alignat*}
\end{document}
我删除了所有无用的括号( 不需要\lfloor x\rfloor
)。请注意,“mod”作为二进制运算应该是\bmod
,而不是\mod
。
您可能需要考虑一个节省空间的宏\floor
:
\documentclass{article}
\usepackage{amsmath,mathtools}
\DeclarePairedDelimiter{\floor}{\lfloor}{\rfloor}
\begin{document}
\begin{alignat*}{5}
&\text{(a)}\qquad &\floor{n/2} &<{} &p &\leq n &\implies &l_{p}(n\wr)=1 \\
&\text{(b)}\qquad &\floor{n/3} &<{} &p &\leq \floor{n/2} &\implies &l_{p}(n\wr)=0 \\
&\text{(c)}\qquad &\sqrt{n} &<{} &p &\leq \floor{n/3} &\implies &l_{p}(n\wr)=\floor{n/p} \bmod 2\\
&\text{(d)}\qquad &2 &<{} &p &\leq \sqrt{n} &\implies &l_{p}(n\wr)<\log_2(n)\\
&\text{(e)}\qquad & & &p &= 2 &\implies &l_{p}(n\wr)=\sigma_{2}(\floor{n/2})
\end{alignat*}
\end{document}
答案2
例如,您可以使用alignat
而不是align
。我打印了您的代码,以便更好地查看列的位置。请注意,我将&
每行的最后两个数字翻了一番。
梅威瑟:
\documentclass[a4paper,12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\begin{document}
\begin{alignat*}{5}
&(a)\hspace{20pt}\lfloor{n/2}\rfloor &< p &\leq\hspace{19pt} n &&\Rightarrow {l}_{p}(n\wr)&&=1 \\
&(b)\hspace{20pt}\lfloor{n/3}\rfloor &< p &\leq \lfloor{n/2}\rfloor &&\Rightarrow {l}_{p}(n\wr)&&=0 \\
&(c)\hspace{20pt}\sqrt{n} &< p &\leq \lfloor{n/3}\rfloor &&\Rightarrow {l}_{p}(n\wr)&&=\lfloor{n/p}\rfloor\mod 2\\
&(d)\hspace{20pt}2 &< p &\leq \sqrt{n} &&\Rightarrow {l}_{p}(n\wr)&&<\log_2(n)\\
&(d)\hspace{20pt}{} p &= 2 & &&\Rightarrow {l}_{p}(n\wr)&&={\sigma}_{2}(\lfloor{n/2}\rfloor)
\end{alignat*}
\end{document}
结果: