Respuesta1
No resolví exactamente tu problema sino uno similar del cual pudiste extraer información útil.
Necesitaba resolver un determinante mucho más general. Usé TikZ simple y elmatrizFunciona dentro de TiKZ. Aquí está el código.
\documentclass[12pt]{article}
\usepackage[pdftex]{graphicx}
\usepackage{pgfplots,tikz}
\usetikzlibrary{matrix}
\begin{document}
\begin{tikzpicture}
\matrix[
, matrix of math nodes
, left delimiter = {(}
, right delimiter = {)}
] (m)
{
1 & \rho_1 & 0 & 0 & \cdots & 0 & 0 & \rho_{1} \\
\rho_1 & 1 & \rho_1 & 0 & \cdots & 0 & 0 & 0 \\
0 & \rho_1 & 1 & \rho_1 & \cdots & 0 & 0 & 0 \\
\vdots & & \ddots & \ddots & \ddots & & \vdots & \vdots \\
\vdots & & & \ddots & \ddots & \ddots & \vdots & \vdots \\
\vdots & & & & \rho_1 & 1 & \rho_1 & 0 \\
\vdots & & & & & \rho_1 & 1 & 0 \\
0 & \cdots & \cdots & \cdots & \cdots & 0 & \rho_1 & 0 \\
};
\coordinate (A) at (2.5,2.6);
\coordinate (B) at (-3.0,2.65);
\coordinate (C) at (2.55,-2.7);
\draw[red, dotted, line width=2] (A) circle(9pt);
\draw[red, line width=2] (B)--++(5.2,0);
\draw[red, line width=2] (C)--++(0,4.9);
\end{tikzpicture}
\end{document}
Para ser honesto, calculé la longitud y las posiciones de los segmentos y círculos mediante prueba y error. Claro, debería haber una manera de obtener estas ubicaciones del entorno matricial de una manera elegante. No se como hacer esto.
Aquí está la figura.
Respuesta2
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{fit}
\newcommand{\tikzmark}[2]{\tikz[overlay,remember picture,baseline=(#1.base)] \node (#1) {#2};}
\begin{document}
\[
\left[\begin{array}{*3{c}}
\tikzmark{left_end}{0} & 2 & \tikzmark{right_end}{1}\\
3 & -1 & 2 \\
\tikzmark{down_left}{4} & 0 & \tikzmark{down}{1}
\end{array}\right]
\]
\tikz[overlay,remember picture] {
\draw[red,thick,dashed] (left_end) circle (0.2cm);
\draw[-,red,thick] (left_end) -- ++ (1.7,0) (right_end);
\draw[-,red,thick] (left_end) -- ++ (0,-1.) (down_left);
}
\end{document}
Respuesta3
Este es más bien un comentario extenso sobre elrespuesta de Sina Ahmadi. Estaré feliz de eliminar esto si en esa respuesta se cambian algunas cosas.
\tikzmark
es un comando fantástico que forma parte de latikzmark
biblioteca. Me gustaría argumentar que crear un nuevo comando con este nombre no es una buena práctica.- Los nodos
right_end
ydown_left
no se utilizan. Las líneas se dibujan según lo determinado por las dos distancias codificadas- ++ (1.7,0)
y- ++ (0,-1.)
.
\documentclass{article}
\usepackage{amsmath}
\usepackage{tikz}
\usetikzlibrary{tikzmark}
\begin{document}
\[\begin{bmatrix}
\tikzmarknode[circle,draw=red,inner sep=0.5pt,densely dashed]{A11}{0} & 2 & \tikzmarknode{A13}{1}\\
3 & -1 & 2 \\
\tikzmarknode{A31}{4} & 0 & 1
\end{bmatrix}
\]
\begin{tikzpicture}[overlay,remember picture]
\draw[red] (A11.east) -- (A11.east-|A13.east)
(A11.south) -- (A11.south|-A31.south);
\end{tikzpicture}
\end{document}
Respuesta4
Es posible hacer eso con nicematrix
. Este paquete crea un nodo PGF/Tikz debajo de cada celda de la matriz. Luego, es posible usarlo tikz
para dibujar lo que queramos.
\documentclass[svgnames]{article}
\usepackage{nicematrix}
\usepackage{tikz}
\begin{document}
$\begin{bNiceMatrix}[margin]
0 & 2 & 1 \\
3 & -1 & 2 \\
4 & 0 & 1
\CodeAfter
\begin{tikzpicture} [color = DeepPink]
\draw [dashed] (1-1) circle (2mm) ;
\draw ([xshift=2mm]1-1.east) -- ([xshift=2mm]1-3.east) ;
\draw ([yshift=-1mm]1-1.south) -- ([yshift=-1mm]3-1.south) ;
\end{tikzpicture}
\end{bNiceMatrix}$
\end{document}