I prefer my voltage sources as in the image below. How can I achieve this in circuitikz?

There is an identical question here, however for plain tikz. I tried to implement the solution given their, but it does not seem to work in combination with circtuitikz. In fact it generates an error.

enter image description here

  • 2
    Cisrcuitikz IS a tikzpicture. You can use the same solution, only easier with node[ocirc] or \to[short,-o]. Mar 25, 2019 at 23:51

1 Answer 1


One simple approach is to use open with o-o option:

\draw (0,0) to ++(1,0) to[open,o-o,l={$U_\sim$}] ++(1,0) to ++(1,0);

Or else, custom component customV can be defined and used:

\draw (3.5,0) to[customV,l={$U_\sim$}] ++(3,0);

enter image description here



  \compattikzset{customV/.style = {\circuitikzbasekey, /tikz/to path=\pgf@circ@customV@path, label=#1}}

\draw (0,0) to ++(1,0) to[open,o-o,l={$U_\sim$}] ++(1,0) to ++(1,0);
\draw (3.5,0) to[customV,l={$U_\sim$}] ++(3,0);
  • Works very well. Is it possible to add "+" / "-" for dc current sources? Mar 26, 2019 at 16:55
  • @user1583209 didn't quite understand what you are asking.
    – nidhin
    Mar 26, 2019 at 17:47
  • If possible, I'd like to add the polarity, i.e. a plus and a minus sign below or above the small circles of the voltage source. Mar 26, 2019 at 17:51
  • @user1583209 replacing l={$U_\sim$} with v={$U_\sim$} will result in +/- symbols on either sides. See if that is fine for you.
    – nidhin
    Mar 26, 2019 at 18:19
  • The `v={$U_\sim$}' creates a round arrow for me, not +/- symbols. Mar 26, 2019 at 18:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.