
Я пытаюсь нарисовать схему с усилением, которое имеет \times 2 внутри. Описание размещает текст намного выше элемента. Я пытался разместить узел точно там, где находится усилитель, но он, кажется, находится в другом месте, это из-за относительного позиционирования? Я пытаюсь заставить "test" отображаться внутри усилителя.
\documentclass[border=10pt]{standalone}
\usepackage[pdftex]{graphicx} %% Grafikeinbindung
\usepackage{circuitikz}
\begin{document}
\begin{circuitikz} [scale=2]
% switches
%S1
\path(0,0) -- (2,0) node[midway, nigfete, bodydiode, rotate=90, xscale=-1](s1){} ;
\draw (s1.G) node[anchor=east] {$S_1$};
\draw (0,0) to (s1.D) (s1.S) to (2,0);
%S3
\path(2,-2) -- (4,-2) node[midway, nigfete, bodydiode,rotate=90, xscale=-1](s3){};
\draw (s3.G) node[anchor=east] {$S_3$};
\draw[color=red] (s3.G |- 0,-0.5) to (s3.G |- 0, 0) -- ++ (s1.G -| 0,0) to [amp, l_=$\times 2$] ++(-1,0) node[midway]{test} to [nos](s1.G) ;
\end{circuitikz}
\end{document}
решение1
Один из способов — дать узлу имя и разместить метку позже.
\documentclass[border=10pt]{standalone}
\usepackage{circuitikz}
\begin{document}
\begin{circuitikz} [scale=2]
\draw[color=red] (0,0) to [amp,name=opamp] ++(2,0);
\node[red,anchor=west] at (opamp.west) {$\times 2$};
\end{circuitikz}
\end{document}
решение2
В вашем оде метка «x2» находится так далеко, потому что вы, вероятно, используете версию circuitikz
до того, как было введено исправление для меток в масштабируемых средах (то есть до версии 0.9.0).
Чтобы поместить метку «test» в усилитель, можно использовать клавишу t=
, но для этого придется отменить переворот текста (усилитель нарисован слева направо, поэтому он повернут на 180 градусов):
\documentclass[border=10pt]{standalone}
\usepackage[RPvoltages]{circuitikz}
\begin{document}
\begin{circuitikz} [scale=2]
% switches
%S1
\path(0,0) -- (2,0) node[midway, nigfete, bodydiode, rotate=90, xscale=-1](s1){} ;
\draw (s1.G) node[anchor=east] {$S_1$};
\draw (0,0) to (s1.D) (s1.S) to (2,0);
%S3
\path(2,-2) -- (4,-2) node[midway, nigfete, bodydiode,rotate=90, xscale=-1](s3){};
\draw (s3.G) node[anchor=east] {$S_3$};
\draw[color=red] (s3.G |- 0,-0.5) to (s3.G |- 0, 0) -- ++ (s1.G -| 0,0)
to [amp, l_=$\times 2$, t={\scalebox{-1}{test}}, ] ++(-1,0)
to [nos](s1.G);
\end{circuitikz}
\end{document}
В текущей версии (0.9.3) это даёт: