标记矩阵的列

标记矩阵的列

我正在尝试将马尔可夫过程的转换矩阵转换为 TeX 格式,并且希望与我们的教科书保持一致并标记列和行。我发现\kbordermatrix并让我创作出:

    \[\kbordermatrix{
                    &L&M&C  \cr
            L& .94 &  .02  & .01    \cr
            M& .05  &  .96 &  .04   \cr
            C& .01 & .02 & .95      \cr
            }\]

但我想添加另一个跨越最后三列的标签,上面写着“当前状态”(并带有下划线),并且我想用“下一个状态”标记最后三行。

是否有捷径可寻?

答案1

这是一个相当丑陋的解决方案,但它是我能得到的最接近的答案:

\documentclass{article}
\usepackage{kbordermatrix}
\usepackage{graphicx}
\begin{document}

\begin{tabular}{c@{}c@{}}
    & \mbox{\hspace{6mm}Current State} \\ 

    \parbox[c][17mm][t]{3mm}{\rotatebox{90}{Next State}} &
    $ \kbordermatrix{
      & L   & M   & C   \cr
    L & .94 & .02 & .01 \cr
    M & .05 & .96 & .04 \cr
    C & .01 & .02 & .95 \cr
    } $ \\ 
\end{tabular}

\end{document}

其结果是:

在此处输入图片描述

6mm 用于定位“当前状态”

17mm 用于定位“下一个状态”

3mm 是“Next State”和矩阵之间的距离

答案2

这是一个{NiceTabular}使用 的解决方案nicematrix

\documentclass{article}
\usepackage{nicematrix}
\begin{document}
\begin{NiceTabular}{c@{\;}cccc}
& & \Block{1-3}{Current State} \\ 
  &   & L   & M   & C   \\
\Block{3-1}{\rotate Next State} 
  & L & .94 & .02 & .01 \\
  & M & .05 & .96 & .04 \\
  & C & .01 & .02 & .95 \\
\CodeAfter \SubMatrix[{3-3}{5-5}]
\end{NiceTabular}
\end{document}

您需要多次编译(因为nicematrix使用 PGF/Tikz 节点)。

上述代码的输出

相关内容