我想演示一下 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 节点)。