Mir ist aufgefallen, dass die jüngsten Änderungen bei Circuitikz das Verhalten europäischer Spannungspfeile verändert haben. Wenn ein offener Pfad anstelle eines Komponentenpfads verwendet wird, wird die Spitze des Spannungspfeils an einer anderen Stelle platziert. Die Kompatibilität mit offenen Pfaden ist wichtig, um die Platzierung eines Spannungspfeils nach dem Zeichnen des Komponentenpfads zu ermöglichen. Gibt es dafür eine einfache Lösung?
\documentclass[10pt]{article}
\usepackage[usenames]{color} %used for font color
\usepackage{amssymb} %maths
\usepackage{amsmath} %maths
\usepackage[utf8]{inputenc} %useful to type directly diacritic characters
\usepackage[siunitx,american, RPvoltages]{circuitikz}
% Definitions to help locate nodes. Comment out the second definition when done!
\def\coord(#1){coordinate(#1)}
%\def\coord(#1){node[circle, inner sep=1pt,pin={[teal, overlay, inner sep=0.5pt, font=\tiny, pin distance=0.3cm, pin edge={teal, line width=0.5pt, shorten <=-2pt, {Kite[length=1.5mm]}-{Circle[open,line width=0.5pt,length=0.75mm]}}]45:#1}](#1){}}
\newcommand{\flagv}[5] %{x,y}{dx,dy}{name}{label}{color} e.g. \flagv{0,0}{-0.2,0.5}{A}{$A_L$}{red}
{\draw[#5!50!gray,Kite-] (#1) -- ($(#1)+(#2)$) node[circle, very thin, inner sep=0pt, minimum size=8pt, draw=#5!25!white, fill=#5!10,font=\scriptsize](#3){#4};
}
\begin{document}
\begin{circuitikz}
\draw[european voltages](-1,0) to[short,-*] (0,0) \coord(1) to[R, v=$V_{12}$] ++(3,0)\coord(2) to[short,*-] ++(1,0);
\draw[european, blue, color=blue!50!gray] (1) to[open, v^=$V_{12}$] (2);
\draw[european voltages, color=red!50!gray] (1) to[open, v^=$V_{12}$, voltage shift=2.0 ] (2);
\flagv{1}{0,-0.75}{A}{$A$}{red}
\flagv{2}{0,-0.75}{B}{$B$}{red}
\draw[european, blue, color=blue!50!gray] (A) to[open, v=$V_{AB}$] (B);
\end{circuitikz}
\end{document}
Antwort1
Ich bin nicht sicher, was Sie hier erreichen möchten, aber das Verhalten bei „offener Spannung“ kann mit der american open voltage
Taste (falsch benannt, ich werde sie anpassen*) geändert werden (siehe Abschnitt 4.5.5).
\documentclass[10pt]{article}
\usepackage[T1]{fontenc} % default since TeXLive 2018
\usepackage[utf8]{inputenc} % default since TeXLive 2018
\usepackage[siunitx,american, RPvoltages]{circuitikz}
\begin{document}
\begin{circuitikz}
\draw[blue, color=red!50!gray] (0,0)
node[draw, circle, inner sep=1pt]{}
to[european voltages, open, v=$V_{AB}$]
(3,0)
node[draw, circle, inner sep=1pt]{}
;
\ctikzset{american open voltage=legacy}
\draw[blue, color=blue!50!gray] (0,0)
node[draw, circle, inner sep=1pt]{}
to[european voltages, open, v=$V_{AB}$]
(3,0)
node[draw, circle, inner sep=1pt]{}
;
\end{circuitikz}
\end{document}
- es wirdändern in
open voltage position
ab1.2.4
, natürlich unter Wahrung der Abwärtskompatibilität ...