我试图解释 Sarrus 方法,并在我使用的tikz
和matrix
包之间画出线条。但是,当分隔符不是括号而是竖线(并且重新定义行和列分隔)时,它们会变得太长。我试过此解决方案但没有成功。
我希望它们具有与vmatrix
我在下面代码中写入的矩阵分隔符相同的长度:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{matrix}
\usepackage{mathtools}
\usepackage{float}
\begin{document}
\[
\det(A) = \begin{vmatrix*}[r]
a & b & c\\
d & e & f\\
g & h & i
\end{vmatrix*}
\]
\begin{figure}[H]
\centering
$ \det(A) =$
\begin{tikzpicture}[
baseline=(A-2-1.base),
every left delimiter/.style={xshift=.8em},
every right delimiter/.style={xshift=-.8em},
]
\matrix [
matrix of math nodes,
row sep={0.43cm,between origins},
column sep={0.6cm,between origins},
left delimiter=|,
right delimiter=|] (A)
{
a & b & c \\
d & e & f \\
g & h & i \\
};
\draw[line width=0.6pt] (A-1-1.center) -- (A-3-3.center);
\draw[line width=0.6pt] (A-2-1.center) -- (A-3-2.center) -- (A-1-3.center) -- (A-2-1.center)--cycle;
\end{tikzpicture}
\end{figure}
\end{document}
答案1
我会使用(新)tikzmark
库来实现这一点。然后矩阵看起来(除了线条)就像双胞胎一样。
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{tikzmark}
\usepackage{mathtools}
\begin{document}
\[
\det(A) = \begin{vmatrix*}[r]
a & b & c\\
d & e & f\\
g & h & i
\end{vmatrix*}
\]
\[
\det(A) = \begin{vmatrix*}[r]
\tikzmarknode{a}{a} & b & \tikzmarknode{c}{c}\\
\tikzmarknode{d}{d} & e & f\\
g & \tikzmarknode{h}{h} & \tikzmarknode{i}{i}
\end{vmatrix*}
\]
\begin{tikzpicture}[overlay,remember picture]
\draw[line width=0.6pt] (a.center) -- (i.center)
(d.center) -- (c.center) -- (h.center) -- cycle;
\end{tikzpicture}
\end{document}