circuitikz es un paquete para dibujar esquemas eléctricos y electrónicos directamente dentro de LaTeX, en código. Construido sobre TikZ/PGF, conoce componentes como resistencias, condensadores, fuentes y transistores como símbolos correctos. Escribes el cableado como una ruta e insertas componentes con expresiones como to[R=…], y obtienes un esquema con la misma calidad que el texto circundante.
Qué es: primeros pasos
TikZ es un sistema de dibujo general que trata formas básicas: líneas, círculos, nodos (cubierto aparte en “Fundamentos de TikZ”). circuitikz toma esa base de TikZ y añade un vocabulario de símbolos eléctricos. No dibujas a mano el zigzag de una resistencia: nombras la clave de componente R y se coloca un símbolo correctamente orientado, con terminales y grosor adecuado. Fue creado por Massimo A. Redaelli y colaboradores.
Para empezar, carga \usepackage{circuitikz} en el preámbulo (TikZ se carga con él). Funciona directamente con pdfLaTeX, LuaLaTeX y XeLaTeX. Si pasas por DVI, como con pLaTeX o upLaTeX, especifica un driver, normalmente dvipdfmx, como opción de clase, igual que con TikZ. Si quieres un esquema independiente para exportarlo como imagen, la clase standalone resulta útil.
\documentclass{article} % 回路図1枚なら \documentclass[border=3pt]{standalone}
\usepackage{circuitikz}
\begin{document}
\begin{circuitikz}
\draw (0,0) to[R=$R_1$] (2,0);
\end{circuitikz}
\end{document}Esto traza un cable desde el origen (0,0) hacia la derecha hasta (2,0), coloca un símbolo de resistencia en el camino y pone la etiqueta “R₁” encima. La forma básica es escribir los comandos de dibujo dentro del entorno circuitikz dedicado. Su contenido sigue la sintaxis ordinaria de TikZ; también podrías usar \begin{tikzpicture} con las bibliotecas de circuitikz cargadas, pero basta aprender primero este entorno.
El modismo central: to[…] coloca un componente
Todo circuitikz se resume en esta línea. Dentro de los corchetes de la operación de ruta to de TikZ, nombras una clave de componente, y se inserta un componente de ese tipo en el cable que une los dos puntos. Por ejemplo, \draw (0,0) to[R=$R_1$] (2,0); significa “ir de (0,0) a (2,0), pasando por la resistencia R₁”. Encadenando esto obtienes un circuito de cables y componentes alternados.
\begin{circuitikz}
\draw (0,0) to[R=$R_1$] (2,0)
to[C=$C_1$] (2,-2);
\end{circuitikz}Esto dibuja un cable en forma de L: una resistencia R₁ en el camino hacia la derecha desde (0,0), y luego un condensador C₁ en el camino hacia abajo desde (2,0). El atajo es que escribir =label justo después de una clave de componente lo convierte en la etiqueta de ese componente; así to[R=$R_1$] es la forma corta de to[R, l=$R_1$] (abajo). Cuando solo quieras un cable desnudo sin componente, usa to[short] (un conductor simple).
Las coordenadas son TikZ puro: cartesianas (x,y) (unidad por defecto en centímetros), y la práctica notación (a -| b) para enrutar cables en ángulo recto, el punto donde la coordenada x de a se encuentra con la coordenada y de b. La orientación de un componente sigue automáticamente la dirección de la ruta.
Componentes comunes de dos terminales (bipolos)
Lo que colocas en to[…] son bipolos, componentes con dos terminales. La tabla siguiente lista los frecuentes. Las claves de componentes son sobre todo iniciales mnemónicas (R resistencia, C condensador, L inductor), con alias escritos para fuentes y diodos.
| Clave | Componente | Ejemplo |
|---|---|---|
R | Resistencia | to[R=$R_1$] |
C | Condensador | to[C=$C_1$] |
L | Inductor (bobina) | to[L=$L_1$] |
battery / battery1 | Batería (multi-/monocelda) | to[battery1] |
V / vsource | Fuente de tensión | to[V=$U_q$] |
I / isource | Fuente de corriente | to[I=$I_0$] |
D | Diodo | to[D] |
short / open | Cable / circuito abierto | to[short] |
closing switch | Interruptor (abierto/cerrando) | to[closing switch] |
Las fuentes varían por símbolo y propósito: V (vsource) es una fuente de tensión genérica, un círculo a menudo con una senoide; battery1 es el símbolo de batería; y sV es una fuente sinusoidal para CA. Los interruptores distinguen su estado: closing switch (interruptor abierto mostrado cerrándose) y opening switch. Además del diodo por defecto D, se eligen por clave diodos LED, Zener y otros tipos.
Etiquetas y anotaciones de tensión/corriente
Una etiqueta coloca un valor o nombre junto a una pieza. La clave básica es l=…, que da el mismo resultado que el atajo to[R=$R_1$]. Eliges en qué lado del componente se coloca la etiqueta con un marcador: l_=… la empuja al otro lado (debajo o dentro de la línea), l^=… al lado opuesto (encima o fuera). Como “arriba/abajo” depende de si el cable va vertical u horizontal, alternas l y l_ según el aspecto.
Los esquemas a menudo necesitan mostrar no solo el valor de una pieza, sino la corriente que la atraviesa o la tensión en sus extremos, con una flecha. Hay claves dedicadas: i=… dibuja una corriente (flecha a lo largo del componente) y v=… dibuja una tensión (flecha que abarca el componente). Para invertir la dirección, añade un guion bajo: i_=… o v_=….
\begin{circuitikz}
\draw (0,0) to[V=$U_q$] (0,2)
to[short] (2,2)
to[R=$R_1$, i=$i_1$, v=$u_1$] (2,0)
to[short] (0,0);
\end{circuitikz}Este es un lazo cerrado: una fuente de tensión Uq en el lado vertical izquierdo, un cable simple arriba, la resistencia R₁ en el lado vertical derecho, y cables to[short] cerrando el resto. La resistencia lleva dos flechas: una para la corriente i₁ que la atraviesa y otra para la tensión u₁ en sus extremos. Los segmentos to[short] convierten los lados restantes en conductores desnudos que cierran el lazo.
Para escribir valores con unidades en una etiqueta, carga el paquete con la opción [siunitx] (\usepackage[siunitx]{circuitikz}); entonces funciona la forma number<\unit>, como l=5<\ohm> o l=3<\micro\farad>, compuesta correctamente como “5 Ω” y “3 µF”.
Componentes tipo nodo y estilos
Las piezas con tres o más terminales, transistores, amplificadores operacionales, tierra, no van en to[…]. Se colocan como nodos de TikZ: \node[part] (name) at (coordinate) {};. Las llaves {} son obligatorias incluso vacías. Cada nodo colocado expone anclas en sus terminales, que se referencian por nombre, como (name.output-pin), para cablearlo.
- Tierra —
\node[ground] at (0,0) {};. Usavcc/veepara símbolos de rieles de alimentación. - MOSFET —
\node[nmos] (q1) {};,\node[pmos] {};. Los transistores bipolares sonnpn/pnp. - Op-amp —
\node[op amp] (oa) {};. Referencia sus pines comooa.+(entrada no inversora),oa.-(entrada inversora),oa.out(salida). - Para colocar un nodo a lo largo de una ruta, escribe
node[nmos]{}después de una coordenada (por ejemplo(0,0) node[nmos]{} (2,0)).
Las convenciones de símbolos varían por país y campo. Puedes elegir si una resistencia se dibuja como rectángulo (IEC/europeo) o zigzag (estadounidense): pasa [american]/[european] como opción de entorno (o las más finas [american resistors]/[european resistors]), o fija una clave como resistor=american. Los inductores también tienen variantes cute/american/european.
Para dar estilo a todo un esquema de una vez, usa \ctikzset{…}, el equivalente de circuitikz a \tikzset de TikZ, usable en el preámbulo o a mitad del código. Con él puedes, por ejemplo, engrosar líneas o fijar la convención de flechas de tensión al estilo estadounidense (american voltages).
\usepackage[siunitx, american]{circuitikz}
\ctikzset{bipoles/length=1cm} % 部品の長さをそろえる
\begin{circuitikz}
\draw (0,0) node[ground]{} to[V=$U_q$] (0,2)
to[R=$R_1$] (2,2)
to[C=$C_1$] (2,0) -- (0,0);
\end{circuitikz}Este es un lazo cerrado con tierra abajo a la izquierda, una fuente de tensión Uq a la izquierda, una resistencia estadounidense en zigzag R₁ arriba y un condensador C₁ a la derecha. El -- (0,0) final es una línea recta TikZ normal que cierra la parte inferior como cable, el mismo papel que to[short]. Como \ctikzset fija la longitud de los componentes a 1 cm, los símbolos quedan espaciados de forma uniforme.
Como circuitikz se apoya en TikZ, puedes combinar libremente las herramientas propias de TikZ: calc para aritmética de coordenadas, positioning para colocación relativa, \node normal para etiquetas, colores y estilos. En circuitos complejos, la división natural es construir la disposición al estilo TikZ y dejar que circuitikz suministre los componentes. Si la compilación se vuelve pesada, la biblioteca external cachea cada figura, igual que en TikZ.