
Ниже приведен мой код.
\documentclass[12pt,letterpaper]{article}
\usepackage[left=20mm,top=30mm,bottom=30mm,right=20mm]{geometry}
\usepackage{tikz} % for drawing pictures
\usetikzlibrary{shapes.geometric, arrows}
\usetikzlibrary{arrows.meta}
\usepackage[siunitx]{circuitikz} % circuit package and include electrical units in our labels
\begin{document}
\begin{center}
\begin{circuitikz}[american,]
\ctikzset{tripoles/mos style/arrows}
\def\killdepth#1{{\raisebox{0pt}[\height][0pt]{#1}}}
\path (0,0) -- (2,0); % bounding box
\draw (-3,5) -- (3,5) node[label=right: $V_{dd} \SI{}{}$] {}
(-2,1) node[nmos](M1){$M_1$}
(-2,5) -- (M1.drain)
(-3,1)[short, o-] to (M1.gate) node[anchor=south] {$V_{in}$}
(M1.source) node[anchor=south] {} -- (-2,0) -- (2,0)
(2,1) node[nmos, xscale=-1] (M2) {\ctikzflipx{$M_2$}}
(M2.source) node[] {} -- (2,0)
(M2.gate) -- (3,-1) -- (-3,-1)[short, -o] to (-3,0)
(2,4)node[pmos] (M3) {$M_3$}
(M3.drain) node[] {} -- (M2.drain) node[] {}
(M3.source) node[right] {$source$} -- (2,5);
\end{circuitikz}
\end{center}
\end{document}
Схема создана ниже.
Вот чего я хочу добиться.
решение1
Я добавил именованную координату a (-3,1) для удобства. Я переключился на автономный режим, чтобы избежать необходимости обрезать изображение.
\documentclass{standalone}
\usepackage{tikz} % for drawing pictures
\usetikzlibrary{shapes.geometric, arrows}
\usetikzlibrary{arrows.meta}
\usepackage[siunitx]{circuitikz} % circuit package and include electrical units in our labels
\begin{document}
\begin{circuitikz}[american,]
\ctikzset{tripoles/mos style/arrows}
\def\killdepth#1{{\raisebox{0pt}[\height][0pt]{#1}}}
\path (0,0) -- (2,0); % bounding box
\draw (-3,5) -- (3,5) node[label=right: $V_{dd} \SI{}{}$] {}
(-2,1) node[nmos](M1){$M_1$}
(-2,5) -- (M1.drain)
(-3,1)[short, o-] to (M1.gate)
(M1.source) node[anchor=south] {} -- (-2,0) -- (2,0)
(2,1) node[nmos, xscale=-1] (M2) {\ctikzflipx{$M_2$}}
(M2.source) node[] {} -- (2,0)
(M2.gate) -- (3,-1) -- (-3,-1)[short, -o] to (-3,0) coordinate (A)
(2,4)node[pmos] (M3) {$M_3$}
(M3.drain) node[] {} -- (M2.drain) node[] {}
(M3.source) node[right] {$source$} -- (2,5);
\path (M1.gate) -- (A) node[midway] {$V_{in}$};
%\node at ($(M1.gate)!0.5!(A)$) {$V_{in}$};% alternative
\end{circuitikz}
\end{document}
решение2
Другая возможность, помимо приятнойОтвет Джона Кормило, заключается в добавлении напряжения к open
биполяру:
(-3,0) to[open, v=$V_{\mathit{in}}$, no v symbols] (M1.gate)
MWE с минимальными изменениями в коде OP.
\documentclass[12pt,letterpaper]{article}
\usepackage[left=20mm,top=30mm,bottom=30mm,right=20mm]{geometry}
\usepackage{tikz} % for drawing pictures
\usetikzlibrary{shapes.geometric, arrows}
\usetikzlibrary{arrows.meta}
\usepackage[siunitx]{circuitikz} % circuit package and include electrical units in our labels
\begin{document}
\begin{center}
\begin{circuitikz}[american,]
\ctikzset{tripoles/mos style/arrows}
\def\killdepth#1{{\raisebox{0pt}[\height][0pt]{#1}}}
\path (0,0) -- (2,0); % bounding box
\draw (-3,5) -- (3,5) node[label=right: $V_{dd} \SI{}{}$] {}
(-2,1) node[nmos](M1){$M_1$}
(-2,5) -- (M1.drain)
(-3,1)[short, o-] to (M1.gate)
(M1.source) node[anchor=south] {} -- (-2,0) -- (2,0)
(2,1) node[nmos, xscale=-1] (M2) {\ctikzflipx{$M_2$}}
(M2.source) node[] {} -- (2,0)
(M2.gate) -- (3,-1) -- (-3,-1)[short, -o] to (-3,0)
to[open, v=$V_{\mathit{in}}$, no v symbols] (M1.gate)
(2,4)node[pmos] (M3) {$M_3$}
(M3.drain) node[] {} -- (M2.drain) node[] {}
(M3.source) node[right] {$source$} -- (2,5);
\end{circuitikz}
\end{center}
\end{document}