Elektrische Schaltungen (circuitikz)

circuitikz ist ein Paket, mit dem elektrische und elektronische Schaltpläne direkt in LaTeX als Code gezeichnet werden. Es baut auf TikZ/PGF auf und kennt Bauteile wie Widerstände, Kondensatoren, Quellen und Transistoren als richtige Symbole. Du schreibst die Verdrahtung als Pfad und fügst Komponenten mit Wendungen wie to[R=…] ein; heraus kommt ein Schaltplan in derselben Qualität wie der umgebende Text.

Was es ist: Einstieg

TikZ ist ein allgemeines Zeichensystem für rohe Formen wie Linien, Kreise und Knoten (Grundlagen unter „TikZ basics“). circuitikz nimmt diese TikZ-Basis und ergänzt ein Vokabular elektrischer Symbole. Den Zickzack eines Widerstands zeichnest du nicht von Hand: Du nennst den Bauteilschlüssel R, und ein korrekt ausgerichtetes Symbol mit Anschlüssen und passender Strichstärke wird platziert. Es wurde von Massimo A. Redaelli und Mitwirkenden erstellt.

Zum Einstieg lädst du \usepackage{circuitikz} in der Präambel; TikZ wird mitgeladen. Mit pdfLaTeX, LuaLaTeX und XeLaTeX funktioniert es direkt. Wenn der Weg über DVI führt, wie bei pLaTeX oder upLaTeX, gibst du wie bei TikZ einen Treiber, meist dvipdfmx, als Klassenoption an. Für einen einzelnen eigenständigen Schaltplan zum Export als Bild ist die Klasse standalone praktisch.

document.tex
\documentclass{article}   % 回路図1枚なら \documentclass[border=3pt]{standalone}
\usepackage{circuitikz}
\begin{document}
\begin{circuitikz}
  \draw (0,0) to[R=$R_1$] (2,0);
\end{circuitikz}
\end{document}

Das zieht einen Draht vom Ursprung (0,0) nach rechts bis (2,0), setzt unterwegs ein Widerstandssymbol und platziert darüber die Beschriftung „R₁“. Die Grundform ist, Zeichenbefehle in der eigenen circuitikz-Umgebung zu schreiben. Der Inhalt folgt normaler TikZ-Syntax; man könnte auch \begin{tikzpicture} mit geladenen circuitikz-Bibliotheken verwenden, aber zunächst reicht diese Umgebung.

Das Kernidiom: to[…] platziert ein Bauteil

Alles Wesentliche von circuitikz steckt in einer Zeile. In den Klammern der TikZ-Pfadoperation to nennst du einen Bauteilschlüssel, und ein solches Bauteil wird entlang des Drahts zwischen den beiden Punkten eingefügt. \draw (0,0) to[R=$R_1$] (2,0); bedeutet also: von (0,0) nach (2,0) gehen, durch den Widerstand R₁. Verkettet man solche Stücke, entsteht eine Schaltung aus abwechselnden Drähten und Bauteilen.

latex
\begin{circuitikz}
  \draw (0,0) to[R=$R_1$] (2,0)
              to[C=$C_1$] (2,-2);
\end{circuitikz}

Das zeichnet einen L-förmigen Draht: einen Widerstand R₁ auf dem Weg nach rechts von (0,0), danach einen Kondensator C₁ auf dem Weg nach unten von (2,0). Die Kurzform lautet: =label direkt nach dem Bauteilschlüssel macht es zur Beschriftung dieses Bauteils; to[R=$R_1$] ist also die Kurzform von to[R, l=$R_1$] (unten). Für einen bloßen Draht ohne Bauteil nimm to[short].

Koordinaten sind normales TikZ: kartesisch (x,y) mit Standardheinheit Zentimeter, und die praktische Schreibweise (a -| b) für rechtwinklige Leitungen, also der Punkt, an dem die x-Koordinate von a auf die y-Koordinate von b trifft. Die Orientierung eines Bauteils folgt automatisch der Pfadrichtung.

Häufige Zweipole (bipoles)

In to[…] setzt du Bipole, also Bauteile mit zwei Anschlüssen. Die Tabelle listet die häufigen auf. Die Bauteilschlüssel sind meist merkbare Initialen (R Widerstand, C Kondensator, L Induktivität); Quellen und Dioden haben zusätzlich ausgeschriebene Aliase.

SchlüsselBauteilBeispiel
RWiderstandto[R=$R_1$]
CKondensatorto[C=$C_1$]
LInduktivität (Spule)to[L=$L_1$]
battery / battery1Batterie (mehrzellig/einzellig)to[battery1]
V / vsourceSpannungsquelleto[V=$U_q$]
I / isourceStromquelleto[I=$I_0$]
DDiodeto[D]
short / openDraht / offene Verbindungto[short]
closing switchSchalter (offen/schließend)to[closing switch]

Quellen unterscheiden sich nach Symbol und Zweck: V (vsource) ist eine allgemeine Spannungsquelle, meist ein Kreis mit Sinus, battery1 ist das Batteriesymbol, und für Wechselstrom gibt es sV, eine sinusförmige Quelle. Schalter unterscheiden den Zustand: closing switch (offener, schließender Schalter) und opening switch. Neben der Standarddiode D lassen sich Leuchtdioden, Zenerdioden und andere Typen per Schlüssel wählen.

