我想创建一个如下图所示的下三角矩阵。
我的尝试如下:
\documentclass[a4]{article}
\usepackage[utf8]{inputenc}
\begin{document}
\begin{tabular}{|c|c|c|c|c|c|c|}
\cline{1-3}
B & X & & & & & \\ \cline{1-3}
C & X & X & & & & \\ \cline{1-4}
D & X & X & X & X & & \\ \cline{1-5}
E & X & X & X & X & & \\ \cline{1-6}
F & X & X & X & X & X & \\ \cline{1-7}
G & X & X & X & X & X & X \\ \cline{1-7}
& A & B & C & D & E & F \\ \hline
\end{tabular}
\end{document}
但是,如下所示,它并没有产生预期的结果。
问题出在垂直线。有人知道如何在表格中制作仅跨越某些所需行的垂直线吗?提前致谢。
答案1
你问,
有人知道如何在表格中制作仅跨越某些所需线条的垂直线吗?
答案出奇地简单:不要在数组的右上部分生成任何空单元格。换句话说,省略&
空单元格生成器。
\documentclass{article}
\begin{document}
\begin{tabular}{|*{7}{c|}}
\cline{1-2}
B & X \\ \cline{1-3}
C & X & X \\ \cline{1-4}
D & X & X & X \\ \cline{1-5}
E & X & X & X & X \\ \cline{1-6}
F & X & X & X & X & X \\ \hline
G & X & X & X & X & X & X \\ \hline
& A & B & C & D & E & F \\ \hline
\end{tabular}
\end{document}
答案2
与。{NiceTabular}
nicematrix
该环境与经典环境(包){NiceTabular}
类似,但增加了一些功能。特别是,有一个键可以绘制所有规则。使用键,可以指定一些角落(例如{tabular}
array
hvines
corners
NE
例如东北):角的计算考虑了空单元格,并且角上没有绘制规则。
\documentclass{article}
\usepackage{nicematrix}
\begin{document}
\begin{NiceTabular}{ccccccc}[hvlines, corners = NE] % NE = north east
B & X & & & & & \\
C & X & X & & & & \\
D & X & X & X & X & & \\
E & X & X & X & X & & \\
F & X & X & X & X & X & \\
G & X & X & X & X & X & X \\
& A & B & C & D & E & F \\
\end{NiceTabular}
\end{document}
您需要多次编译(因为nicematrix
在后台使用 PGF/Tikz 节点)。