
Fazendo alguns circuitos elétricos no tikz pela primeira vez, e preciso replicar a imagem a seguir
Não é um circuito muito complicado. Agora aqui está o que eu fiz até agora
\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}
Não tenho ideia do que fiz até agora, apenas copiei exemplos aleatoriamente da internet. Os nós estão uma bagunça, pois continuei tentando até que todos se conectassem. O que significa ++? E alguém poderia me ajudar a entender como consertar meu diagrama de circuito para ficar parecido com a imagem acima? =)
Responder1
Minha solução leva a:
Código:
\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}
Do ponto inicial (0,0)
, todos os elementos são exibidos em sequência. Por exemplo, o capacitor é colocado do ponto inicial até a coordenada (1.5,0)
(esse é o significado por trás de ++). É possível visualizar informações com a tecla info
ou info'
; em geral '
permite inverter o posicionamento de uma etiqueta ou a direção da corrente: é por isso que no meu exemplo usei apenas current direction
para deixar a seta apontar para baixo.
No que diz respeito às etiquetas q
e -q
em vez de inseri-las com a chave info
preferi utilizar nós simples: por um lado permite introduzir C
com info
e por outro permite um melhor posicionamento de q
e -q
.
Por fim, para girar o símbolo da fonte de tensão simplesmente adicionei ao seu código \pgftransformrotate{90}
e reduzi um pouco o tamanho.
Responder2
@ClaudioFiandrino me venceu para responder a pergunta sobre ++
:)
, mas tenho algumas outras melhorias/observações a fazer. Veja o código modificado abaixo:
\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}
que tem isso como saída:
Primeiro, é uma boa ideia usar \tikzcircuitssizeunit
como unidade, então a figura sempre será dimensionada corretamente.
Em segundo lugar, \pgftransformresetnontranslations
também é mais geral do que ter uma especificação explícita para uma rotação de 90 graus e torna o gráfico reutilizável para qualquer ângulo sem esforço extra.
Por último, sobre a fonte AC, gostaria de apontar para istopergunta(crédito para @Jake por sua ótima resposta) postado por mim (o primeiro que postei aqui em TeX.SE
... ahhh - nostalgia... :)
).