对齐内部案例的行为不符合预期

对齐内部案例的行为不符合预期

我希望格式化一个方程组。我使用:

\documentclass{article}
\usepackage{amsmath}
\begin{document}
$$\begin{cases}
\begin{aligned}
q_1 S_1^1 &+ q_2 S_2^1 &+ ... &+ q_n S_n^1 &= (1+r) S_0^1, \\
q_1 &+ q_2 &+ ... &+ q_n &= 1.
\end{aligned}
\end{cases}$$
\end{document}

我期望 q 和等号位于彼此下方,但 q_1 前面有一个缩进,而 =1 完全位于右侧。我如何获得所需的行为?

答案1

  1. 您不应该$$在 LaTeX 中使用。
  2. 您不希望cases,如果其内容不是形式为的行集,则会在其右侧添加不需要的水平空间<formula>&<condition>
  3. 您不需要aligned,这会增加列之间的空间。

alignedat

\documentclass{article}
\usepackage{amsmath}

\begin{document}

\[
\left\{
\begin{alignedat}{5}
 & q_1 S_1^1 &&+ q_2 S_2^1 &&+ \dotsb &&+ q_n S_n^1 &&= (1+r) S_0^1, \\
 &       q_1 &&+ q_2       &&+ \dotsb &&+ q_n       &&= 1.
\end{alignedat}
\right.
\]

\end{document}

在此处输入图片描述

答案2

我认为alignedcases机器不太适合处理当前的工作。我建议您改用array环境。

在此处输入图片描述

第 1 行中的粒子^{}确保与q和相关的下标S^1位于相同的深度。

\documentclass{article}

\usepackage{array} % for '\newcolumntype' macro
\newcolumntype{C}{>{{}}c<{{}}} % col. type for binary and relational operators
\newcolumntype{L}{>{\displaystyle}l}

\begin{document}

\[
\setlength\arraycolsep{0pt}
\renewcommand\arraystretch{1.33}
\left\{
\begin{array}{ L *{4}{CL} }
q^{}_1 S_1^1 &+& q^{}_2 S_2^1 &+& \cdots &+& q^{}_n S_n^1 &=& (1+r)S_0^1 \\
q_1 &+& q_2  &+& \cdots &+& q_n &=& 1 \,.
\end{array}
\right.
\]

\end{document}

答案3

我假设你q_1 S_1^1想要q_1 右对齐,因为这就是给定的代码所输出的。

&我不明白为什么,但是如果在前面添加一个额外的内容,最右边一列的对齐方式会更接近您想要的&=

\documentclass{article}
\usepackage{amsmath}
\begin{document}
$$\begin{cases}
\begin{aligned}
q_1 S_1^1 &+ q_2 S_2^1 &+ ... &+ q_n S_n^1 &&= (1+r) S_0^1, \\
q_1 &+ q_2 &+ ... &+ q_n &&= 1.
\end{aligned}
\end{cases}$$
\end{document}

在我看来,align它将每行的条目分为两到三个组,并且在每个三元组之后(手写行之间)留出额外的空格。

在此处输入图片描述

相关内容