
Я сейчас пытаюсь сделать эту схему, но каждый раз, когда я что-то делаю, она дребезжит. Та, которую я хочу добавить, выделена красным.
Вот код и результат
\begin{document}
\begin{circuitikz}
\node[op amp, noinv input up] at (0,0) (opamp) {};
\node[ground] at (-4.69,-5.5) (ground) {};
\draw (opamp.-) -- ++(-1.15,0) -- ++(0,-2) to[R, l_=$R_1$] ++(0,-2.5) to[short,-*] ++(-2.35,0);
\draw (opamp.+)(-3,0)to[R, l_=$R_1$] -- ++(-3.5,0) to[V, l_=$v_\text{IN}$,] ++(0,-3) -- (ground);
\draw (1.66,0) to[short,*-] ++(0,-2.5) to[R, l^=$R_2$, -*] ++(-4,0);
\draw (opamp.out) to[short,-*] ++(1.5,0) node[shift={(0.6,0)}] {$v_\text{O}$};
\draw[-latex] (opamp.up) -- ++(0,0.5) node[above] {$V_+$};
\draw[-latex] (opamp.down) -- ++(0,-0.5) node[below] {$V_-$};
\node[shift={(0,-0.3)}] at (opamp.-) {\scriptsize$v_-$};
\node[shift={(0,+0.3)}] at (opamp.+) {\scriptsize$v_+$};
\end{circuitikz}
\end{document}
решение1
Ваша главная ошибка — игнорирование ошибок, которые вы получаете от LaTeX:
wth.tex|8 error| Package tikz Error: (, +, coordinate, pic, or node expected.
wth.tex|8 error| Package pgf Error: No shape named `' is known.
...
Как почти всегда бывает с LaTeX, только первая ошибка действительно имеет значение, остальные могут быть просто связаны с неверной интерпретацией при попытке обойти найденную ошибку.
Рассматриваемая строка - это
\draw (opamp.+)(-3,0)to[R, l_=$R_1$] -- ++(-3.5,0) [...]
И ошибка совершенно очевидна: вам нужен узел/координата после a, to
а у вас есть a --
.
Измените эту строку на
\draw (opamp.+) to[R, l_=$R_1$] ++(-3.5,0) to[V, l_=$v_\text{IN}$,] ++(0,-3) -- (ground);
и у вас есть:
Теперь, какпредложено @Jasper Habicht, вы можете добавить «переменную» стрелку, добавив имя к генератору и используяметод показан здесь.
Полный пример будет таким:
\documentclass[border=10pt]{standalone}
\usepackage[siunitx, RPvoltages]{circuitikz}
\begin{document}
\begin{tikzpicture}[]
\node[op amp, noinv input up] at (0,0) (opamp) {};
\node[ground] at (-4.69,-5.5) (ground) {};
\draw (opamp.-) -- ++(-1.15,0) -- ++(0,-2) to[R, l_=$R_1$] ++(0,-2.5) to[short,-*] ++(-2.35,0);
\draw (opamp.+) to[R, l_=$R_1$] ++(-3.5,0) to[V, l_=$v_\text{IN}$, name=myV] ++(0,-3) -- (ground);
\draw (1.66,0) to[short,*-] ++(0,-2.5) to[R, l^=$R_2$, -*] ++(-4,0);
\draw (opamp.out) to[short,-*] ++(1.5,0) node[shift={(0.6,0)}] {$v_\text{O}$};
\draw[-latex] (opamp.up) -- ++(0,0.5) node[above] {$V_+$};
\draw[-latex] (opamp.down) -- ++(0,-0.5) node[below] {$V_-$};
\node[shift={(0,-0.3)}] at (opamp.-) {\scriptsize$v_-$};
\node[shift={(0,+0.3)}] at (opamp.+) {\scriptsize$v_+$};
\ctikztunablearrow{1}{1.25}{150}{myV}
\end{tikzpicture}
\end{document}
в результате чего
PS: (Видите? Теперь ответ гораздо полезнее, потому что вы знаете, откуда взялась ошибка! И у вас есть пример «минимального рабочего примера», который вы всегда должны добавлять к своим вопросам)
решение2
За исключением операционного усилителя с питающими напряжениями схема записывается в один \draw
контур:
\documentclass[margin=3mm]{standalone}
\usepackage{amsmath}
\DeclareMathOperator{\IN}{\textsc{in}}
\usepackage{circuitikz}
\begin{document}
\begin{circuitikz}[american]
\node[op amp, noinv input up] (oa) {};
\draw[-stealth] (oa.up) -- ++ (0,+0.5) node[above] {$V_{+}$};
\draw[-stealth] (oa.down) -- ++ (0,-0.5) node[below] {$V_{-}$};
\draw
(oa.-) node[below] {\scriptsize $v_-$}
-| ++ (-0.5,-1.5) coordinate (aux)
to [R, a=$R_1$, *-] ++ (0,-2)
to [short,-*] ++ (-3,0) node (gnd) [ground] {}
to [V=$V_{\IN}$, name=V] (gnd |- oa.+) %
to [R=$R_1$] ++ (3,0) -- (oa.+)
node[above] {\scriptsize $v_+$}
(oa.out) to [short,] (oa.out |- aux)
to [R=$R_2$] (aux)
(oa.out) to [short, -o] ++ (0.5,0) node[right] {$v_o$}
;
\ctikztunablearrow[thick]{1}{1.2}{-30}{V}
\end{circuitikz}
\end{document}