尝试针对块矩阵个性化此代码

尝试针对块矩阵个性化此代码

我有这段代码,它输出一个块矩阵:

\documentclass[letterpaper,12pt]{book}
\usepackage[T1]{fontenc}    
\usepackage[spanish,es-tabla]{babel} 
\usepackage{amsmath, nccmath, amsthm}   
\usepackage{arydshln}

\newcommand{\biga}{\mbox{\normalfont\Large\bfseries $A_i$}}
\newcommand{\rvline}{\hspace*{-\arraycolsep}\vline\hspace*{-\arraycolsep}}



\begin{document}


\[
\begin{pmatrix}
  \begin{matrix}
  1  \\
  1 \\
  1
  \end{matrix}
  & \rvline
 & \begin{matrix}
  \begin{matrix}
  a & b \\
  \hline
  \end{matrix}
  & \rvline & a \\
  \biga & \rvline &
  \begin{matrix}
  a  \\
  c 
  \end{matrix}
 \end{matrix}
\end{pmatrix}
\]

\end{document}

我想用它做两件事。首先,

  • \newcommand{\biga}{\mbox{\normalfont\Large\bfseries $A_i$}} 以这样的方式进行改变,即i每次使用时,我都可以将 $A_i$ 中的数字更改为不同的数字。
  • 将线条改为虚线。

我已经尝试了很多事情。

谢谢

答案1

以下是使用 来实现这一{pNiceMatrix}目的的一种方法nicematrix

\documentclass{article}
\usepackage{nicematrix,tikz}

\NewDocumentCommand{\MyMatrix}{m}
  {
    \begin{pNiceMatrix}
    1 & a                           & b & a \\
    1 & \Block{2-2}<\Large>{A_{#1}} &   & a \\
    1 &                             &  & c 
    \CodeAfter 
        \tikz \draw [dotted] (1-|2) -- (4-|2) 
                             (1-|4) -- (4-|4) 
                             (2-|2) -- (2-|4) ;
    \end{pNiceMatrix}
  }

\begin{document}

$\MyMatrix{i}$\qquad $\MyMatrix{1}$

\end{document}

上述代码的输出

解释

该语法(i-|j)指定(潜在的)水平线号i和(潜在的)垂直线号相交的点j

\draw (point1) -- (point2) ;是 Tikz 在两点之间画线的指令。

 \documentclass{article}
 \usepackage{nicematrix,tikz}

 \begin{document}

 $\begin{NiceMatrix}
 1 & a                           & b & a \\
 1 & \Block{2-2}<\Large>{A_1} &   & a \\
 1 &                             &  & c 
 \CodeAfter 
 \tikz 
 \draw 
    (2-|2) circle (0.1mm) node [left] {\tiny \color{red} (2-$|$2)} 
 -- (2-|4) circle (0.1mm) node [right] {\tiny \color{red} (2-$|$4)} ;
 \end{NiceMatrix}$

 \end{document}

第二段代码的输出

答案2

更改 \newcommand{\biga}{\mbox{\normalfont\Large\bfseries $A_i$}} ,以便每次使用时都可以将 $A_i$ 中的 i 更改为不同的数字。

\newcommand{\biga}[1][i]{\mbox{\normalfont\Large\bfseries $A_{#1}$}}

\newcommand 的一个可选附加参数,默认为“i”

默认用法:\biga
自定义索引:\biga[x]
无索引:\biga[]

相关内容