Wie können Sie den Abstand der +/- Spannungszeichen in Circuitikz von einer Komponente ändern?

Wie können Sie den Abstand der +/- Spannungszeichen in Circuitikz von einer Komponente ändern?

InVerschieben der +- Spannungsvorzeichen in circuitikzAntwort: Sie haben „/tikz/circuitikz/voltage/distance from node“ verwendet, um den Abstand der +/- Zeichen vom Bauteil (oder eben vom Knoten) festzulegen, und wenn ich genau diesen Code verwende, funktioniert es wie gezeigt, aber ich kann nicht herausfinden, warum mein Code nicht zu funktionieren scheint. Verwende ich ctikzset falsch?

\documentclass{standalone}
\usepackage[siunitx, american, RPvoltages]{circuitikz}

\begin{document}
\begin{circuitikz}
\ctikzset{/tikz/circuitikz/voltage/distance from node=0.3cm}
\draw
    (0,0) to [generic, v<=40<\volt>] (0,3);
\end{circuitikz}

\begin{circuitikz}
\ctikzset{/tikz/circuitikz/voltage/distance from node=1cm}
\draw
    (0,0) to [generic, v<=40<\volt>] (0,3);
\end{circuitikz}

\end{document}

Unterschiedlicher Abstand vom Knoten, aber gleiche Figur

Antwort1

Ich füge das MWE mit dem Vorschlag des sehr netten Benutzers @ferahfeza hinzu.

\documentclass[12pt]{standalone}
\usepackage[siunitx, american]{circuitikz}

\begin{document}
\begin{circuitikz}
\ctikzset{bipoles/generic/voltage/distance from node=0.6cm}
\draw
    (0,0) to [generic, v<=40<\volt>] (0,3);
\end{circuitikz}

\begin{circuitikz}
\ctikzset{/tikz/circuitikz/voltage/distance from node=1cm}
\draw
    (0,0) to [generic, v<=40<\volt>] (0,3);
\end{circuitikz}

\end{document}

Bildbeschreibung hier eingeben

Antwort2

Ich werde hier eine Antwort hinzufügen, da die gegebene Antwort zwar funktioniert, mir aber scheint, dass sie einige Missverständnisse enthält.

Zunächst einmal \ctikzset{key}ist --- (ungefähr) gleichbedeutend mit \tikzset{/tikz/circuitikz/key}, daher ist die Verwendung dieses Befehls oben irgendwie überflüssig.

Schauen Sie sich das folgende Beispiel an:

\documentclass[12pt]{standalone}
\usepackage[EFvoltages, siunitx, american]{circuitikz}
\begin{document}
\begin{circuitikz}
\draw (-2,0) to [generic, v<=1<\volt>, d-d] ++(0,3);
\ctikzset{voltage/distance from node=1cm}
\draw (0,0) to [generic, v<=2<\volt>, d-d] ++(0,3);
\ctikzset{bipoles/generic/voltage/distance from node=.3cm}
\draw (2,0) to [generic, v<=3<\volt>, d-d] ++(0,3);
\ctikzset{bipoles/generic/voltage/distance from node=1cm}
\draw (4,0) to [generic, v<=4<\volt>, d-d] ++(0,3);
\end{circuitikz}
\end{document}

Die Ausgabe ist folgende:

Bildbeschreibung hier eingeben

Wie Sie sehen, scheint das erste \ctikzsetnichts zu bewirken – die Komponenten mit 1 V und 2 V haben die gleiche Position wie +und -(in Wirklichkeit richtet es Chaos an, lesen Sie weiter). Das liegt daran, dass der voltage/distance from nodeSchlüssel der Standardschlüssel ist, der im Fall von genericdurch den komponentenspezifischen Abstand [*] überschrieben wird, bipoles/generic/voltage/distance from nodeder auf gesetzt ist 0.4. Die Bedeutung wird hier erklärt – dies ist ein proportionaler Abstand vom Knoten zur Komponente:

Bildbeschreibung hier eingeben

...wie Sie sehen, funktioniert der Befehl jetzt wie erwartet. Beachten Sie, dass Sie bei der Verwendung absoluter Werte distance from nodeauf sich selbst gestellt sind, wenn der Vorsprung kleiner ist...

Technischer Hinweis: Das Argument „of“ distance from nodewird tatsächlich in einem TikZ- calcAusdruck wie folgt verwendet:($(node)!argument!(start of the component)$)

Warum ist der erste Befehl so verheerend: weil er jetzt den Abstand auf 1cm gesetzt hat füralledie KomponentenMinusdie besonderen unten ...

Es wird bald einen Dokumentationspatch geben:https://github.com/circuitikz/circuitikz/pull/438


  • dies geschieht für generic, ageneric, memristor, fullgenericund open. Ich werde es in der nächsten Version des Handbuchs dokumentieren.

verwandte Informationen