调整矩阵条目之间的间隔

调整矩阵条目之间的间隔

我有一个非常大的矩阵,其边距溢出。我希望矩阵适合边距,但我希望在不重新缩放的情况下做到这一点,并且不影响其他数组类型条目。是否可以调整一个对象的矩阵列之间的水平间距?

我尝试过执行以下操作:

\documentclass[12pt]{article}
\begin{document}
\begin{equation} 
A  = \setlength\arraycolsep{2pt}
\pmatrix{ A & B & \dots & C & D & E & \dots & F \cr
A & B & \dots & C & D & E & \dots & F \cr
A & B & \dots & C & D & E & \dots & F \cr
A & B & \dots & C & D & E & \dots & F \cr}
\end{equation}
\end{document}

但改变\setlength\arraycolsep{2pt}实际上并没有改变间距。

答案1

这里我使用了 TABstack。列间距是可设置的,这里设置为 2pt。行间基线跳跃也可以使用 进行设置\setstackgap{L}{<length>}

\documentclass[12pt]{article}
\usepackage{tabstackengine}
\setstackEOL{\cr}
\begin{document}
\begin{equation} 
\setstacktabbedgap{2pt}
A  = \parenMatrixstack{
A & B & \dots & C & D & E & \dots & F \cr
A & B & \dots & C & D & E & \dots & F \cr
A & B & \dots & C & D & E & \dots & F \cr
A & B & \dots & C & D & E & \dots & F
}
\end{equation}
\end{document}

在此处输入图片描述

答案2

您使用的命令\pmatrix对于 LaTeX 来说是外来的,它是直接从纯 TeX 导入的,因此它不使用 LaTeX 数组的通用框架。

您应该加载amsmath提供pmatrix 环境,它使用通用框架。

\documentclass[12pt]{article}
\usepackage{amsmath}
\begin{document}
\begin{equation}
A  =
\begingroup % keep the change local
\setlength\arraycolsep{2pt}
\begin{pmatrix}
A & B & \dots & C & D & E & \dots & F \\
A & B & \dots & C & D & E & \dots & F \\
A & B & \dots & C & D & E & \dots & F \\
A & B & \dots & C & D & E & \dots & F
\end{pmatrix}
\endgroup
\end{equation}
\end{document}

如果“简化”矩阵是环境中唯一的矩阵,则\begingroup–对实际上不是必需的,因为设置在环境结束时无论如何都会消失,但这也没有坏处。\endgroupequation\arraycolsep

在此处输入图片描述

答案3

首先,我建议使用较新的环境 pmatrix,而不是\pmatrix{}。etoolbox 包可以为您提供解决方案:

\documentclass[12pt]{article}
\usepackage{amsmath,etoolbox}
\AtBeginEnvironment{pmatrix}{\setlength{\arraycolsep}{20pt}}
\begin{document}
\begin{equation} 
\begin{pmatrix} A & B & \dots & C & D & E & \dots & F \cr
A & B & \dots & C & D & E & \dots & F \cr
A & B & \dots & C & D & E & \dots & F \cr
A & B & \dots & C & D & E & \dots & F \cr
\end{pmatrix}
\end{equation}
\end{document}

相关内容