European Voltage hat unterschiedliche Verschiebungen für einen offenen Pfad und einen Komponentenpfad. Wie kann die Abwärtskompatibilität wiederhergestellt werden?

European Voltage hat unterschiedliche Verschiebungen für einen offenen Pfad und einen Komponentenpfad. Wie kann die Abwärtskompatibilität wiederhergestellt werden?

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 voltageTaste (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}

Ausgabe des vorherigen Snippets

verwandte Informationen