指定数组中的垂直分隔

指定数组中的垂直分隔

目前,我使用例如来指定垂直分隔\def\arraystretch{1.4},但我发现我需要根据行的高度调整环境参数,这很繁琐,而且我无法在数组内部动态调整高度。例如,以下数组的行高度差异很大,并且可以从模拟动态数组拉伸的东西中受益:

$$
\def\arraystretch{2.0}
\begin{array}{rl}
q = & \text{some expression with low height} \\
= & \text{some expression with the same low height} \\
= & \def\arraystretch{1.0} \begin{pmatrix}
  \text{two} \\
  \text{matrices,} \\
  \text{each} \\
  \text{with} \\
  \end{pmatrix} \\
= & \def\arraystretch{1.0} \begin{pmatrix}
  \text{relatively} \\
  \text{large} \\
  \text{height} \\
  \end{pmatrix} \\
\end{array}
$$

在此处输入图片描述

尽管arraystretch设置得如此之高,以至于前两行之间的间距变得太大,但最后两行之间仍然没有任何垂直间距。行间这种高度变化的间距是不理想的。

对于列,有\arraycolsep,它创建了统一的水平分隔,但我没有找到任何与行之间的垂直分隔(即一行底部和下一行顶部之间的距离)相对应的变量。我知道实现后者的唯一方法是选择一个较小的值arraystretch,并在行之间使用 添加换行符\\,但这会创建一个太高的间距。

那么,有没有办法在环境中获得统一的、可定制的行间垂直分隔array

答案1

只要您不需要单独的行编号以及行和列之间的各种垂直和水平线,该stackengine包就会提供“短”堆栈,这些堆栈会在相邻行数据之间提供相等的间隙,以考虑行内容的高度。在这里,我将间隙设置为 9pt,可以调整。

堆叠间隙不会影响内的行间距pmatrix,只会影响相邻行文本和矩阵之间的间隙。

\documentclass{article}
\usepackage{amsmath,tabstackengine}
\TABstackMath
\begin{document}
\setstackgap{S}{9pt}% ADJUST THE INTER-ROW GAP HERE
\[
\alignShortstack{
q = & \text{some expression with low height} \\
= & \text{some expression with the same low height} \\
= & {\begin{pmatrix}
  \text{some} \\
  \text{expression} \\
  \text{with} \\
  \text{great} \\
  \text{height} \\
  \end{pmatrix}}\\
= & {\begin{pmatrix}
  \text{relatively} \\
  \text{large} \\
  \text{height} \\
  \end{pmatrix}}}
\]
\end{document}

在此处输入图片描述


补充

回答 OP 的评论,如果想要不同的对齐方式,请不要使用\alignShortstack,但\tabbedShortstack{...}(如果所有列都具有相同的对齐方式)或\tabularShortstack{<alignments>}{...}指定特定的对齐方式。是的,可以扩展列数,以及指定列间间隙。

\documentclass{article}
\usepackage{amsmath,tabstackengine}
\TABstackMath
\begin{document}
\setstackgap{S}{9pt}% ADJUST THE INTER-ROW GAP HERE
\setstacktabulargap{0pt}% INTER COLUMN GAP
\[
\tabularShortstack{rcr}{
q = & \text{some expression} & \text{with low height} \\
= & \text{some expression with} & \text{/the same low height} \\
= & {\begin{pmatrix}
  \text{some} \\
  \text{expression} \\
  \text{with} \\
  \text{great} \\
  \text{height} \\
  \end{pmatrix}}
  & more\\
= & {\begin{pmatrix}
  \text{relatively} \\
  \text{large} \\
  \text{height} \\
  \end{pmatrix}}
  & even~more}
\]
\end{document}

在此处输入图片描述

相关内容