.PS # MC.m4 cct_init MC: [ dv = dimen_*0.6 dh = dimen_*0.4 backup = dimen_/6 for i=1 to 3 do {{ if i==2 then { Input: dot } else { line up (2-i)*dv } source(right_ dimen_,AC); llabel(,,sprintf("$v_{\char%g}$",96+i)) resistor(right_ dimen_ from Here-(backup/2,0)); if i==1 then { llabel(,R_i)} inductor(right_ dimen_ from Here-(backup,0),W); if i==1 then { llabel(,L_i)} line right_ i*dh; b_current(sprintf("\strut$i_{\char%g}$",96+i)); dot { line down (3-i)*dv; capacitor(down_ dimen_) if i==1 then { rlabel(,C_i) } if i==2 then { dot(ifgpic(at last line.end)) } \ else { line ifgpic(from last line.end) right (2-i)*dh } } line right 3*dh; dot E: Here+((3-i)*dh+dimen_*3/2,(4-2*i)*dv) for j=1 to 3 do {{ line up (6-j*3)*dv then right (3-i)*dh switch(right_ E.x-Here.x) llabel(,,sprintf("$S_{\char%g\char%g}$",96+i,64+j)) if i==2 then { dot } else { line down (2-i)*dv } }} line from E right dh then down E.y-Here.y arrow right dimen_/2 ; { sprintf("\strut$i_{\char%g}\quad$",64+i) above } resistor(right_ dimen_ from Here-(arrowht/2,0)); if i==1 then {llabel(,R_o)} inductor(right_ dimen_ from Here-(backup,0),W); if i==1 then {llabel(,L_o)} source(right_ dimen_,AC); llabel(sprintf("$v_{\char%g}$",64+i)) if i==2 then { Output: dot } else { line down (2-i)*dv } }} ] Three: [ gapht = 4*dimen_ dv = dimen_*0.6 dh = dimen_*5/6 define(`swfet',`mosfet(`$1',,dMEDSuBQPy)') define(`swpair',`[ up_ BS: swfet(up_ dimen_); { "`$1'" at BS.D-(0,2bp__) rjust } L: line up_ gapht-2*dimen_ from BS.D TS: swfet(up_ dimen_) with .S at Here; { "`$2'" at TS.S+(0,2bp__) rjust } T: TS.D B: BS.S C: L.c ]') V1: gap(up_ gapht,1,A); { "$V_1$" at last arrow.c rjust } line right_ dimen_/2 { C1: capacitor(down_ to (Here,V1.start)); llabel(C_1) } for_(1,3,1,` line right_ dimen_ ifelse(m4x,1,,*5/4) {SP1`'m4x: swpair(S1`'eval(m4x+3),S1`'m4x) with .T at Here dot(at last [].C + (0,(2-m4x)*dh)) line right_ (3-m4x)*dimen_*5/4 + dimen_/4 inductor(right_ dimen_,L); llabel(,L_{1\char`'eval(64+m4x)}) line down_ (2-m4x)*dh*2/3 pushdef(`dimen_',dimen_*1.2) inductor(right_ dimen_*3/4) popdef(`dimen_') line down_ (2-m4x)*dh/3 M: move right_ dimen_/8 line up_ (2-m4x)*dh/3 pushdef(`dimen_',dimen_*1.2) inductor(right_ dimen_*3/4) popdef(`dimen_') line up_ (2-m4x)*dh*2/3 inductor(right_ dimen_,L); llabel(,L_{2\char`'eval(64+m4x)}) line right_ dimen_/8+(m4x-1)*dh*5/4 + dimen_/4 dot SP2`'m4x: swpair(S2`'eval(m4x+3),S2`'m4x) with .C at Here+(0,(m4x-2)*dh) } ') "$T_r$" at M.c+(0,dimen_*2/3) line from V1.start to SP13.B line from SP21.B to SP23.B+(dh*3/4,0) { C2: capacitor(up_ to (Here,V1.end)); llabel(,,C_2) } line right_ dimen_/2 gap(up_ gapht,1,A); { "$V_2$" at last arrow.c ljust } line to SP21.T chop dotrad_ chop 0 ] with .nw at MC.sw+(0,-0.2) .PE