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