如何使用 circuitikz 绘制 3 输入逻辑门?有办法吗?
例如,
\begin{circuitikz}
\draw
(0,0) node[and port](myand){}
(myand.in 1) node[left]{A}
(myand.in 2) node[left]{B}
(myand.in 3) node[left]{C}
(myand.out) node[right]{Y}
\end{circuitikz}
答案1
\documentclass{minimal}
\usepackage{tikz}
\usetikzlibrary{circuits.logic.US,circuits.logic.IEC}
\begin{document}
\begin{tikzpicture}[minimum height=0.75cm]
\node[or gate US, draw,logic gate inputs=nnn] (A) {};
\foreach \a in {1,...,3}
\draw (A.input \a -| -1,0) -- (A.input \a);
\draw (A.output) -- ([xshift=0.5cm]A.output);
\end{tikzpicture}
\begin{tikzpicture}[minimum height=0.75cm]
\node[and gate US, draw,logic gate inputs=nnn] (A) {};
\foreach \a in {1,...,3}
\draw (A.input \a -| -1,0) -- (A.input \a);
\draw (A.output) -- ([xshift=0.5cm]A.output);
\end{tikzpicture}
\end{document}
通过稍微修改此代码,您可以实现具有更多输入的门(修改inputs=nnn
和\foreach \a in {1,...,3}
)。
更多信息,请查看TikZ & PGF 手册第 29.3 节第 300 页
答案2
这也能行!!
\documentclass[border=10pt]{standalone}
\usepackage[american,siunitx]{circuitikz}
\usepackage{amsmath}
\usepackage{tikz}
%\usepackage{everyshi-2001-05-15}
%\usetikzlibrary{circuits.logic.US,circuits.logic.IEC}
\begin{document}
\begin{circuitikz}%[circuit logic US]
\draw (0,0) node[xor port ,scale=2, number inputs=3](XOR1){}
;
\end{circuitikz}
\end{document}
答案3
如果您不想让它占用一半的页面,您甚至可以使用 yscale 仅缩放端口的宽度:
\draw (0,0) node[nor port ,yscale=2, number inputs=3](nor_1){}