.PS # ex17.m4 cct_init [ nrows = 4 ncols = 9 linewid = linewid*0.6 # everything smaller define(`elen_',linewid) # shorter default length for j = 1 to nrows do { { for i = 1 to ncols do { Point_(-120) resistor Point_( 0) inductor Point_( 120) capacitor if i < ncols then {Point_(0) diode} } } Point_(-120) move to rvec_(elen_,0) { for i = 1 to ncols do { Point_(-60) capacitor Point_( 60) resistor } } Point_(-60) move to rvec_(elen_,0) } Point_(0) for i = 1 to ncols-1 do { inductor } ] [ # an exercise of the `parallel_' macro: down_ # for labelling Point_(-80) # skew current direction parallel_(Sep=1.75*dimen_; parallel_( `capacitor(,C); rlabel(,,C_2)', `resistor; rlabel(,R_2)' ), parallel_( `resistor; rlabel(,R_1); move to rvec_(-dimen_/5,0) inductor(,W); rlabel(,L_1)', `reversed(`source',to rvec_(elen_,0),V,sourcerad_*2.5); rlabel(,v_s)' ) ) ] with .sw at last [].se+(elen_,0) .PE