Criando linha reta na matriz

Criando linha reta na matriz

Preciso adicionar algumas linhas retas dentro de uma matriz para indicar a rotulagem das linhas, assim:

captura de tela

Como faço isso?

Responder1

Líderes é ideal para esta situação.amsmathfornece \hdotsfor{<cols>}que desenha um líder pontilhado nas <cols>colunas. Também é possível sobrepor um número de linha definindo essa linha específica duas vezes (uma vez com \hdotsfore outra com um número de linha, por exemplo). Também adicionei \numberrowwithline{<cols>}{<stuff>}que desenha uma linha (em vez de pontos) como um traço líder e insere <stuff>no meio das <cols>colunas. O espaço padrão em ambos os lados é \fboxsep.

O seguinte é um exemplo modificado, retirado do livro de Herbertmathmodedocumento:

insira a descrição da imagem aqui

\documentclass{article}
\usepackage{xcolor}% http://ctan.org/pkg/xcolor
\usepackage{amsmath}% http://ctan.org/pkg/amsmath

\newcommand{\numberrowwithline}[2]{%
  \multicolumn{#1}c%
    {\xleaders\hbox{-\kern-1pt}\hfill\kern\fboxsep%
        #2\hspace*{\fboxsep}%
        \xleaders\hbox{-\kern-1pt}\hfill\kern0pt%
        }%
}

\begin{document}
\begin{equation}
  \underline{A}=\left[\begin{array}{ccccccc}
    a_{11} & a_{12} & 0 & \ldots & \ldots & \ldots & 0 \\
    a_{21} & a_{22} & a_{23} & 0 & \ldots & \ldots & 0 \\
    0 & a_{32} & a_{33} & a_{34} & 0 & \ldots & 0 \\
    \hdotsfor{7} \\
    \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots \\
    \hdotsfor{7} \\[-\normalbaselineskip]
        \multicolumn{7}{c}{\colorbox{white}{\ $R_n$\ }} \\
        \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots \\
        \numberrowwithline{7}{R_i} \\
    0 & \ldots & 0 & a_{n-2,n-3} & a_{n-2,n-2} & a_{n-2,n-1} & 0 \\
    0 & \ldots & \ldots & 0 & q_{n-1,n-2} & a_{n-1,n-1} & a_{n-1,n} \\
    0 & \ldots & \ldots & \ldots & 0 & a_{n,n-1} & a_{nn}
  \end{array}\right]
\end{equation}
\end{document}

Com a adição dexhfillvocê pode enlouquecer com as cores e tipos de líderes. Veja oxhfilldocumentaçãopara os diferentes estilos de linhas como amostra.

Responder2

  \multicolumn{3}{c}{\hrulefill R_2 \hrulefill}

se for uma matriz de 3 colunas

Responder3

Com nicematrix.

\documentclass{article}
\usepackage{xcolor}
\usepackage{nicematrix,tikz}


\begin{document}

$\begin{bNiceArray}{cc@{\hspace{7mm}}ccc}
a_{11} &a_{12} & \Cdots[shorten=5pt] & a_{1,n-1} & a_{1n} \\
\Cdots[line-style=solid] && R_2 & \Cdots[line-style=solid] \\
&& \vdots \\
\Cdots[line-style=solid] && R_n & \Cdots[line-style=solid] \\
\end{bNiceArray}$

\end{document}

Saída do código acima

informação relacionada