구성 요소에서 Circuitikz의 +/- 전압 기호 거리를 어떻게 변경할 수 있습니까?

구성 요소에서 Circuitikz의 +/- 전압 기호 거리를 어떻게 변경할 수 있습니까?

~ 안에Circuitikz에서 +- 전압 부호 이동답변에서는 "/tikz/circuitikz/전압/노드로부터의 거리"를 사용하여 +/- 기호가 구성 요소(또는 노드)에서 떨어져 있는 거리를 설정했으며 정확한 코드를 사용하면 표시된 대로 작동합니다. , 그러나 내 코드가 작동하지 않는 이유를 알 수 없습니다. ctikzset을 잘못 사용하고 있습니까?

\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}

노드로부터의 거리가 다르지만 그림은 동일함

답변1

아주 좋은 사용자 @ferahfeza의 제안으로 MWE를 추가합니다.

\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}

여기에 이미지 설명을 입력하세요

답변2

주어진 답변은 효과가 있지만 몇 가지 오해가 있는 것 같기 때문에 여기에 답변을 추가하겠습니다.

우선 --- 은 \ctikzset{key}(대략) 와 동일하므로 \tikzset{/tikz/circuitikz/key}해당 명령의 사용법은 위에서 다소 중복됩니다.

다음 예를 살펴보십시오.

\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}

출력은 다음과 같습니다.

여기에 이미지 설명을 입력하세요

보시다시피 첫 번째는 아무것도 하지 않는 것 같습니다 . 1V와 2V의 구성 요소는 및 \ctikzset동일한 위치를 갖습니다 (실제로는 큰 혼란을 야기합니다. 계속 읽어보세요). 이는 키가 기본 키이고 의 경우 로 설정된 구성요소별 거리[*]에 의해 재정의되기 때문입니다 . 의미는 여기에 설명되어 있습니다. --- 이는 노드에서 구성 요소까지의 비례 거리입니다.+-voltage/distance from nodegenericbipoles/generic/voltage/distance from node0.4

여기에 이미지 설명을 입력하세요

...보시다시피 이제 명령이 예상대로 작동합니다. 절대값을 사용하는 경우 distance from node리드가 더 작으면 스스로 부담해야 한다는 점에 유의하세요.

기술 참고 사항: 인수는 distance from node실제로 다음과 같은 TikZ 표현에 사용됩니다 calc.($(node)!argument!(start of the component)$)

혼란을 야기하는 것이 첫 번째 명령인 이유: 이제 거리를 1cm로 설정했기 때문입니다.모두구성 요소마이너스아래의 특별한 것들...

곧 문서 패치가 있을 예정입니다:https://github.com/circuitikz/circuitikz/pull/438


  • 이는 generic, ageneric, 및 memristor에서 발생합니다 . 다음 버전의 매뉴얼에 이를 문서화하겠습니다.fullgenericopen

관련 정보