LaTex (Overleaf) 中的标记和双标记矩阵 - 适用于马尔可夫链转移矩阵

LaTex (Overleaf) 中的标记和双标记矩阵 - 适用于马尔可夫链转移矩阵

这其实不是一个问题,而是一个解决方案。我到处找,给出的所有解决方案都非常复杂,所以我想为需要帮助的人分享我自己的解决方案!!

  • 将矩阵/标签视为一个大数组
  • 我使用“tabular”命令而不是array,因为使用“array”命令时水平间距不起作用,但这并不重要,因为两者的语法相对相同

我会在答案中发布我的代码!!

答案1

为了标记一个简单的 3x3 矩阵,您可以按列/行进行标记,也可以为整个矩阵赋予完整的标题。

这是完整标题和每列/行的代码:

\begin{document}

\begingroup
\setlength{\tabcolsep}{2pt} % sets spacing horizontally
\renewcommand{\arraystretch}{1} % sets spacing vertically
\begin{tabular}{ c c c }

%===============================================================
%Row 1
%===============================================================
%Column 1
Top Title &

%Column 2
&

%Column 3
\\


%===============================================================
%Row 2
%===============================================================
%Column 1
%this creates the horizontal array 
\begingroup %make sure to use this to control spacing separately from the bigger array
\setlength{\tabcolsep}{6pt}
 \begin{tabular}{cccc}
     1  & 2  & 3 
 \end{tabular}
\endgroup&

%Column 2
&

%Column 3
\\

%===============================================================
%Row 3
%===============================================================

% Column 1
$\begin{bmatrix}
    a & b & c \\
    d & e & f \\
    g & h & i 
\end{bmatrix}$ &


%Column 2
% this creates the vertical array
\begin{tabular}{ccc}
     x \\ y \\ z
 \end{tabular} &
 
 

%Column 3
 Side Title 

\end{tabular}
\endgroup

\end{document}

您可以从此代码调整要保留/删除的标题。请记住相应地调整矩阵大小。矩阵/表格/数组的语法如下:

Row1Column1 & Row1Column2     & ... & Row1Column(N) \\

Row2Column1 & Row2Column2     & ... & Row2Column(N) \\
.
.
.

Row(N)Column1 & Row(N)Column2 & ... & Row(N)Column(N)


所以这本质上是一个 3x3 矩阵,第一列是:

  • 大标题(顶部标题)
  • 列标题 (1 2 3)
  • 矩阵

第二列:

  • 空的空间
  • 空的空间
  • 行标题 (xyz)

第三列:

  • 空的空间
  • 空的空间
  • 大标题(侧标题)

答案2

欢迎来到 TEX.SE!这是一个不错的方法。我使用nicematrix包来实现这一点。

\documentclass{article}
\usepackage{amsmath}
\usepackage{nicematrix}
\begin{document}
    \begin{align*}
        \begin{array}{cc}
            \text{Top Title} & \\
            \begin{bNiceMatrix}[first-row,last-col]
                1 & 2 & 3 &     \\
                a & b & c & x   \\
                d & e & f & y   \\
                g & h & i & z   
            \end{bNiceMatrix} &  \text{Side Title}
        \end{array}
    \end{align*}
\end{document}

在此处输入图片描述

在这里我处理了具有外部和环境的矩阵bNiceMatrix

答案3

这是使用 的另一种方法nicematrix。在最新版本(2021-02-05 的 5.10)中,有一个内置命令\SubMatrix,我用它来在之前构建的数组中添加括号。

\documentclass{article}
\usepackage{nicematrix}
\begin{document}
$A = \enskip 
\begin{NiceMatrix}[baseline=4]
\Block{1-3}{\text{Top Title}} \\
1 & 2 & 3 &  \\
a & b & c & x & \Block{3-1}{\text{Side Title}} \\
d & e & f & y \\
g & h & i & z   
\CodeAfter \SubMatrix[{3-1}{5-3}]
\end{NiceMatrix}$
\end{document}

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

上述代码的输出

相关内容