Plotting circuits with circuitikz

I have one small problem (I managed to draw what I needed, and for a first timer I'm very proud of myself XD). I need to draw image like this: And what I managed to get is this: So, the resistor can be changed probably by messing with American or European style, that's not a big problem. What is a big problem, is that I cannot get those nodes like in the first picture : Also how to get the ammeter and voltmeter properly aligned? The code is:

\begin{figure}[ht!]
\begin{center}
\begin{circuitikz}\draw
(0,0)to[sI] (0,4)
to[R=$1\ k\Omega$,-*] (3,4) -- (5,4)
to[voltmeter] (5,0) -- (0,0)
(3,4)to[ammeter] (3,2)
(3,0)to[Do,*-] (3,2)
(2,1)to[zDo](2,1)
;\end{circuitikz}
\end{center}
\end{figure}

Also, can I get the little lines in front and behind the Zener diode?

• May I suggest that you do open another question? There are different problems here that can be solved with different approaches. Plus what if someone other than Fédéric answers the new part of the question? Will you "unaccept" his answer and accept the new one instead?
– Jake
Apr 14 '11 at 9:03
• Ok I'll cut this out and make new question. I just didn't want to make the same topic again (simmilar problem...) Apr 14 '11 at 10:36

Here is one solution. Note that the ammeter and voltmeter that you wanted aren't in circuitikz' set of components. To get around this I used the fact that all of the components and lines are tikz components and lines so that all of the stuff valid in tikz can be used. I created nodes with the appropriate info. In addition, I used the siunitx package to type the resistor. This way the units are correctly set. circuitikz has a siunitx option. To get the little lines with the diode : just use different starting and end points. My code is

\documentclass{minimal}
\usepackage{tikz}
\usetikzlibrary{arrows}
\usepackage{siunitx}
\usepackage{circuitikz}

\begin{document}

\tikzset{component/.style={draw,thick,circle,fill=white,minimum size =0.75cm,inner sep=0pt}}

\begin{circuitikz}[european]
\draw (0,2.5)node[left] {$+$} to[short,o-] (0,4)
to[R=\SI{1}{k\ohm},-*] (3,4) to[short] (5,4)
to[short] (5,2) node[component]{V} to[short] (5,0)
to[short] (0,0) to[short,-o] (0,1.5)node[left] {$-$};
\draw    (3,4) to[short] (3,3) node[component]{A} to[short] (3,2)
(3,0) to[Do,*-] (3,2)
(2,0.5) to[zDo] (2,1.5);
\end{circuitikz}

\end{document}

The result is About the little circles : the key is not to use the -- in the path (as in my initial solution), but rather to use the circuitikz path styles. For what you want, you need to enter to[short,o-]. All this is in the new version of the code..

For the + and -, just add nodes at the appropriate place. I modified the code of my example for this (not the picture thought).

• One more question: Why couldn't I just draw the nodes in my code. I tried your way (which works), but I cannot get the little empty knobs on my end... Plus, can I somehow add + or - sign to those nodes? Apr 14 '11 at 7:54
• I modified the code to answer the question in your comment. Apr 14 '11 at 17:35
• Thank you very much, I'm gonna try it, but texmakerx is messing with me -.-" Apr 14 '11 at 21:18