CircuiTikZ - Position des Spannungsetiketts entlang offener Zeichnung ändern

CircuiTikZ - Position des Spannungsetiketts entlang offener Zeichnung ändern

Gibt es eine Möglichkeit, das Erscheinungsbild einer Spannungsbeschriftung zwischen zwei Punkten anzupassen? Standardmäßig $U_1$wird die Beschriftung in der Mitte des Spannungspfeils platziert, ich möchte jedoch, dass sie an einem Punkt relativ zur Länge des Spannungspfeils erscheint, beispielsweise auf einem Viertel oder bei 70 % des Pfeils.

\usepackage[americaninductors, straightvoltages]{circuitikz}

\begin{document}
    \begin{circuitikz}
        \draw (0,0) to [open, v^=$U_1$] (2,0);
    \end{circuitikz}
\end{document} 

Bildbeschreibung hier eingeben

Antwort1

Es hängt im Wesentlichen davon ab, wie neu Ihr ist circuitikz. Seit 1.2.1 können Sie die Koordinaten für Spannungen verwenden und so etwas tun:

\documentclass[a4paper,12pt]{article}
\usepackage[EFvoltages, americaninductors, straightvoltages]{circuitikz}

\begin{document}
    \begin{circuitikz}
        \draw 
        (0,0) to [open, v, name=O1] (2,0);
        \draw [thin, -Triangle] (O1-Vfrom) -- (O1-Vto) node[above, pos=0.2]{$U_1$};
    \end{circuitikz}
\end{document}

Beispielbild

Beachten Sie, dass ich die Option Spannungsrichtung hinzugefügt habe (bitte beachten Sie die Warnungen!). Ich kopiere hierder entsprechende Teil des Handbuchs...

Auszug aus dem 1.2.3 Handbuch von circuitikz

Antwort2

Ich hoffe, ich habe es richtig verstanden. Sie können das Etikett manuell mit dem Befehl verschieben \mkern<value>… das ist nur ein Beispiel.

\documentclass[a4paper,12pt]{article}
\usepackage[americaninductors, straightvoltages]{circuitikz}

\begin{document}
    \begin{circuitikz}
        \draw (0,0) to [open, v^=$U_1$] (2,0);
        \draw (0,0) to [open, v^=$\mkern30mu U_2$] (2,0);
    \end{circuitikz}
\end{document} 

Bildbeschreibung hier eingeben

Antwort3

Eine Lösung besteht darin, einen zusätzlichen Knoten an der richtigen Position anzubringen und die Spannungsbezeichnung durch einen geschützten Bereich wie diesen zu ersetzen.

\documentclass[a4paper,12pt]{article}
\usepackage[americaninductors, straightvoltages]{circuitikz}

\begin{document}
    \begin{circuitikz}
        \draw 
        (0,0) to [open, v=\ ] (2,0)
        (0.5,0) node[above]{$U_1$};
    \end{circuitikz}
\end{document} 

Bildbeschreibung hier eingeben

aber es ist keine sehr intelligente Lösung ...

verwandte Informationen