Encontramos la solución a esta duda, o por lo menos eso esperamos. Si sigues con preguntas déjanoslo saber en un comentario y sin dudarlo te responderemos
Solución:
yo tambien encuentro la circuitikz
Falta un poco de documentación, pero se aprende mucho al inspeccionar los ejemplos. Un rápido [circuitikz]
la búsqueda en el sitio lo llevará a más ejemplos. Además, algunos adicionales circuitikz
los ejemplos están disponibles en texample.net.
Con respecto al espaciado, mi principal consejo (que se aplica a cualquier paquete de gráficos vectoriales, en realidad) es parametrizar todo al principio; abstenerse de utilizar “números mágicos”. Su circuito será mucho más fácil de ajustar; mover las cosas será muy fácil. Vea abajo.
documentclass[convert = false]article
usepackage[american]circuitikz
begindocument
begincircuitikz[scale=2]
defxPortLeft0
defyTerminalBottom0
defyL1.5
defxL1
defxR1.75
defxC2.25
defxPortRight3
% left loop
draw (xPortLeft,yL)
to[L=$L$, o-] (xL, yL)
to[R=$R$] (xR, yL)
to[short] (xC,yL)
to[C, l_=$C$,*-*] (xC,yTerminalBottom)
to[short,i=$i(t)$] (xPortLeft,yTerminalBottom)
to[open,v^>=$v_1(t)$,o-o] (xPortLeft,yL);
% right branch
draw (xC,yL)
to[short] (xPortRight,yL)
to[open,v^=$v_2(t)$,o-o] (xPortRight,yTerminalBottom)
to[short] (xC,yTerminalBottom);
endcircuitikz
enddocument
Así es como. Definir (x,y)
coordenada para cada nodo del circuito (la separación de 2 cm es bastante buena en general), luego use to[options]
para conectar todos los nodos, donde options
puede ser R, L, C, abierto (circuito), corto (circuito), l(abel)=, v=, i=, para nombre de etiqueta/corriente/voltaje respectivamente. variantes como v^
, v_
y los equivalentes están diseñados para colocar etiquetas a ambos lados de los elementos del circuito. En cuanto al bucle actual para KVL, esta solución utiliza amssymb
paquete con técnica de nodo para lograr eso. De forma predeterminada, las corrientes están etiquetadas en cada rama como se muestra en la rama del capacitor.
Código:
documentclass[convert = false, border=10pt,]standalone
usepackage[american,siunitx]circuitikz
usepackagelatexsym,amssymb,amsmath
begindocument
begincircuitikz
draw (-.5, 2) to[L, l = $L$] (2, 2) to [R, l = $R$] (4, 2) to [short](6,2)
(4,2) to[C,l=$C$] (4,0)
(-0.5,2) to [open, v=$v_1(t)$,o-o](-0.5,0)
(6,2) to [open, v=$v_2(t)$,o-o] (6,0) % use v^=$V_2$, if you want it on the right side.
(-0.5,0)--(6,0)
(1.5,1) node[scale=3]$circlearrowright$
(1.5,1) node$i_1$;
endcircuitikz
enddocument
Si PSTricks está permitido, puede hacer lo siguiente:
documentclassarticle
% PSTricks.
usepackage
pst-circ,
pst-bspline,
pstricks-add
pssetunit = 0.8
% Width and height of the diagram.
defwidth12
defheight6
% Calculating width and height of picture.
usepackagexfp
newcommand*Widthfpevalwidth+0.4
newcommand*Heightfpevalheight+0.82
begindocument
% Drawing.
beginpspicture(-0.4,-0.05)(Width,Height)
% Coordinates for the ends of the wires.
pnodesP%
(0,0)(0,0)% Doubled to let the nodes start from P1 instead of P0.
(fpeval0.70*width,0)%
(width,0)%
(0,height)%
(fpeval0.35*width,height)%
(fpeval0.70*width,height)
(width,height)
% Wires and components.
wire[arrows = o-o](P1)(P3)
coil[arrows = o-](P4)(P5)$L$
resistor[arrows = -o, dipolestyle = zigzag](P5)(P6)$R$
wire[arrows = o-o](P6)(P7)
capacitor[arrows = *-*](P2)(P6)$C$
% Labels.
uput[90](P1)$-$
uput[90](P3)$-$
uput[270](P4)$+$
uput[270](P7)$+$
pssetlinestyle = none
pcline(P1)(P4)
ncput*$v_1(t)$
pcline(P3)(P7)
ncput*$v_2(t)$
% Direction of the current.
psBspline[arrows = ->]%
(fpeval0.7*width-3.0,fpevalheight-1)%
(fpeval0.7*width-1.2,fpevalheight-1)%
(fpeval0.7*width-1.2,1)%
(fpeval0.7*width-3.0,1)
rput(fpeval0.7*width-2.2,fpevalheight/2)$i(t)$
endpspicture
enddocument
Aquí, pst-circ
es para dibujar los componentes eléctricos, pst-bspline
es para dibujar la flecha curva, y pstricks-add
es para colocar las etiquetas.
El ancho y la altura del diagrama se pueden elegir libremente, y el cálculo del ancho y la altura correspondientes de la imagen está automatizado.
Nota: La ventaja de usar el paquete de Herbert Voß pst-circ
para un dibujo como este es que todas las macros (más o menos) se explican por sí mismas, por lo que el código es muy fácil de editar si es necesario. Además, la documentación tiene muchos ejemplos.
Si te ha resultado de ayuda nuestro artículo, sería de mucha ayuda si lo compartieras con otros desarrolladores de este modo nos ayudas a extender nuestra información.