diff options
Diffstat (limited to 'graphics/circuit_macros/examples/svg/fetSVG.m4')
-rw-r--r-- | graphics/circuit_macros/examples/svg/fetSVG.m4 | 208 |
1 files changed, 112 insertions, 96 deletions
diff --git a/graphics/circuit_macros/examples/svg/fetSVG.m4 b/graphics/circuit_macros/examples/svg/fetSVG.m4 index 2393513219..8495eb9e94 100644 --- a/graphics/circuit_macros/examples/svg/fetSVG.m4 +++ b/graphics/circuit_macros/examples/svg/fetSVG.m4 @@ -1,13 +1,14 @@ .PS # `fetSVG.m4' cct_init(svg_font(Times,11bp__)) -dwn = 0.8 -rgt = 0.9 + +textht = 0.1 +define(`rmove',0.75) dnl `IRF4905(linespec,R)' define(`IRF4905', `[ ifelse(`$1',,,`eleminit_(`$1')') - Q: mosfet(,`$2',LdPzEDSQdB,) ifelse(`$1',,` + Q: mosfet(,`$2',dMdPzEDSQdB,) ifelse(`$1',,` S: Q.tr_xy(-4,-2); line from Q.tr_xy(-2,-2) to S D: Q.tr_xy( 4,-2); line from Q.tr_xy(2,-2) to D', `with .Diode.c at last line.c @@ -15,138 +16,153 @@ define(`IRF4905', G: Q.G circle rad 5*dimen_/10 at Q.tr_xy(0,1) ]') -define(`rmove',0.75) -define(`dir_',`right_') - -dir_ - {j_fet(right_ dimen_,,,E) - `"j_fet(right_ dimen_,,,E)"' wid 1.5 at last [].s+(0.0,-0.05) below - "G" at last [].G rjust above - "S" at last [].S rjust - "D" at last [].D ljust - } - - {move down_ dwn; dir_ - j_fet(,,P,) - `"j_fet(,,P,)"' at last [].s+(0,-0.05) below - "G" at last [].G rjust - "S" at last [].S rjust - "D" at last [].D ljust - } - - move right_ 1.35; dir_ - {e_fet(,R,,) - `"e_fet(,R,,)"' at last [].s+(0,-0.2) below - "G" at last [].G rjust - "S" at last [].S rjust - "D" at last [].D ljust - } - - {move down_ dwn; dir_ - e_fet(,,P,) - `"e_fet(,,P,)"' at last [].s+(0,-0.05) below} - - move right_ 1; dir_ - {d_fet(,,,) - `"d_fet(,,,)"' at last [].s+(0,-0.05) below} - - {move down_ dwn; dir_ - d_fet(,,P,) - `"d_fet(,,P,)"' at last [].s+(0,-0.05) below} - - move right_ 1; dir_ - {e_fet(,,,S) - `"e_fet(,,,S)"' at last [].s+(0,-0.05) below} - - {move down_ dwn; dir_ - e_fet(,,P,S) - `"e_fet(,,P,S)"' at last [].s+(0,-0.05) below} - - move right_ 1; dir_ - {d_fet(,,,S) - `"d_fet(,,,S)"' at last [].s+(0,-0.05) below} - - {move down_ dwn; dir_ - d_fet(,,P,S) - `"d_fet(,,P,S)"' at last [].s+(0,-0.05) below} -right_ -{ [ - c_fet(,,,) - `"c_fet(,,,)"' at last [].s+(0,-0.05) below - move right rgt from last [].e - c_fet(,,P) - `"c_fet(,,P)"' at last [].s+(0,-0.05) below - ] with .n at 5th last [].s+(0,-0.3) - } -move down 1; right_ -[ +{move left 20bp__} +Row1: [ J: j_fet + { "svg_tt(`j_fet')" at J.s+(0,-0.05) below + "svg_it(G)" at J.G rjust + "svg_it(S)" at J.S rjust + "svg_it(D)" at J.D ljust } + J: j_fet(right_ dimen_,,P,E) with .w at J.e+(0.5,0) + { "svg_tt(`j_fet(right_')" at J.s+(0,-4bp__) below "svg_tt(`dimen_,,P,E)')" + "svg_it(G)" at J.G rjust above + "svg_it(S)" at J.S rjust + "svg_it(D)" at J.D ljust } + J: e_fet with .w at J.e+(0.5,0) + { "svg_tt(` e_fet')" at J.s+(0,-0.05) below + "svg_it(G)" at J.G rjust + "svg_it(S)" at J.S rjust + "svg_it(D)" at J.D ljust } + J: e_fet(,,P) with .w at J.e+(0.6,0) + { "svg_tt(` e_fet(,,P)')" at J.s+(0,-0.05) below + "svg_it(G)" at J.G rjust + "svg_it(S)" at J.S rjust + "svg_it(D)" at J.D ljust } + J: e_fet(,,P,S) with .w at J.e+(0.8,0) + { "svg_tt(` e_fet(,,P,S)')" at J.s+(0,-0.05) below + "svg_it(G)" at J.G rjust + "svg_it(S)" at J.S rjust + "svg_it(D)" at J.D ljust } + J: c_fet with .w at J.e+(0.7,0) + { "svg_tt(` c_fet')" at J.s+(0,-0.05) below + "svg_it(G)" at J.G rjust + "svg_it(S)" at J.S rjust + "svg_it(D)" at J.D ljust } + J: c_fet(,,P) with .w at J.e+(0.7,0) + { "svg_tt(` c_fet(,,P)')" wid 72bp__ at J.s+(0,-0.05) below + "svg_it(G)" at J.G rjust + "svg_it(S)" at J.S rjust + "svg_it(D)" at J.D ljust } + ] + +Row2: [ + J: d_fet + { "svg_tt(`d_fet')" at J.s+(0,-0.05) below + "svg_it(G)" at J.G rjust + "svg_it(S)" at J.S rjust + "svg_it(D)" at J.D ljust } + J: d_fet(,,P) with .w at J.e+(0.5,0) + { "svg_tt(`d_fet(,,P)')" at J.s+(0,-0.05) below + "svg_it(G)" at J.G rjust + "svg_it(S)" at J.S rjust + "svg_it(D)" at J.D ljust } + J: d_fet(,,P,S) with .w at J.e+(0.8,0) + { "svg_tt(`d_fet(,,P,S)')" at J.s+(0,-0.05) below + "svg_it(G)" at J.G rjust + "svg_it(S)" at J.S rjust + "svg_it(D)" at J.D ljust } + J: g_fet with .w at J.e+(0.6,0) + { "svg_tt(`g_fet')" at J.s+(0,-0.05) below + "svg_it(G)" at J.G rjust + "svg_it(S)" at J.S rjust + "svg_it(D)" at J.D ljust } + J: g_fet(up_ dimen_,,P) with .w at J.e+(0.6,0) + { "svg_tt(`g_fet(up_')" at last [].s below + "svg_tt(` dimen_,,P)')" at last [].s + (0,-12bp__) below + "svg_it(G)" at last [].G rjust + "svg_it(S)" at last [].S + (0,2bp__) ljust + "svg_it(D)" at last [].D + (0,2bp__) ljust below } + right_ + M1: mosfet(,,dBSDFQM1,E) with .w at J.e+(0.6,0) + "svg_it(G0)" at M1.G0 above rjust + "svg_it(G1)" at M1.G1 above ljust + {"svg_tt(`mosfet(,,dBSDFQM1,E)')" wid 1.45 \ + with .nw at last [].sw+(0,-0.2) } + M2: mosfet(,,dBSDFQuM1) with .nw at M1.ne+(0.6,0) + "svg_it(G0)" at M2.G0 above ljust + "svg_it(G1)" at M2.G1 above rjust + {"svg_tt(`...(,,dBSDFQuM1')" wid 1.25 \ + with .n at last [].s+(0,-0.05) } + ] with .nw at Row1.sw+(0,-10bp__) # Row2 + +Row3: [ linewid = linewid*1.2 Q1: mosfet(,,dGSDF,) - { "`mosfet'(,,dGSDF,)" at last [].s+(0,-0.1) below wid 1.3 + {"svg_tt(`mosfet(,,dGSDF,)')" wid 1.25 \ + with .nw at last [].sw+(-0.2,-0.05) thinlines_ arrow <- down .05 left .15 from (Q1.G.x,Q1.G.y-0.05) - "dG" rjust + "svg_tt(dG)" rjust arrow <- down .10 left .30 from Q1.Channel.start+(.15,0) - "F" rjust + "svg_tt(F)" rjust arrow <- down .05 left .15 from (Q1.S.x,Q1.S.y+0.05) - "S" rjust + "svg_tt(S)" rjust arrow <- down .05 right .15 from (Q1.D.x,Q1.D.y+0.05) - "D" ljust + "svg_tt(D)" ljust thicklines_ } move right_ rmove Q2: mosfet(,,uHSDF,) - {"`...'(,,uHSDF,)" at last [].s+(0,-0.15) below + {"svg_tt(`...(,,uHSDF,)')" at last [].s+(0,-0.2) below thinlines_ arrow <- down .05 left .15 from (Q2.G.x,Q2.G.y-0.05) - "uH" rjust + "svg_tt(uH)" rjust thicklines_ } move right_ rmove - Q3: mosfet(,,LEDSQuB,) - {"`...'(,,LEDSQuB,)" at last [].s+(0,-0.15) below + Q3: mosfet(,,dMEDSQuB,) + {"svg_tt(`...(,,dMEDSQuB,)')" at last [].s+(0,-0.05) below thinlines_ arrow <- down .05 left .15 from (Q3.G.x,Q3.G.y-0.05) - "L" rjust + "svg_tt(dM)" rjust arrow <- down .13 left .30 from Q3.Channel.start+(.12,0) - "E" rjust + "svg_tt(E)" rjust arrow <- down .05 left .10 from Q3.S+(.06,0) - "Q" rjust + "svg_tt(Q)" rjust arrow <- down .08 right .24 from (Q3.B.x,Q3.B.y+0.175) - "uB" ljust + "svg_tt(uB)" ljust thicklines_ } move right_ rmove - Q4: mosfet(,,LEDSuB) - {`"...(,,LEDSuB)"' at last [].s+(0,-0.15) below - "G" at last [].G rjust - "S" at last [].S rjust - "D" at last [].D ljust - "B" at last [].B below + Q4: mosfet(,,uMEDSuB) + {"svg_tt(`...(,,uMEDSuB,)')" at last [].s+(0,-0.2) below + "svg_it(G)" at last [].G rjust + "svg_it(S)" at last [].S rjust + "svg_it(D)" at last [].D ljust + "svg_it(B)" at last [].B below } move right_ rmove Q5: mosfet(,,ZSDFdT,) - {"`...'(,,ZSDFdT,)" at last [].s+(0,-0.05) below + {"svg_tt(`...(,,ZSDFdT)')" at last [].s+(0,-0.05) below thinlines_ arrow <- down .08 left .08 from (Q5.S.x,Q5.S.y+0.12) - "Z" rjust + "svg_tt(Z)" rjust arrow from last arrow.end to Q5.Channel.c+(0.05,0) arrow from last arrow.start to (Q5.D.x,Q5.D.y+.05) arrow <- down .08 right .24 from (Q5.G.x,Q5.G.y-0.02) - "dT" ljust + "svg_tt(dT)" ljust thicklines_ } - move right_ rmove + move right_ rmove+0.1 up_ Q6: IRF4905 with .c at Here - {`"IRF4905"' at Q6.s+(0,-0.15) below - "G" at Q6.G rjust - "D" wid 0.1 at Q6.D ljust above - "S" at Q6.S ljust below + {"svg_tt(`IRF4905')" at Q6.s+(0,-0.15) below + "svg_it(G)" at Q6.G rjust + "svg_it(D)" at Q6.D ljust above + "svg_it(S)" at Q6.S ljust below } - ] with .n at last [].s+(0,-.2) + ] with .nw at Row2.sw + (0,-10bp__) command "</g>" # end font .PE |