正如您在图片中看到的,我想删除一条烦人的多余垂直线:矩阵开头第 2 行中的那条垂直线。代码如下:
\begin{array}{|c|c|c|c|}
\multicolumn{2}{r}{}\\\cline{1-1}
-1 \\ \cline{1-2}
& -1 \\ \cline{2-4}
\multicolumn{1}{r}{} & & 0 & -1 \\ \cline{3-4}
\multicolumn{1}{r}{} & & 1 & -2 \\\cline{3-4}
\end{array}=\left(\begin{array}{cccc}
-1 & 0 & 0 & 0 \\
0 & -1 & 0 & 0 \\
0 & 0 & 0 & -1 \\
0 & 0 & 1 & -2
\end{array}\right).
那么,除了使用 使部分垂直列分隔线消失之外,有没有更合理的方法让垂直列分隔线仅跨越某些行\multicolumn
?如何删除多余的垂直线?有没有办法在单元格顶部绘制水平线1,1
,而不会在顶部添加额外的线?
更新:
如果我放入\multicolumn
第二行,该行第一个单元格右侧的垂直线也会消失,这是我不希望的。这就是我没有放入它的原因,也是我问这个问题的原因。
答案1
这次尝试怎么样?
代码
\documentclass[border=10pt]{standalone}
\begin{document}
$
\begin{array}{c|c|c|c|}
\multicolumn{1}{r}{}\\ \cline{1-1}
\multicolumn{1}{|r|}{-1} \\ \cline{1-2}
& -1 \\ \cline{2-4}
\multicolumn{1}{r}{} & & \phantom{-}0 & -1 \\ \cline{3-4}
\multicolumn{1}{r}{} & & \phantom{-}1 & -2 \\ \cline{3-4}
\end{array}
=
\left(\begin{array}{cccc}
-1 & 0 & 0 & 0 \\
0 & -1 & 0 & 0 \\
0 & 0 & 0 & -1 \\
0 & 0 & 1 & -2
\end{array}\right).
$
\end{document}
答案2
那么采用一种完全不同的方法怎么样?
在这里,我只是将左矩阵的条目包装在\strut
ed \framebox
es 中。使用堆栈允许我方便地设置行间距和列间距,以便不仅所有框都能很好地啮合在一起,而且还能匹配等式右侧矩阵的行间距(我将其右对齐)。
\documentclass{article}
\usepackage{tabstackengine}
\stackMath
\def\mfbox#1{\kern-\fboxrule\protect\framebox[5ex]{$\strut#1$}}
\begin{document}
\[
\fboxsep=-.5\fboxrule
\tabbedCenterstack{
\mfbox{-1}&&&\\
&\mfbox{-1}&&\\
&&\mfbox{0}&\mfbox{-1}\\
&&\mfbox{1}&\mfbox{-2}
} = \setstacktabbedgap{2ex}\fixTABwidth{T}
\parenMatrixstack[r]{
-1 & 0 & 0 & 0 \\
0 & -1 & 0 & 0 \\
0 & 0 & 0 & -1 \\
0 & 0 & 1 & -2
}
\]
\end{document}