PS
# ArrestersMan.m4
#
https://tex.stackexchange.com/questions/733192/spark-gap-in-circuit-package-and-voltage-arrow-capacitor
cct_init
sep = 0.2
rsep = 0.15
R1: [
arrester
{`"\tt arrester"' at last line.c+(0,-0.2)}
move sep
arrester(,G)
{`"\tt arrester(,G)"' at last line.c+(0,-0.2)}
move sep
arrester(,g)
{`"\tt ...(,g)"' at last line.c+(0,-0.2)}
move sep
arrester(,M)
{`"\tt \ldots(,M)"' at last line.c+(0,-0.2)}
move sep
arrester(,C)
{`"\tt \ldots(,C)"' at last line.c+(0,-0.2)}
move sep
arrester(,A)
{`"\tt \ldots(,A)"' at last line.c+(0,-0.2)}
]
R2: [
arrester(,H)
{`"\tt \ldots(,H)"' at last line.c+(0,-0.2)}
move sep
arrester(,HR)
{`"\tt \ldots(,HR)"' at last line.c+(0,-0.2)}
move sep
arrester(,P)
{`"\tt \ldots(,P)"' at last line.c+(0,-0.2)}
move sep
arrester(,s)
{`"\tt \ldots(,s)"' at last line.c+(0,-0.2)}
move sep
arrester(,F)
{`"\tt \ldots(,F)"' at last line.c+(0,-0.2)}
move sep
arrester(,S)
{`"\tt \ldots(,S)"' at last line.c+(0,-0.2)}
] with .nw at R1.sw+(0,-rsep)
define(`Dlabels',
`{ thinlines_
arrow <- from last [].A up 0.1 left 0.1; "\sl A" rjust
arrow <- from last [].B up 0.1 right 0.1; "\sl B" ljust
arrow <- from last [].G up 0.05 right 0.15; "\sl G" ljust
thicklines_ }')
R3: [
arrester(,E)
{`"\tt \ldots(,E)"' at last line.c+(0,-0.25)}
move up_ 0.1 then right_ sep
DE: arrester(,DE,,,fill_(0.95))
{`"\tt \ldots(,DE,{,},"' wid 61bp__ at last [].A+(-0.1,-0.40) ljust \
`"\tt fill\_(0.95))"' ljust }
Dlabels
# move down_ 0.1 then right_ sep*3
move right_ sep*3
arrester(,DS)
{`"\tt \ldots(,DS)"' at last [].s+(0,-0.1)}
Dlabels
move sep*3
DEL: arrester(,DEL)
{`"\tt \ldots(,DEL)"' at last [].s+(0,-0.1)}
Dlabels
move sep*3
DSL: arrester(up_ dimen_,DSL)
{`"\tt \ldots(up\_ dimen\_,DSL)"' at last [].s+(0,-0.1)}
{ thinlines_
arrow <- from DSL.A up 0.1 left 0.1; "\sl A" rjust
arrow <- from DSL.B down 0.1 right 0.1; "\sl B" ljust
arrow <- from DSL.G up 0.05 left 0.15; "\sl G" rjust
thicklines_ }
] with .nw at R2.sw+(0,-rsep)
[ moveht *= 0.6
{ arrester(,,:dimen_/5,:dimen_/3,shaded "red")
`"\tt arrester(,{,}:dimen\_/5,:dimen\_/3,shaded \"red\")"' ljust }
# move down_; right_
# { arrester(,,,,shaded "red" outlined "red")
# `"\tt arrester(,{,},{,}shaded \"red\" outlined \"red\")"' ljust }
move down_; right_
{ S: arrester(,S,,,shaded "yellow")
`"\tt arrester(,S,{,},shaded \"yellow\")"' ljust }
move down_; right_
{ Gg: arrester(,g,,:dimen_/6,shaded "red")
`"\tt arrester(,g{,},:dimen\_/6,shaded \"red\")"' ljust }
# move down_; right_
# { M: arrester(,M,,:dimen_/8,shaded "orange")
# `"\tt arrester(,M{,},:dimen\_/8,shaded \"orange\")"' ljust }
move down_; right_
{ C: arrester(,C,,,shaded "blue")
`"\tt arrester(,C,{,},shaded \"blue\")"' ljust }
] with .nw at R3.sw+(0,-rsep)
PE