如何在矩阵上方输入文本?

如何在矩阵上方输入文本?

我正在尝试编写一个类似于图像中的矩阵,但我不知道该怎么做(我尝试使用环境align,但没有成功)。任何帮助都将不胜感激。:)

在此处输入图片描述

答案1

这是一个仅使用一些非常基本的 LaTeX 包以及centertabularbmatrix环境的解决方案。我已尽可能地模仿您发布的屏幕截图中的布局。

在此处输入图片描述

\documentclass{article}
\usepackage{array,xcolor,amsmath,multirow}
\begin{document}

\begin{center}
\begin{tabular}{@{} r @{} l c >{\hspace{7mm}}l @{}}
& \multicolumn{2}{c}{\textcolor{cyan}{From:}} & \\
& \textcolor{cyan}{City} 
& \textcolor{cyan}{Subu\rlap{rbs}} % ok, the use of '\rlap' is kludgy...
& \textcolor{cyan}{To:} \\[0.75ex]
\multirow{2}{*}{$M{=}$} 
& \multicolumn{2}{@{}l}{\multirow{2}{*}{%
    $\begin{bmatrix} 
           0.95 & 0.03 \\ 
           0.05 & 0.97 
     \end{bmatrix}$}}
& \textcolor{cyan}{City} \\
& & & \textcolor{cyan}{Suburbs} 
\end{tabular}
\end{center}

\end{document}

答案2

以下是使用 来实现这一{NiceTabular}目的的一种方法nicematrix

将所有元素(文本和数字)放入一个大数组中,然后使用命令将括号放在所需的\SubMatrix位置\CodeAfter

使用 键baseline,您可以将基线放在所需的位置(以便与 对齐M=)。

\documentclass{article}
\usepackage{nicematrix}

\begin{document}

\newcommand{\cyan}{\color{cyan}}

$M = \begin{NiceTabular}{cc>{\cyan}l}[baseline=line-4]
\Block{1-2}{\cyan From:} \\
\cyan City  & \cyan Suburbs & To: \\
$.95$ & $.03$ & City \\
$.05$ & $.97$ & Suburbs \\
\CodeAfter \SubMatrix[{3-1}{4-2}][slim]
\end{NiceTabular}$

\end{document}

您需要进行多次编译(因为nicematrix在后台使用了 PGF/Tikz)。

上述代码的输出

相关内容