在 tikz 矩阵中的节点之间创建连续线的最佳方法

在 tikz 矩阵中的节点之间创建连续线的最佳方法

这个问题是Denis Bitouzé 的问题

这是他的代码:

\documentclass{article}
\usepackage{tikz}

\usetikzlibrary {matrix}

\begin{document}
\begin{tikzpicture}
\matrix (magic) [matrix of nodes]
{
1-1 & 1-2 & 1-3 \\
 &  &  \\
3-1 & 3-2 & 3-3 \\
};
\draw[red,->] (magic-1-1) |- (magic-2-2.center) -| (magic-3-3);
\end{tikzpicture}
\end{document}

我对下面这行代码特别感兴趣:

\draw[red,->] (magic-1-1) |- (magic-2-2.center) -| (magic-3-3);

矩阵 (mat) 中的第二行是为了在节点 (magic-1-1) 和节点 (magic-3-3) 之间绘制一条连续的双旋转线而创建的。我不想这样做,因为这似乎是一行不必要的代码。我也不想使用名为 的包 ext.paths.ortho这是由于以下事实:我不喜欢在 Latex 中使用太多的包,因为语法可能会让我感到困惑。

关于如何仅使用原始乳胶代码创建图表,我有以下线索:

  1. 使用 calc 包计算正确的坐标。

我的问题是:

在 tikz 矩阵中的两个节点之间创建双旋转连续线的最佳方法是什么?

答案1

\documentclass[tikz, border=1cm]{standalone}
\usetikzlibrary{matrix, calc}
\begin{document}
\begin{tikzpicture}
\matrix (magic) [matrix of nodes, nodes in empty cells=true]
{
1-1 & 1-2 & 1-3 \\
&  &  \\
3-1 & 3-2 & 3-3 \\
};
\draw[red,->] (magic-1-1) |- ($(magic-1-1)!0.5!(magic-3-3)$) -| (magic-3-3);
\end{tikzpicture}
\end{document}

带有红色箭头的矩阵

编辑:

\documentclass[tikz, border=1cm]{standalone}
\usetikzlibrary{matrix, calc}
\begin{document}
\begin{tikzpicture}
\matrix (magic) [matrix of nodes]
{
1-1 & 1-2 & 1-3 \\
2-1 & 2-2 & 2-3 \\
};
\draw[red,->] ([yshift=-4]magic-1-1.center) |- ($(magic-1-1)!0.5!(magic-2-3)$) -| ([yshift=3]magic-2-3.center);
\end{tikzpicture}
\end{document}

带红色箭头的两行压缩矩阵

相关内容