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}
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}
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:
Wie Sie sehen, scheint das erste \ctikzset
nichts 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 node
Schlüssel der Standardschlüssel ist, der im Fall von generic
durch den komponentenspezifischen Abstand [*] überschrieben wird, bipoles/generic/voltage/distance from node
der auf gesetzt ist 0.4
. Die Bedeutung wird hier erklärt – dies ist ein proportionaler Abstand vom Knoten zur Komponente:
...wie Sie sehen, funktioniert der Befehl jetzt wie erwartet. Beachten Sie, dass Sie bei der Verwendung absoluter Werte distance from node
auf sich selbst gestellt sind, wenn der Vorsprung kleiner ist...
Technischer Hinweis: Das Argument „of“ distance from node
wird tatsächlich in einem TikZ- calc
Ausdruck 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
,fullgeneric
undopen
. Ich werde es in der nächsten Version des Handbuchs dokumentieren.