tikz 子图顶部的条件?

tikz 子图顶部的条件?

我想在 Tikz 中使用条件图(顺便说一句,这是一个很棒的软件包)。我的解决方案是使用 2 个不同的标签重复节点:

"Urgent ?" -> ["yes"] "do something";
"Urgent ?" ->["no"] "sleep";

有没有一种带有子图的语法来获得较短的版本?类似于:

"Urgent" {
  -> ["yes"] "do something";
  ->["no"] "sleep";
}

谢谢 !

最小工作示例:

\documentclass[margin=10pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{graphs}
\usetikzlibrary{graphdrawing}
\usegdlibrary{layered}
\usetikzlibrary{quotes}

\begin{document}
\tikz \graph [layered layout]
{
  "Urgent ?"
  -> ["yes"] "do something";
  "Urgent ?"
  ->["no"] "sleep";
};
\end{document}

答案1

这在第 19.6.5 节“在传入边缘上放置节点文本” (“TikZ 和 PGF 手册 3.0.1a 版” p280) 中介绍,使用简写>

\RequirePackage{luatex85}
\documentclass[tikz,margin=10pt]{standalone}
\usetikzlibrary{graphs}
\usetikzlibrary{graphdrawing}
\usetikzlibrary{quotes}
\usegdlibrary{layered}

\begin{document}
\tikz \graph [layered layout]
{
  "Urgent ?" -> { "do something" [>"yes"], "sleep" [>"no"] };
};
\end{document}

在此处输入图片描述

相关内容