Beschriftungen und Spannungs-/Stromangaben

Eine Beschriftung setzt einen Wert oder Namen neben ein Bauteil. Der Grundschlüssel ist l=…, mit demselben Ergebnis wie die Kurzform to[R=$R_1$]. Auf welcher Seite des Bauteils die Beschriftung sitzt, wählst du mit Markern: l_=… schiebt sie auf die andere Seite, etwa unter oder innen an der Linie, l^=… auf die Gegenseite, etwa oben oder außen. Weil „oben/unten“ davon abhängt, ob der Draht vertikal oder horizontal läuft, wählst du l und l_ nach Aussehen.

Schaltpläne müssen oft nicht nur den Bauteilwert zeigen, sondern auch den Strom durch ein Bauteil oder die Spannung über ihm, jeweils mit Pfeil. Dafür gibt es eigene Schlüssel: i=… zeichnet einen Strompfeil entlang des Bauteils, v=… einen Spannungspfeil über dem Bauteil. Zum Umdrehen der Richtung fügst du einen Unterstrich an: i_=… oder v_=….

latex
\begin{circuitikz}
  \draw (0,0) to[V=$U_q$] (0,2)
              to[short] (2,2)
              to[R=$R_1$, i=$i_1$, v=$u_1$] (2,0)
              to[short] (0,0);
\end{circuitikz}

Das ist eine geschlossene Schleife: links eine Spannungsquelle Uq, oben ein bloßer Draht, rechts ein Widerstand R₁, und to[short]-Drähte schließen den Rest. Der Widerstand trägt zwei Pfeile: einen für den Strom i₁ durch ihn und einen für die Spannung u₁ über ihm. Die to[short]-Stücke machen die übrigen Seiten zu bloßen Leitern, die die Schleife schließen.

Um Werte mit Einheiten in eine Beschriftung zu schreiben, lade das Paket mit der Option [siunitx] (\usepackage[siunitx]{circuitikz}). Dann funktioniert die Form number<\unit>, etwa l=5<\ohm> oder l=3<\micro\farad>, korrekt gesetzt als „5 Ω“ und „3 µF“.

Knotenbauteile und Stilsetzung

Bauteile mit drei oder mehr Anschlüssen, etwa Transistoren, Operationsverstärker oder Masse, passen nicht in to[…]. Man platziert sie als TikZ-Knoten: \node[part] (name) at (coordinate) {};. Die Klammern {} sind auch leer Pflicht. Jeder gesetzte Knoten bietet Anker an seinen Anschlüssen, die du mit Namen wie (name.output-pin) referenzierst, um Drähte anzuschließen.

  • Masse\node[ground] at (0,0) {};. Für Versorgungsschienen nimm vcc/vee.
  • MOSFETs\node[nmos] (q1) {};, \node[pmos] {};. Bipolartransistoren heißen npn/pnp.
  • Operationsverstärker\node[op amp] (oa) {};. Die Pins heißen oa.+ (nichtinvertierender Eingang), oa.- (invertierender Eingang), oa.out (Ausgang).
  • Um einen Knoten entlang eines Pfads zu setzen, schreibe nach einer Koordinate node[nmos]{} (z. B. (0,0) node[nmos]{} (2,0)).

Symbolkonventionen variieren nach Land und Fachgebiet. Du kannst wählen, ob ein Widerstand als Rechteck (IEC/europäisch) oder als Zickzack (amerikanisch) gezeichnet wird: Gib [american]/[european] als Umgebungsoption an, feiner [american resistors]/[european resistors], oder setze einen Schlüssel wie resistor=american. Für Induktivitäten gibt es ebenfalls Varianten cute/american/european.

Um einen ganzen Schaltplan auf einmal zu gestalten, nutzt du \ctikzset{…}, das circuitikz-Gegenstück zu TikZs \tikzset, verwendbar in der Präambel oder mitten im Code. Damit kannst du etwa Linien stärker machen oder die Spannungspfeilkonvention auf amerikanisch (american voltages) festlegen.

document.tex
\usepackage[siunitx, american]{circuitikz}
\ctikzset{bipoles/length=1cm}      % 部品の長さをそろえる

\begin{circuitikz}
  \draw (0,0) node[ground]{} to[V=$U_q$] (0,2)
              to[R=$R_1$] (2,2)
              to[C=$C_1$] (2,0) -- (0,0);
\end{circuitikz}

Das ist eine geschlossene Schleife mit Masse links unten, einer Spannungsquelle Uq links, einem amerikanischen Zickzack-Widerstand R₁ oben und einem Kondensator C₁ rechts. Das abschließende -- (0,0) ist eine normale TikZ-Gerade, die die Unterseite als Draht schließt, also dieselbe Rolle wie to[short]. Weil \ctikzset die Bauteillänge auf 1 cm festlegt, wirken die Symbole gleichmäßig verteilt.

Da circuitikz auf TikZ sitzt, kannst du TikZ-eigene Mittel frei kombinieren: calc für Koordinatenrechnung, positioning für relative Platzierung, normales \node für Beschriftungen, Farben und Stile. Bei komplexen Schaltungen ist die natürliche Arbeitsteilung, das Layout auf TikZ-Art aufzubauen und circuitikz die Bauteile liefern zu lassen. Wird die Kompilierung schwer, kann die Bibliothek external wie bei TikZ jede Figur zwischenspeichern.