CircuitTikZ는 입력을 두 개의 게이트로 분할합니다.

CircuitTikZ는 입력을 두 개의 게이트로 분할합니다.

LaTeX 코드를 사용하고 있습니다.CircuitTikZ간단한 논리 회로를 그리기 위한 패키지가 있지만 내 코드가 내가 하려는 작업을 수행하는 올바른 방법인지 확신할 수 없습니다. 기본적으로 각각 두 개의 게이트로 이동해야 하는 두 개의 입력이 있습니다. 코드는 다음과 같습니다.

    \begin{circuitikz} \draw
        (2,1) node[or port] (myor) {}
        (2,-1) node[nand port] (mynand) {}
        (4,0) node[and port] (myand) {}
        (myor.out) -| (myand.in 1)
        (mynand.out) -| (myand.in 2)

        (0,1) |- (myor.in 1)
        (0,1) |- (mynand.in 1)
        (-1,0) to[short, -*] (0,0)

        (0,-1) -| (myor.in 2)
        (0,-1) -| (mynand.in 2)
        (-1,-1) to[short, -*] (0.62,-1)
    ;\end{circuitikz}

산출:

여기에 이미지 설명을 입력하세요

출력은 정확해 보이지만 (0.62,-1). 이를 수행하는 더 깨끗한 방법이 있습니까?

답변1

예, 회로는 정상입니다. 최종 선을 그리는 또 다른 옵션은 경로를 따라 좌표를 배치한 후 다음 좌표를 사용하는 것입니다.

\documentclass{article}
\usepackage{circuitikz}

\begin{document}

 \begin{circuitikz} \draw
        (2,1) node[or port] (myor) {}
        (2,-1) node[nand port] (mynand) {}
        (4,0) node[and port] (myand) {}
        (myor.out) -| (myand.in 1)
        (mynand.out) -| (myand.in 2)

        (myor.in 1) -- ++(-0.5,0) |- (mynand.in 1) coordinate[pos=0.33] (a)
        (a) to[short, *-]  (-1,0|-a)

        (myor.in 2) |- (mynand.in 2) coordinate[pos=0.43] (b)
        (b) to[short, *-] (-1,0|-b)
    ;\end{circuitikz}

\end{document}

여기에 이미지 설명을 입력하세요

예를 들어,

  (0,1) |- (myor.in 1)
  (0,1) |- (mynand.in 1)
  (-1,0) to[short, -*] (0,0)

로 대체되었습니다

(myor.in 1) -- ++(-0.5,0) |- (mynand.in 1) coordinate[pos=0.33] (a)
(a) to[short, *-]  (-1,0|-a)

그리고

(0,-1) -| (myor.in 2)
(0,-1) -| (mynand.in 2)
(-1,-1) to[short, -*] (0.62,-1)

로 대체되었습니다

(myor.in 2) |- (mynand.in 2) coordinate[pos=0.43] (b)
(b) to[short, *-] (-1,0|-b)

두 경우 모두 수직 좌표계를 사용했습니다. 예를 들어 는 의 (-1,0|-b)x 좌표 (-1,0)와 의 y 좌표를 의미합니다 (b).

관련 정보