Como corrigir a altura do transformador no circuitikz?

Como corrigir a altura do transformador no circuitikz?
\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}

insira a descrição da imagem aqui

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

insira a descrição da imagem aqui

Como você pode ver, o circuito gerado usando o segundo código não parece bom, mas para o primeiro código tenho que usar coordenadas confusas (2.1 etc.). Existe alguma maneira de corrigir esse comportamento para que as âncoras estejam em coordenadas inteiras adequadas?

Responder1

ComoPaulo Gesslermenciona emo comentário dele, você pode dimensionar o transformador usando algum fator ou, uma abordagem melhor na minha opinião, seria usar o sistema de coordenadas perpendiculares: (<coordinatea>|-<coordinateb>)ou (<coordinateb>-|<coordinatea>)ajustar a posição vertical/horizontal das 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}

insira a descrição da imagem aqui

informação relacionada