大门和港口的图形绘制

大门和港口的图形绘制

考虑一下这个 MWE

\documentclass[tikz]{minimal}
\usepackage{tikz}
\usetikzlibrary{graphdrawing}
\usetikzlibrary{graphs} 
\usetikzlibrary{arrows}
\usetikzlibrary{shapes} 
\usegdlibrary{layered,trees}
\begin{document}
\begin{tikzpicture}
\graph[layered layout,nodes={rectangle,fill=yellow,draw,}]{
{X, 7} % Inputs
->I/"\mbox{\quad}"[circle,fill=red]  % Input port
--F/$\sum$[fill=cyan!20,minimum width=3em,minimum height=1em]    % Function at the gate 
--O/$\bot$[circle,fill=green!30,
% regardless at=(r.north) this option does not work
]    % Output port%
};
[![\end{tikzpicture}][1]][1]
\end{document}

其输出是

在此处输入图片描述

我在这里尝试做的是,用节点 I、F 和 O 创建一个元节点,它类似于电子门。I 是输入端口,所有输入都进入该端口。F 是在节点处计算的函数,O 是输出节点。

我尝试将 I 和 O 定义为\graph命令之外的节点,以便它们的位置相对于 F。缺点是布局算法生成的箭头连接 F,而不是 I 和 O。

如 MWE 所示,我尝试使用regardless at密钥。但节点放置错误。

在任何特定情况下,I 和 O 都有可能nudge朝向 F,但是否有可能针对所有可能的布局进行正确的推动?

有没有办法将 I 和 F 紧密结合在一起,以便它们在绘制图形时表现得像一个整体?

编辑 具体来说,我想我尝试做的是将图形绘制应用于算术门(类似于电路门)的放置。想想这个图,

在此处输入图片描述

想象一下能够使用图形绘制库来放置门。

正如我上面解释的那样,挑战在于实现端口功能。

相关内容