有没有办法可以减少数组中的行间距?

有没有办法可以减少数组中的行间距?

我希望使用普通数组环境在文档中生成的所有数组的行间距都略小一些,但列间距相同。有没有简单的方法可以做到这一点?

答案1

另一个版本:使用\BeforeBeginEnvironment命令etoolbox并重新定义\arraystretch那里

\documentclass{article}

\usepackage{etoolbox}
\BeforeBeginEnvironment{array}{%
  \renewcommand{\arraystretch}{.5}%
}



\begin{document}
\[
\begin{array}{cc}
a & b \\
c & d
\end{array}
\]
\end{document}

答案2

您可以通过重新定义array环境来实现这一点。但是,我不建议这样做。您可以\renewcommand{\arraystretch}在需要时将其放置在本地,也可以引入一个myArray包含所有您喜欢的调整的新环境。

但这是你所要求的:

% arara: pdflatex

\documentclass{article}
\let\oldarray\array
\let\endoldarray\endarray
\renewenvironment{array}{\renewcommand{\arraystretch}{.5}\oldarray}{\endoldarray}
% you may remove the .5 by any value between 0 and 1 if you want to decrease

\begin{document}
\[
\begin{array}{cc}
a & b \\
c & d
\end{array}
\]
\end{document}

在此处输入图片描述

这种方法也会影响由amsmath或定义的所有矩阵mathtools。但是,它不会影响您可能拥有的表格。为此,您只需将其放入\renewcommand{\arraystretch}{0.5}序言中即可。

相关内容