Matrices et LaTeX

Bonjour,

En LaTeX, après avoir écrit une matrice, peut-on tracer de manière esthétique une ligne (ou une flèche) verticale et une ligne (ou une flèche) horizontale aboutissant à un coefficient particulier de la matrice afin de montrer (par exemple) que ce coefficient se trouve à l'intersection de la i-ième ligne et de la j-ième colonne ?
J'ai vu qu'il y avait un package {nicematrix} qui permet de rajouter des étiquettes et des commentaires mais rien qui ressemble à ce que je cherche.
En vous remerciant pour d'éventuelles suggestions.
...

Réponses

  • J'avais obtenu le résultat en pièce jointe en me servant de TikZ pour ajouter des éléments en surimpression sur une matrice. Voilà les bouts de code concernés.
    \RequirePackage{pgf, tikz, pgfplots}
    \usetikzlibrary{arrows, shapes, calc, patterns, matrix, decorations.pathreplacing}
    
    \newcommand{\tikzmarkbase}[2]{\tikz[overlay, remember picture] \node[inner sep=0pt, outer sep=5pt, anchor=base] (#1) {#2};}
    \newcommand{\tikzmarktop}[2]{\tikz[overlay, remember picture] \node[inner sep=0pt, outer sep=2pt, anchor=base] (#1) {#2};}
    \newcommand{\tikzmarkright}[2]{\tikz[overlay, remember picture] \node[inner sep=0pt, outer sep=2pt, anchor=base] (#1) {#2};}
    
    %---
    
    \begin{document}
    
    %---
    
    \begin{figure}
    \[\left(
    	\begin{array}{cccccc}
    		& \multicolumn{1}{|c}{\tikzmarktop{pivot1}{1}} &   & * &   & \tikzmarkright{acco1h}{$*$} \\ \cline{2-2}
    		& & \multicolumn{1}{|c}{\tikzmarktop{pivot2}{1}} & \tikzmarkbase{second1}{$*$} &   & * \\ \cline{3-4}
    		& & & & \multicolumn{1}{|c}{\tikzmarktop{pivot3}{1}} & \tikzmarkbase{second2}{\tikzmarkright{acco1b}{$*$}} \\ \cline{5-6}
    		&&&&&\tikzmarkright{acco2h}{\null} 
    		\\
    		&&&&&\tikzmarkright{acco2b}{\null} 
    	\end{array}
    \right)\]
    \tikz[overlay,remember picture,>=stealth] {
      %
      \node[shift={(0,2em)}] (top1) at (pivot1) {};
      \draw[->] (top1) -- (pivot1);
      \node (top2) at (pivot2|-top1) {};
      \draw[->] (top2) -- (pivot2);
      \node (top3) at (pivot3|-top1) {};
      \draw[->] (top3) -- (pivot3);
      %
      \draw ($(top1)!0.5!(top3)$) node {\scriptsize inconnues principales};
      %
      \node[shift={(0,-5em)}] (base1) at (second1) {};
      \draw[->] (base1) -- (second1);
      \node (base2) at (second2|-base1) {};
      \draw[->] (base2) -- (second2);
      %
      \node (midbase) at ($(base1)!0.5!(base2)$) {};
      \node[shift={(0,-.75em)}] (midbasebas) at (midbase) {};
      \draw (midbase) node {\scriptsize inconnues secondaires,};
      \draw (midbasebas) node {\scriptsize ou paramètres};
      %
      \node[shift={(2em,1.5ex)}] (debacc1) at (acco1h) {};
      \node[shift={(2em,-1.5ex)}] (finacc1) at (acco1b) {};
      \draw [decorate,decoration={brace,amplitude=.25em},shift={(.25em,0)}] (debacc1) -- (finacc1);
      \node[ right] (midacc1) at ($(debacc1)!0.5!(finacc1)$) {\scriptsize\ équations principales};
      %
      \node[shift={(2em,1.5ex)}] (debacc2) at (acco2h) {};
      \node[shift={(2em,-1.5ex)}] (finacc2) at (acco2b) {};
      \draw [decorate,decoration={brace,amplitude=.25em},shift={(.25em,0)}] (debacc2) -- (finacc2);
      \node[ right] (midacc2) at ($(debacc2)!0.5!(finacc2)$) {\scriptsize\ équations secondaires};
    }
    \end{figure}
    
    85540
  • Super ! Un grand merci...
    df
Connectez-vous ou Inscrivez-vous pour répondre.