CircuitTikZ divide la entrada en dos puertas

CircuitTikZ divide la entrada en dos puertas

Tengo código LaTeX usando elCircuitTikZpaquete para dibujar un circuito lógico simple, pero no estoy convencido de que mi código sea la forma correcta de hacer lo que estoy tratando de hacer. Básicamente, tengo dos entradas y cada una de ellas debe ir a dos puertas. Así es como se ve el código:

    \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}

Producción:

ingrese la descripción de la imagen aquí

El resultado parece correcto, pero no me siento muy bien con la última línea donde dibujo (0.62,-1). ¿Existe una forma más limpia de hacer esto?

Respuesta1

Sí, tu circuito está bien. Otra opción para dibujar las líneas finales sería colocar coordenadas a lo largo de un camino y luego usar estas coordenadas:

\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}

ingrese la descripción de la imagen aquí

Observe que, por ejemplo,

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

fue reemplazado con

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

y

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

fue reemplazado con

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

y en ambos casos utilicé el sistema de coordenadas perpendiculares, donde, por ejemplo, (-1,0|-b)significa la coordenada x (-1,0)y la coordenada y de (b).

información relacionada