我想创建类似这样的东西:
i
( )
( )
(______ )
j( | )
( | )
可以使用以下方法创建矩阵及其子矩阵multicolumn
\[
\left(
\begin{array}{p{3mm}p{3mm}p{3mm}p{3mm}p{3mm}}
&&&&\\
&&&&\\
\cline{1-3}
&&\multicolumn{1}{c|}{}&&\\
&&\multicolumn{1}{c|}{}&&\\
&&\multicolumn{1}{c|}{}&&\\
&&\multicolumn{1}{c|}{}&&
\end{array}
\right)
\]
但这不适用于bordermatrix
。
答案1
创建边界矩阵的一个灵活方法是黑白阵列包。它允许将分隔符定位在具有{block}
环境的某些行上的任意位置。以下是与 Herbert 的回答中相同的示例:
\documentclass{article}
\usepackage{blkarray}
\begin{document}
\[
\begin{blockarray}{cccccc}
& & & i & & \\
\begin{block}{c\Left{}{(\mkern1mu}ccccc<{\mkern1mu})}
& 0 & a & b & c & d \\
& 0 & A & B & C & D \\
\cline{2-4}
\begin{block*}{c(ccc|cc)}
j & s & t & u & v & w \\
& t & & v & & \\
& u & & w & & \\
& V & W & z & Y & Z \\
\end{block*}
\end{block}
\end{blockarray}
\]
\end{document}
为了避免\cline
超出左括号,我不得不使用\Left{}{(\mkern1mu}
而不是(
作为左分隔符,并且为了对称,我在右边添加了<{\mkern1mu}
。
答案2
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\def\mc#1{\multicolumn{1}{c|}{#1}}
\[
\begin{array}{cc}
& i \\
\put(0,-10){\makebox(0,0){j}} &
\left(
\begin{array}{p{3mm}p{3mm}p{3mm}p{3mm}p{3mm}}
0&a&b&c&d\\
0&A&B&C&D\\\cline{1-3}
s&t&\mc{u}&v&w\\
t&&\mc{v}&&\\
u&&\mc{w}&&\\
V&W&\mc{x}&Y&Z
\end{array}
\right)
\end{array}
\]
\end{document}
答案3
这是一个{NiceTabular}
使用 的解决方案nicematrix
。
\documentclass{article}
\usepackage{nicematrix}
\begin{document}
\[
\begin{pNiceMatrix}[first-col,first-row,margin=1pt]
& & & i \\
\Block{6-1}{j}
& 0 & a & b & c & d \\
& 0 & A & B & C & D \\
& \Block[borders={top,right}]{4-3}{}
s & t & u & v & w \\
& t & & v \\
& u & & w \\
& V & W & x & Y & Z
\end{pNiceMatrix}
\]
\end{document}
如果您不想要主数组内的指令,您也可以使用所谓的 TikZ 指令来绘制规则\CodeAfter
。
\documentclass{article}
\usepackage{nicematrix,tikz}
\begin{document}
\[
\begin{pNiceMatrix}[first-col,first-row,margin=1pt]
& & & i \\
\Block{6-1}{j}
& 0 & a & b & c & d \\
& 0 & A & B & C & D \\
& s & t & u & v & w \\
& t & & v \\
& u & & w \\
& V & W & x & Y & Z
\CodeAfter
\tikz \draw (3-|1) -| (last-|4) ;
\end{pNiceMatrix}
\]
\end{document}
输出是一样的。
答案4
这是一个想法的骨架,无需猜测 put 命令的位置...但我不确定您想用这些线做什么....我以为您可以使用 addpath(easymat 命令)添加它们,但我遇到了麻烦...无论如何,我会把答案放在这里,看看它是否有帮助......
\documentclass{minimal}
\usepackage{easybmat}
\begin{document}
\begin{equation}
\begin{BMAT}{cc}{cc}
&
\begin{BMAT}(b){ccccc}{c}
1&2&3&4&5
\end{BMAT}
\\
\begin{BMAT}(b){c}{ccccc}
1\\2\\3\\4\\5\\
\end{BMAT}
&
\left[\begin{BMAT}(b){ccccc}{ccccc}
1&2&3&4&5\\ 1&2&3&4&5\\ 1&2&3&4&5\\ 1&2&3&4&5\\ 1&2&3&4&5
\end{BMAT}\right]
\end{BMAT}
\end{equation}
\end{document}][1]
这使: