多线环境中的阵列间距

多线环境中的阵列间距

考虑以下 MWE

\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{gather*}
  \renewcommand{\arraystretch}{1.2}
  \begin{pmatrix} \frac{1}{2} \\ \frac{1}{2} \end{pmatrix} \\
  \begin{pmatrix} \frac{1}{2} \\ \frac{1}{2} \end{pmatrix}
\end{gather*}

\begin{gather*}
  \renewcommand{\arraystretch}{1.2}
  \begin{pmatrix} \frac{1}{2} \\ \frac{1}{2} \end{pmatrix} \\
  \renewcommand{\arraystretch}{1.2}
  \begin{pmatrix} \frac{1}{2} \\ \frac{1}{2} \end{pmatrix}
\end{gather*}
\end{document}

第一个gather生成两个数组;在第一个数组中,分数间距适当,而在第二个数组中,它们以默认的垂直间距挤在一起。为什么我需要在换行符后重新指定?有没有更好的方法可以做到这一点?(我意识到我可以在开头的 后用 a\renewcommand{\arraystretch}{1.2}将整个集合括在一对中)。{}\renewcommand{\arraystretch}{1.2}{

答案1

环境内换行符之间的每个条目gather都放置在一个组内。为此, 的范围\renewcommand{\arraystretch}{1.2}仅持续到 结束\\,之后您必须再次发出它。

例如,当你使用

在此处输入图片描述

\documentclass{article}
\begin{document}
\begin{tabular}{c}
  \bfseries ABC DEF \\
  GHI KLM
\end{tabular}
\end{document}

大胆的switch ( \bfseries) 的跨度不超过\\,因此必须重新发出才能产生效果。

为了让这一举措产生全球影响穿过换行符,您必须在环境之外发出它。

答案2

瞧:

\documentclass{article}
\usepackage{amsmath}
\begin{document}

{  \renewcommand{\arraystretch}{1.2} % PS
\begin{gather*}
%  \renewcommand{\arraystretch}{1.2}
  \begin{pmatrix} \frac{1}{2} \\ \frac{1}{2} \end{pmatrix} \\
  \begin{pmatrix} \frac{1}{2} \\ \frac{1}{2} \end{pmatrix}
\end{gather*}
} % PS

\begin{gather*}
  \renewcommand{\arraystretch}{1.2}
  \begin{pmatrix} \frac{1}{2} \\ \frac{1}{2} \end{pmatrix} \\
  \renewcommand{\arraystretch}{1.2}
  \begin{pmatrix} \frac{1}{2} \\ \frac{1}{2} \end{pmatrix}
\end{gather*}
\end{document}

在此处输入图片描述

结果是相同的,因为\arraystretch针对组内的每个出现都设置了(即在我们的例子中标记为 PS 的行之间)。

相关内容