如何在矩阵上有两个水平标签

如何在矩阵上有两个水平标签

假设我创建了一个矩阵。现在我想标记列和行。但是,我希望矩阵的两边都有标签。

我尝试了以下方法:

\documentclass[a4paper12pt]{article}
\usepackage{geometry}
\usepackage{blkarray}
\usepackage{amsmath}
\usepackage{xcolor}
\usepackage{graphicx}

\begin{document} 
\[\mathbf{Pairs} = 
\begin{blockarray}{cc}
Transmitter & Receiver \\
\begin{block}{c(cc)c}
TX_1^C & (x,y) & (x,y) & BS   \\
TX_2^C & (x,y) & (x,y) & BS     \\
&\vdots & \vdots  \\
TX_{max}^C & (x,y) & (x,y) & BS  \\
\BAhhline{......} 
TX_1^D & (x,y) & (x,y) &RX_1^D   \\
TX_2^D & (x,y) & (x,y) &RX_2^D   \\
&\vdots & \vdots   \\
TX_{ax}^D & (x,y) & (x,y) &RX_{max}^D 
\end{block}
\end{blockarray}
\]

\end{document}

TeXstudio 返回错误miscplaced \noalign. \end{block}

有人知道为什么吗?

答案1

我认为你的例子包含一些错误:

\\最后一行末尾缺失\end{block}

你说\blockarray{cc}但是\begin{block}{c(cc)c}, therefore it should be\blockarray{cccc}`。

&之间仅出现一个,我认为应该是三个,但我不确定您想如何对齐这些词。TransmitterReceiver&&&

\documentclass[a4paper12pt]{article}
\usepackage{geometry}
\usepackage{blkarray}
\usepackage{amsmath}
\usepackage{xcolor}
\usepackage{graphicx}

\begin{document} 
\[\mathbf{Pairs} = 
\begin{blockarray}{cccc}
Transmitter & &&  Receiver \\
\begin{block}{c(cc)c}
TX_1^C & (x,y) & (x,y) & BS   \\
TX_2^C & (x,y) & (x,y) & BS     \\
&\vdots & \vdots  \\
TX_{max}^C & (x,y) & (x,y) & BS  \\
\BAhhline{....} 
TX_1^D & (x,y) & (x,y) &RX_1^D   \\
TX_2^D & (x,y) & (x,y) &RX_2^D   \\
&\vdots & \vdots   \\
TX_{ax}^D & (x,y) & (x,y) &RX_{max}^D \\
\end{block}
\end{blockarray}
\]

\end{document}

在此处输入图片描述

答案2

您可以使用 来做到这一点nicematrix

\documentclass[a4paper,12pt]{article}
\usepackage{geometry}
\usepackage{amsmath}
\usepackage{nicematrix}

\begin{document} 


\[\mathbf{Pairs} = 
\begin{NiceMatrix}[baseline=line-6,cell-space-limits=3pt]
\text{\emph{Transmitter}} & &&  \text{\emph{Receiver}} \\
TX_1^C & (x,y) & (x,y) & BS   \\
TX_2^C & (x,y) & (x,y) & BS     \\
&\Vdots & \Vdots  \\
TX_{\text{max}}^C & (x,y) & (x,y) & BS  \\
\hdottedline
TX_1^D & (x,y) & (x,y) &RX_1^D   \\
TX_2^D & (x,y) & (x,y) &RX_2^D   \\
&\Vdots & \Vdots   \\
TX_{\text{max}}^D & (x,y) & (x,y) &RX_{\text{max}}^D \\
\CodeAfter
  \SubMatrix({2-2}{\arabic{iRow}-3})
\end{NiceMatrix}
\]


\end{document}

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

上述代码的输出

相关内容