我想在 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}