答案1
这是一个仅使用一些非常基本的 LaTeX 包以及center
、tabular
和bmatrix
环境的解决方案。我已尽可能地模仿您发布的屏幕截图中的布局。
\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)。