회로도 수정

회로도 수정

처음으로 tikz에서 일부 전기 회로를 만들고 다음 이미지를 복제해야 합니다.

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

그다지 복잡한 회로는 아닙니다. 이제 내가 지금까지 한 일은 다음과 같습니다.

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

\documentclass[10pt,a4paper]{minimal}
\usepackage{tikz}
\usetikzlibrary{circuits}
\usetikzlibrary{circuits.ee.IEC}
\tikzset{circuit declare symbol = ac source}
\tikzset{set ac source graphic = ac source IEC graphic}
\tikzset{
         ac source IEC graphic/.style=
          {
           transform shape,
           circuit symbol lines,
           circuit symbol size = width 3 height 3,
           shape=generic circle IEC,
           /pgf/generic circle IEC/before background=
            {
             \pgfpathmoveto{\pgfpoint{-0.8pt}{0pt}}
             \pgfpathsine{\pgfpoint{0.4pt}{0.4pt}}
             \pgfpathcosine{\pgfpoint{0.4pt}{-0.4pt}}
             \pgfpathsine{\pgfpoint{0.4pt}{-0.4pt}}
             \pgfpathcosine{\pgfpoint{0.4pt}{0.4pt}}
             \pgfusepathqstroke
            }
          }
        }
\begin{document}

\begin{tikzpicture}[circuit ee IEC]
  \draw (0,0) to [capacitor={info={$q$\ \ $-q$}}]     ++(1, 0)
              to [resistor={info ={$R$}}]             ++(2, 0) 
              to [current direction' = {info = {$I$}}]++(0,-2) 
              to [inductor={info=$L$}]                  (0,-2)  
              to [ac source={info={$V$}}]               (0,0);
\end{tikzpicture}

\end{document}

나는 지금까지 내가 무엇을 했는지 전혀 모르고, 단지 인터넷에서 무작위로 예제를 복사했습니다. 노드가 모두 연결될 때까지 계속 시도했기 때문에 노드가 엉망입니다. ++은 무슨 뜻인가요? 그리고 누군가 내 회로도를 위의 이미지와 비슷하게 수정하는 방법을 이해하도록 도와줄 수 있습니까? =)

답변1

내 솔루션은 다음과 같이 이어집니다.

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

암호:

\documentclass[10pt,a4paper]{minimal}
\usepackage{tikz}
\usetikzlibrary{circuits}
\usetikzlibrary{circuits.ee.IEC}
\tikzset{circuit declare symbol = ac source}
\tikzset{set ac source graphic = ac source IEC graphic}
\tikzset{
         ac source IEC graphic/.style=
          {
           transform shape,
           circuit symbol lines,
           circuit symbol size = width 3 height 3,
           shape=generic circle IEC,
           /pgf/generic circle IEC/before background=
            {
             \pgftransformrotate{90}
             \pgfpathmoveto{\pgfpoint{-0.575pt}{0pt}}
             \pgfpathsine{\pgfpoint{0.3pt}{0.3pt}}
             \pgfpathcosine{\pgfpoint{0.3pt}{-0.3pt}}
             \pgfpathsine{\pgfpoint{0.3pt}{-0.3pt}}
             \pgfpathcosine{\pgfpoint{0.3pt}{0.3pt}}
             \pgfusepathqstroke
            }
          }
        }
\begin{document}
\scalebox{1.5}{
\begin{tikzpicture}[circuit ee IEC]
  \draw (0,0) to [capacitor={info'={$C$}}]     ++(1.5, 0)
              to [resistor={info'={$R$}}]             ++(2.5, 0) 
              to [current direction = {info' = {$I$}}]++(0,-3) 
              to [inductor={info'=$L$}]                  (0,-3)  
              to [ac source={info={$V$}}]               (0,0);

\node[above right] at (0.75,0){$-q$};        
\node[above left] at (0.75,0){$q$ \ };   
\end{tikzpicture}
}
\end{document}

시작점부터 (0,0)모든 요소가 순서대로 표시됩니다. 예를 들어 커패시터는 시작점부터 좌표까지 배치됩니다 (1.5,0)(++의 의미). info또는 키를 사용하여 정보를 표시할 수 있습니다 info'. 일반적으로 이 기능을 '사용하면 라벨의 위치나 전류의 방향을 반전시킬 수 있습니다. 이것이 바로 제 예에서 current direction화살표가 아래를 가리키도록 사용한 이유입니다.

q레이블 과 관련하여 -q키를 사용하여 삽입하는 대신 info간단한 노드를 사용하는 것을 선호했습니다. 한편으로는 와 를 소개할 수 있고 C다른 info한편으로는 q및 의 더 나은 위치 지정이 가능합니다 -q.

마지막으로 전압 소스의 기호를 회전하기 위해 코드에 추가 \pgftransformrotate{90}하고 크기를 약간 줄였습니다.

답변2

@ClaudioFiandrino가 에 대한 질문에 답하기 위해 나를 이겼지 ++ :)만 다른 개선 사항/설명이 있습니다. 아래 수정된 코드를 참조하세요.

\documentclass[10pt,a4paper]{standalone}
\usepackage{tikz}
\usetikzlibrary{circuits}
\usetikzlibrary{circuits.ee.IEC}
\tikzset{circuit declare symbol = ac source}
\tikzset{set ac source graphic = ac source IEC graphic}
\tikzset{
         ac source IEC graphic/.style=
          {
           transform shape,
           circuit symbol lines,
           circuit symbol size = width 3 height 3,
           shape=generic circle IEC,
           /pgf/generic circle IEC/before background=
            {
             \pgftransformresetnontranslations
             \pgfpathmoveto{\pgfpoint{-0.8\tikzcircuitssizeunit}{0\tikzcircuitssizeunit}}
             \pgfpathsine{\pgfpoint{0.4\tikzcircuitssizeunit}{0.4\tikzcircuitssizeunit}}
             \pgfpathcosine{\pgfpoint{0.4\tikzcircuitssizeunit}{-0.4\tikzcircuitssizeunit}}
             \pgfpathsine{\pgfpoint{0.4\tikzcircuitssizeunit}{-0.4\tikzcircuitssizeunit}}
             \pgfpathcosine{\pgfpoint{0.4\tikzcircuitssizeunit}{0.4\tikzcircuitssizeunit}}
             \pgfusepathqstroke
            }
          }
        }
\begin{document}

\begin{tikzpicture}[circuit ee IEC]
  \draw (0,0) to [capacitor={info={$q$\ \ $-q$}}]     ++(1, 0)
              to [resistor={info ={$R$}}]             ++(2, 0) 
              to [current direction = {info = {$I$}}]++(0,-2) 
              to [inductor={info=$L$}]                  (0,-2)  
              to [ac source={info={$V$}}]               (0,0);
\end{tikzpicture}

\end{document}

출력은 다음과 같습니다.

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

첫째, 단위로 사용하는 것이 좋습니다 \tikzcircuitssizeunit. 그러면 그림의 크기가 항상 올바르게 조정됩니다.

둘째, \pgftransformresetnontranslations90도 회전에 대한 명시적인 사양을 갖는 것보다 더 일반적이며 추가 노력 없이 어떤 각도에서도 그래픽을 재사용할 수 있습니다.

마지막으로 AC 소스에 대해 다음과 같이 지적하고 싶습니다.질문(훌륭한 답변은 @Jake에게 있습니다.) 제가 게시한 것입니다(여기에 처음 게시한 것은 TeX.SE... 아아 - 향수... :)).

관련 정보