¿Existe alguna posibilidad de agregar etiquetas a cada elemento del transistor MOS en una ubicación determinada [ ($(M1.G)+(1.3,-0.2)$) node [below] {$M_1$}
] usando macros como \lbl{1}
, para no tener que agregar cada vez la etiqueta con un número diferente como M1, M2...
\begin{figure}[H]
\centering
\begin{circuitikz}[scale=1]
\ctikzset{tripoles/mos style/arrows}
\def\Ba{2,0.5}
\def\lbl{1.3,-0.2}
\draw
(\Ba) node [nmos] (M1) {} ($(M1.G)+(\lbl)$) node [below] {$M_1$}
(M1.S) node [ground] {}
($(\Ba)+(0,2)$) node [nmos] (M2) {}($(M2.G)+(1.3,-0.2)$) node [below] {$M_2$}
(M1.D) --(M2.S)
(M1.G) node[circ]{}node[left]{$V_B$}
(M2.G) node[circ]{}node[left]{$V_{in}$}
($(M1.D)+(0,0.25)$)--($(M1.D)+(1,0.25)$)node[circ]{$V_{out}$}
(M2.D) node [rground,yscale=-1] (vdd){} ;
\end{circuitikz}
\caption{\Common drain amplifier.}
\end{figure}
Respuesta1
Puede definir, por ejemplo, la abreviatura
\newcommand\mynmos[1]{node [nmos] (M#1) {} ($(M#1.G)+(\lbl)$) node [below] {$M_{#1}$}}
y usarlo como
\draw
(\Ba) \mynmos{1}
(M1.S) node [ground] {}
($(\Ba)+(0,2)$) \mynmos{2}
(consulte a continuación el código completo).
También puedes introducir una macro sólo para la etiqueta; en este caso no puedes llamarlo \lbl
porque ya usas este nombre.
\newcommand\lblnmos[1]{($(M#1.G)+(\lbl)$) node [below] {$M_{#1}$}}
...
\draw
(\Ba) node [nmos] (M1) {} \lblnmos{1}
(M1.S) node [ground] {}
($(\Ba)+(0,2)$) node [nmos] (M2) {} \lblnmos{2}
\documentclass{article}
\usepackage{circuitikz}
\begin{document}
\newcommand\mynmos[1]{node [nmos] (M#1) {} ($(M#1.G)+(\lbl)$) node [below] {$M_{#1}$}}
\begin{circuitikz}[scale=1]
\ctikzset{tripoles/mos style/arrows}
\def\Ba{2,0.5}
\def\lbl{1.3,-0.2}
\draw
(\Ba) \mynmos{1}
(M1.S) node [ground] {}
($(\Ba)+(0,2)$) \mynmos{2}
(M1.D) --(M2.S)
(M1.G) node[circ]{}node[left]{$V_B$}
(M2.G) node[circ]{}node[left]{$V_{in}$}
($(M1.D)+(0,0.25)$)--($(M1.D)+(1,0.25)$)node[circ]{$V_{out}$}
(M2.D) node [rground,yscale=-1] (vdd){} ;
\end{circuitikz}
\end{document}