Circuitikz에서 논리 게이트 입력을 반전시키는 방법

Circuitikz에서 논리 게이트 입력을 반전시키는 방법

다음과 같은 회로를 그렸는데, 논리 게이트의 입력을 어떻게 반전시킬 수 있습니까? (스캔한 사진과 같지만, 정확히 어느 게이트인지는 중요하지 않고, 그냥 일반적으로)

회로

부정된 입력

\documentclass[a4paper,12pt]{article}

\usepackage{tikz} %vectorgraphics
\usetikzlibrary{shapes,arrows,shadows,
decorations.pathreplacing,backgrounds,calc} 
%graph/flowchart
\usepackage[siunitx]{circuitikz}

\begin{document}
\begin{circuitikz} \draw

(0,0) node[nand port] (nand1) {}
(3,0) node[nand port] (nand2) {}
(5,0) node[nand port] (nand3) {}

(3,2) node[nand port] (nand4) {}
(5,2) node[nand port] (nand5) {}

(3,4) node[nand port] (nand6) {}
(5,4) node[nand port] (nand7) {}

(0,4) node[nand port] (nand8) {}

(nand1.out) |- (nand2.in 2)
(nand2.out) -| node[circ,midway]{} (nand3.in 1)
(nand2.out) -| (nand3.in 2)

(nand8.out) |- (nand6.in 1)
(nand6.out) -| node[circ,midway]{} (nand7.in 2)
(nand6.out) -| (nand7.in 1)

(nand4.out) -| node[circ,midway]{} (nand5.in 2)
(nand4.out) -| (nand5.in 1)

(-2,1) node(B1)[anchor=east] {B}
(-2,1) -| node[circ,midway]{} (nand1.in 1) 
to[short,*-] (nand1.in 2)
(-2,1) -| (nand4.in 2)
(1,1) node[circ]{} |- (nand6.in 2)


(-2,3) node[anchor=east] {A}
(-2,3) -| node[circ,midway]{} (nand8.in 2) 
to[short,*-] (nand8.in 1)
(-2,3) -| (nand4.in 1)
(0.5,3) node[circ]{} |- (nand2.in 1)

(6,1.97) node[anchor=east] {O2}
(6,0.0) node[anchor=east] {O3}
(6,4) node[anchor=east] {O1}

;\end{circuitikz}

\end{document}

답변1

새로운 것을 사용하여circuitikzgit 몇 분 전에 업로드됨, 이제 다음을 수행할 수 있습니다.

\documentclass[border=10pt]{standalone}
\usepackage[siunitx, RPvoltages]{circuitikzgit}
\begin{document}
\begin{circuitikz}
    \draw (0,3) node[american and port] (A)  {P1};
    \node at (A.bin 1) [ocirc, left]{} ;
    \begin{scope}
        \ctikzset{tripoles/american or port/height=1.6}
        \draw (A.out) -- ++(0.5,0) node[american or port,
        number inputs=5, anchor=in 1] (B)  {P2};
        \node at (B.bin 3) [ocirc, left]{} ;
    \end{scope}
    \draw (0,1.5) node[american or port] (C)  {P3};
    \node at (C.bin 2) [ocirc, left]{} ;
    \draw (C.out) |- (B.in 2);
\end{circuitikz}
\end{document}

위의 조각에서 출력

보다:https://github.com/circuitikz/circuitikz/issues/166그리고https://github.com/circuitikz/circuitikz/pull/168

관련 정보