垂直扩展 \langle 和 \rangle - 使用 Tikz-PGF 括号环境 {NiceMatrix}

垂直扩展 \langle 和 \rangle - 使用 Tikz-PGF 括号环境 {NiceMatrix}

我想垂直扩展此代码中的\langleand括号:\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中可用的命令有一个键可以增加分隔符的垂直大小。\CodeAfternicematrixextra-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不会产生任何效果。

您可以尝试更改数学字体,如上面链接的问题所述......

相关内容