
\documentclass[border=10pt]{standalone}
\usepackage[american]{circuitikz}
\begin{document}
\begin{circuitikz}
\draw (0,0)
node[transformer] (T) {};
\draw (T.B1)
to [D] (3,0)
to [R] (3,-2.1)
to [short] (T.B2);
\draw (3,0)
to [vR] (6,0)
to [R] (6,-2.1)
to [short] (3,-2.1);
\end{circuitikz}
\end{document}
\documentclass[border=10pt]{standalone}
\usepackage[american]{circuitikz}
\begin{document}
\begin{circuitikz}
\draw (0,0)
node[transformer] (T) {};
\draw (T.B1)
to [D] (3,0)
to [R] (3,-2)
to [short] (T.B2);
\draw (3,0)
to [vR] (6,0)
to [R] (6,-2)
to [short] (3,-2);
\end{circuitikz}
\end{document}
Como puede ver, el circuito generado usando el segundo código no se ve bien, pero para el primer código tengo que usar coordenadas desordenadas (2.1, etc.). ¿Hay alguna forma de corregir este comportamiento para que los anclajes estén en las coordenadas enteras adecuadas?
Respuesta1
ComoPablo Gesslermenciona ensu comentario, puedes escalar el transformador usando algún factor o, en mi opinión, un mejor enfoque sería usar el sistema de coordenadas perpendicular: (<coordinatea>|-<coordinateb>)
o (<coordinateb>-|<coordinatea>)
ajustar la posición vertical/horizontal de las coordenadas:
\documentclass[border=10pt]{standalone}
\usepackage[american]{circuitikz}
\begin{document}
\begin{circuitikz}
\draw (0,0)
node[transformer] (T) {};
\draw (T.B1)
to [D] ++(2,0)
to [R] (3,-2|-T.B2)
to [short] (T.B2);
\draw (3,0)
to [vR] (6,0)
to [R] (6,-2|-T.B2)
to [short] (3,-2|-T.B2);
\end{circuitikz}
\end{document}