Circuitikz‘并行’逻辑门布线

Circuitikz‘并行’逻辑门布线

因此我尝试使用 circuitikz 绘制以下电路(看起来像半加器)。

正确的非重叠输入

但是,我的代码生成了下图。

第二个逻辑门的重叠输入

\begin{circuitikz}
\draw (0, 4)node[xor port] (xorone){}
(0, 2)node[and port] (and){}
(xorone.in 1) node[left=0.5cm](a) {A}
(xorone.in 2) node[left=0.5cm](b) {B}

(a) -| (xorone.in 1)
(b) -| (xorone.in 2)
(a) -| (and.in 1)
(b) -| (and.in 2);  
\end{circuitikz}

有什么方法可以让连接门的两根电线“平行”不重叠?

答案1

通常会在导线连接处添加分支点,可以是 或 to[short,o-*]node[circ]node[ocirc]我指定了和(branch)中间的点。(b.east)(xorone.in 2)

注意:circuitikz 始终加载 calc 库。

\documentclass[border=1pt]{standalone}
\usepackage{circuitikz}

\begin{document}
\begin{circuitikz}
\draw (0, 4)node[xor port] (xorone){}
(0, 2)node[and port] (and){}
(xorone.in 1) node[left=0.5cm](a) {A}
(xorone.in 2) node[left=0.5cm](b) {B}

(a.east) to[short,-*] (xorone.in 1) |- (and.in 1)
(b.east) to[short,-*] ($(b.east)!.5!(xorone.in 2)$) coordinate (branch)
    -- (xorone.in 2)
(branch) |- (and.in 2);  
\end{circuitikz}
\end{document} 

演示

相关内容