如何用{array}对{smallmatrix}进行建模?

如何用{array}对{smallmatrix}进行建模?

\begin{array} ... \end{array}我猜,当需要比使用pmatrixbmatrix等获得的更多控制时,使用适当的\left\right以及相关符号来建模矩阵是很正常的。

现在,我需要smallmatrix,但我需要更多控制。基本上,我想用\begin{smallmatrix} ... \end{smallmatrix}来建模\begin{array} ... \end{array}

这并不像在 左右放置命令那么简单\begin{array} ... \end{array}。我应该使用\scalebox吗?

\begin{array}{c|c}
    a & b \\ \hline c & d
\end{array}

如您所见,我使用的是垂直线和水平线。现在我需要它们,但在此矩阵中:

\begin{smallmatrix}
    a & b \\ \hline c & d
\end{smallmatrix}

那可能吗?

答案1

您可以smallmatrix通过array以下方式进行模拟:

\documentclass{article}
\usepackage{amsmath} % just for comparison

\newenvironment{smallarray}[1]
 {\null\,\vcenter\bgroup\scriptsize
  \renewcommand{\arraystretch}{0.7}%
  \arraycolsep=.13885em
  \hbox\bgroup$\array{@{}#1@{}}}
 {\endarray$\egroup\egroup\,\null}

\begin{document}
$\left[\begin{smallmatrix}a & b\\ g&d\end{smallmatrix}\right]
\left[\begin{smallarray}{cc}a & b\\g&d\end{smallarray}\right]
\left[\begin{smallarray}{c|c}a & b\\g&d\end{smallarray}\right]$
\end{document}

然而,\hline在行之间添加smallarray不会产生令人满意的结果。

可以在两种环境中添加水平线

\noalign{\vskip1pt\hrule\vskip1pt}

而不是\hline,但这可能会使分隔符增长一步。

在此处输入图片描述

相关内容