冒号与 \vdots 不对齐

冒号与 \vdots 不对齐

我有以下代码来对齐几个方程式:

\begin{aligned}
s_{1} & :=\sum_{1 \leq j \leq m} X_{j} \\
s_{2} & :=\sum_{1 \leq j<k \leq m} X_{j} \cdot X_{k} \\
      & \vdots \\
s_{k} & :=\sum_{1 \leq j_{1}<j_{2}<\cdots<j_{k} \leq m} X_{j_{1}} \cdot X_{j_{2}} \cdot \cdots \cdot X_{j_{k}} \\
      & \vdots \\
s_{m} & :=X_{1} X_{2} \cdots X_{m}
\end{aligned}

仅使用 minimal.cls 和 amsmath.sty 的上述代码的 LaTeX 输出

我想问一下为什么冒号与 vdots 不对齐以及解决方法。

答案1

欢迎使用 TeX-SE!它不对齐,因为冒号是一种关系,即类型\mathrel。如果您想“手动”对齐它,您也可以将其设为\vdots该类型。

\documentclass{article}
\usepackage{amsmath}
\begin{document}
\[
\begin{aligned}
s_{1} & :=\sum_{1 \leq j \leq m} X_{j} \\
s_{2} & :=\sum_{1 \leq j<k \leq m} X_{j} \cdot X_{k} \\
      & \mathrel{\vdots} \\
s_{k} & :=\sum_{1 \leq j_{1}<j_{2}<\cdots<j_{k} \leq m} X_{j_{1}} \cdot X_{j_{2}} \cdot \cdots \cdot X_{j_{k}} \\
      & \mathrel{\vdots}\\
s_{m} & :=X_{1} X_{2} \cdots X_{m}
\end{aligned}\]
\end{document}

在此处输入图片描述

答案2

我认为这些不应该在的点上对齐:=,而应该相对于或s_k关系居中:=。中的点:=与中的点起着不同的作用\vdots。该包提供了相对于材料居中的mathtools命令;它还提供了更好的版本:\vdotswithin{...}\vdots...\coloneqq:=

样本输出

\documentclass{article}

\usepackage{mathtools}

\begin{document}

\begin{align*}
  s_{1} &\coloneqq\sum_{1 \leq j \leq m} X_{j} \\
  s_{2} &\coloneqq\sum_{1 \leq j<k \leq m} X_{j} \cdot X_{k} \\
  \vdotswithin{s_{k}}& \\
  s_{k} &\coloneqq\sum_{1 \leq j_{1}<j_{2}<\cdots<j_{k} \leq m}
          X_{j_{1}} \cdot X_{j_{2}} \cdot \cdots \cdot X_{j_{k}} \\
  \vdotswithin{s_{k}}& \\
  s_{m} &\coloneqq X_{1} X_{2} \cdots X_{m}
\end{align*}

\begin{align*}
  s_{1} &\coloneqq\sum_{1 \leq j \leq m} X_{j} \\
  s_{2} &\coloneqq\sum_{1 \leq j<k \leq m} X_{j} \cdot X_{k} \\
        &\vdotswithin{\coloneqq} \\
  s_{k} &\coloneqq\sum_{1 \leq j_{1}<j_{2}<\cdots<j_{k} \leq m}
          X_{j_{1}} \cdot X_{j_{2}} \cdot \cdots \cdot X_{j_{k}} \\
        &\vdotswithin{\coloneqq} \\
  s_{m} &\coloneqq X_{1} X_{2} \cdots X_{m}
\end{align*}

\end{document}

答案3

我对用户 @marmot 给出的答案的改变的解释是:

  • \coegual不仅仅是因为它提供了和:=之间的完美对齐;:=
  • 使用命令的负空间,\mkern我试图使元素的乘积接近总和,因为我不喜欢它们遥远;
  • 我使用了\substack命令,因为求和的下标并没有让我得到很远的乘积。

在此处输入图片描述


\documentclass[a4paper,12pt]{article}
\usepackage{amsmath,amssymb}
\newcommand{\coegual}{\mathrel{\mathop:}=}
\begin{document}
\[
\begin{aligned}
s_{1} & \coegual \sum_{1 \leq j \leq m} X_{j} \\
s_{2} & \coegual \sum_{1 \leq j < k \leq m} \mkern-5mu X_{j} \cdot X_{k}  \\
      & \mathrel{\vdots} \\
s_{k} & \coegual 
\sum_{\substack{1 \leq j_{1}< j_{2} <\cdots\\ \cdots< j_{k} \leq m}} \mkern-15mu X_{j_{1}} \cdot X_{j_{2}} \cdot \cdots \cdot X_{j_{k}} \\
      & \mathrel{\vdots}\\
s_{m} & \coegual X_{1} X_{2} \cdots X_{m}
\end{aligned}
\]
\end{document}

相关内容