22

You can use yscale=-1: \documentclass{article} \usepackage{circuitikz} \begin{document} \begin{circuitikz} \draw (0,0) node[op amp] (opamp1) {} (opamp1.+) node[left ] {$v_+$} (opamp1.-) node[left ] {$v_-$}; \draw (3,0) node[op amp,yscale=-1] (opamp2) {} (opamp2.+) node[left ] {$v_+$} (opamp2.-) node[left ] {$v_-$}; \end{circuitikz} \end{...


17

This can be best done with cylinders but for the shading effects one can do some manual construction too. \begin{tikzpicture} \draw[fill=blue!50](0,0) circle (1 and 2); \draw[top color=blue!25,bottom color=black,middle color=blue!50] (-0.5,2) arc (90:270:1 and 2) -- ++(0.5,0) arc (-90:-270:1 and 2) -- cycle; \draw[top color=white,bottom color=black!70] (0,...


17

Here's one possibility using the tikz-dsp (Digital Signal Processing) library; the library can be downloaded following the provided link from TeXample.net. I defined two new styles for the adder, to obtain the label position illustrated in the image from the original question: \documentclass{article} \usepackage{siunitx} \usepackage{tikz} \usetikzlibrary{...


17

Here is an example using circuitikz: \documentclass{article} \usepackage{tikz} \usepackage{circuitikz} \begin{document} \tikzset{full Schottky diode/.append style={bipoles/length=.4cm}} \tikzset{american voltages} \tikzset{american inductors} \tikzset{european resistors} \begin{circuitikz} % TRANSISTORS \draw (0,2) node[nigfete] (t1) {} ...


16

There is an easy way. Use an existing component as a base, such as to[generic,color=white,n=myname] and draw anything you want in the space. \newcommand{\speaker}[2] % #1 = name from to[generic,n=#1], #2 = rotation angle {\draw[thick,rotate=#2] (#1) +(.2,.25) -- +(.7,.75) -- +(.7,-.75) -- +(.2,-.25);} \begin{circuitikz} \draw (0,2) to[C, l_=$C$, o-*] (2,2) ...


16

I was able to reproduce the error and to fix it. Let's start to examine a simple document with a plot and a resistor: \documentclass[a4paper,11pt]{article} \usepackage{circuitikz} \usepackage{pgfplots} \pgfplotsset{compat=1.7} \usetikzlibrary{external} \tikzexternalize \tikzset{external/force remake} \begin{document} \begin{tikzpicture} \begin{axis}[...


15

Here I provide a different solution from the one suggested by Peter. Basically, I define a new kind of label lx that accepts two commands: the first one is the component name (for example R_1, C_1) and the second is dedicated to the component value. Its behaviour is similar to the standard l, therefore the followings: lx_=... lx^=... hold. In conclusion, ...


14

The circuits library is not really suited for this kind of diagram. This can easily be achieved with three nodes and a few edges. The shapes.geometric library provides the ellipse shape. The auto=right option positions all nodes along a path on the right side (the default is left). The swap option changes this for only one node to the other side. Code \...


13

The diagram would be improved alot by using connecting wires that are only horizontal or vertical. There is a conveient syntax |- for a path that is first vertical then horizontal, and the corresponding -|. You can apply colours to the individual symbols and to the connecting wires by specifying color=red. Perhaps this is close to what you are after: \...


12

With PSTricks. Just for fun! \documentclass[preview,border={10pt 10pt 10pt 40pt}]{standalone} \usepackage{pst-node} \def\obj#1{\makebox[1cm]{\strut#1}} \begin{document} \offinterlineskip \begin{psmatrix}[colsep=1cm,rowsep=3cm,mnode=oval] [name=l]\obj{x} & & [name=r]\obj{y}\\ & [name=b]\obj{daervz} \\ \end{psmatrix} \psset{arrows=-&...


12

Example has been taken from the circuitikz manual. Code \documentclass[tikz]{standalone} \usepackage{circuitikz} \tikzset{ declare function={% in case of CVS which switches the arguments of atan2 atan3(\a,\b)=ifthenelse(atan2(0,1)==90, atan2(\a,\b), atan2(\b,\a));}, kinky cross radius/.initial=+.125cm, @kinky cross/.initial=+, kinky crosses/.is ...


12

This is absolutely normal: the symbol ground is a node shape, hence it mandatory to adopt the TikZ \node syntax. Specifically, one should change \draw (0,0) to [ground] (0,-1); into \draw (0,0) to (0,-1) node[ground]{}; or the equivalent \draw (0,0) -- (0,-1) node[ground]{}; A complete example: \documentclass[tikz,border=10pt]{standalone} \...


12

Although the answer by Zarko is correct, the problem in your code (apart a bit of strange path building) is this line: \node (G1) at ([shift=({-1.3cm,0cm})]comp.-) {}; and you can see it if you substitute your code with: \node [draw=red](G1) at ([shift=({-1.3cm,0cm})]comp.-) {}; which gives: Nodes have a minimum size, and when they are connected the ...


12

The usual TikZ methods work, of course. Just add the node options to the path. \documentclass[border=5mm]{standalone} \usepackage[american]{circuitikz} \begin{document} \begin{circuitikz}[thick] \draw[nodes={align=center}] (0,0) to[V, l= some very \\ long label ,a=some very \\ long annotation] ++(2,0); \end{circuitikz} \end{document} Of ...


11

I was in the same search several weeks earlier, only on the Mac platform. I finally settled down with the circtuitikz, and found it intuitive to work with. I abandoned previous choice Circuit_Macro simply because CircuitTiKz suit my workflow, that means I don't want to have too much compile work. My current workflow look likes this, although on Mac ...


11

In my eyes, a drawing like that looks like a good job for a matrix. And honestly, the positioning with the circuitikz package seems complicated as the other answers prove … The advantage of a TikZ matrix and its library is that all nodes in it are named automatically: (<matrix name>-<row>-<column>). We can use these names later to connect ...


11

Question 1 Instead of scaling the circuit, you can use x=<length>, y=<length>, so labels, for example, won't be affected. Question 2 You can simply use -- and rounded corners to easily produce the smooth cuved path. In the example below, instead of \draw[>=latex,->,color=magenta,text=black, thick] (0.6,1.9) to[out=-0,in=-...


11

You can use a standard TikZ node and its label key: \documentclass{article} \usepackage{circuitikz} \begin{document} \begin{circuitikz} \draw (0,0) node[label={[font=\footnotesize]above:Node}] {} to[R,*-*] (2,0) node[label={[font=\footnotesize]-30:$1$},label={[font=\footnotesize]150:$2$}] {} to[R,*-*] (4,0) node[label={[font=\...


11

Sorry. I went lost in your code, so I write new one, which reproduce desired result. I preserve coordinate (C) regardless that it is not needed for drawing this picture. \documentclass[margin=3mm]{standalone} \usepackage[siunitx,RPvoltages]{circuitikz} %Circuit Schematics/Diagram \usetikzlibrary{arrows,shapes,calc,positioning} \begin{document} \begin{...


10

I see that in the last version of circuitikz, the definitions for ammeter and voltmeter have been changed, so if your version is 0.3.0 or newer, use the following code. If you don't need the diagonal arrow, comment the last two \pgfusepath{draw}. However I notice that now the circles don't touch the wires (I wonder why). If you want to correct this behaviour,...


10

There is a simpler scheme to achieve the goal. A proposed approach that defines a mymeter command taking 2 arguments \#1=name, \#2=angle of rotation. Basically it redefines the voltmeter by drawing a mymeter that has the rotation ability. \newcommand{\mymeter}[2] { % #1 = name , #2 = rotation angle \begin{scope}[transform shape,rotate=#2] \draw[thick] (#...


10

I too find the circuitikz documentation a bit lacking, but you learn a lot from inspecting the examples. A quick [circuitikz] search on the site will lead you to more examples. Moreover, a few additional circuitikz examples are available at texample.net. Regarding spacing, my main piece of advice (which applies to any vector-graphics package, really) is to ...


10

This is one possible solution. amssymb is used for loop currents. Code \documentclass{article} \usepackage{tikz} \usepackage[siunitx,cuteinductors,americanvoltages,americancurrents]{circuitikz} \usepackage{latexsym,amssymb,amsmath} \begin{document} \begin{circuitikz} \draw (0,0) to [R=$R_1$] (2,0) -| (3,-1) to [L,l_=$L_1$] (3,-3) |- (-1,-4) to [V,l=$v_g$...


10

You can use \tikzset{R/.append style={color=red}} (see pgfkeys documentation page 888): \documentclass{standalone} \usepackage[american,cuteinductors]{circuitikz} \usetikzlibrary{shapes,arrows,circuits,calc,babel} \usepackage{pgfplots} \tikzset{ R/.append style={color=red}, C/.append style={color=blue}, battery1/.append style={color=green}, } \...


9

Since circuitikz is built upon TikZ, you can use \draw to draw a circle: \documentclass{article} \usepackage{circuitikz} \begin{document} \begin{circuitikz} \draw (0,0) node[npn] (npn) {} (npn.base) node[anchor=east] {B} (npn.collector) node[anchor=south] {C} (npn.emitter) node[anchor=north] {E}; \draw ($(npn)-(0.18,0)$) circle [radius=18pt]; \end{...


9

Putting the label in a \mbox seems to do the trick. Try the following version: \documentclass{standalone} \usepackage{tikz} \usepackage[siunitx,european,americanresistors]{circuitikz} \begin{document} \begin{tikzpicture}[american currents] \draw (0,0) to[R,label=\mbox{$R_1=\SI{2}{\ohm}$}] (2,0); \end{tikzpicture} \end{document}


9

You may have to play around with the label distances, but the following works: Placing the additional nodes for the labels after setting the circuit. \documentclass{article} \usepackage{circuitikz}% http://ctan.org/pkg/circuitikz \begin{document} \begin{center} \begin{circuitikz} \draw (0,0) node[and port] (myand){} (myand.in 1) node[anchor=east]...


9

To put a drawing into a block, I advise you to create some macros with your drawings and put them in the nodes as in the example below \documentclass[border=10]{standalone} \usepackage{tikz} \usetikzlibrary{positioning} \newcommand{\symbolA}{ \tikz \draw[red] (0,0)--(0,0.2)--(0.2,0.2)--(0.2,0.4)--(0.4,0.4); } \newcommand{\symbolB}{ \tikz[y={(0,-1)}] \draw[...


9

The circuitkiz manual show that you can draw the entire graphic in one single \draw command which looking at the example seems failry simple but positioning can be a bit of an issue. Using the [short] nodes you can pretty much position the elements where you want time (after a bit of trial and error) I eventually got this code out: \documentclass[tikz,...


Only top voted, non community-wiki answers of a minimum length are eligible