绘制 ROBDD 图

绘制 ROBDD 图

我正在尝试绘制 ROBDD 图。

\begin{forest}
  BDT
  [$A$
  [$D$
  [$\top$]
]
[$B \vee D$
[$\bot$]
]
 [$C$]
  ]
\end{forest}

这是我的输出:

在此处输入图片描述

不过我想连接一些 ROBDD 元素,如下所示:

在此处输入图片描述

我正在使用 forest 包。你能帮我修复这个问题吗?

答案1

在树的末端(之前\end{forest}),你可以任意在根层级应用 TikZ 代码。你可以使用带有前缀的森林相对节点行走!。这里(!21)指定第二个子节点(根节点)的第一个子节点。

使用\forestoption{edge}允许我们使用与根节点有效的相同的边规范。

代码

\documentclass[tikz]{standalone}
\usepackage{forest}
\begin{document}
\begin{forest} for tree = {edge = ->}
%  BDT
[$A$
  [$D$
    [$\top$]
  ]
  [$B \vee D$
    [$\bot$]
  ]
  [$C$]
]
\path[every edge/.append style/.expanded=\forestoption{edge}]
  (!11) edge (!21)
  (!3)  edge (!21) edge (!2)
  (!1)  edge (!2);
\end{forest}
\end{document}

输出

在此处输入图片描述

答案2

也可以使用tikz-cd包来实现您的图表。

在此处输入图片描述

\documentclass{article}
\usepackage[margin=2.0cm]{geometry}
\usepackage{tikz-cd}
\begin{document}
\begin{tikzcd}
  & A \arrow[ld] \arrow[d] \arrow[rd] &  \\
D \arrow[d] \arrow[r]&  B \vee D \arrow[d]  & \arrow[l] C \arrow[ld] \\
\top           & \bot                              &             
\end{tikzcd}
\end{document}

相关内容