summaryrefslogtreecommitdiff
path: root/graphics/circuit_macros/examples/svg/MCSVG.m4
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/circuit_macros/examples/svg/MCSVG.m4')
-rw-r--r--graphics/circuit_macros/examples/svg/MCSVG.m434
1 files changed, 18 insertions, 16 deletions
diff --git a/graphics/circuit_macros/examples/svg/MCSVG.m4 b/graphics/circuit_macros/examples/svg/MCSVG.m4
index cececf42b5..8fcff10ea1 100644
--- a/graphics/circuit_macros/examples/svg/MCSVG.m4
+++ b/graphics/circuit_macros/examples/svg/MCSVG.m4
@@ -1,5 +1,5 @@
.PS
-#MC.m4
+#MCSVG.m4
cct_init(svg_font(Times,11bp__))
textoffset = 3bp__
@@ -44,50 +44,52 @@ MC:[
]
Three: [
+ gapht = 4*dimen_
dv = dimen_*0.6
- dh = dimen_
+ 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_ 3*dimen_ from BS.D
+ 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_ 5*dimen_,1,A)
+ V1: gap(up_ gapht,1,A)
{ "svg_it(V)svg_sub(1)" wid 12bp__ at last arrow.c rjust }
- line right_ dh/2
+ line right_ dimen_/2
{ C1: capacitor(down_ to (Here,V1.start)); llabel(svg_it(C)svg_sub(1)) }
for_(1,3,1,`
- line right_ dh ifelse(m4x,1,,*5/4)
+ line right_ dimen_ ifelse(m4x,1,,*5/4)
{SP1`'m4x: swpair(svg_it(S`'svg_sub(1`'eval(m4x+3))),
svg_it(S`'svg_sub(1`'m4x))) with .T at Here
- dot(at last [].C + (0,(2-m4x)*dh))
- line right_ (3-m4x)*dh*5/4
+ dot(at last [].C + (0,(2-m4x)*dh))
+ line right_ (3-m4x)*dimen_*5/4+dimen_/4
inductor(right_ dimen_,L)
{sprintf("svg_it(L`'svg_sub(1&`#'%g;,70%))",64+m4x) at last [].n+(0,8bp__)}
- line down_ (2-m4x)*dimen_*2/3
+ line down_ (2-m4x)*dh*2/3
pushdef(`dimen_',dimen_*1.2) inductor(right_ dimen_*3/4) popdef(`dimen_')
- line down_ (2-m4x)*dimen_/3
+ line down_ (2-m4x)*dh/3
M: move right_ dimen_/8
- line up_ (2-m4x)*dimen_/3
+ line up_ (2-m4x)*dh/3
pushdef(`dimen_',dimen_*1.2) inductor(right_ dimen_*3/4) popdef(`dimen_')
- line up_ (2-m4x)*dimen_*2/3
+ line up_ (2-m4x)*dh*2/3
inductor(right_ dimen_,L)
{sprintf("svg_it(L`'svg_sub(2&`#'%g;,70%))",64+m4x) at last [].n+(0,8bp__)}
- line right_ dimen_/8+(m4x-1)*dh*5/4
+ line right_ dimen_/8+(m4x-1)*dh*5/4 + dimen_/4
dot
SP2`'m4x: swpair(svg_it(S`'svg_sub(2`'eval(m4x+3))),
- svg_it(S`'svg_sub(2`'m4x))) with .C at Here+(0,(m4x-2)*dh) }
+ svg_it(S`'svg_sub(2`'m4x))) \
+ with .C at Here+(0,(m4x-2)*dh) }
')
"svg_it(T)svg_sub(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(,,svg_it(C`'svg_sub(2))) }
- line right_ dh/2
- gap(up_ 5*dimen_,1,A)
+ line right_ dimen_/2
+ gap(up_ gapht,1,A)
{ "svg_it(V`'svg_sub(2))" wid 12bp__ at last arrow.c ljust }
line to SP21.T chop dotrad_ chop 0