Desenhar linhas ao longo de entradas de matrizes

Desenhar linhas ao longo de entradas de matrizes

Gostaria de demonstrar a fórmula especial para os determinantes de matrizes 3 por 3,http://www.purplemath.com/modules/determs2.htm. Aquilo é

\documentclass{article}
\begin{document}
$$
\begin{array}{ccc|cc}
a & b & c & a & b\\ d & e & f & d & e\\ g & h & i & g & h  
\end{array}.
$$ 
\end{document}

adicionando duas colunas e desenhe linhas diagonais. Na pergunta,Desenhe uma linha vertical sobre as entradas de uma coluna em uma matriz, é respondido como desenhar linhas verticais. O método que acredito pode ser aplicado ao meu caso. Mas estou me perguntando se existe algumdedicado recentementepacote que lida com isso.

Responder1

Aqui está um hack rápido usando um matrix of math nodesetikz:

insira a descrição da imagem aqui

Código

\documentclass[border=5mm,tikz]{standalone}
\usepackage{tikz}
\usetikzlibrary{matrix}
\begin{document}
    \begin{tikzpicture}[auto]
      \matrix (M)[matrix of math nodes,row sep=1cm,column sep=16mm]{
       a & b & c & a & b\\ d & e & f & d & e\\ g & h & i & g & h\\&&[blue]adi&[red]-bfg&[blue]cdh\\
       };
       \draw[blue](M-1-1)--(M-2-2)--(M-3-3)--(M-4-3);
       \draw[blue](M-1-2)--(M-2-3)--(M-3-4)--(M-4-4);
       \draw[blue](M-1-3)--(M-2-4)--(M-3-5)--(M-4-5);
    \end{tikzpicture}
\end{document}

Responder2

Uma solução com {NiceMatrix}( nicematrix≥ 6,17 de 31/03/2023).

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

\begin{document}

\begin{center}
\NiceMatrixOptions
  { pgf-node-code = \pgfsetfillcolor{white} \pgfusepathqfill }

\pgfset{nicematrix/cell-node/.style = { inner sep = 3pt } }

\renewcommand{\arraystretch}{2}
\setlength{\tabcolsep}{3pt}
$\begin{NiceMatrix}[columns-width=auto]
 \CodeBefore [create-cell-nodes]
 \begin{tikzpicture} [blue]
   \draw (1-1.base) -- (3.5-|3.5) ; 
   \draw (1-2.base) -- (3.5-|4.5) ; 
   \draw (1-3.base) -- (3.5-|5.5) ;   
   \draw [shorten > = 1mm] (3-3) -- (4-3) ;
   \draw [shorten > = 1mm] (3-4) -- (4-4) ;
   \draw [shorten > = 1mm] (3-5) -- (4-5) ;
 \end{tikzpicture}
 \Body
   a & b & c & a & b\\ 
   d & e & f & d & e\\ 
   g & h & i & g & h\\
     &   &\color{blue}adi&\color{red}-bfg&\color{blue}cdh\\
\end{NiceMatrix}$
\end{center}

\end{document}

Você precisa de várias compilações (porque nicematrixusa nós PGF/Tikz).

Saída do código acima

informação relacionada