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 array
meio ambiente. Aqui está uma demonstração com makecell
, boldline
e booktabs
. \cmidrule
pode até ser usado nos xmatrix
ambientes:
\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}
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}