최근 Circuitikz의 변경 사항이 유럽 전압 화살표의 동작을 수정한 것으로 나타났습니다. 구성 요소 경로 대신 개방형 경로를 사용하는 경우 전압 화살표 팁이 다른 위치에 배치됩니다. 개방형 경로 호환성은 구성 요소 경로를 그린 후 전압 화살표를 배치하는 데 중요합니다. 이에 대한 간단한 해결 방법이 있습니까?
\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}
답변1
여기서 무엇을 달성하려고 하는지 잘 모르겠지만 "개방 전압" 동작은 (이름이 잘못 지정되었습니다. 조정하겠습니다*) 키를 사용하여 변경할 수 있습니다 american open voltage
(섹션 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}
- 그럴 것이다
open voltage position
부터1.2.4
로 변경, 물론 이전 버전과의 호환성을 유지합니다...