我需要一个与 alignat 环境完全相同的功能。但是,我还需要文本从左侧开始。有什么可以实现的吗?
\begin{alignat*}{3}
&k_1 &&\geq 1 \quad\land \quad &&k_1 \leq a_1 \\
&k_2 &&\geq 1 \quad\land \quad &&k_2 \leq a_2 \\
&\qquad \cdots \\
&k_{n-1} &&\geq 1 \quad\land &&k_{n-1} \leq a_{n-1} \\
&k_n &&\geq 1 \quad\land &&k_n \leq a_n \quad \}
\end{alignat*}
我需要从左侧开始 alignat* 内的所有文本。
答案1
使用fleqn
来自包的环境nccmath
并使用array
:
\documentclass{article}
\usepackage{nccmath} % <---
%---------------- show page layout. don't use in a real document!
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%---------------------------------------------------------------%
\begin{document}
\begin{fleqn}
\[
\setlength\arraycolsep{1pt}
\begin{array}{lcccl}
k_1 & \geq 1 & \land & k_1 & \leq a_1 \\
k_2 & \geq 1 & \land & k_2 & \leq a_2 \\
\vdots & & & & \\
k_{n-1} & \geq 1 & \land & k_{n-1} & \leq a_{n-1} \\
k_n & \geq 1 & \land & k_n & \leq a_n
\end{array}
\]
or
\[
\setlength\arraycolsep{1pt}
\begin{array}{rcccl}
k_1 & \geq 1 & \land & k_1 & \leq a_1 \\
k_2 & \geq 1 & \land & k_2 & \leq a_2 \\
\vdots & & & & \\
k_{n-1} & \geq 1 & \land & k_{n-1} & \leq a_{n-1} \\
k_n & \geq 1 & \land & k_n & \leq a_n
\end{array}
\]
or
\[
\setlength\arraycolsep{1.5pt}
\begin{array}{rccl}
k_1 & \geq 1 & \land & k_1 \leq a_1 \\
k_2 & \geq 1 & \land & k_2 \leq a_2 \\
\vdots & & & \\
k_{n-1} & \geq 1 & \land & k_{n-1} \leq a_{n-1} \\
k_n & \geq 1 & \land & k_n \leq a_n
\end{array}
\]
\end{fleqn}
\end{document}
答案2
我不确定是否需要从左边距开始。无论如何,最好使用 进行对齐array
。
该lipsum
包仅用于提供上下文并显示对齐,就像它出现在真实文档中一样。
\documentclass{article}
\usepackage{amsmath,array}
\usepackage{lipsum} % for context
\begin{document}
\lipsum*[4]
\begin{flalign*}
\setlength{\arraycolsep}{0pt}
\renewcommand{\arraystretch}{1.2}
\begin{array}{
c
>{{}}c<{{}}
c
@{\quad}c@{\quad} % for \land
c
>{{}}c<{{}}
c
}
k_1 & \geq & 1 & \land & k_1 & \leq & a_1 \\
k_2 & \geq & 1 & \land & k_2 & \leq & a_2 \\
& & & \vdots \\
k_{n-1} & \geq & 1 & \land & k_{n-1} & \leq & a_{n-1} \\
k_n & \geq & 1 & \land & k_n & \leq & a_n
\end{array}
&&
\end{flalign*}
\lipsum[5]
\end{document}