如何指定图形边的最小长度?

如何指定图形边的最小长度?

我刚刚开始使用(新?)graphdrawing库(请参阅 TikZ & PGF 3.0.0 的第 27 节)。太棒了!

但是,我似乎无法实现图形边缘的最小长度。这是有问题的,因为如果两个连接的节点包含的文本太长,它们可能会重叠,以至于连接边缘完全被隐藏;请参阅下面的示例。

我尝试使用node sep密钥,但它似乎对边长没有任何影响。我应该怎么做才能使边的长度至少为1cm

在此处输入图片描述

% compile with LuaLaTeX
\documentclass{article}

\usepackage{tikz}
\usetikzlibrary{
  graphs,
  graphdrawing,
}

\tikzset{
  graphs/every graph/.style={nodes={draw}},
}

\begin{document}
\section*{Fine}
\begin{tikzpicture}
\graph{
  A -- B
};
\end{tikzpicture}

\section*{Too crammed}
\begin{tikzpicture}
\graph[
  node sep=1cm, % no effect
]{
  Cram -- med 
};
\end{tikzpicture}
\end{document}

答案1

图形节点的放置有很多选择。这些在当前版本 (v3.0) 的第 19.9 节中有详细介绍。pgfmanual

我认为您的实际用例比这更复杂,因此值得研究这些选项以选择最适合您情况的选项。但对于这个简单示例,grow right sep=1cm应该显示您期望的无效node sep密钥的行为。

代码:

\documentclass{article}

\usepackage{tikz}
\usetikzlibrary{
  graphs,
  graphdrawing,
}

\tikzset{
  graphs/every graph/.style={nodes={draw}},
}

\begin{document}
\section*{Fine}
\begin{tikzpicture}
\graph{
  A -- B
};
\end{tikzpicture}

\section*{Too crammed}
\begin{tikzpicture}
\graph[
  grow right sep=1cm, % no effect
]{
  Cram -- med 
};
\end{tikzpicture}
\end{document}

输出:

在此处输入图片描述

相关内容