¿Cómo se corrige la altura del transformador en circuitoikz?

¿Cómo se corrige la altura del transformador en circuitoikz?
\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}

ingrese la descripción de la imagen aquí

\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}

ingrese la descripción de la imagen aquí

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}

ingrese la descripción de la imagen aquí

información relacionada