答案1
有了正常情况array
以及\multicolumn
s,这会变得非常容易。
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\[
J(2)=\left(\begin{array}{lllll}
\cline{1-1}
\multicolumn{1}{|l|}{2} & 0 & 0 & 0 & 0 \\ \cline{1-3}
\multicolumn{1}{l|}{0} & 2 & \multicolumn{1}{l|}{0} & 0 & 0 \\
\multicolumn{1}{l|}{0} & 1 & \multicolumn{1}{l|}{2} & 0 & 0 \\ \cline{2-5}
0 & 0 & \multicolumn{1}{l|}{0} & 2 & \multicolumn{1}{l|}{0} \\
0 & 0 & \multicolumn{1}{l|}{0} & 1 & \multicolumn{1}{l|}{2} \\ \cline{4-5}
\end{array}\right)
\]
\end{document}
答案2
与。{NiceArray}
nicematrix
\documentclass{article}
\usepackage{nicematrix}
\begin{document}
\NiceMatrixOptions{exterior-arraycolsep}
$J(2) =
\left(\,\begin{NiceArray}{ccccc}
\Block[draw]{}{}2 & 0 & 0 & 0 & 0 \\
0 & \Block[draw]{2-2}{}2 & 0 & 0 & 0 \\
0 & 1 & 2 & 0 & 0 \\
0 & 0 & 0 & \Block[draw]{2-2}{}2 & 0 \\
0 & 0 & 0 & 1 & 2
\end{NiceArray}\,\right)$\
\end{document}
您需要多次编译(因为nicematrix
在后台使用 PGF/Tikz 节点)。
如果你愿意,你也可以在矩阵内容后使用 Tikz 指令绘制规则。输出是相同的。
\documentclass{article}
\usepackage{nicematrix,tikz}
\begin{document}
\NiceMatrixOptions{exterior-arraycolsep}
$J(2) =
\left(\,\begin{NiceArray}{ccccc}
2 & 0 & 0 & 0 & 0 \\
0 & 2 & 0 & 0 & 0 \\
0 & 1 & 2 & 0 & 0 \\
0 & 0 & 0 & 2 & 0 \\
0 & 0 & 0 & 1 & 2
\CodeAfter
\tikz \draw (1-|1) -| (4-|2) -| (last-|last) -| (2-|4) -| cycle ;
\end{NiceArray}\,\right)$\
\end{document}
答案3
一个起点(没有矩阵内的线)。
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{equation}
J(2) =
\begin{pmatrix}
2 & 0 & 0 & 0 & 0\\
0 & 2 & 0 & 0 & 0\\
0 & 1 & 2 & 0 & 0\\
0 & 0 & 0 & 2 & 0\\
0 & 0 & 0 & 2 & 1
\end{pmatrix}\,.
\end{equation}
% the "\," adds a small space before the dot.
\end{document}