矩阵周围的描述性文字

矩阵周围的描述性文字

我正在尝试编写一个矩阵,并在其侧面和上方添加一些文本,以解释其含义。目前,这是我的代码:

\begin{equation}
 \begin{turn}{90}
 \mbox{\# rows}
 \end{turn}
\stackrel{\mbox{\# columns}}{
\begin{pmatrix}
  1 & 1 & 1 & 0 & 0\\
  0 & 0 & 1 & 0 & 1\\
  0 & 0 & 0 & 0 & 0\\
  1 & 1 & 1 & 0 & 1\\
  1 & 1 & 0 & 0 & 1\\
 \end{pmatrix}
 }
\end{equation}

结果如下:

在此处输入图片描述

但是,矩阵左侧的文本未正确居中(太高)。如何使文本正确居中在矩阵周围?

答案1

array使用and会更简单\rotatebox

\documentclass{article}
\usepackage{amsmath}
\usepackage{graphicx}

\begin{document}
\begin{equation}
\begin{array}{@{}c@{\hspace{1ex}}c@{}}
 & \text{\# columns} \\[1ex]
\rotatebox[origin=c]{90}{\text{\# rows}} &
\begin{pmatrix}
  1 & 1 & 1 & 0 & 0\\
  0 & 0 & 1 & 0 & 1\\
  0 & 0 & 0 & 0 & 0\\
  1 & 1 & 1 & 0 & 1\\
  1 & 1 & 0 & 0 & 1\\
 \end{pmatrix}
\end{array}
\end{equation}
\end{document}

在此处输入图片描述

答案2

只是因为我喜欢用堆栈做事......

2ex可以通过将参数更改为 来调整列间间隙。使用参数长度\setstacktabbedgap来调整垂直行间距。\setstackgap{L}{}

\documentclass{article}
\usepackage{amsmath, graphicx, tabstackengine}
\stackMath
\begin{document}
\begin{equation}
\setstacktabbedgap{2ex}
\setstackgap{L}{1.2\baselineskip}
\rotatebox[origin=c]{90}{\text{\# rows}}
\stackon{%
\parenMatrixstack{
  1 & 1 & 1 & 0 & 0\\
  0 & 0 & 1 & 0 & 1\\
  0 & 0 & 0 & 0 & 0\\
  1 & 1 & 1 & 0 & 1\\
  1 & 1 & 0 & 0 & 1
}
}{\text{\# columns}}
\end{equation}
\end{document}

在此处输入图片描述

答案3

以下是您可以做的事情nicematrix

\documentclass{article}
\usepackage{nicematrix}

\begin{document}

\begin{equation*}
\begin{pNiceMatrix}[first-row,first-col]
& \Block{1-5}{\mbox{\# columns}}\\
\Block{5-1}<\rotate>{\mbox{\# rows}}
&  1 & 1 & 1 & 0 & 0\\
&  0 & 0 & 1 & 0 & 1\\
&  0 & 0 & 0 & 0 & 0\\
&  1 & 1 & 1 & 0 & 1\\
&  1 & 1 & 0 & 0 & 1\\
 \end{pNiceMatrix}
\end{equation*}

\end{document}

上述代码的输出

相关内容