因此我尝试使用 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}