我想垂直扩展此代码中的\langle
and括号:\rangle
\documentclass{article}
\usepackage[customcolors,shade]{hf-tikz}
\usepackage{nicematrix}
\usepackage{diagbox}
\usepackage{tikz-cd}
\[\begin{NiceMatrix}[columns-width=8.5mm]
\diagbox{\small A_i} {\small A^j}
\Block[hvlines]{1-4}{}
\Block[hvlines]{4-1}{}
& A^1 & A^2 & A^3 \\
A_1 & 1 & 2 & 3 \\
A_2 & 4 & 5 & 6 \\
A_3 & 7 & 8 & 9
\CodeAfter
\SubMatrix\langle{2-2}{4-4}\rangle[xshift=-0.85mm]
\begin{tikzpicture} [dashed,shorten > = 2mm, shorten < = 2mm]
\draw (3-|2) -- (3-|5) ;
\draw (4-|2) -- (4-|5) ;
\draw (2-|3) -- (5-|3) ;
\draw (2-|4) -- (5-|4) ;
%[line,shorten > = 2mm, shorten < = 2mm]
\end{tikzpicture}
\begin{tikzpicture}
\draw (2-|5) -- (5-|5) ;
\draw (5-|2) -- (5-|5) ;
\end{tikzpicture}
\end{NiceMatrix}\]
\end{document}
太感谢了
答案1
这是一个使用 Tikz 绘制角括号的解决方案。
\documentclass{article}
\usepackage{nicematrix}
\usepackage{tikz}
\begin{document}
\[
\begin{NiceMatrix}[columns-width=8.5mm,cell-space-limits=2pt,hvlines]
\diagbox{\scriptstyle A_i} {\scriptstyle A^j}
& A^1 & A^2 & A^3 \\
A_1 & \Block{3-3}{}
1 & 2 & 3 \\
A_2 & 4 & 5 & 6 \\
A_3 & 7 & 8 & 9
\CodeAfter
\begin{tikzpicture}
\begin{scope} [dashed]
\draw ([xshift=3mm]3-|2) -- ([xshift=-3mm]3-|5) ;
\draw ([xshift=3mm]4-|2) -- ([xshift=-3mm]4-|5) ;
\draw (2-|3) -- (5-|3) ;
\draw (2-|4) -- (5-|4) ;
\end{scope}
\begin{scope} [line width=1pt]
\draw ([xshift=-1mm]2-|2.5) -- ([xshift=1mm]3.5-|2) -- ([xshift=-1mm]5-|2.5) ;
\draw ([xshift=1mm]2-|4.5) -- ([xshift=-1mm]3.5-|5) -- ([xshift=1mm]5-|4.5) ;
\end{scope}
\end{tikzpicture}
\end{NiceMatrix}
\]
\end{document}
评论
- 该命令
\Block{3-3}{}
创建一个空块。使用该块,密钥hvlines
将绘制块中除此以外的所有规则(在那块,实际上,就在这里)。 - 该命令
\diagbox
是 的内置命令nicematrix
。因此,无需加载 包diagbox
。 - 我已经使用 Tikz 坐标调整了角括号点的位置
[xshift=...]
(这是 Tikz 的功能)。 - 环境
{scope}
由 Tikz 提供。它是一种限制 Tikz 图片中选项范围的方法。 - 与往常一样
nicematrix
,您需要进行多次编译。
答案2
环境\SubMatrix
中可用的命令有一个键可以增加分隔符的垂直大小。\CodeAfter
nicematrix
extra-height
\documentclass{article}
\usepackage{nicematrix}
\usepackage{tikz}
\begin{document}
\[\begin{NiceMatrix}[columns-width=8.5mm,hvlines]
\diagbox{\scriptstyle A_i} {\scriptstyle A^j}
& A^1 & A^2 & A^3 \\
A_1 & \Block{3-3}{}
1 & 2 & 3 \\
A_2 & 4 & 5 & 6 \\
A_3 & 7 & 8 & 9
\CodeAfter
\SubMatrix[{2-2}{4-4}][xshift=-0.85mm,extra-height=1mm]
\begin{tikzpicture} [dashed,shorten > = 2mm, shorten < = 2mm]
\draw (3-|2) -- (3-|5) ;
\draw (4-|2) -- (4-|5) ;
\draw (2-|3) -- (5-|3) ;
\draw (2-|4) -- (5-|4) ;
\end{tikzpicture}
\end{NiceMatrix}\]
\end{document}
但是,分隔符\langle
和\rangle
的最大大小(看那个问题)。在您的示例中,默认大小仍然是最大大小,因此extra-height
不会产生任何效果。
您可以尝试更改数学字体,如上面链接的问题所述......