如何在矩阵中用水平线书写行号

如何在矩阵中用水平线书写行号

我尝试使用附加的代码在矩阵内创建一条水平线。但是,它没有起作用,编译过程给出了超时消息。它在没有 \hline 命令的情况下正常工作。任何帮助!

\documentclass[journal,draftcls,onecolumn,12pt,twoside]{IEEEtran}
\usepackage{array}
\usepackage{blkarray}
\begin{document}
\begin{equation} 
\centering
W_b(1)=\begin{blockarray}{cccccc}
\begin{block}{(ccccc)c}
 a      & b     &     &  &  & \matindex{\leftarrow d=0} \\
\ddots & \ddots&     &  &  & \matindex{\vdots} \\
   &     a & b   &  &  & \matindex{\ \ \ \   \leftarrow d=d_b-1} \\  
%\hline
 c      & d     &     &  &  & \matindex{\leftarrow d=d_b} \\  
\ddots &\ddots &     &  &  & \matindex{\vdots} \\
   &   c   &  d  &  &  & \matindex{\leftarrow d=D} 
\end{block}
\end{blockarray},
\label{eq:eq4} 
\end{equation}

\end{document}

答案1

以下内容似乎符合您的要求;将矩阵和行索引(您的\matindex)设置为单独的pmatrixarray对:

在此处输入图片描述

\documentclass{IEEEtran}

\usepackage{amsmath,array}

\begin{document}

\begin{equation} 
  W_b(1) = \begin{pmatrix}
     a   &    b   &   \\
  \ddots & \ddots &   \\
         &    a   & b \\
  \hline
     c   &    d   &   \\
  \ddots & \ddots &   \\
         &    c   & d
  \end{pmatrix}
  \begin{array}{>{\scriptstyle} l}
    \leftarrow d = 0       \\
    \vdots                 \\
    \leftarrow d = d_b - 1 \\
    \leftarrow d = d_b     \\
    \vdots                 \\
    \leftarrow d = D
  \end{array}
\end{equation}

\end{document}

我已经\scriptstyle为索引选择了一种表示形式,但您可以根据 的真实定义进行更改\matindex。此外,和 索引之间的间距pmatrix也可以更改(目前为\arraycolsep)。

相关内容