使用 TikZ 的矩阵分隔符的长度

使用 TikZ 的矩阵分隔符的长度

我试图解释 Sarrus 方法,并在我使用的tikzmatrix包之间画出线条。但是,当分隔符不是括号而是竖线(并且重新定义行和列分隔)时,它们会变得太长。我试过此解决方案但没有成功。

我希望它们具有与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}

在此处输入图片描述

相关内容