我使用的是数组环境,而不是表格环境,这使得无法使用如下命令
\specialrule{.1em}{.05em}{.05em}
\Xhline{2\arrayrulewidth}
\noalign {\ifnum 0=`}\fi \hrule height 1pt
\futurelet \reserved@a \@xhline
使线条变粗。我已经使用命令解决了垂直线的问题
\newcolumntype{"}{@{\hskip\tabcolsep\vrule width 1pt\hskip\tabcolsep}}
并使用水平线
\Xhline{1pt}
这是正确的吗?或者有更好的方法吗?非常感谢
卡洛·阿尔贝托
答案1
它们都在array
环境中工作。下面是一个带有 的演示makecell
,boldline
并且booktabs
甚至\cmidrule
可以在环境中使用xmatrix
:
\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}
答案2
{NiceArray}
供参考,您还可以在具有 的环境的数组中绘制粗规则(或您想要的任何规则)nicematrix
。此环境类似于{array}
的环境(array
),但在单元格、行和列下创建 PGF/Tikz 节点。在构造数组后,您可以使用 Tikz 绘制您想要的任何规则。
\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}