CircuitTikZ teilt den Eingang in zwei Gatter auf

CircuitTikZ teilt den Eingang in zwei Gatter auf

Ich habe LaTeX-Code mit demCircuitTikZPaket zum Zeichnen einer einfachen Logikschaltung, aber ich bin nicht überzeugt, dass mein Code das richtige ist, um das zu tun, was ich versuche. Im Wesentlichen habe ich zwei Eingänge, die jeweils zu zwei Gattern gehen müssen. So sieht der Code aus:

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

Ausgabe:

Bildbeschreibung hier eingeben

Die Ausgabe sieht korrekt aus, aber ich bin mit der letzten Zeile, in der ich zeichne, nicht sehr zufrieden (0.62,-1). Gibt es eine sauberere Möglichkeit, dies zu tun?

Antwort1

Ja, deine Schaltung ist in Ordnung. Eine andere Möglichkeit, die endgültigen Linien zu zeichnen, wäre, Koordinaten entlang eines Pfads zu platzieren und dann diese Koordinaten zu verwenden:

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

Bildbeschreibung hier eingeben

Beachten Sie beispielsweise, dass

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

wurde ersetzt durch

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

Und

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

wurde ersetzt durch

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

und in beiden Fällen habe ich das senkrechte Koordinatensystem verwendet, wobei beispielsweise (-1,0|-b)die x-Koordinate von (-1,0)und die y-Koordinate von bedeutet (b).

verwandte Informationen