沿矩阵元素绘制线条

沿矩阵元素绘制线条

我想演示一下 3×3 矩阵行列式的特殊公式,http://www.purplemath.com/modules/determs2.htm。 那是

\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}

添加两列并绘制对角线。在问题中,在数组中某一列的条目上画一条垂直线,回答了如何绘制垂直线。我相信这个方法可以应用于我的情况。但我想知道是否有任何最近致力于处理此问题的包。

答案1

这是一个使用matrix of math nodes和的快速破解方法蒂克兹

在此处输入图片描述

代码

\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}

答案2

{NiceMatrix}具有的解决方案nicematrix(≥ 6.17 ,2023-03-31)。

\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}

您需要多次编译(因为nicematrix使用 PGF/Tikz 节点)。

上述代码的输出

相关内容