
\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}
Как вы видите, сгенерированная схема с использованием второго кода выглядит не очень хорошо, но для первого кода мне приходится использовать беспорядочные координаты (2,1 и т. д.). Есть ли способ исправить это поведение, чтобы якоря находились в правильных целочисленных координатах?
решение1
КакПол Гесслерупоминается вего комментарий, вы можете масштабировать трансформатор, используя некоторый коэффициент или, что, по моему мнению, было бы лучшим подходом, использовать перпендикулярную систему координат: (<coordinatea>|-<coordinateb>)
или (<coordinateb>-|<coordinatea>)
отрегулировать вертикальное/горизонтальное положение координат:
\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}