如何移动使用 TikZ 绘制成矩阵的平行线

如何移动使用 TikZ 绘制成矩阵的平行线

我正在启动一个 4x4 矩阵,并想使用 TikZ 将多个条目用线连接起来。现在的问题是,一些平行线可能会重叠,如下例所示:

   \documentclass{article}
    \usepackage{tikz}
    \usepackage{amsmath}
    \newcommand\tikznode[2]{\tikz[remember picture,baseline=(#1.base)]{\node(#1)[inner sep=0pt]{#2};}}


    $
    \begin{pmatrix} \tikznode{1}{1} &  \tikznode{2}{2} & \tikznode{3}{3} & \tikznode{4}{4} \\
    \tikznode{5}{5} &\tikznode{6}{6} &\tikznode{7}{7} &\tikznode{8}{8} \\
    \tikznode{9}{9} & \tikznode{10}{10} &\tikznode{11}{11} &\tikznode{12}{12} \\
    \tikznode{13}{13} &\tikznode{14}{14} &\tikznode{15}{15} &\tikznode{16}{16} \end{pmatrix}
    $
    \tikz[overlay,remember picture]{\draw[-](1)--(6);\draw[-](1)--(11);(1)--(16);}
    \end{document}

矩阵中的重叠线

我正在寻找一种方法,绘制三条线,分别将 1 与 6、11 和 16 连接成一个矩阵,彼此平行移动,以使所有线都可见。

谢谢你的帮助!

答案1

在此处输入图片描述

\documentclass{article}
    \usepackage{tikz}
    \usepackage{amsmath}
    \newcommand\tikznode[2]{\tikz[remember picture,baseline=(#1.center)]{\node(#1)[inner sep=1pt,fill=white]{#2};}}

\begin{document}
\pagestyle{empty}
    $
    \begin{pmatrix} \tikznode{1}{1} &  \tikznode{2}{2} & \tikznode{3}{3} & \tikznode{4}{4} \\
    \tikznode{5}{5} &\tikznode{6}{6} &\tikznode{7}{7} &\tikznode{8}{8} \\
    \tikznode{9}{9} & \tikznode{10}{10} &\tikznode{11}{11} &\tikznode{12}{12} \\
    \tikznode{13}{13} &\tikznode{14}{14} &\tikznode{15}{15} &\tikznode{16}{16} \end{pmatrix}
    $
    \tikz[overlay,remember picture]\draw(1.10)--(6.125);
    \tikz[overlay,remember picture]\draw[red](1)--(11);
    \tikz[overlay,remember picture]\draw[blue](1.-60)--(16.170);
    \end{document}

答案2

使用该库的更简单的全 tikz 方法matrix

\documentclass{article}
  \usepackage{tikz}
  \usetikzlibrary{matrix}
  \usepackage{amsmath}

  \begin{document}
  \[%
    \begin{pmatrix}\begin{tikzpicture}
    \matrix(m)[matrix of math nodes, column sep=1em] {
    1 & 2  & 3  & 4  \\
    5 & 6  & 7  & 8  \\
    9 & 10 & 11 & 12 \\
    13& 14 & 15 & 16 \\};
    \path[->](m-1-1) edge[bend left =00] (m-2-2)
                     edge[bend left =20] (m-3-3)
                     edge[bend right=20] (m-4-4);
    \end{tikzpicture}\end{pmatrix}
  \]

\end{document}

在此处输入图片描述

相关内容