Does anyone know how I could write this block matrix with a LaTeX code ? For now, this is a figure I did on photoshop... And I would like it to be an equation to have a better resolution.

Does anyone know how I could write this block matrix with a LaTeX code ? For now, this is a figure I did on photoshop... And I would like it to be an equation to have a better resolution.

\documentclass{article} \usepackage{amsmath} \usepackage{tikz} \newcommand{\mymatrix}{ \left(\begin{gathered} \tikzpicture[every node/.style={anchor=south west}] \node[minimum width=2cm,minimum height=.6cm] at (0,0) {$C_2$}; \node[minimum width=2cm,minimum height=.6cm] at (0,.6) {$B_2$}; \node[minimum width=4cm,minimum height=1.2cm] at (2,0) {$M_{3,7}^{[1,2]}$}; \node[minimum width=1.5cm,minimum height=1.2cm] at (0,1.2) {$A_4$}; \node[minimum width=4.5cm,minimum height=1.2cm] at (1.5,1.2) {$M_{3,7}^{[1]}$}; \draw[dashed] (0,1.2) -- (6,1.2); \draw[dashed] (0,0.6) -- (2,0.6); \draw[dashed] (2,0) -- (2,1.2); \draw[dashed] (1.5,1.2) -- (1.5,2.4); \endtikzpicture \end{gathered}\right) } \begin{document} \[ M_{3,9} = \mymatrix \] \end{document} 
Here is a solution with {pNiceArray} of nicematrix.
\documentclass{article} \usepackage{nicematrix} \usepackage{tikz} \begin{document} \NiceMatrixOptions { custom-line = { letter = : , command = hdashedline , tikz = dashed , } } \renewcommand{\arraystretch}{1.3} $M_{3,9} = \begin{pNiceArray}{ccc:c:ccccc}[columns-width = 3mm] \Block{3-3}{A_4} & & & \Block{3-5}{M_{3,7}^{[1]}} & & & & \\ \\ \\ \hdashedline \Block{1-4}{B_2} & & & & \Block{2-4}{M_{3,7}^{[1,2]}} \\ \hdashedline \Block{1-4}{C_2} \\ \end{pNiceArray}$ \end{document} You need several compilations (because nicematrix uses PGF/Tikz nodes under the hood).