linha grossa em ambiente de array

linha grossa em ambiente de array

Estou usando um ambiente array, não tabular, o que impossibilita o uso de comandos como

\specialrule{.1em}{.05em}{.05em}

\Xhline{2\arrayrulewidth}

\noalign {\ifnum 0=`}\fi \hrule height 1pt
    \futurelet \reserved@a \@xhline

para tornar a linha mais espessa. Resolvi o problema das linhas verticais usando o comando

\newcolumntype{"}{@{\hskip\tabcolsep\vrule width 1pt\hskip\tabcolsep}}

e com as linhas horizontais usando

\Xhline{1pt}

Isso está correto ou existe uma maneira melhor? Agradeço-lhe muito

Carlos Alberto

Responder1

Todos eles trabalham dentro do arraymeio ambiente. Aqui está uma demonstração com makecell, boldlinee booktabs. \cmidrulepode até ser usado nos xmatrixambientes:

    \documentclass{article}
    \usepackage{array, boldline, makecell, booktabs, amsmath}
    \newcommand\btrule[1]{\specialrule{#1}{0pt}{0pt}}
    \usepackage[svgnames, table]{xcolor}

    \begin{document}

  \[ \begin{array}{l!{\vline width 1pt}c | r }
      \arrayrulecolor{IndianRed} \Xhline{1pt}
      1 & 2 & 3 \\
      \hline
      4 & 5 & 6 \\
      \hline
      7 & 8 & 9 \\
      \Xhline{1pt}
    \end{array}
    \qquad
    \begin{array}{ lV{2.5}c | r }
      \hlineB{2.5}
      1 & 2 & 3 \\
      \hline
      4 & 5 & 6 \\
      \hline
      7 & 8 & 9 \\
      \hlineB{2.5}
    \end{array}
    \qquad
    \begin{array}{ l!{\color{IndianRed}\vline width 1pt}c | r }
      \arrayrulecolor{IndianRed}
      \btrule{1pt}
      1 & 2 & 3 \\
      \arrayrulecolor{black} \hline
      4 & 5 & 6 \\
      \hline
      7 & 8 & 9 \\
      \arrayrulecolor{IndianRed}\btrule{1pt}
    \end{array}
    \qquad
    \begin{bmatrix}
      1 & 2 & 3 \\
       \cmidrule(lr){1-3}
      4 & 5 & 6 \\
       \cmidrule(lr){1-2}
      7 & 8 & 9 \\
    \noalign{\setlength{\aboverulesep{-2ex}}
    \arrayrulecolor{IndianRed}\cmidrule(lr){1-3}
    \end{bmatrix}
\]
\end{document} 

insira a descrição da imagem aqui

Responder2

Para obter informações, você também pode desenhar regras grossas (ou qualquer regra que desejar) em uma matriz com o ambiente {NiceArray}de nicematrix. Este ambiente é semelhante ao ambiente {array}(de array), mas cria nós PGF/Tikz sob as células, linhas e colunas. Você pode usar o Tikz para desenhar qualquer regra que desejar com o Tikz após a construção do array.

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

\begin{document}

$\begin{NiceArray}{ccccc}
1 & 2 & 10 & 14 & 15 \\
0 & 2 & 10 & 14 & 15 \\
0 & 0 & 10 & 14 & 15 \\
0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 \\
\CodeAfter 
  \tikz \draw [thick] (2-|1) -- (2-|2) |- (3-|3) |- (4-|6) ;
\end{NiceArray}$

\end{document}

Saída do código acima

informação relacionada