summaryrefslogtreecommitdiff
path: root/graphics/circuit_macros/doc
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2020-05-02 03:03:34 +0000
committerNorbert Preining <norbert@preining.info>2020-05-02 03:03:34 +0000
commit8626a9c3cb5dc8d02d779d5b5b1e3933d5626f43 (patch)
tree3cf05fd2ad850b994dafdcf497738d48a29634ca /graphics/circuit_macros/doc
parent7039906aa6676b98933cd099d1cb038f1644c18f (diff)
CTAN sync 202005020303
Diffstat (limited to 'graphics/circuit_macros/doc')
-rw-r--r--graphics/circuit_macros/doc/AmpTable.tex73
-rw-r--r--graphics/circuit_macros/doc/AmpTableMan.m4 (renamed from graphics/circuit_macros/doc/AmpTable.m4)0
-rw-r--r--graphics/circuit_macros/doc/AntennasMan.m4 (renamed from graphics/circuit_macros/doc/Antennas.m4)0
-rw-r--r--graphics/circuit_macros/doc/Audio.tex295
-rw-r--r--graphics/circuit_macros/doc/AudioMan.m4 (renamed from graphics/circuit_macros/doc/Audio.m4)28
-rw-r--r--graphics/circuit_macros/doc/Bip.tex175
-rw-r--r--graphics/circuit_macros/doc/BipMan.m4 (renamed from graphics/circuit_macros/doc/Bip.m4)0
-rw-r--r--graphics/circuit_macros/doc/CctTable.tex858
-rw-r--r--graphics/circuit_macros/doc/CctTableMan.m4 (renamed from graphics/circuit_macros/doc/CctTable.m4)0
-rw-r--r--graphics/circuit_macros/doc/Circuit_macros.pdfbin629598 -> 1285894 bytes
-rw-r--r--graphics/circuit_macros/doc/Conn.tex178
-rw-r--r--graphics/circuit_macros/doc/ConnMan.m4 (renamed from graphics/circuit_macros/doc/Conn.m4)20
-rw-r--r--graphics/circuit_macros/doc/Contact.tex373
-rw-r--r--graphics/circuit_macros/doc/ContactMan.m4 (renamed from graphics/circuit_macros/doc/Contact.m4)0
-rw-r--r--graphics/circuit_macros/doc/Contacts.tex141
-rw-r--r--graphics/circuit_macros/doc/ContactsMan.m4 (renamed from graphics/circuit_macros/doc/Contacts.m4)0
-rw-r--r--graphics/circuit_macros/doc/Demultiplexer.tex148
-rw-r--r--graphics/circuit_macros/doc/DemultiplexerMan.m4 (renamed from graphics/circuit_macros/doc/Demultiplexer.m4)0
-rw-r--r--graphics/circuit_macros/doc/Diodes.tex383
-rw-r--r--graphics/circuit_macros/doc/DiodesMan.m4 (renamed from graphics/circuit_macros/doc/Diodes.m4)0
-rw-r--r--graphics/circuit_macros/doc/Emarrows.tex142
-rw-r--r--graphics/circuit_macros/doc/EmarrowsMan.m4 (renamed from graphics/circuit_macros/doc/Emarrows.m4)0
-rw-r--r--graphics/circuit_macros/doc/Fuses.tex174
-rw-r--r--graphics/circuit_macros/doc/FusesMan.m4 (renamed from graphics/circuit_macros/doc/Fuses.m4)17
-rw-r--r--graphics/circuit_macros/doc/Grounds.tex91
-rw-r--r--graphics/circuit_macros/doc/GroundsMan.m4 (renamed from graphics/circuit_macros/doc/Grounds.m4)19
-rw-r--r--graphics/circuit_macros/doc/Headers.tex214
-rw-r--r--graphics/circuit_macros/doc/HeadersMan.m4 (renamed from graphics/circuit_macros/doc/Headers.m4)6
-rw-r--r--graphics/circuit_macros/doc/Jack.tex327
-rw-r--r--graphics/circuit_macros/doc/JackMan.m4 (renamed from graphics/circuit_macros/doc/Jack.m4)0
-rw-r--r--graphics/circuit_macros/doc/Logic.tex212
-rw-r--r--graphics/circuit_macros/doc/LogicMan.m4 (renamed from graphics/circuit_macros/doc/Logic.m4)0
-rw-r--r--graphics/circuit_macros/doc/Makefile46
-rw-r--r--graphics/circuit_macros/doc/Multiplexer.tex148
-rw-r--r--graphics/circuit_macros/doc/MultiplexerMan.m4 (renamed from graphics/circuit_macros/doc/Multiplexer.m4)0
-rw-r--r--graphics/circuit_macros/doc/NLG.tex93
-rw-r--r--graphics/circuit_macros/doc/NLGMan.m4 (renamed from graphics/circuit_macros/doc/NLG.m4)0
-rw-r--r--graphics/circuit_macros/doc/NPDT.tex121
-rw-r--r--graphics/circuit_macros/doc/NPDTMan.m4 (renamed from graphics/circuit_macros/doc/NPDT.m4)0
-rw-r--r--graphics/circuit_macros/doc/Nport.tex116
-rw-r--r--graphics/circuit_macros/doc/NportMan.m4 (renamed from graphics/circuit_macros/doc/Nport.m4)0
-rw-r--r--graphics/circuit_macros/doc/OpampMan.m4 (renamed from graphics/circuit_macros/doc/Opamp.m4)0
-rw-r--r--graphics/circuit_macros/doc/Pconn.tex462
-rw-r--r--graphics/circuit_macros/doc/PconnMan.m4 (renamed from graphics/circuit_macros/doc/Pconn.m4)27
-rw-r--r--graphics/circuit_macros/doc/Relay.tex198
-rw-r--r--graphics/circuit_macros/doc/RelayMan.m4 (renamed from graphics/circuit_macros/doc/Relay.m4)0
-rw-r--r--graphics/circuit_macros/doc/ShiftR.tex285
-rw-r--r--graphics/circuit_macros/doc/ShiftRMan.m4 (renamed from graphics/circuit_macros/doc/ShiftR.m4)0
-rw-r--r--graphics/circuit_macros/doc/Sources.tex466
-rw-r--r--graphics/circuit_macros/doc/SourcesMan.m4 (renamed from graphics/circuit_macros/doc/Sources.m4)9
-rw-r--r--graphics/circuit_macros/doc/Switches.m4117
-rw-r--r--graphics/circuit_macros/doc/Switches.tex596
-rw-r--r--graphics/circuit_macros/doc/SwitchesMan.m4131
-rw-r--r--graphics/circuit_macros/doc/Tgate.tex117
-rw-r--r--graphics/circuit_macros/doc/TgateMan.m4 (renamed from graphics/circuit_macros/doc/Tgate.m4)0
-rw-r--r--graphics/circuit_macros/doc/Ttree.m456
-rw-r--r--graphics/circuit_macros/doc/Variable.tex306
-rw-r--r--graphics/circuit_macros/doc/VariableMan.m4 (renamed from graphics/circuit_macros/doc/Variable.m4)10
-rw-r--r--graphics/circuit_macros/doc/Version.tex2
-rw-r--r--graphics/circuit_macros/doc/WindingsMan.m4 (renamed from graphics/circuit_macros/doc/Windings.m4)0
-rw-r--r--graphics/circuit_macros/doc/Xform.tex648
-rw-r--r--graphics/circuit_macros/doc/XformMan.m4 (renamed from graphics/circuit_macros/doc/Xform.m4)0
-rw-r--r--graphics/circuit_macros/doc/bistableMan.m4 (renamed from graphics/circuit_macros/doc/bistable.m4)0
-rw-r--r--graphics/circuit_macros/doc/body.tex543
-rw-r--r--graphics/circuit_macros/doc/defines.tex85
-rw-r--r--graphics/circuit_macros/doc/fet.tex513
-rw-r--r--graphics/circuit_macros/doc/fetMan.m4 (renamed from graphics/circuit_macros/doc/fet.m4)0
-rw-r--r--graphics/circuit_macros/doc/relaycoilMan.m4 (renamed from graphics/circuit_macros/doc/relaycoil.m4)0
-rw-r--r--graphics/circuit_macros/doc/sampleIC.m416
-rw-r--r--graphics/circuit_macros/doc/thyristor.tex561
-rw-r--r--graphics/circuit_macros/doc/thyristorMan.m4 (renamed from graphics/circuit_macros/doc/thyristor.m4)0
-rw-r--r--graphics/circuit_macros/doc/ujt.tex81
-rw-r--r--graphics/circuit_macros/doc/ujtMan.m4 (renamed from graphics/circuit_macros/doc/ujt.m4)0
73 files changed, 9103 insertions, 524 deletions
diff --git a/graphics/circuit_macros/doc/AmpTable.tex b/graphics/circuit_macros/doc/AmpTable.tex
new file mode 100644
index 0000000000..79bbf3bb66
--- /dev/null
+++ b/graphics/circuit_macros/doc/AmpTable.tex
@@ -0,0 +1,73 @@
+\begin{tikzpicture}[scale=2.54]
+% dpic version 2020.03.01 option -g for TikZ and PGF 1.01
+\ifx\dpiclw\undefined\newdimen\dpiclw\fi
+\global\def\dpicdraw{\draw[line width=\dpiclw]}
+\global\def\dpicstop{;}
+\dpiclw=0.8bp
+\dpiclw=0.8bp
+\dpicdraw (0,0)
+ --(0.125,0)\dpicstop
+\dpicdraw (0.625,0)
+ --(0.125,0.25)
+ --(0.125,-0.25)
+ --(0.625,0)
+ --(0.75,0)\dpicstop
+\draw (0.777674,0) node[right=-2bp]{{\tt amp}};
+\dpicdraw (0,-0.4)
+ --(0.225,-0.4)\dpicstop
+\dpicdraw (0.525,-0.4)
+ --(0.225,-0.25)
+ --(0.225,-0.55)
+ --(0.525,-0.4)
+ --(0.75,-0.4)\dpicstop
+\draw (0.777674,-0.4) node[right=-2bp]{{\tt amp(,0.3)}};
+\dpicdraw (2,0)
+ --(2.229167,0)\dpicstop
+\dpicdraw (2.345833,-0.175)
+ --(2.229167,-0.175)
+ --(2.229167,0.175)
+ --(2.345833,0.175)\dpicstop
+\dpicdraw (2.345833,0.175)
+ ..controls (2.442483,0.175) and (2.520833,0.09665)
+ ..(2.520833,0)
+ ..controls (2.520833,-0.09665) and (2.442483,-0.175)
+ ..(2.345833,-0.175)\dpicstop
+\dpicdraw (2.520833,0)
+ --(2.75,0)\dpicstop
+\draw (2.777674,0) node[right=-2bp]{{\tt delay}};
+\dpicdraw (2,-0.4)
+ --(2.291667,-0.4)\dpicstop
+\dpicdraw (2.358333,-0.5)
+ --(2.291667,-0.5)
+ --(2.291667,-0.3)
+ --(2.358333,-0.3)\dpicstop
+\dpicdraw (2.358333,-0.3)
+ ..controls (2.413562,-0.3) and (2.458333,-0.344772)
+ ..(2.458333,-0.4)
+ ..controls (2.458333,-0.455228) and (2.413562,-0.5)
+ ..(2.358333,-0.5)\dpicstop
+\dpicdraw (2.458333,-0.4)
+ --(2.75,-0.4)\dpicstop
+\draw (2.777674,-0.4) node[right=-2bp]{{\tt delay(,0.2)}};
+\dpicdraw (4.125,0.25)
+ --(4,0.25)
+ --(4,-0.25)
+ --(4.125,-0.25)\dpicstop
+\dpicdraw (4.625,0)
+ --(4.125,0.25)
+ --(4.125,-0.25)
+ --(4.625,0)
+ --(4.75,0)\dpicstop
+\draw (4.777674,0) node[right=-2bp]{{\tt integrator}};
+\dpicdraw (4.075,-0.35)
+ --(4,-0.35)
+ --(4,-0.65)
+ --(4.075,-0.65)\dpicstop
+\dpicdraw (4.375,-0.5)
+ --(4.075,-0.35)
+ --(4.075,-0.65)
+ --(4.375,-0.5)
+ --(4.75,-0.5)\dpicstop
+\draw (4.777674,-0.5) node[right=-2bp]{{\tt integrator(,0.3)}};
+\end{tikzpicture}
+\vspace*{-0.5\baselineskip}
diff --git a/graphics/circuit_macros/doc/AmpTable.m4 b/graphics/circuit_macros/doc/AmpTableMan.m4
index c94f682cbc..c94f682cbc 100644
--- a/graphics/circuit_macros/doc/AmpTable.m4
+++ b/graphics/circuit_macros/doc/AmpTableMan.m4
diff --git a/graphics/circuit_macros/doc/Antennas.m4 b/graphics/circuit_macros/doc/AntennasMan.m4
index 6053cd2e3f..6053cd2e3f 100644
--- a/graphics/circuit_macros/doc/Antennas.m4
+++ b/graphics/circuit_macros/doc/AntennasMan.m4
diff --git a/graphics/circuit_macros/doc/Audio.tex b/graphics/circuit_macros/doc/Audio.tex
new file mode 100644
index 0000000000..9531f8b0dc
--- /dev/null
+++ b/graphics/circuit_macros/doc/Audio.tex
@@ -0,0 +1,295 @@
+\begin{tikzpicture}[scale=2.54]
+% dpic version 2020.03.01 option -g for TikZ and PGF 1.01
+\ifx\dpiclw\undefined\newdimen\dpiclw\fi
+\global\def\dpicdraw{\draw[line width=\dpiclw]}
+\global\def\dpicstop{;}
+\dpiclw=0.8bp
+\dpiclw=0.8bp
+\dpicdraw (0.61348,0.294444)
+ --(0.849182,0.461111)
+ --(0.849182,-0.205556)
+ --(0.61348,-0.038889)\dpicstop
+\dpicdraw (0.61348,0.127778)
+ --(0.61348,0.294444)
+ --(0.377778,0.294444)
+ --(0.377778,-0.038889)
+ --(0.61348,-0.038889)
+ --(0.61348,0.127778)\dpicstop
+\draw (0.61348,-0.405556) node{\tt speaker};
+\dpiclw=0.4bp
+\filldraw[line width=0bp](0.308208,0.213219)
+ --(0.377778,0.211111)
+ --(0.320857,0.251167) --cycle\dpicstop
+\dpicdraw (0.359436,0.217225)
+ --(0.227778,0.261111)\dpicstop
+\draw (0.227778,0.261111) node[above left=-2bp]{{\sl In1}};
+\filldraw[line width=0bp](0.311111,0.107778)
+ --(0.377778,0.127778)
+ --(0.311111,0.147778) --cycle\dpicstop
+\dpicdraw (0.358444,0.127778)
+ --(0.227778,0.127778)\dpicstop
+\draw (0.227778,0.127778) node[left=-2bp]{{\sl In2}};
+\filldraw[line width=0bp](0.320857,0.004389)
+ --(0.377778,0.044444)
+ --(0.308208,0.042336) --cycle\dpicstop
+\dpicdraw (0.359436,0.038331)
+ --(0.227778,-0.005556)\dpicstop
+\draw (0.227778,-0.005556) node[below left=-2bp]{{\sl In3}};
+\dpiclw=0.8bp
+\dpiclw=0.4bp
+\filldraw[line width=0bp](0.396648,0.351365)
+ --(0.436703,0.294444)
+ --(0.434595,0.364015) --cycle\dpicstop
+\dpicdraw (0.430589,0.312786)
+ --(0.386703,0.444444)\dpicstop
+\draw (0.386703,0.444444) node[above left=-2bp]{{\sl In4}};
+\filldraw[line width=0bp](0.556663,0.364015)
+ --(0.554554,0.294444)
+ --(0.59461,0.351365) --cycle\dpicstop
+\dpicdraw (0.560668,0.312786)
+ --(0.604554,0.444444)\dpicstop
+\draw (0.604554,0.444444) node[above=-2bp]{{\sl In5}};
+\filldraw[line width=0bp](0.434595,-0.108459)
+ --(0.436703,-0.038889)
+ --(0.396648,-0.09581) --cycle\dpicstop
+\dpicdraw (0.430589,-0.057231)
+ --(0.386703,-0.188889)\dpicstop
+\draw (0.386703,-0.188889) node[below left=-2bp]{{\sl In6}};
+\filldraw[line width=0bp](0.59461,-0.09581)
+ --(0.554554,-0.038889)
+ --(0.556663,-0.108459) --cycle\dpicstop
+\dpicdraw (0.560668,-0.057231)
+ --(0.604554,-0.188889)\dpicstop
+\draw (0.604554,-0.188889) node[below=-2bp]{{\sl In7}};
+\filldraw[line width=0bp](0.66905,0.219687)
+ --(0.61348,0.177778)
+ --(0.682943,0.182177) --cycle\dpicstop
+\dpicdraw (0.63161,0.184493)
+ --(0.757545,0.231135)
+ ..controls (0.841502,0.26223) and (0.900147,0.311111)
+ ..(0.93348,0.377778)
+ --(0.98348,0.477778)\dpicstop
+\draw (0.98348,0.477778) node[above=-2bp]{\sl Box};
+\dpiclw=0.8bp
+\dpicdraw (1.469182,0.044444)
+ --(1.587033,0.106944)
+ --(1.587033,-0.184722)
+ --(1.469182,-0.122222)\dpicstop
+\dpicdraw (1.469182,-0.038889)
+ --(1.469182,0.127778)
+ --(1.23348,0.127778)
+ --(1.23348,-0.205556)
+ --(1.469182,-0.205556)
+ --(1.469182,-0.038889)\dpicstop
+\draw (1.410257,-0.505556) node{\tt speaker(,{,}H)};
+\dpicdraw (2.214811,0.511111)
+ --(2.214811,0.636111)
+ --(1.964811,0.636111)
+ --(1.964811,0.386111)
+ --(2.214811,0.386111)
+ --(2.214811,0.511111)\dpicstop
+\dpicdraw (2.339811,0.511111) circle (0.049213in)\dpicstop
+\draw (2.214811,0.186111) node{\tt bell};
+\dpiclw=0.4bp
+\filldraw[line width=0bp](1.895241,0.575719)
+ --(1.964811,0.573611)
+ --(1.90789,0.613667) --cycle\dpicstop
+\dpicdraw (1.946469,0.579725)
+ --(1.814811,0.623611)\dpicstop
+\draw (1.814811,0.623611) node[above left=-2bp]{{\sl In1}};
+\filldraw[line width=0bp](1.898145,0.491111)
+ --(1.964811,0.511111)
+ --(1.898145,0.531111) --cycle\dpicstop
+\dpicdraw (1.945477,0.511111)
+ --(1.814811,0.511111)\dpicstop
+\draw (1.814811,0.511111) node[left=-2bp]{{\sl In2}};
+\filldraw[line width=0bp](1.90789,0.408556)
+ --(1.964811,0.448611)
+ --(1.895241,0.446503) --cycle\dpicstop
+\dpicdraw (1.946469,0.442497)
+ --(1.814811,0.398611)\dpicstop
+\draw (1.814811,0.398611) node[below left=-2bp]{{\sl In3}};
+\dpiclw=0.8bp
+\dpiclw=0.4bp
+\filldraw[line width=0bp](1.93619,0.680487)
+ --(1.989811,0.636111)
+ --(1.969472,0.702675) --cycle\dpicstop
+\dpicdraw (1.979087,0.652198)
+ --(1.889811,0.786111)\dpicstop
+\draw (1.889811,0.786111) node[above=-2bp]{\sl Box};
+\filldraw[line width=0bp](2.319811,0.702778)
+ --(2.339811,0.636111)
+ --(2.359811,0.702778) --cycle\dpicstop
+\dpicdraw (2.339811,0.655445)
+ --(2.339811,0.786111)\dpicstop
+\draw (2.339811,0.786111) node[above=-2bp]{\sl Circle};
+\dpiclw=0.8bp
+\dpicdraw (3.492589,0.386111)
+ --(3.492589,0.636111)\dpicstop
+\dpicdraw (3.367589,0.511111) circle (0.049213in)\dpicstop
+\draw (3.367589,0.186111) node{\tt microphone};
+\dpiclw=0.4bp
+\filldraw[line width=0bp](3.189766,0.575719)
+ --(3.259336,0.573611)
+ --(3.202415,0.613667) --cycle\dpicstop
+\dpicdraw (3.240994,0.579725)
+ --(3.109336,0.623611)\dpicstop
+\draw (3.109336,0.623611) node[above left=-2bp]{{\sl In1}};
+\filldraw[line width=0bp](3.175922,0.491111)
+ --(3.242589,0.511111)
+ --(3.175922,0.531111) --cycle\dpicstop
+\dpicdraw (3.223255,0.511111)
+ --(3.092589,0.511111)\dpicstop
+\draw (3.092589,0.511111) node[left=-2bp]{{\sl In2}};
+\filldraw[line width=0bp](3.202415,0.408556)
+ --(3.259336,0.448611)
+ --(3.189766,0.446503) --cycle\dpicstop
+\dpicdraw (3.240994,0.442497)
+ --(3.109336,0.398611)\dpicstop
+\draw (3.109336,0.398611) node[below left=-2bp]{{\sl In3}};
+\dpiclw=0.8bp
+\dpiclw=0.4bp
+\filldraw[line width=0bp](3.347589,0.702778)
+ --(3.367589,0.636111)
+ --(3.387589,0.702778) --cycle\dpicstop
+\dpicdraw (3.367589,0.655445)
+ --(3.367589,0.786111)\dpicstop
+\draw (3.367589,0.786111) node[above=-2bp]{\sl Circle};
+\dpiclw=0.8bp
+\dpicdraw (4.520367,0.511111)
+ --(4.520367,0.636111)
+ --(4.270367,0.636111)
+ --(4.270367,0.386111)
+ --(4.520367,0.386111)
+ --(4.520367,0.511111)\dpicstop
+\dpicdraw (4.520367,0.636111)
+ --(4.585072,0.39463)\dpicstop
+\draw (4.427719,0.186111) node{\tt buzzer};
+\dpiclw=0.4bp
+\filldraw[line width=0bp](4.200797,0.575719)
+ --(4.270367,0.573611)
+ --(4.213446,0.613667) --cycle\dpicstop
+\dpicdraw (4.252025,0.579725)
+ --(4.120367,0.623611)\dpicstop
+\draw (4.120367,0.623611) node[above left=-2bp]{{\sl In1}};
+\filldraw[line width=0bp](4.2037,0.491111)
+ --(4.270367,0.511111)
+ --(4.2037,0.531111) --cycle\dpicstop
+\dpicdraw (4.251033,0.511111)
+ --(4.120367,0.511111)\dpicstop
+\draw (4.120367,0.511111) node[left=-2bp]{{\sl In2}};
+\filldraw[line width=0bp](4.213446,0.408556)
+ --(4.270367,0.448611)
+ --(4.200797,0.446503) --cycle\dpicstop
+\dpicdraw (4.252025,0.442497)
+ --(4.120367,0.398611)\dpicstop
+\draw (4.120367,0.398611) node[below left=-2bp]{{\sl In3}};
+\dpiclw=0.8bp
+\dpiclw=0.4bp
+\filldraw[line width=0bp](4.375367,0.702778)
+ --(4.395367,0.636111)
+ --(4.415367,0.702778) --cycle\dpicstop
+\dpicdraw (4.395367,0.655445)
+ --(4.395367,0.786111)\dpicstop
+\draw (4.395367,0.786111) node[above=-2bp]{\sl Box};
+\dpiclw=0.8bp
+\dpicdraw (5.529516,0.386111)
+ --(5.529516,0.719444)\dpicstop
+\dpicdraw (5.529516,0.719444)
+ ..controls (5.437469,0.719444) and (5.362849,0.644825)
+ ..(5.362849,0.552778)
+ ..controls (5.362849,0.46073) and (5.437469,0.386111)
+ ..(5.529516,0.386111)\dpicstop
+\draw (5.446183,0.186111) node{\tt buzzer(,{,}C)};
+\dpiclw=0.4bp
+\filldraw[line width=0bp](5.302811,0.610442)
+ --(5.372381,0.608333)
+ --(5.31546,0.648389) --cycle\dpicstop
+\dpicdraw (5.354039,0.614447)
+ --(5.222381,0.658333)\dpicstop
+\draw (5.222381,0.658333) node[above left=-2bp]{{\sl In1}};
+\filldraw[line width=0bp](5.296183,0.532778)
+ --(5.362849,0.552778)
+ --(5.296183,0.572778) --cycle\dpicstop
+\dpicdraw (5.343515,0.552778)
+ --(5.212849,0.552778)\dpicstop
+\draw (5.212849,0.552778) node[left=-2bp]{{\sl In2}};
+\filldraw[line width=0bp](5.31546,0.457167)
+ --(5.372381,0.497222)
+ --(5.302811,0.495114) --cycle\dpicstop
+\dpicdraw (5.354039,0.491108)
+ --(5.222381,0.447222)\dpicstop
+\draw (5.222381,0.447222) node[below left=-2bp]{{\sl In3}};
+\dpiclw=0.8bp
+\dpiclw=0.4bp
+\filldraw[line width=0bp](5.589341,0.68835)
+ --(5.529516,0.652778)
+ --(5.599043,0.649544) --cycle\dpicstop
+\dpicdraw (5.548273,0.657467)
+ --(5.605561,0.671789)
+ ..controls (5.643753,0.681337) and (5.671183,0.711111)
+ ..(5.687849,0.761111)
+ --(5.712849,0.836111)\dpicstop
+\draw (5.712849,0.836111) node[above=-2bp]{\sl Face};
+\dpiclw=0.8bp
+\dpicdraw (3.065693,-0.216667)
+ --(3.065693,-0.091667)
+ --(2.899026,-0.091667)
+ --(2.899026,-0.341667)
+ --(3.065693,-0.341667)
+ --(3.065693,-0.216667)\dpicstop
+\dpicdraw[line width=1.6bp](3.076762,-0.383333)
+ --(3.076762,-0.05)\dpicstop
+\draw (2.987894,-0.583333) node{\tt earphone};
+\dpiclw=0.4bp
+\filldraw[line width=0bp](2.829456,-0.152058)
+ --(2.899026,-0.154167)
+ --(2.842105,-0.114111) --cycle\dpicstop
+\dpicdraw (2.880684,-0.148053)
+ --(2.749026,-0.104167)\dpicstop
+\draw (2.749026,-0.104167) node[above left=-2bp]{{\sl In1}};
+\filldraw[line width=0bp](2.832359,-0.236667)
+ --(2.899026,-0.216667)
+ --(2.832359,-0.196667) --cycle\dpicstop
+\dpicdraw (2.879692,-0.216667)
+ --(2.749026,-0.216667)\dpicstop
+\draw (2.749026,-0.216667) node[left=-2bp]{{\sl In2}};
+\filldraw[line width=0bp](2.842105,-0.319222)
+ --(2.899026,-0.279167)
+ --(2.829456,-0.281275) --cycle\dpicstop
+\dpicdraw (2.880684,-0.285281)
+ --(2.749026,-0.329167)\dpicstop
+\draw (2.749026,-0.329167) node[below left=-2bp]{{\sl In3}};
+\dpiclw=0.8bp
+\dpiclw=0.4bp
+\filldraw[line width=0bp](2.921077,-0.058668)
+ --(2.982359,-0.091667)
+ --(2.949361,-0.030384) --cycle\dpicstop
+\dpicdraw (2.968688,-0.077996)
+ --(2.832359,0.058333)\dpicstop
+\draw (2.832359,0.058333) node[above=-2bp]{\sl Box};
+\dpiclw=0.8bp
+\dpicdraw (3.85454,-0.283333) circle (0.03937in)\dpicstop
+\dpicdraw (4.35454,-0.283333) circle (0.03937in)\dpicstop
+\dpicdraw (3.87454,-0.185354)
+ ..controls (3.960887,0.01734) and (4.248193,0.01734)
+ ..(4.33454,-0.185354)\dpicstop
+\draw (4.10454,-0.583333) node{\tt earphone(,{,}C)};
+\dpiclw=0.4bp
+\filldraw[line width=0bp](3.793257,-0.250335)
+ --(3.85454,-0.283333)
+ --(3.821542,-0.222051) --cycle\dpicstop
+\dpicdraw (3.840869,-0.269662)
+ --(3.70454,-0.133333)\dpicstop
+\draw (3.70454,-0.133333) node[left=-2bp]{\sl L};
+\filldraw[line width=0bp](4.387538,-0.222051)
+ --(4.35454,-0.283333)
+ --(4.415823,-0.250335) --cycle\dpicstop
+\dpicdraw (4.368211,-0.269662)
+ --(4.50454,-0.133333)\dpicstop
+\draw (4.50454,-0.133333) node[right=-2bp]{\sl R};
+\draw (4.10454,-0.033333) node[above=-2bp]{\sl N};
+\draw (4.10454,-0.283333) node{\sl C};
+\dpiclw=0.8bp
+\end{tikzpicture}
+\vspace*{-0.5\baselineskip}
diff --git a/graphics/circuit_macros/doc/Audio.m4 b/graphics/circuit_macros/doc/AudioMan.m4
index 722a2434d8..662c6d0c99 100644
--- a/graphics/circuit_macros/doc/Audio.m4
+++ b/graphics/circuit_macros/doc/AudioMan.m4
@@ -46,14 +46,6 @@ L:[
thicklines_
] with .w at last [].e+(0.0,0.5)
[
- M: microphone
- `"\tt microphone"' at M.s+(0,-0.2) #below
- In123(M)
- thinlines_
- arrow <- from M.Circle.n up 0.15 ; "\sl Circle" above
- thicklines_
- ] with .sw at last [].se+(0.4,0)
-[
Z: buzzer
`"\tt buzzer"' at Z.s+(0,-0.2) #below
In123(Z)
@@ -71,6 +63,24 @@ R:[
"\sl Face" above
thicklines_
] with .sw at last [].se+(0.4,0)
+[
+ M: microphone
+ `"\tt microphone"' at M.s+(0,-0.2) #below
+ In123(M)
+ thinlines_
+ arrow <- from M.Circle.n up 0.15 ; "\sl Circle" above
+ thicklines_
+ ] with .sw at last [].se+(0.4,0)
+[
+ M: microphone(A)
+ `"\tt microphone(A)"' at M.s+(0,-0.2) #below
+ thinlines_
+ arrow <- from M.Head.e+(0,0.05) right 0.2; "\sl Head" ljust
+ spline 0.5 <- from M.Head.b down 0.05 right 0.1 then right 0.1
+ "\sl Head.b" ljust
+ arrow <- from M.Stand.s right 0.2; "\sl Stand.s" ljust
+ thicklines_
+ ] with .n at last [].s+(0,-0.05)
[[
E: earphone
`"\tt earphone"' at E.s+(0,-0.2) #below
@@ -89,6 +99,6 @@ R:[
"\sl C" at E.C
thicklines_
] with .sw at last [].se+(0.6,0)
-] with .n at (0.6 between L and R, R.s)+(0,0.1-ifdpic(0.2,0.25))
+] with .n at (0.6 between L and R, R.s)+(0.5,0.1-ifdpic(0.2,0.25))
.PE
diff --git a/graphics/circuit_macros/doc/Bip.tex b/graphics/circuit_macros/doc/Bip.tex
new file mode 100644
index 0000000000..d44b0376e6
--- /dev/null
+++ b/graphics/circuit_macros/doc/Bip.tex
@@ -0,0 +1,175 @@
+\begin{tikzpicture}[scale=2.54]
+% dpic version 2020.03.01 option -g for TikZ and PGF 1.01
+\ifx\dpiclw\undefined\newdimen\dpiclw\fi
+\global\def\dpicdraw{\draw[line width=\dpiclw]}
+\global\def\dpicstop{;}
+\dpiclw=0.8bp
+\dpiclw=0.8bp
+\dpicdraw (0.1625,0)
+ --(0.1625,0.1)
+ --(0.158796,0.101667)\dpicstop
+\dpicdraw (0.1625,0.5)
+ --(0.1625,0.4)
+ --(0.158796,0.398333)\dpicstop
+\dpicdraw (-0.0375,0.15)
+ --(-0.0375,0.35)\dpicstop
+\dpicdraw (-0.1625,0.25)
+ --(-0.0375,0.25)\dpicstop
+\dpicdraw (0.1625,0.1)
+ --(-0.0375,0.19)\dpicstop
+\filldraw[line width=0bp](0.025108,0.131366)
+ --(0.1125,0.1225)
+ --(0.047906,0.182028) --cycle\dpicstop
+\dpicdraw (0.096479,0.129709)
+ --(0.0125,0.1675)\dpicstop
+\dpicdraw (0.1625,0.4)
+ --(-0.0375,0.31)\dpicstop
+\dpiclw=0.4bp
+\dpicdraw[dotted](-0.1625,0) rectangle (0.1625,0.5)\dpicstop
+\dpiclw=0.8bp
+\draw (0.1625,-0.05) node[below=-2bp]{\hbox{\sl E}};
+\draw (-0.1625,0.25) node[left=-2bp]{\hbox{\sl B}};
+\draw (0.1625,0.5) node[above=-2bp]{\hbox{\sl C}};
+\draw (0,-0.35) node[below=-2bp]{{\tt bi\_tr(up\_ dimen\_)}};
+\dpicdraw (0.6125,0.05)
+ --(0.6125,0.25)\dpicstop
+\dpicdraw (0.7375,0.15)
+ --(0.6125,0.15)\dpicstop
+\dpicdraw (0.4125,0)
+ --(0.6125,0.09)\dpicstop
+\filldraw[line width=0bp](0.527094,0.082028)
+ --(0.4625,0.0225)
+ --(0.549892,0.031366) --cycle\dpicstop
+\dpicdraw (0.478521,0.029709)
+ --(0.5625,0.0675)\dpicstop
+\dpicdraw (0.4125,0.3)
+ --(0.6125,0.21)\dpicstop
+\dpiclw=0.4bp
+\dpicdraw[dotted](0.4125,0) rectangle (0.7375,0.3)\dpicstop
+\dpiclw=0.8bp
+\draw (0.4125,-0.05) node[below=-2bp]{\hbox{\sl E}};
+\draw (0.7375,0.15) node[right=-2bp]{\hbox{\sl B}};
+\draw (0.4125,0.3) node[above=-2bp]{\hbox{\sl C}};
+\draw (0.575,-0.2) node[below=-2bp]{{\tt bi\_tr(,R)}};
+\dpicdraw (1.3625,0.05)
+ --(1.3625,0.25)\dpicstop
+\dpicdraw (1.2375,0.15)
+ --(1.3625,0.15)\dpicstop
+\dpicdraw (1.5625,0)
+ --(1.3625,0.09)\dpicstop
+\filldraw[line width=0bp](1.499892,0.058634)
+ --(1.4125,0.0675)
+ --(1.477094,0.007972) --cycle\dpicstop
+\dpicdraw (1.5125,0.0225)
+ --(1.428521,0.060291)\dpicstop
+\dpicdraw (1.5625,0.3)
+ --(1.3625,0.21)\dpicstop
+\dpiclw=0.4bp
+\dpicdraw[dotted](1.2375,0) rectangle (1.5625,0.3)\dpicstop
+\dpiclw=0.8bp
+\draw (1.5625,-0.05) node[below=-2bp]{\hbox{\sl E}};
+\draw (1.2375,0.15) node[left=-2bp]{\hbox{\sl B}};
+\draw (1.5625,0.3) node[above=-2bp]{\hbox{\sl C}};
+\draw (1.4,-0.35) node[below=-2bp]{{\tt bi\_tr(,{,}P)}};
+\dpicdraw (2.2625,0.05)
+ --(2.2625,0.25)\dpicstop
+\dpicdraw (2.1375,0.15)
+ --(2.2625,0.15)\dpicstop
+\dpicdraw (2.4625,0)
+ --(2.2625,0.09)\dpicstop
+\filldraw[line width=0bp](2.325108,0.031366)
+ --(2.4125,0.0225)
+ --(2.347906,0.082028) --cycle\dpicstop
+\dpicdraw (2.396479,0.029709)
+ --(2.3125,0.0675)\dpicstop
+\dpicdraw (2.4625,0.3)
+ --(2.2625,0.21)\dpicstop
+\dpicdraw (2.1375,0.15)
+ ..controls (2.1375,0.260457) and (2.227043,0.35)
+ ..(2.3375,0.35)
+ ..controls (2.447957,0.35) and (2.5375,0.260457)
+ ..(2.5375,0.15)\dpicstop
+\dpicdraw (2.5375,0.15)
+ --(2.5375,0.15)\dpicstop
+\dpicdraw (2.5375,0.15)
+ ..controls (2.5375,0.039543) and (2.447957,-0.05)
+ ..(2.3375,-0.05)
+ ..controls (2.227043,-0.05) and (2.1375,0.039543)
+ ..(2.1375,0.15)\dpicstop
+\dpicdraw (2.1375,0.15)
+ --(2.1375,0.15)\dpicstop
+\dpiclw=0.4bp
+\dpicdraw[dotted](2.1375,-0.05) rectangle (2.5375,0.35)\dpicstop
+\dpiclw=0.8bp
+\draw (2.4625,-0.05) node[below=-2bp]{\hbox{\sl E}};
+\draw (2.1375,0.15) node[left=-2bp]{\hbox{\sl B}};
+\draw (2.4625,0.3) node[above=-2bp]{\hbox{\sl C}};
+\draw (2.3375,-0.2) node[below=-2bp]{{\tt bi\_tr(,{,},E)}};
+\dpicdraw (2.9125,0.05)
+ --(2.9125,0.25)\dpicstop
+\dpicdraw (3.1125,0)
+ --(2.9125,0.09)\dpicstop
+\filldraw[line width=0bp](2.975108,0.031366)
+ --(3.0625,0.0225)
+ --(2.997906,0.082028) --cycle\dpicstop
+\dpicdraw (3.046479,0.029709)
+ --(2.9625,0.0675)\dpicstop
+\dpicdraw (3.1125,0.3)
+ --(2.9125,0.21)\dpicstop
+\dpicdraw (2.7875,0.15)
+ --(2.8775,0.15)\dpicstop
+\dpicdraw (2.8775,0.05)
+ --(2.8775,0.25)\dpicstop
+\dpiclw=0.4bp
+\dpicdraw[dotted](2.7875,0) rectangle (3.1125,0.3)\dpicstop
+\dpiclw=0.8bp
+\draw (3.1125,-0.05) node[below=-2bp]{\hbox{\sl E}};
+\draw (2.7875,0.15) node[left=-2bp]{\hbox{\sl G}};
+\draw (3.1125,0.3) node[above=-2bp]{\hbox{\sl C}};
+\draw (2.95,-0.35) node[below=-2bp]{{\tt igbt}};
+\dpicdraw (3.4625,0.15)
+ --(3.4625,0.35)\dpicstop
+\dpicdraw (3.6625,0.1)
+ --(3.4625,0.19)\dpicstop
+\filldraw[line width=0bp](3.525108,0.131366)
+ --(3.6125,0.1225)
+ --(3.547906,0.182028) --cycle\dpicstop
+\dpicdraw (3.596479,0.129709)
+ --(3.5125,0.1675)\dpicstop
+\dpicdraw (3.6625,0.4)
+ --(3.4625,0.31)\dpicstop
+\dpicdraw (3.3525,0.175)
+ --(3.4275,0.175)
+ --(3.4275,0.325)\dpicstop
+\dpicdraw (3.6625,0)
+ --(3.8625,0)\dpicstop
+\dpicdraw (3.6625,0.5)
+ --(3.8625,0.5)\dpicstop
+\dpicdraw (3.8625,0)
+ --(3.8625,0.213916)\dpicstop
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (3.8625,0.213916)
+ --(3.820833,0.213916)
+ --(3.8625,0.28055)
+ --(3.904167,0.213916)
+ --(3.8625,0.213916)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\dpicdraw (3.908218,0.286084)
+ --(3.816782,0.286084)\dpicstop
+\dpicdraw (3.8625,0.286084)
+ --(3.8625,0.5)\dpicstop
+\dpicdraw (3.6625,0)
+ --(3.6625,0.1)\dpicstop
+\dpicdraw (3.6625,0.5)
+ --(3.6625,0.4)\dpicstop
+\dpiclw=0.4bp
+\dpicdraw[dotted](3.3525,0) rectangle (3.913753,0.5)\dpicstop
+\dpiclw=0.8bp
+\draw (3.6625,-0.05) node[below=-2bp]{\hbox{\sl E}};
+\draw (3.3525,0.175) node[left=-2bp]{\hbox{\sl G}};
+\draw (3.6625,0.5) node[above=-2bp]{\hbox{\sl C}};
+\draw (3.633127,-0.2) node[below=-2bp]{{\tt igbt(,{,}LD)}};
+\end{tikzpicture}
+\vspace*{-0.5\baselineskip}
diff --git a/graphics/circuit_macros/doc/Bip.m4 b/graphics/circuit_macros/doc/BipMan.m4
index 121517d16d..121517d16d 100644
--- a/graphics/circuit_macros/doc/Bip.m4
+++ b/graphics/circuit_macros/doc/BipMan.m4
diff --git a/graphics/circuit_macros/doc/CctTable.tex b/graphics/circuit_macros/doc/CctTable.tex
new file mode 100644
index 0000000000..ee442a4f3b
--- /dev/null
+++ b/graphics/circuit_macros/doc/CctTable.tex
@@ -0,0 +1,858 @@
+\begin{tikzpicture}[scale=2.54]
+% dpic version 2020.03.01 option -g for TikZ and PGF 1.01
+\ifx\dpiclw\undefined\newdimen\dpiclw\fi
+\global\def\dpicdraw{\draw[line width=\dpiclw]}
+\global\def\dpicstop{;}
+\dpiclw=0.8bp
+\dpiclw=0.8bp
+\dpicdraw (0,0)
+ --(0.25,0)
+ --(0.270833,0.041667)
+ --(0.3125,-0.041667)
+ --(0.354167,0.041667)
+ --(0.395833,-0.041667)
+ --(0.4375,0.041667)
+ --(0.479167,-0.041667)
+ --(0.5,0)
+ --(0.75,0)\dpicstop
+\draw (0.777674,0) node[right=-2bp]{{\tt resistor}};
+\dpicdraw (2.05,0)
+ --(2.3,0)
+ --(2.341667,0.083333)
+ --(2.383333,0)
+ --(2.425,0.083333)
+ --(2.466667,0)
+ --(2.508333,0.083333)
+ --(2.55,0)
+ --(2.55,0)
+ --(2.8,0)\dpicstop
+\draw (2.827674,0) node[right=-2bp]{\tt resistor(,{,}Q) };
+\dpicdraw (4.1,0)
+ --(4.35,0)\dpicstop
+\dpicdraw (4.6,0)
+ --(4.6,0.05)
+ --(4.35,0.05)
+ --(4.35,-0.05)
+ --(4.6,-0.05)
+ --(4.6,0)\dpicstop
+\dpicdraw (4.6,0)
+ --(4.85,0)\dpicstop
+\draw (4.877674,0) node[right=-2bp]{\shortstack[l]{\tt resistor(,{,}E)\\ {\tt $\equiv$ ebox}}};
+\dpicdraw (0,-0.28)
+ --(0.25,-0.28)\dpicstop
+\dpicdraw (0.5,-0.28)
+ --(0.5,-0.23)
+ --(0.25,-0.23)
+ --(0.25,-0.33)
+ --(0.5,-0.33)
+ --(0.5,-0.28)\dpicstop
+\dpicdraw (0.5,-0.28)
+ --(0.75,-0.28)\dpicstop
+\dpicdraw (0.45,-0.23)
+ --(0.3,-0.33)\dpicstop
+\draw (0.777674,-0.28) node[right=-2bp]{\tt resistor(,{,}ES) };
+\dpicdraw (2.05,-0.28)
+ --(2.3,-0.28)
+ --(2.3,-0.221667)
+ --(2.35,-0.221667)
+ --(2.35,-0.28)
+ --(2.4,-0.28)
+ --(2.4,-0.221667)
+ --(2.45,-0.221667)
+ --(2.45,-0.28)
+ --(2.5,-0.28)
+ --(2.5,-0.221667)
+ --(2.55,-0.221667)
+ --(2.55,-0.28)
+ --(2.55,-0.28)
+ --(2.8,-0.28)\dpicstop
+\draw (2.827674,-0.28) node[right=-2bp]{\tt resistor(,{,}H) };
+\dpicdraw (4.1,-0.28)
+ --(4.35,-0.28)\dpicstop
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!50!black]
+\dpicdraw (4.6,-0.28)
+ --(4.6,-0.23)
+ --(4.35,-0.23)
+ --(4.35,-0.33)
+ --(4.6,-0.33)
+ --(4.6,-0.28)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\dpicdraw (4.6,-0.28)
+ --(4.85,-0.28)\dpicstop
+\draw (4.877674,-0.28) node[right=-2bp]{{\tt ebox(,{,},0.5)}};
+\dpicdraw (0,-0.56)
+ --(0.25,-0.56)\dpicstop
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (0.25,-0.56)
+ --(0.25,-0.6225)
+ --(0.375,-0.56)
+ --(0.25,-0.56)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (0.5,-0.56)
+ --(0.5,-0.4975)
+ --(0.375,-0.56)
+ --(0.5,-0.56)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\dpicdraw (0.5,-0.56)
+ --(0.75,-0.56)\dpicstop
+\draw (0.777674,-0.56) node[right=-2bp]{{\tt resistor(,{,}V)}};
+\dpicdraw (2.05,-0.61)
+ --(2.375,-0.61)
+ --(2.375,-0.41)
+ --(2.425,-0.36)
+ --(2.475,-0.41)
+ --(2.475,-0.61)
+ --(2.8,-0.61)\dpicstop
+\dpicdraw[fill=black](2.425,-0.36) circle (0.007874in)\dpicstop
+\draw (2.827674,-0.61) node[right=-2bp]{{\tt thermocouple}};
+\dpicdraw (4.1,-0.56)
+ --(4.225,-0.56)\dpicstop
+\dpicdraw (4.725,-0.56)
+ --(4.725,-0.41)
+ --(4.225,-0.41)
+ --(4.225,-0.71)
+ --(4.725,-0.71)
+ --(4.725,-0.56)\dpicstop
+\dpicdraw (4.725,-0.56)
+ --(4.85,-0.56)\dpicstop
+\draw (4.877674,-0.56) node[right=-2bp]{{\tt ebox(,0.5,0.3)}};
+\dpicdraw (0,-0.84)
+ --(0.25,-0.84)\dpicstop
+\dpicdraw (0.25,-0.84)
+ --(0.25,-0.845556)\dpicstop
+\dpicdraw (0.25,-0.84)
+ ..controls (0.25,-0.822741) and (0.263991,-0.80875)
+ ..(0.28125,-0.80875)
+ ..controls (0.298509,-0.80875) and (0.3125,-0.822741)
+ ..(0.3125,-0.84)\dpicstop
+\dpicdraw (0.3125,-0.84)
+ --(0.3125,-0.845556)\dpicstop
+\dpicdraw (0.3125,-0.84)
+ ..controls (0.3125,-0.822741) and (0.326491,-0.80875)
+ ..(0.34375,-0.80875)
+ ..controls (0.361009,-0.80875) and (0.375,-0.822741)
+ ..(0.375,-0.84)\dpicstop
+\dpicdraw (0.375,-0.84)
+ --(0.375,-0.845556)\dpicstop
+\dpicdraw (0.375,-0.84)
+ ..controls (0.375,-0.822741) and (0.388991,-0.80875)
+ ..(0.40625,-0.80875)
+ ..controls (0.423509,-0.80875) and (0.4375,-0.822741)
+ ..(0.4375,-0.84)\dpicstop
+\dpicdraw (0.4375,-0.84)
+ --(0.4375,-0.845556)\dpicstop
+\dpicdraw (0.4375,-0.84)
+ ..controls (0.4375,-0.822741) and (0.451491,-0.80875)
+ ..(0.46875,-0.80875)
+ ..controls (0.486009,-0.80875) and (0.5,-0.822741)
+ ..(0.5,-0.84)\dpicstop
+\dpicdraw (0.5,-0.84)
+ --(0.5,-0.845556)\dpicstop
+\dpicdraw (0.5,-0.84)
+ --(0.75,-0.84)\dpicstop
+\draw (0.777674,-0.84) node[right=-2bp]{{\tt inductor}};
+\dpicdraw (2.05,-0.84)
+ --(2.283266,-0.84)\dpicstop
+\dpicdraw[line width=0.4bp](2.283266,-0.84) circle (0.00109in)\dpicstop
+\dpicdraw (2.283266,-0.84)
+ ..controls (2.265746,-0.802428) and (2.298931,-0.761082)
+ ..(2.339404,-0.770054)
+ ..controls (2.379877,-0.779027) and (2.392478,-0.830524)
+ ..(2.360721,-0.857171)\dpicstop
+\dpicdraw[line width=0.4bp](2.360721,-0.857171) circle (0.00109in)\dpicstop
+\dpicdraw (2.360721,-0.857171)
+ ..controls (2.324962,-0.827166) and (2.34618,-0.768869)
+ ..(2.392861,-0.768869)
+ ..controls (2.439541,-0.768869) and (2.460759,-0.827166)
+ ..(2.425,-0.857171)\dpicstop
+\dpicdraw[line width=0.4bp](2.425,-0.857171) circle (0.00109in)\dpicstop
+\dpicdraw (2.425,-0.857171)
+ ..controls (2.389241,-0.827166) and (2.410459,-0.768869)
+ ..(2.457139,-0.768869)
+ ..controls (2.50382,-0.768869) and (2.525038,-0.827166)
+ ..(2.489279,-0.857171)\dpicstop
+\dpicdraw[line width=0.4bp](2.489279,-0.857171) circle (0.00109in)\dpicstop
+\dpicdraw (2.489279,-0.857171)
+ ..controls (2.457522,-0.830524) and (2.470123,-0.779027)
+ ..(2.510596,-0.770054)
+ ..controls (2.551069,-0.761082) and (2.584254,-0.802428)
+ ..(2.566734,-0.84)\dpicstop
+\dpicdraw[line width=0.4bp](2.566734,-0.84) circle (0.00109in)\dpicstop
+\dpicdraw (2.566734,-0.84)
+ --(2.8,-0.84)\dpicstop
+\draw (2.827674,-0.84) node[right=-2bp]{{\tt inductor(,W)}};
+\dpicdraw (4.1,-0.84)
+ --(4.35,-0.84)\dpicstop
+\dpicdraw[line width=0.4bp](4.35,-0.84) circle (0.00109in)\dpicstop
+\dpicdraw (4.35,-0.84)
+ ..controls (4.35,-0.805625) and (4.364625,-0.7775)
+ ..(4.3825,-0.7775)
+ ..controls (4.400375,-0.7775) and (4.415,-0.797188)
+ ..(4.415,-0.82125)
+ ..controls (4.415,-0.845313) and (4.40825,-0.865)
+ ..(4.4,-0.865)
+ ..controls (4.39175,-0.865) and (4.385,-0.845313)
+ ..(4.385,-0.82125)
+ ..controls (4.385,-0.797188) and (4.403,-0.7775)
+ ..(4.425,-0.7775)
+ ..controls (4.447,-0.7775) and (4.465,-0.797188)
+ ..(4.465,-0.82125)
+ ..controls (4.465,-0.845313) and (4.45825,-0.865)
+ ..(4.45,-0.865)
+ ..controls (4.44175,-0.865) and (4.435,-0.845313)
+ ..(4.435,-0.82125)
+ ..controls (4.435,-0.797188) and (4.453,-0.7775)
+ ..(4.475,-0.7775)
+ ..controls (4.497,-0.7775) and (4.515,-0.797188)
+ ..(4.515,-0.82125)
+ ..controls (4.515,-0.845313) and (4.50825,-0.865)
+ ..(4.5,-0.865)
+ ..controls (4.49175,-0.865) and (4.485,-0.845313)
+ ..(4.485,-0.82125)
+ ..controls (4.485,-0.797188) and (4.503,-0.7775)
+ ..(4.525,-0.7775)
+ ..controls (4.547,-0.7775) and (4.565,-0.797188)
+ ..(4.565,-0.82125)
+ ..controls (4.565,-0.845313) and (4.55825,-0.865)
+ ..(4.55,-0.865)
+ ..controls (4.54175,-0.865) and (4.535,-0.845313)
+ ..(4.535,-0.82125)
+ ..controls (4.535,-0.797188) and (4.549625,-0.7775)
+ ..(4.5675,-0.7775)
+ ..controls (4.585375,-0.7775) and (4.6,-0.805625)
+ ..(4.6,-0.84)\dpicstop
+\dpicdraw[line width=0.4bp](4.6,-0.84) circle (0.00109in)\dpicstop
+\dpicdraw (4.6,-0.84)
+ --(4.85,-0.84)\dpicstop
+\draw (4.877674,-0.84) node[right=-2bp]{{\tt inductor(,L)}};
+\dpicdraw (0,-1.12)
+ --(0.25,-1.12)\dpicstop
+\dpicdraw (0.25,-1.12)
+ --(0.25,-1.125556)\dpicstop
+\dpicdraw (0.25,-1.12)
+ ..controls (0.25,-1.102741) and (0.263991,-1.08875)
+ ..(0.28125,-1.08875)
+ ..controls (0.298509,-1.08875) and (0.3125,-1.102741)
+ ..(0.3125,-1.12)\dpicstop
+\dpicdraw (0.3125,-1.12)
+ --(0.3125,-1.125556)\dpicstop
+\dpicdraw (0.3125,-1.12)
+ ..controls (0.3125,-1.102741) and (0.326491,-1.08875)
+ ..(0.34375,-1.08875)
+ ..controls (0.361009,-1.08875) and (0.375,-1.102741)
+ ..(0.375,-1.12)\dpicstop
+\dpicdraw (0.375,-1.12)
+ --(0.375,-1.125556)\dpicstop
+\dpicdraw (0.375,-1.12)
+ ..controls (0.375,-1.102741) and (0.388991,-1.08875)
+ ..(0.40625,-1.08875)
+ ..controls (0.423509,-1.08875) and (0.4375,-1.102741)
+ ..(0.4375,-1.12)\dpicstop
+\dpicdraw (0.4375,-1.12)
+ --(0.4375,-1.125556)\dpicstop
+\dpicdraw (0.4375,-1.12)
+ ..controls (0.4375,-1.102741) and (0.451491,-1.08875)
+ ..(0.46875,-1.08875)
+ ..controls (0.486009,-1.08875) and (0.5,-1.102741)
+ ..(0.5,-1.12)\dpicstop
+\dpicdraw (0.5,-1.12)
+ --(0.5,-1.125556)\dpicstop
+\dpicdraw (0.5,-1.12)
+ --(0.75,-1.12)\dpicstop
+\dpicdraw (0.25,-1.067917)
+ --(0.5,-1.067917)\dpicstop
+\dpicdraw (0.25,-1.036667)
+ --(0.5,-1.036667)\dpicstop
+\draw (0.777674,-1.12) node[right=-2bp]{{\tt inductor(,{,},M)}};
+\dpicdraw (2.05,-1.12)
+ --(2.218988,-1.12)\dpicstop
+\dpicdraw[line width=0.4bp](2.218988,-1.12) circle (0.00109in)\dpicstop
+\dpicdraw (2.218988,-1.12)
+ ..controls (2.201468,-1.082428) and (2.234652,-1.041082)
+ ..(2.275125,-1.050054)
+ ..controls (2.315598,-1.059027) and (2.3282,-1.110524)
+ ..(2.296442,-1.137171)\dpicstop
+\dpicdraw[line width=0.4bp](2.296442,-1.137171) circle (0.00109in)\dpicstop
+\dpicdraw (2.296442,-1.137171)
+ ..controls (2.260683,-1.107166) and (2.281901,-1.048869)
+ ..(2.328582,-1.048869)
+ ..controls (2.375262,-1.048869) and (2.396481,-1.107166)
+ ..(2.360721,-1.137171)\dpicstop
+\dpicdraw[line width=0.4bp](2.360721,-1.137171) circle (0.00109in)\dpicstop
+\dpicdraw (2.360721,-1.137171)
+ ..controls (2.324962,-1.107166) and (2.34618,-1.048869)
+ ..(2.392861,-1.048869)
+ ..controls (2.439541,-1.048869) and (2.460759,-1.107166)
+ ..(2.425,-1.137171)\dpicstop
+\dpicdraw[line width=0.4bp](2.425,-1.137171) circle (0.00109in)\dpicstop
+\dpicdraw (2.425,-1.137171)
+ ..controls (2.389241,-1.107166) and (2.410459,-1.048869)
+ ..(2.457139,-1.048869)
+ ..controls (2.50382,-1.048869) and (2.525038,-1.107166)
+ ..(2.489279,-1.137171)\dpicstop
+\dpicdraw[line width=0.4bp](2.489279,-1.137171) circle (0.00109in)\dpicstop
+\dpicdraw (2.489279,-1.137171)
+ ..controls (2.453519,-1.107166) and (2.474738,-1.048869)
+ ..(2.521418,-1.048869)
+ ..controls (2.568099,-1.048869) and (2.589317,-1.107166)
+ ..(2.553558,-1.137171)\dpicstop
+\dpicdraw[line width=0.4bp](2.553558,-1.137171) circle (0.00109in)\dpicstop
+\dpicdraw (2.553558,-1.137171)
+ ..controls (2.5218,-1.110524) and (2.534402,-1.059027)
+ ..(2.574875,-1.050054)
+ ..controls (2.615348,-1.041082) and (2.648532,-1.082428)
+ ..(2.631012,-1.12)\dpicstop
+\dpicdraw[line width=0.4bp](2.631012,-1.12) circle (0.00109in)\dpicstop
+\dpicdraw (2.631012,-1.12)
+ --(2.8,-1.12)\dpicstop
+\dpicdraw[dash pattern=on 0.032415in off 0.032415in](2.214303,-1.028036)
+ --(2.635697,-1.028036)\dpicstop
+\dpicdraw[dash pattern=on 0.032415in off 0.032415in](2.214303,-0.996786)
+ --(2.635697,-0.996786)\dpicstop
+\draw (2.827674,-1.12) node[right=-2bp]{{\tt inductor(,W,6,P)}};
+\dpicdraw (4.3,-1.12)
+ --(4.51875,-1.12)\dpicstop
+\dpicdraw (4.553969,-1.08875)
+ --(4.51875,-1.08875)
+ --(4.51875,-1.15125)
+ --(4.553969,-1.15125)\dpicstop
+\dpicdraw (4.675,-1.12) circle (0.049213in)\dpicstop
+\draw (4.675,-1.12) node{G};
+\dpicdraw (4.796031,-1.08875)
+ --(4.83125,-1.08875)
+ --(4.83125,-1.15125)
+ --(4.796031,-1.15125)\dpicstop
+\dpicdraw (4.83125,-1.12)
+ --(5.05,-1.12)\dpicstop
+\draw (5.077674,-1.12) node[right=-2bp]{{\tt ttmotor(,G)}};
+\dpicdraw (0,-1.4)
+ --(0.35,-1.4)\dpicstop
+\dpicdraw (0.35,-1.483333)
+ --(0.35,-1.316667)\dpicstop
+\dpicdraw (0.4,-1.483333)
+ --(0.4,-1.316667)\dpicstop
+\dpicdraw (0.4,-1.4)
+ --(0.75,-1.4)\dpicstop
+\draw (0.777674,-1.4) node[right=-2bp]{{\tt capacitor}};
+\dpicdraw (2.05,-1.4)
+ --(2.4,-1.4)\dpicstop
+\dpicdraw (2.4,-1.4625)
+ --(2.4,-1.3375)\dpicstop
+\dpicdraw (2.45,-1.4625)
+ ..controls (2.427671,-1.423825) and (2.427671,-1.376175)
+ ..(2.45,-1.3375)\dpicstop
+\dpicdraw (2.433253,-1.4)
+ --(2.8,-1.4)\dpicstop
+\draw (2.827674,-1.4) node[right=-2bp]{{\tt capacitor(,C)}};
+\dpicdraw (4.1,-1.4)
+ --(4.45,-1.4)\dpicstop
+\dpicdraw (4.45,-1.4625)
+ --(4.45,-1.3375)\dpicstop
+\dpicdraw (4.5,-1.4625)
+ ..controls (4.477671,-1.423825) and (4.477671,-1.376175)
+ ..(4.5,-1.3375)\dpicstop
+\dpicdraw (4.483253,-1.4)
+ --(4.85,-1.4)\dpicstop
+\dpicdraw[line width=0.5bp](4.429167,-1.441667)
+ --(4.3875,-1.441667)\dpicstop
+\dpicdraw[line width=0.5bp](4.408333,-1.420833)
+ --(4.408333,-1.4625)\dpicstop
+\draw (4.877674,-1.4) node[right=-2bp]{{\tt capacitor(,C+)}};
+\dpicdraw (0,-1.68)
+ --(0.35,-1.68)\dpicstop
+\dpicdraw (0.4,-1.7425)
+ --(0.35,-1.7425)
+ --(0.35,-1.6175)
+ --(0.4,-1.6175)\dpicstop
+\dpicdraw (0.383333,-1.726875)
+ --(0.383333,-1.633125)\dpicstop
+\dpicdraw (0.383333,-1.68)
+ --(0.75,-1.68)\dpicstop
+\draw (0.777674,-1.68) node[right=-2bp]{{\tt capacitor(,P)}};
+\dpicdraw (2.05,-1.68)
+ --(2.375,-1.68)\dpicstop
+\dpiclw=0.4bp
+\dpicdraw (2.40625,-1.68)
+ --(2.40625,-1.63)
+ --(2.375,-1.63)
+ --(2.375,-1.73)
+ --(2.40625,-1.73)
+ --(2.40625,-1.68)\dpicstop
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (2.44375,-1.68)
+ --(2.44375,-1.63)
+ --(2.475,-1.63)
+ --(2.475,-1.73)
+ --(2.44375,-1.73)
+ --(2.44375,-1.68)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\dpiclw=0.8bp
+\dpicdraw (2.475,-1.68)
+ --(2.8,-1.68)\dpicstop
+\draw (2.827674,-1.68) node[right=-2bp]{{\tt capacitor(,E)}};
+\dpicdraw (4.1,-1.68)
+ --(4.425,-1.68)\dpicstop
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (4.45625,-1.68)
+ --(4.45625,-1.63)
+ --(4.425,-1.63)
+ --(4.425,-1.73)
+ --(4.45625,-1.73)
+ --(4.45625,-1.68)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (4.49375,-1.68)
+ --(4.49375,-1.63)
+ --(4.525,-1.63)
+ --(4.525,-1.73)
+ --(4.49375,-1.73)
+ --(4.49375,-1.68)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\dpicdraw (4.525,-1.68)
+ --(4.85,-1.68)\dpicstop
+\draw (4.877674,-1.68) node[right=-2bp]{{\tt capacitor(,K)}};
+\dpicdraw (0,-1.93)
+ --(0.325,-1.93)\dpicstop
+\dpiclw=0.4bp
+\dpicdraw (0.35625,-1.93)
+ --(0.35625,-1.88)
+ --(0.325,-1.88)
+ --(0.325,-1.98)
+ --(0.35625,-1.98)
+ --(0.35625,-1.93)\dpicstop
+\dpicdraw (0.39375,-1.93)
+ --(0.39375,-1.88)
+ --(0.425,-1.88)
+ --(0.425,-1.98)
+ --(0.39375,-1.98)
+ --(0.39375,-1.93)\dpicstop
+\dpiclw=0.8bp
+\dpicdraw (0.425,-1.93)
+ --(0.75,-1.93)\dpicstop
+\draw (0.777674,-1.93) node[right=-2bp]{{\tt capacitor(,M)}};
+\dpicdraw (2.05,-1.93)
+ --(2.391667,-1.93)\dpicstop
+\dpicdraw (2.422917,-1.93)
+ --(2.422917,-1.88)
+ --(2.391667,-1.88)
+ --(2.391667,-1.98)
+ --(2.422917,-1.98)
+ --(2.422917,-1.93)\dpicstop
+\dpicdraw (2.458333,-1.88)
+ --(2.458333,-1.98)\dpicstop
+\dpicdraw (2.458333,-1.93)
+ --(2.8,-1.93)\dpicstop
+\draw (2.827674,-1.93) node[right=-2bp]{{\tt capacitor(,N)}};
+\dpicdraw (4.1,-1.93)
+ --(4.433333,-1.93)\dpicstop
+\dpicdraw (4.433333,-1.971667)
+ --(4.433333,-1.888333)\dpicstop
+\dpicdraw (4.454167,-1.93)
+ --(4.454167,-1.8675)
+ --(4.495833,-1.8675)
+ --(4.495833,-1.9925)
+ --(4.454167,-1.9925)
+ --(4.454167,-1.93)\dpicstop
+\dpicdraw (4.516667,-1.971667)
+ --(4.516667,-1.888333)\dpicstop
+\dpicdraw (4.516667,-1.93)
+ --(4.85,-1.93)\dpicstop
+\draw (4.877674,-1.93) node[right=-2bp]{{\tt xtal}};
+\dpicdraw (0,-2.18)
+ --(0.25,-2.18)\dpicstop
+\dpicdraw (0.5,-2.18)
+ --(0.5,-2.13)
+ --(0.25,-2.13)
+ --(0.25,-2.23)
+ --(0.5,-2.23)
+ --(0.5,-2.18)\dpicstop
+\dpicdraw (0.25,-2.18)
+ --(0.29,-2.18)
+ --(0.29,-2.155)
+ --(0.33,-2.155)
+ --(0.33,-2.205)
+ --(0.37,-2.205)
+ --(0.37,-2.155)
+ --(0.41,-2.155)
+ --(0.41,-2.18)
+ --(0.45,-2.18)\dpicstop
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (0.5125,-2.18)
+ --(0.5125,-2.13)
+ --(0.45,-2.13)
+ --(0.45,-2.23)
+ --(0.5125,-2.23)
+ --(0.5125,-2.18)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\dpicdraw (0.5125,-2.18)
+ --(0.7625,-2.18)\dpicstop
+\draw (0.777674,-2.18) node[right=-2bp]{{\tt memristor}};
+\dpicdraw (2.05,-2.18)
+ --(2.3,-2.18)\dpicstop
+\dpicdraw (2.55,-2.18)
+ --(2.55,-2.13)
+ --(2.3,-2.13)
+ --(2.3,-2.23)
+ --(2.55,-2.23)
+ --(2.55,-2.18)\dpicstop
+\dpicdraw (2.3625,-2.13)
+ --(2.3625,-2.23)\dpicstop
+\dpicdraw (2.425,-2.13)
+ --(2.425,-2.23)\dpicstop
+\dpicdraw (2.4875,-2.13)
+ --(2.4875,-2.23)\dpicstop
+\dpicdraw (2.55,-2.18)
+ --(2.8,-2.18)\dpicstop
+\draw (2.827674,-2.18) node[right=-2bp]{{\tt heater}};
+\dpicdraw (4.6625,-2.18)
+ --(4.85,-2.18)\dpicstop
+\dpicdraw (4.1,-2.18)
+ --(4.308333,-2.18)\dpicstop
+\dpicdraw[line width=0.4bp](4.308333,-2.18) circle (0.00109in)\dpicstop
+\dpicdraw (4.308333,-2.221667)
+ --(4.641667,-2.221667)\dpicstop
+\dpicdraw (4.641667,-2.221667)
+ ..controls (4.653173,-2.221667) and (4.6625,-2.203012)
+ ..(4.6625,-2.18)
+ ..controls (4.6625,-2.156988) and (4.653173,-2.138333)
+ ..(4.641667,-2.138333)\dpicstop
+\dpicdraw (4.641667,-2.138333)
+ --(4.308333,-2.138333)\dpicstop
+\dpicdraw (4.308333,-2.138333)
+ ..controls (4.296827,-2.138333) and (4.2875,-2.156988)
+ ..(4.2875,-2.18)
+ ..controls (4.2875,-2.203012) and (4.296827,-2.221667)
+ ..(4.308333,-2.221667)
+ ..controls (4.31984,-2.221667) and (4.329167,-2.203012)
+ ..(4.329167,-2.18)
+ ..controls (4.329167,-2.156988) and (4.31984,-2.138333)
+ ..(4.308333,-2.138333)\dpicstop
+\draw (4.877674,-2.18) node[right=-2bp]{{\tt tline}};
+\dpicdraw[fill=black](0,-2.38) circle (0.007874in)\dpicstop
+\dpicdraw[fill=black](0.75,-2.38) circle (0.007874in)\dpicstop
+\draw (0.777674,-2.38) node[right=-2bp]{{\tt gap}};
+\dpicdraw[fill=black](2.05,-2.43) circle (0.007874in)\dpicstop
+\dpicdraw[fill=black](2.8,-2.43) circle (0.007874in)\dpicstop
+\filldraw[line width=0bp](2.64,-2.455)
+ --(2.74,-2.43)
+ --(2.64,-2.405) --cycle\dpicstop
+\dpicdraw (2.11,-2.43)
+ --(2.717094,-2.43)\dpicstop
+\draw (2.827674,-2.43) node[right=-2bp]{{\tt gap(,{,}A)}};
+\dpicdraw (4.1,-2.43)
+ --(4.85,-2.43)\dpicstop
+\filldraw[line width=0bp](4.425,-2.455)
+ --(4.525,-2.43)
+ --(4.425,-2.405) --cycle\dpicstop
+\dpicdraw (4.425,-2.43)
+ --(4.502094,-2.43)\dpicstop
+\draw (4.877674,-2.43) node[right=-2bp]{{\tt arrowline}};
+\dpicdraw (0,-2.68)
+ --(0.325,-2.68)
+ --(0.325,-2.52375)\dpicstop
+\dpicdraw (0.325,-2.52375)
+ ..controls (0.325,-2.489264) and (0.339567,-2.46125)
+ ..(0.3575,-2.46125)
+ ..controls (0.375433,-2.46125) and (0.39,-2.480859)
+ ..(0.39,-2.505)
+ ..controls (0.39,-2.529141) and (0.383277,-2.54875)
+ ..(0.375,-2.54875)
+ ..controls (0.366723,-2.54875) and (0.36,-2.529141)
+ ..(0.36,-2.505)
+ ..controls (0.36,-2.480859) and (0.374567,-2.46125)
+ ..(0.3925,-2.46125)
+ ..controls (0.410433,-2.46125) and (0.425,-2.489264)
+ ..(0.425,-2.52375)\dpicstop
+\dpicdraw (0.425,-2.52375)
+ --(0.425,-2.68)
+ --(0.75,-2.68)\dpicstop
+\dpicdraw (0.375,-2.52375) circle (0.03937in)\dpicstop
+\draw (0.777674,-2.68) node[right=-2bp]{{\tt lamp}};
+\dpicdraw (2.05,-2.68)
+ --(2.225,-2.68)\dpicstop
+\dpicdraw (2.625,-2.68)
+ ..controls (2.624554,-2.672786) and (2.623417,-2.664086)
+ ..(2.622464,-2.660589)
+ ..controls (2.621511,-2.657091) and (2.619497,-2.651585)
+ ..(2.617969,-2.648304)
+ ..controls (2.616442,-2.645022) and (2.613514,-2.639948)
+ ..(2.611437,-2.636982)
+ ..controls (2.609359,-2.634016) and (2.605593,-2.629528)
+ ..(2.603033,-2.626967)
+ ..controls (2.600472,-2.624407) and (2.595984,-2.620641)
+ ..(2.593018,-2.618563)
+ ..controls (2.590052,-2.616486) and (2.584978,-2.613558)
+ ..(2.581696,-2.612031)
+ ..controls (2.578415,-2.610503) and (2.572909,-2.608489)
+ ..(2.569411,-2.607536)
+ ..controls (2.565914,-2.606583) and (2.560143,-2.605628)
+ ..(2.556537,-2.605404)
+ ..controls (2.55293,-2.605181) and (2.493973,-2.605)
+ ..(2.425,-2.605)
+ ..controls (2.356027,-2.605) and (2.29707,-2.605181)
+ ..(2.293463,-2.605404)
+ ..controls (2.289857,-2.605628) and (2.284086,-2.606583)
+ ..(2.280589,-2.607536)
+ ..controls (2.277091,-2.608489) and (2.271585,-2.610503)
+ ..(2.268304,-2.612031)
+ ..controls (2.265022,-2.613558) and (2.259948,-2.616486)
+ ..(2.256982,-2.618563)
+ ..controls (2.254016,-2.620641) and (2.249528,-2.624407)
+ ..(2.246967,-2.626967)
+ ..controls (2.244407,-2.629528) and (2.240641,-2.634016)
+ ..(2.238563,-2.636982)
+ ..controls (2.236486,-2.639948) and (2.233558,-2.645022)
+ ..(2.232031,-2.648304)
+ ..controls (2.230503,-2.651585) and (2.228489,-2.657091)
+ ..(2.227536,-2.660589)
+ ..controls (2.226583,-2.664086) and (2.225628,-2.669857)
+ ..(2.225404,-2.673463)
+ ..controls (2.225181,-2.67707) and (2.225,-2.68)
+ ..(2.225,-2.68)
+ ..controls (2.225,-2.68) and (2.225181,-2.68293)
+ ..(2.225404,-2.686537)
+ ..controls (2.225628,-2.690143) and (2.226583,-2.695914)
+ ..(2.227536,-2.699411)
+ ..controls (2.228489,-2.702909) and (2.230503,-2.708415)
+ ..(2.232031,-2.711696)
+ ..controls (2.233558,-2.714978) and (2.236486,-2.720052)
+ ..(2.238563,-2.723018)
+ ..controls (2.240641,-2.725984) and (2.244407,-2.730472)
+ ..(2.246967,-2.733033)
+ ..controls (2.249528,-2.735593) and (2.254016,-2.739359)
+ ..(2.256982,-2.741437)
+ ..controls (2.259948,-2.743514) and (2.265022,-2.746442)
+ ..(2.268304,-2.747969)
+ ..controls (2.271585,-2.749497) and (2.277091,-2.751511)
+ ..(2.280589,-2.752464)
+ ..controls (2.284086,-2.753417) and (2.289857,-2.754372)
+ ..(2.293463,-2.754596)
+ ..controls (2.29707,-2.754819) and (2.356027,-2.755)
+ ..(2.425,-2.755)
+ ..controls (2.493973,-2.755) and (2.55293,-2.754819)
+ ..(2.556537,-2.754596)
+ ..controls (2.560143,-2.754372) and (2.565914,-2.753417)
+ ..(2.569411,-2.752464)
+ ..controls (2.572909,-2.751511) and (2.578415,-2.749497)
+ ..(2.581696,-2.747969)
+ ..controls (2.584978,-2.746442) and (2.590052,-2.743514)
+ ..(2.593018,-2.741437)
+ ..controls (2.595984,-2.739359) and (2.600472,-2.735593)
+ ..(2.603033,-2.733033)
+ ..controls (2.605593,-2.730472) and (2.609359,-2.725984)
+ ..(2.611437,-2.723018)
+ ..controls (2.613514,-2.720052) and (2.616442,-2.714978)
+ ..(2.617969,-2.711696)
+ ..controls (2.619497,-2.708415) and (2.621511,-2.702909)
+ ..(2.622464,-2.699411)
+ ..controls (2.623417,-2.695914) and (2.624372,-2.690143)
+ ..(2.624596,-2.686537)
+ ..controls (2.624819,-2.68293) and (2.625,-2.68)
+ ..(2.625,-2.68)\dpicstop
+\dpicdraw (2.225,-2.68)
+ --(2.305,-2.68)
+ --(2.465,-2.63)\dpicstop
+\dpicdraw (2.425,-2.68)
+ --(2.625,-2.68)\dpicstop
+\dpicdraw (2.625,-2.68)
+ --(2.8,-2.68)\dpicstop
+\draw (2.827674,-2.68) node[right=-2bp]{{\tt reed}};
+\dpicdraw (4.1,-2.68)
+ --(4.275,-2.68)\dpicstop
+\fill[fill=white!90!black,line width=0bp](4.675,-2.68)
+ ..controls (4.674554,-2.672786) and (4.673417,-2.664086)
+ ..(4.672464,-2.660589)
+ ..controls (4.671511,-2.657091) and (4.669497,-2.651585)
+ ..(4.667969,-2.648304)
+ ..controls (4.666442,-2.645022) and (4.663514,-2.639948)
+ ..(4.661437,-2.636982)
+ ..controls (4.659359,-2.634016) and (4.655593,-2.629528)
+ ..(4.653033,-2.626967)
+ ..controls (4.650472,-2.624407) and (4.645984,-2.620641)
+ ..(4.643018,-2.618563)
+ ..controls (4.640052,-2.616486) and (4.634978,-2.613558)
+ ..(4.631696,-2.612031)
+ ..controls (4.628415,-2.610503) and (4.622909,-2.608489)
+ ..(4.619411,-2.607536)
+ ..controls (4.615914,-2.606583) and (4.610143,-2.605628)
+ ..(4.606537,-2.605404)
+ ..controls (4.60293,-2.605181) and (4.543973,-2.605)
+ ..(4.475,-2.605)
+ ..controls (4.406027,-2.605) and (4.34707,-2.605181)
+ ..(4.343463,-2.605404)
+ ..controls (4.339857,-2.605628) and (4.334086,-2.606583)
+ ..(4.330589,-2.607536)
+ ..controls (4.327091,-2.608489) and (4.321585,-2.610503)
+ ..(4.318304,-2.612031)
+ ..controls (4.315022,-2.613558) and (4.309948,-2.616486)
+ ..(4.306982,-2.618563)
+ ..controls (4.304016,-2.620641) and (4.299528,-2.624407)
+ ..(4.296967,-2.626967)
+ ..controls (4.294407,-2.629528) and (4.290641,-2.634016)
+ ..(4.288563,-2.636982)
+ ..controls (4.286486,-2.639948) and (4.283558,-2.645022)
+ ..(4.282031,-2.648304)
+ ..controls (4.280503,-2.651585) and (4.278489,-2.657091)
+ ..(4.277536,-2.660589)
+ ..controls (4.276583,-2.664086) and (4.275628,-2.669857)
+ ..(4.275404,-2.673463)
+ ..controls (4.275181,-2.67707) and (4.275,-2.68)
+ ..(4.275,-2.68)
+ ..controls (4.275,-2.68) and (4.275181,-2.68293)
+ ..(4.275404,-2.686537)
+ ..controls (4.275628,-2.690143) and (4.276583,-2.695914)
+ ..(4.277536,-2.699411)
+ ..controls (4.278489,-2.702909) and (4.280503,-2.708415)
+ ..(4.282031,-2.711696)
+ ..controls (4.283558,-2.714978) and (4.286486,-2.720052)
+ ..(4.288563,-2.723018)
+ ..controls (4.290641,-2.725984) and (4.294407,-2.730472)
+ ..(4.296967,-2.733033)
+ ..controls (4.299528,-2.735593) and (4.304016,-2.739359)
+ ..(4.306982,-2.741437)
+ ..controls (4.309948,-2.743514) and (4.315022,-2.746442)
+ ..(4.318304,-2.747969)
+ ..controls (4.321585,-2.749497) and (4.327091,-2.751511)
+ ..(4.330589,-2.752464)
+ ..controls (4.334086,-2.753417) and (4.339857,-2.754372)
+ ..(4.343463,-2.754596)
+ ..controls (4.34707,-2.754819) and (4.406027,-2.755)
+ ..(4.475,-2.755)
+ ..controls (4.543973,-2.755) and (4.60293,-2.754819)
+ ..(4.606537,-2.754596)
+ ..controls (4.610143,-2.754372) and (4.615914,-2.753417)
+ ..(4.619411,-2.752464)
+ ..controls (4.622909,-2.751511) and (4.628415,-2.749497)
+ ..(4.631696,-2.747969)
+ ..controls (4.634978,-2.746442) and (4.640052,-2.743514)
+ ..(4.643018,-2.741437)
+ ..controls (4.645984,-2.739359) and (4.650472,-2.735593)
+ ..(4.653033,-2.733033)
+ ..controls (4.655593,-2.730472) and (4.659359,-2.725984)
+ ..(4.661437,-2.723018)
+ ..controls (4.663514,-2.720052) and (4.666442,-2.714978)
+ ..(4.667969,-2.711696)
+ ..controls (4.669497,-2.708415) and (4.671511,-2.702909)
+ ..(4.672464,-2.699411)
+ ..controls (4.673417,-2.695914) and (4.674372,-2.690143)
+ ..(4.674596,-2.686537)
+ ..controls (4.674819,-2.68293) and (4.675,-2.68)
+ ..(4.675,-2.68) --cycle\dpicstop
+\dpicdraw (4.675,-2.68)
+ ..controls (4.674554,-2.672786) and (4.673417,-2.664086)
+ ..(4.672464,-2.660589)
+ ..controls (4.671511,-2.657091) and (4.669497,-2.651585)
+ ..(4.667969,-2.648304)
+ ..controls (4.666442,-2.645022) and (4.663514,-2.639948)
+ ..(4.661437,-2.636982)
+ ..controls (4.659359,-2.634016) and (4.655593,-2.629528)
+ ..(4.653033,-2.626967)
+ ..controls (4.650472,-2.624407) and (4.645984,-2.620641)
+ ..(4.643018,-2.618563)
+ ..controls (4.640052,-2.616486) and (4.634978,-2.613558)
+ ..(4.631696,-2.612031)
+ ..controls (4.628415,-2.610503) and (4.622909,-2.608489)
+ ..(4.619411,-2.607536)
+ ..controls (4.615914,-2.606583) and (4.610143,-2.605628)
+ ..(4.606537,-2.605404)
+ ..controls (4.60293,-2.605181) and (4.543973,-2.605)
+ ..(4.475,-2.605)
+ ..controls (4.406027,-2.605) and (4.34707,-2.605181)
+ ..(4.343463,-2.605404)
+ ..controls (4.339857,-2.605628) and (4.334086,-2.606583)
+ ..(4.330589,-2.607536)
+ ..controls (4.327091,-2.608489) and (4.321585,-2.610503)
+ ..(4.318304,-2.612031)
+ ..controls (4.315022,-2.613558) and (4.309948,-2.616486)
+ ..(4.306982,-2.618563)
+ ..controls (4.304016,-2.620641) and (4.299528,-2.624407)
+ ..(4.296967,-2.626967)
+ ..controls (4.294407,-2.629528) and (4.290641,-2.634016)
+ ..(4.288563,-2.636982)
+ ..controls (4.286486,-2.639948) and (4.283558,-2.645022)
+ ..(4.282031,-2.648304)
+ ..controls (4.280503,-2.651585) and (4.278489,-2.657091)
+ ..(4.277536,-2.660589)
+ ..controls (4.276583,-2.664086) and (4.275628,-2.669857)
+ ..(4.275404,-2.673463)
+ ..controls (4.275181,-2.67707) and (4.275,-2.68)
+ ..(4.275,-2.68)
+ ..controls (4.275,-2.68) and (4.275181,-2.68293)
+ ..(4.275404,-2.686537)
+ ..controls (4.275628,-2.690143) and (4.276583,-2.695914)
+ ..(4.277536,-2.699411)
+ ..controls (4.278489,-2.702909) and (4.280503,-2.708415)
+ ..(4.282031,-2.711696)
+ ..controls (4.283558,-2.714978) and (4.286486,-2.720052)
+ ..(4.288563,-2.723018)
+ ..controls (4.290641,-2.725984) and (4.294407,-2.730472)
+ ..(4.296967,-2.733033)
+ ..controls (4.299528,-2.735593) and (4.304016,-2.739359)
+ ..(4.306982,-2.741437)
+ ..controls (4.309948,-2.743514) and (4.315022,-2.746442)
+ ..(4.318304,-2.747969)
+ ..controls (4.321585,-2.749497) and (4.327091,-2.751511)
+ ..(4.330589,-2.752464)
+ ..controls (4.334086,-2.753417) and (4.339857,-2.754372)
+ ..(4.343463,-2.754596)
+ ..controls (4.34707,-2.754819) and (4.406027,-2.755)
+ ..(4.475,-2.755)
+ ..controls (4.543973,-2.755) and (4.60293,-2.754819)
+ ..(4.606537,-2.754596)
+ ..controls (4.610143,-2.754372) and (4.615914,-2.753417)
+ ..(4.619411,-2.752464)
+ ..controls (4.622909,-2.751511) and (4.628415,-2.749497)
+ ..(4.631696,-2.747969)
+ ..controls (4.634978,-2.746442) and (4.640052,-2.743514)
+ ..(4.643018,-2.741437)
+ ..controls (4.645984,-2.739359) and (4.650472,-2.735593)
+ ..(4.653033,-2.733033)
+ ..controls (4.655593,-2.730472) and (4.659359,-2.725984)
+ ..(4.661437,-2.723018)
+ ..controls (4.663514,-2.720052) and (4.666442,-2.714978)
+ ..(4.667969,-2.711696)
+ ..controls (4.669497,-2.708415) and (4.671511,-2.702909)
+ ..(4.672464,-2.699411)
+ ..controls (4.673417,-2.695914) and (4.674372,-2.690143)
+ ..(4.674596,-2.686537)
+ ..controls (4.674819,-2.68293) and (4.675,-2.68)
+ ..(4.675,-2.68)\dpicstop
+\dpicdraw (4.275,-2.68)
+ --(4.355,-2.68)
+ --(4.515,-2.691111)\dpicstop
+\dpicdraw (4.475,-2.68)
+ --(4.675,-2.68)\dpicstop
+\dpicdraw (4.675,-2.68)
+ --(4.85,-2.68)\dpicstop
+\draw (4.877674,-2.68) node[right=-2bp]{{\tt reed(,{,},fill\_(0.9),CR)}};
+\dpicdraw (0,-2.93)
+ --(0.25,-2.93)\dpicstop
+\dpicdraw (0.5,-2.93)
+ --(0.5,-2.88)
+ --(0.25,-2.88)
+ --(0.25,-2.98)
+ --(0.5,-2.98)
+ --(0.5,-2.93)\dpicstop
+\dpicdraw (0.25,-2.98)
+ --(0.333333,-2.93)
+ --(0.25,-2.88)\dpicstop
+\dpicdraw (0.5,-2.93)
+ --(0.75,-2.93)\dpicstop
+\draw (0.777674,-2.93) node[right=-2bp]{{\tt pvcell}};
+\end{tikzpicture}
+\vspace*{-0.5\baselineskip}
diff --git a/graphics/circuit_macros/doc/CctTable.m4 b/graphics/circuit_macros/doc/CctTableMan.m4
index f7e47d0758..f7e47d0758 100644
--- a/graphics/circuit_macros/doc/CctTable.m4
+++ b/graphics/circuit_macros/doc/CctTableMan.m4
diff --git a/graphics/circuit_macros/doc/Circuit_macros.pdf b/graphics/circuit_macros/doc/Circuit_macros.pdf
index 302f862d93..78a14a9ca9 100644
--- a/graphics/circuit_macros/doc/Circuit_macros.pdf
+++ b/graphics/circuit_macros/doc/Circuit_macros.pdf
Binary files differ
diff --git a/graphics/circuit_macros/doc/Conn.tex b/graphics/circuit_macros/doc/Conn.tex
new file mode 100644
index 0000000000..23d31e0e2b
--- /dev/null
+++ b/graphics/circuit_macros/doc/Conn.tex
@@ -0,0 +1,178 @@
+\begin{tikzpicture}[scale=2.54]
+% dpic version 2020.03.01 option -g for TikZ and PGF 1.01
+\ifx\dpiclw\undefined\newdimen\dpiclw\fi
+\global\def\dpicdraw{\draw[line width=\dpiclw]}
+\global\def\dpicstop{;}
+\dpiclw=0.8bp
+\dpiclw=0.8bp
+{\sf
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!100!black]
+\dpicdraw (0.502778,0.324448)
+ --(0.377778,0.324448)
+ --(0.377778,-0.275552)
+ --(0.627778,-0.275552)
+ --(0.627778,0.324448)
+ --(0.502778,0.324448)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\dpicdraw (0.627778,-0.125552)
+ --(0.377778,-0.125552)\dpicstop
+\dpicdraw (0.627778,0.024448)
+ --(0.377778,0.024448)\dpicstop
+\dpicdraw (0.627778,0.174448)
+ --(0.377778,0.174448)\dpicstop
+\dpicdraw[fill=white](0.502778,-0.200552) circle (0.007874in)\dpicstop
+\dpicdraw[fill=white](0.502778,-0.050552) circle (0.007874in)\dpicstop
+\dpicdraw[fill=white](0.502778,0.099448) circle (0.007874in)\dpicstop
+\dpicdraw[fill=white](0.502778,0.249448) circle (0.007874in)\dpicstop
+\dpiclw=0.4bp
+\filldraw[line width=0bp](0.311111,-0.220552)
+ --(0.377778,-0.200552)
+ --(0.311111,-0.180552) --cycle\dpicstop
+\dpicdraw (0.368111,-0.200552)
+ --(0.227778,-0.200552)\dpicstop
+\draw (0.227778,-0.200552) node[left=-2bp]{L1};
+\filldraw[line width=0bp](0.311111,0.229448)
+ --(0.377778,0.249448)
+ --(0.311111,0.269448) --cycle\dpicstop
+\dpicdraw (0.368111,0.249448)
+ --(0.227778,0.249448)\dpicstop
+\draw (0.227778,0.249448) node[left=-2bp]{L4};
+\draw (0.077778,0.044448) node{$\vdots$};
+\filldraw[line width=0bp](0.694444,-0.180552)
+ --(0.627778,-0.200552)
+ --(0.694444,-0.220552) --cycle\dpicstop
+\dpicdraw (0.637445,-0.200552)
+ --(0.877778,-0.200552)\dpicstop
+\draw (0.877778,-0.200552) node[right=-2bp]{R1};
+\filldraw[line width=0bp](0.694444,0.269448)
+ --(0.627778,0.249448)
+ --(0.694444,0.229448) --cycle\dpicstop
+\dpicdraw (0.637445,0.249448)
+ --(0.877778,0.249448)\dpicstop
+\draw (0.877778,0.249448) node[right=-2bp]{R4};
+\draw (1.027778,0.044448) node{$\vdots$};
+\filldraw[line width=0bp](0.547154,-0.146931)
+ --(0.502778,-0.200552)
+ --(0.569342,-0.180213) --cycle\dpicstop
+\dpicdraw (0.510821,-0.195189)
+ --(0.652778,-0.100552)\dpicstop
+\draw (0.652778,-0.100552) node[right=-2bp]{T1};
+\filldraw[line width=0bp](0.547154,0.303069)
+ --(0.502778,0.249448)
+ --(0.569342,0.269787) --cycle\dpicstop
+\dpicdraw (0.510821,0.254811)
+ --(0.652778,0.349448)\dpicstop
+\draw (0.652778,0.349448) node[right=-2bp]{T4};
+\draw (0.802778,0.144448) node{$\vdots$};
+\dpiclw=0.8bp
+\draw (0.502778,-0.425552) node(CS1){\tt tstrip(U)};
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!100!black]
+\dpicdraw (2.327778,-0.000552)
+ --(2.327778,0.124448)
+ --(1.327778,0.124448)
+ --(1.327778,-0.125552)
+ --(2.327778,-0.125552)
+ --(2.327778,-0.000552)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\dpicdraw[fill=black](1.427778,-0.000552) circle (0.007874in)\dpicstop
+\dpicdraw[fill=black](1.627778,-0.000552) circle (0.007874in)\dpicstop
+\dpicdraw[fill=black](1.827778,-0.000552) circle (0.007874in)\dpicstop
+\dpicdraw[fill=black](2.027778,-0.000552) circle (0.007874in)\dpicstop
+\dpicdraw[fill=black](2.227778,-0.000552) circle (0.007874in)\dpicstop
+\dpiclw=0.4bp
+\filldraw[line width=0bp](1.439703,0.068021)
+ --(1.427778,-0.000552)
+ --(1.475481,0.050132) --cycle\dpicstop
+\dpicdraw (1.432101,0.008095)
+ --(1.527778,0.199448)\dpicstop
+\draw (1.527778,0.199448) node[above=-2bp]{T1};
+\filldraw[line width=0bp](2.239703,0.068021)
+ --(2.227778,-0.000552)
+ --(2.275481,0.050132) --cycle\dpicstop
+\dpicdraw (2.232101,0.008095)
+ --(2.327778,0.199448)\dpicstop
+\draw (2.327778,0.199448) node[above=-2bp]{T5};
+\draw (1.927778,0.199448) node[above=-2bp]{$\cdots$};
+\draw (1.227778,-0.325552) node(CS2){\shortstack{\rlap{\hbox to 2bp{}\tt tstrip(R,5,}\\%
+\rlap{\hbox to 2bp{}\tt $\;\;$DO;wid=1.0;ht=0.25)}}};
+}
+\dpiclw=0.8bp
+\dpicdraw (2.927778,-0.025552) circle (0.03937in)\dpicstop
+\dpicdraw[fill=black](2.927778,-0.025552) circle (0.013123in)\dpicstop
+\draw (2.927778,-0.125552) node[below=-2bp]{\tt ccoax\vphantom{(}};
+\dpiclw=0.4bp
+\filldraw[line width=0bp](2.984346,0.059301)
+ --(2.951348,-0.001982)
+ --(3.012631,0.031017) --cycle\dpicstop
+\dpicdraw (2.965019,0.01169)
+ --(3.051348,0.098018)\dpicstop
+\draw (3.051348,0.098018) node[right=-2bp]{C};
+\filldraw[line width=0bp](3.096351,-0.037477)
+ --(3.027778,-0.025552)
+ --(3.078462,-0.073255) --cycle\dpicstop
+\dpicdraw (3.045071,-0.034198)
+ --(3.127778,-0.075552)\dpicstop
+\draw (3.127778,-0.075552) node[right=-2bp]{S};
+\dpiclw=0.8bp
+\dpicdraw (2.927778,0.274448) circle (0.03937in)\dpicstop
+\dpicdraw[fill=white](2.927778,0.274448) circle (0.013123in)\dpicstop
+\draw (3.027778,0.374448) node[right=-2bp]{\tt ccoax(,F)};
+\dpicdraw (3.740551,-0.225552) circle (0.019685in)\dpicstop
+\dpicdraw (3.415551,-0.225552)
+ --(3.690551,-0.225552)\dpicstop
+\draw (3.603051,-0.425552) node{\tt tconn(,O)};
+\dpicdraw (4.090551,-0.225552)
+ --(4.465551,-0.225552)\dpicstop
+\dpicdraw (4.382218,-0.142218)
+ --(4.465551,-0.225552)
+ --(4.382218,-0.308885)\dpicstop
+\draw (4.278051,-0.425552) node{\tt (,>)};
+\dpicdraw (4.765551,-0.225552)
+ --(5.078051,-0.225552)\dpicstop
+\dpicdraw (4.994718,-0.142218)
+ --(5.078051,-0.225552)
+ --(4.994718,-0.308885)\dpicstop
+\dpicdraw (5.057218,-0.142218)
+ --(5.140551,-0.225552)
+ --(5.057218,-0.308885)\dpicstop
+\draw (4.953051,-0.425552) node{\tt (,>>)};
+\dpicdraw (4.090551,0.274448)
+ --(4.382218,0.274448)\dpicstop
+\dpicdraw (4.465551,0.357782)
+ --(4.382218,0.274448)
+ --(4.465551,0.191115)\dpicstop
+\draw (4.278051,0.074448) node{\tt tconn(,<)};
+\dpicdraw (4.765551,0.274448)
+ --(4.994718,0.274448)\dpicstop
+\dpicdraw (5.078051,0.357782)
+ --(4.994718,0.274448)
+ --(5.078051,0.191115)\dpicstop
+\dpicdraw (5.140551,0.357782)
+ --(5.057218,0.274448)
+ --(5.140551,0.191115)\dpicstop
+\draw (4.953051,0.074448) node{\tt (,<<)};
+\dpicdraw (5.540551,0.357782)
+ --(5.657218,0.357782)
+ --(5.740551,0.274448)
+ --(5.657218,0.191115)
+ --(5.340551,0.191115)
+ --(5.340551,0.357782)
+ --(5.540551,0.357782)\dpicstop
+\draw (5.498884,0.274448) node{$ V_2$};
+\draw (5.340551,0.191115) node[below right=-2bp]{\tt tbox(V\_2)};
+\dpicdraw (5.540551,-0.225552)
+ --(5.423884,-0.225552)
+ --(5.340551,-0.142218)
+ --(5.423884,-0.058885)
+ --(5.657218,-0.058885)
+ --(5.740551,-0.142218)
+ --(5.657218,-0.225552)
+ --(5.540551,-0.225552)\dpicstop
+\draw (5.540551,-0.142218) node{$ V_1$};
+\draw (5.340551,-0.225552) node[below right=-2bp]{\tt tbox(V\_1,{,},<>)};
+\end{tikzpicture}
+\vspace*{-0.5\baselineskip}
diff --git a/graphics/circuit_macros/doc/Conn.m4 b/graphics/circuit_macros/doc/ConnMan.m4
index 7253d2b313..204ad5d96a 100644
--- a/graphics/circuit_macros/doc/Conn.m4
+++ b/graphics/circuit_macros/doc/ConnMan.m4
@@ -17,7 +17,7 @@ T:[
"$\vdots$" at (0.5 between last "" and 2nd last "")+(0.15,0.02)
thicklines_
CS1: "`\tt tstrip(U)'" at S1.s+(0,-0.15)
- S2: tstrip(R,5,DO;wid=1.0;ht=0.25) with .sw at S1.se+(0.7,0.15)
+ S2: tstrip(R,5,DO;wid=1.0;ht=0.25) with .sw at S1.se+(0.8,0.15)
thinlines_
arrow <- up 0.2 right 0.1 from S2.T1; "T1" above
arrow <- up 0.2 right 0.1 from S2.T5; "T5" above
@@ -36,7 +36,7 @@ C: [
thicklines_
C2: ccoax(at C1+(0,0.3),F)
`"\tt ccoax(,F)"' ht 11 pt__ wid 0.65 at C2.ne ljust
- ] with .C1.sw at T.S2.se+(0.5,0.0)
+ ] with .C1.sw at T.S2.se+(0.6,0.0)
Y: [
tconn(,O)
@@ -46,24 +46,24 @@ Y: [
{`"\tt (,>)"' at last line.c+(0,-0.2)}
move to P1.end+(0.3,0)
tconn(,>>)
- {`"\tt (,>>)"' at last line.c+(0,-0.2)}
+ {`"\tt (,>{}>)"' at last line.c+(0,-0.2)}
move to P1.start+(0,linewid)
P3: tconn(,<)
{`"\tt tconn(,<)"' at last line.c+(0,-0.2)}
move to P3.end+(0.3,0)
tconn(,<<)
- {`"\tt (,<<)"' at last line.c+(0,-0.2)}
+ {`"\tt (,<{}<)"' at last line.c+(0,-0.2)}
] with .sw at (C.e.x-0.4,T.s.y)
B: [
tbox(V_2)
- `"\tt tbox(V\_2)"' at last [].sw below ljust
- [ left_;
- tbox(V_1,,,<>) ] with .nw at last [].sw+(0,-0.25)
- `"\tt tbox(V\_1,{,},<>)"' at last [].sw below ljust
-# `"\tt left\_"' at last [].sw +(0,-0.2) ljust `"\tt tbox(V\_1)"' ljust
-] with .nw at Y.ne+(0.2,0)
+ { `"\tt tbox(V\_2)"' at last [].sw below ljust }
+ tbox(V_1,,,<) with .sw at last [].se+(0.75,0)
+ { `"\tt tbox(V\_1,{,},<)"' at last [].s below }
+ tbox(V_1,,,<>) with .sw at last [].se+(0.75,0)
+ { `"\tt tbox(V\_1,{,},<>)"' at last [].s below }
+] with .nw at T.sw+(0,-0.2)
.PE
diff --git a/graphics/circuit_macros/doc/Contact.tex b/graphics/circuit_macros/doc/Contact.tex
new file mode 100644
index 0000000000..1870617cc1
--- /dev/null
+++ b/graphics/circuit_macros/doc/Contact.tex
@@ -0,0 +1,373 @@
+\begin{tikzpicture}[scale=2.54]
+% dpic version 2020.03.01 option -g for TikZ and PGF 1.01
+\ifx\dpiclw\undefined\newdimen\dpiclw\fi
+\global\def\dpicdraw{\draw[line width=\dpiclw]}
+\global\def\dpicstop{;}
+\dpiclw=0.8bp
+\dpiclw=0.8bp
+\dpicdraw[fill=white](0.02,0.03125) circle (0.007874in)\dpicstop
+\dpicdraw (0.04,0.03125)
+ --(0.27,0.03125)\dpicstop
+\filldraw[line width=0bp](0.186667,0.114583)
+ --(0.228333,0.03125)
+ --(0.27,0.114583) --cycle\dpicstop
+\dpicdraw (0.228333,0.043673)
+ --(0.228333,0.15625)
+ --(0.328333,0.15625)\dpicstop
+\filldraw[line width=0bp](0.27,-0.114583)
+ --(0.228333,-0.03125)
+ --(0.186667,-0.114583) --cycle\dpicstop
+\dpicdraw (0.228333,-0.043673)
+ --(0.228333,-0.15625)
+ --(0.328333,-0.15625)\dpicstop
+\draw (0.164167,-0.347917) node{\tt contact};
+\draw (0,0.03125) node[left=-2bp]{\sl P};
+\draw (0.328333,-0.15625) node[right=-2bp]{\sl O};
+\draw (0.328333,0.15625) node[right=-2bp]{\sl C};
+\dpicdraw[fill=white](0.798333,-0.03125) circle (0.007874in)\dpicstop
+\dpicdraw (0.818333,-0.03125)
+ --(1.048333,-0.03125)\dpicstop
+\filldraw[line width=0bp](1.048333,-0.114583)
+ --(1.006667,-0.03125)
+ --(0.965,-0.114583) --cycle\dpicstop
+\dpicdraw (1.006667,-0.043673)
+ --(1.006667,-0.15625)
+ --(1.106667,-0.15625)\dpicstop
+\filldraw[line width=0bp](0.965,0.114583)
+ --(1.006667,0.03125)
+ --(1.048333,0.114583) --cycle\dpicstop
+\dpicdraw (1.006667,0.043673)
+ --(1.006667,0.15625)
+ --(1.106667,0.15625)\dpicstop
+\draw (0.9425,-0.347917) node{\tt (R)};
+\draw (0.778333,-0.03125) node[left=-2bp]{\sl P};
+\draw (1.106667,0.15625) node[right=-2bp]{\sl O};
+\draw (1.106667,-0.15625) node[right=-2bp]{\sl C};
+\dpicdraw[fill=white](1.576667,0.104583) circle (0.007874in)\dpicstop
+\dpicdraw (1.596667,0.104583)
+ --(1.826667,0.104583)\dpicstop
+\filldraw[line width=0bp](1.826667,-0.04125)
+ --(1.785,0.042083)
+ --(1.743333,-0.04125) --cycle\dpicstop
+\dpicdraw (1.785,0.029661)
+ --(1.785,-0.082917)
+ --(1.885,-0.082917)\dpicstop
+\draw (1.720833,-0.347917) node{\tt (O)};
+\dpicdraw[fill=white](2.355,-0.073333) circle (0.007874in)\dpicstop
+\dpicdraw (2.375,-0.073333)
+ --(2.605,-0.073333)\dpicstop
+\filldraw[line width=0bp](2.521667,0.01)
+ --(2.563333,-0.073333)
+ --(2.605,0.01) --cycle\dpicstop
+\dpicdraw (2.563333,-0.060911)
+ --(2.563333,0.051667)
+ --(2.663333,0.051667)\dpicstop
+\draw (2.499167,-0.347917) node{\tt (C)};
+\dpicdraw[fill=white](3.133333,0) circle (0.007874in)\dpicstop
+\filldraw[line width=0bp](3.3,0.145833)
+ --(3.341667,0.0625)
+ --(3.383333,0.145833) --cycle\dpicstop
+\dpicdraw (3.341667,0.074923)
+ --(3.341667,0.1875)
+ --(3.441667,0.1875)\dpicstop
+\filldraw[line width=0bp](3.383333,-0.145833)
+ --(3.341667,-0.0625)
+ --(3.3,-0.145833) --cycle\dpicstop
+\dpicdraw (3.341667,-0.074923)
+ --(3.341667,-0.1875)
+ --(3.441667,-0.1875)\dpicstop
+\dpicdraw (3.153333,0)
+ --(3.383333,0)\dpicstop
+\draw (3.2775,-0.379167) node{\tt (P)};
+\draw (3.113333,0) node[left=-2bp]{\sl P};
+\draw (3.441667,-0.1875) node[right=-2bp]{\sl O};
+\draw (3.441667,0.1875) node[right=-2bp]{\sl C};
+\dpicdraw[fill=white](3.911667,0) circle (0.007874in)\dpicstop
+\filldraw[line width=0bp](4.161667,-0.145833)
+ --(4.12,-0.0625)
+ --(4.078333,-0.145833) --cycle\dpicstop
+\dpicdraw (4.12,-0.074923)
+ --(4.12,-0.1875)
+ --(4.22,-0.1875)\dpicstop
+\filldraw[line width=0bp](4.078333,0.145833)
+ --(4.12,0.0625)
+ --(4.161667,0.145833) --cycle\dpicstop
+\dpicdraw (4.12,0.074923)
+ --(4.12,0.1875)
+ --(4.22,0.1875)\dpicstop
+\dpicdraw (3.931667,0)
+ --(4.161667,0)\dpicstop
+\draw (4.055833,-0.379167) node{\tt (PR)};
+\draw (3.891667,0) node[left=-2bp]{\sl P};
+\draw (4.22,0.1875) node[right=-2bp]{\sl O};
+\draw (4.22,-0.1875) node[right=-2bp]{\sl C};
+\dpicdraw[fill=white](4.69,0) circle (0.007874in)\dpicstop
+\filldraw[line width=0bp](4.856667,0.145833)
+ --(4.898333,0.0625)
+ --(4.94,0.145833) --cycle\dpicstop
+\dpicdraw (4.898333,0.074923)
+ --(4.898333,0.1875)
+ --(4.998333,0.1875)\dpicstop
+\filldraw[line width=0bp](4.94,-0.145833)
+ --(4.898333,-0.0625)
+ --(4.856667,-0.145833) --cycle\dpicstop
+\dpicdraw (4.898333,-0.074923)
+ --(4.898333,-0.1875)
+ --(4.998333,-0.1875)\dpicstop
+\dpicdraw (4.709157,-0.005747)
+ --(4.91749,-0.068247)\dpicstop
+\draw (4.834167,-0.379167) node{\tt (PO)};
+\draw (4.998333,-0.1875) node[right=-2bp]{\sl O};
+\draw (4.998333,0.1875) node[right=-2bp]{\sl C};
+\dpicdraw[fill=white](5.468333,0) circle (0.007874in)\dpicstop
+\filldraw[line width=0bp](5.635,0.145833)
+ --(5.676667,0.0625)
+ --(5.718333,0.145833) --cycle\dpicstop
+\dpicdraw (5.676667,0.074923)
+ --(5.676667,0.1875)
+ --(5.776667,0.1875)\dpicstop
+\filldraw[line width=0bp](5.718333,-0.145833)
+ --(5.676667,-0.0625)
+ --(5.635,-0.145833) --cycle\dpicstop
+\dpicdraw (5.676667,-0.074923)
+ --(5.676667,-0.1875)
+ --(5.776667,-0.1875)\dpicstop
+\dpicdraw (5.48749,0.005747)
+ --(5.695823,0.068247)\dpicstop
+\draw (5.6125,-0.379167) node{\tt (PC)};
+\dpicdraw[fill=white](0.02,-0.711528) circle (0.007874in)\dpicstop
+\dpicdraw (0.04,-0.711528)
+ --(0.27,-0.711528)\dpicstop
+\dpicdraw[fill=white](0.228333,-0.685972) circle (0.007874in)\dpicstop
+\dpicdraw[fill=white](0.228333,-0.814028) circle (0.007874in)\dpicstop
+\draw (0.135,-1.000694) node{\tt (I)};
+\draw (0,-0.711528) node[left=-2bp]{\sl P};
+\draw (0.248333,-0.814028) node[right=-2bp]{\sl O};
+\draw (0.248333,-0.685972) node[right=-2bp]{\sl C};
+\dpicdraw[fill=white](0.74,-0.788472) circle (0.007874in)\dpicstop
+\dpicdraw (0.76,-0.788472)
+ --(0.99,-0.788472)\dpicstop
+\dpicdraw[fill=white](0.948333,-0.814028) circle (0.007874in)\dpicstop
+\dpicdraw[fill=white](0.948333,-0.685972) circle (0.007874in)\dpicstop
+\draw (0.855,-1.000694) node{\tt (RI)};
+\draw (0.72,-0.788472) node[left=-2bp]{\sl P};
+\draw (0.968333,-0.685972) node[right=-2bp]{\sl O};
+\draw (0.968333,-0.814028) node[right=-2bp]{\sl C};
+\dpicdraw[fill=white](1.46,-0.69875) circle (0.007874in)\dpicstop
+\dpicdraw (1.48,-0.69875)
+ --(1.71,-0.69875)\dpicstop
+\dpicdraw[fill=white](1.668333,-0.80125) circle (0.007874in)\dpicstop
+\draw (1.575,-1.000694) node{\tt (OI)};
+\dpicdraw[fill=white](2.18,-0.762778) circle (0.007874in)\dpicstop
+\dpicdraw (2.2,-0.762778)
+ --(2.43,-0.762778)\dpicstop
+\dpicdraw[fill=white](2.388333,-0.737222) circle (0.007874in)\dpicstop
+\draw (2.295,-1.000694) node{\tt (CI)};
+\dpicdraw[fill=white](2.9,-0.75) circle (0.007874in)\dpicstop
+\dpicdraw[fill=white](3.108333,-0.641944) circle (0.007874in)\dpicstop
+\dpicdraw[fill=white](3.108333,-0.858056) circle (0.007874in)\dpicstop
+\dpicdraw (2.92,-0.75)
+ --(3.15,-0.75)\dpicstop
+\draw (3.015,-1.000694) node{\tt (PI)};
+\draw (3.128333,-0.858056) node[right=-2bp]{\sl O};
+\draw (3.128333,-0.641944) node[right=-2bp]{\sl C};
+\dpicdraw[fill=white](3.62,-0.75) circle (0.007874in)\dpicstop
+\dpicdraw[fill=white](3.828333,-0.641944) circle (0.007874in)\dpicstop
+\dpicdraw[fill=white](3.828333,-0.858056) circle (0.007874in)\dpicstop
+\dpicdraw (3.638651,-0.75722)
+ --(3.856211,-0.841444)\dpicstop
+\draw (3.728105,-1.000694) node{\tt (PIO)};
+\dpicdraw[fill=white](4.326211,-0.75) circle (0.007874in)\dpicstop
+\dpicdraw[fill=white](4.534544,-0.641944) circle (0.007874in)\dpicstop
+\dpicdraw[fill=white](4.534544,-0.858056) circle (0.007874in)\dpicstop
+\dpicdraw (4.344862,-0.74278)
+ --(4.562421,-0.658556)\dpicstop
+\draw (4.434316,-1.000694) node{\tt (PIC)};
+\dpicdraw[fill=white](0.02,-1.36875) circle (0.007874in)\dpicstop
+\dpicdraw (0.04,-1.36875)
+ --(0.27,-1.36875)\dpicstop
+\dpicdraw (0.228333,-1.382639)
+ --(0.228333,-1.299306)\dpicstop
+\dpicdraw (0.228333,-1.500694)
+ --(0.228333,-1.417361)\dpicstop
+\draw (0.135,-1.650694) node{\tt (T)};
+\dpiclw=0.4bp
+\filldraw[line width=0bp](0.295,-1.320972)
+ --(0.228333,-1.340972)
+ --(0.295,-1.360972) --cycle\dpicstop
+\dpicdraw (0.247667,-1.340972)
+ --(0.283,-1.340972)
+ ..controls (0.306556,-1.340972) and (0.326667,-1.332639)
+ ..(0.343333,-1.315972)
+ --(0.368333,-1.290972)\dpicstop
+\draw (0.368333,-1.290972) node{$\;\;$\sl C};
+\filldraw[line width=0bp](0.295,-1.439028)
+ --(0.228333,-1.459028)
+ --(0.295,-1.479028) --cycle\dpicstop
+\dpicdraw (0.247667,-1.459028)
+ --(0.283,-1.459028)
+ ..controls (0.306556,-1.459028) and (0.326667,-1.467361)
+ ..(0.343333,-1.484028)
+ --(0.368333,-1.509028)\dpicstop
+\draw (0.368333,-1.509028) node{$\;\;$\sl O};
+\dpiclw=0.8bp
+\dpicdraw[fill=white](0.74,-1.43125) circle (0.007874in)\dpicstop
+\dpicdraw (0.76,-1.43125)
+ --(0.99,-1.43125)\dpicstop
+\dpicdraw (0.948333,-1.500694)
+ --(0.948333,-1.417361)\dpicstop
+\dpicdraw (0.948333,-1.382639)
+ --(0.948333,-1.299306)\dpicstop
+\draw (0.855,-1.650694) node{\tt (RT)};
+\dpiclw=0.4bp
+\filldraw[line width=0bp](1.015,-1.320972)
+ --(0.948333,-1.340972)
+ --(1.015,-1.360972) --cycle\dpicstop
+\dpicdraw (0.967667,-1.340972)
+ --(1.003,-1.340972)
+ ..controls (1.026556,-1.340972) and (1.046667,-1.332639)
+ ..(1.063333,-1.315972)
+ --(1.088333,-1.290972)\dpicstop
+\draw (1.088333,-1.290972) node{$\;\;$\sl O};
+\filldraw[line width=0bp](1.015,-1.439028)
+ --(0.948333,-1.459028)
+ --(1.015,-1.479028) --cycle\dpicstop
+\dpicdraw (0.967667,-1.459028)
+ --(1.003,-1.459028)
+ ..controls (1.026556,-1.459028) and (1.046667,-1.467361)
+ ..(1.063333,-1.484028)
+ --(1.088333,-1.509028)\dpicstop
+\draw (1.088333,-1.509028) node{$\;\;$\sl C};
+\dpiclw=0.8bp
+\dpicdraw[fill=white](1.46,-1.344028) circle (0.007874in)\dpicstop
+\dpicdraw (1.48,-1.344028)
+ --(1.71,-1.344028)\dpicstop
+\dpicdraw (1.668333,-1.475972)
+ --(1.668333,-1.392639)\dpicstop
+\draw (1.575,-1.650694) node{\tt (OT)};
+\dpicdraw[fill=white](2.18,-1.424722) circle (0.007874in)\dpicstop
+\dpicdraw (2.2,-1.424722)
+ --(2.43,-1.424722)\dpicstop
+\dpicdraw (2.388333,-1.438611)
+ --(2.388333,-1.355278)\dpicstop
+\draw (2.295,-1.650694) node{\tt (CT)};
+\dpicdraw[fill=white](2.9,-1.4) circle (0.007874in)\dpicstop
+\dpicdraw (3.108333,-1.351389)
+ --(3.108333,-1.268056)\dpicstop
+\dpicdraw (3.108333,-1.531944)
+ --(3.108333,-1.448611)\dpicstop
+\dpicdraw (2.92,-1.4)
+ --(3.15,-1.4)\dpicstop
+\draw (3.015,-1.650694) node{\tt (PT)};
+\dpicdraw[fill=white](3.62,-1.4) circle (0.007874in)\dpicstop
+\dpicdraw (3.828333,-1.351389)
+ --(3.828333,-1.268056)\dpicstop
+\dpicdraw (3.828333,-1.531944)
+ --(3.828333,-1.448611)\dpicstop
+\dpicdraw (3.639157,-1.405747)
+ --(3.84749,-1.468247)\dpicstop
+\draw (3.723745,-1.650694) node{\tt (PTO)};
+\dpicdraw[fill=white](4.31749,-1.4) circle (0.007874in)\dpicstop
+\dpicdraw (4.525823,-1.351389)
+ --(4.525823,-1.268056)\dpicstop
+\dpicdraw (4.525823,-1.531944)
+ --(4.525823,-1.448611)\dpicstop
+\dpicdraw (4.336646,-1.394253)
+ --(4.54498,-1.331753)\dpicstop
+\draw (4.421235,-1.650694) node{\tt (PTC)};
+\dpicdraw[fill=white](0.02,-2.05) circle (0.007874in)\dpicstop
+\dpicdraw (0.04,-2.05)
+ --(0.27,-2.05)\dpicstop
+\dpicdraw (0.311667,-1.966667)
+ --(0.228333,-1.966667)\dpicstop
+\dpicdraw (0.311667,-2.133333)
+ --(0.228333,-2.133333)\dpicstop
+\draw (0.155833,-2.283333) node{\tt (U)};
+\dpiclw=0.4bp
+\filldraw[line width=0bp](0.378333,-1.946667)
+ --(0.311667,-1.966667)
+ --(0.378333,-1.986667) --cycle\dpicstop
+\dpicdraw (0.331001,-1.966667)
+ --(0.366334,-1.966667)
+ ..controls (0.389889,-1.966667) and (0.41,-1.958333)
+ ..(0.426667,-1.941667)
+ --(0.451667,-1.916667)\dpicstop
+\draw (0.451667,-1.916667) node{$\;\;$\sl C};
+\filldraw[line width=0bp](0.378333,-2.113333)
+ --(0.311667,-2.133333)
+ --(0.378333,-2.153333) --cycle\dpicstop
+\dpicdraw (0.331001,-2.133333)
+ --(0.366334,-2.133333)
+ ..controls (0.389889,-2.133333) and (0.41,-2.141667)
+ ..(0.426667,-2.158333)
+ --(0.451667,-2.183333)\dpicstop
+\draw (0.451667,-2.183333) node{$\;\;$\sl O};
+\dpiclw=0.8bp
+\dpicdraw[fill=white](0.781667,-2.05) circle (0.007874in)\dpicstop
+\dpicdraw (0.801667,-2.05)
+ --(1.031667,-2.05)\dpicstop
+\dpicdraw (1.073333,-2.133333)
+ --(0.99,-2.133333)\dpicstop
+\dpicdraw (1.073333,-1.966667)
+ --(0.99,-1.966667)\dpicstop
+\draw (0.9175,-2.283333) node{\tt (RU)};
+\dpiclw=0.4bp
+\filldraw[line width=0bp](1.14,-1.946667)
+ --(1.073333,-1.966667)
+ --(1.14,-1.986667) --cycle\dpicstop
+\dpicdraw (1.092667,-1.966667)
+ --(1.128,-1.966667)
+ ..controls (1.151556,-1.966667) and (1.171667,-1.958333)
+ ..(1.188333,-1.941667)
+ --(1.213333,-1.916667)\dpicstop
+\draw (1.213333,-1.916667) node{$\;\;$\sl O};
+\filldraw[line width=0bp](1.14,-2.113333)
+ --(1.073333,-2.133333)
+ --(1.14,-2.153333) --cycle\dpicstop
+\dpicdraw (1.092667,-2.133333)
+ --(1.128,-2.133333)
+ ..controls (1.151556,-2.133333) and (1.171667,-2.141667)
+ ..(1.188333,-2.158333)
+ --(1.213333,-2.183333)\dpicstop
+\draw (1.213333,-2.183333) node{$\;\;$\sl C};
+\dpiclw=0.8bp
+\dpicdraw[fill=white](1.543333,-2.018333) circle (0.007874in)\dpicstop
+\dpicdraw (1.563333,-2.018333)
+ --(1.793333,-2.018333)\dpicstop
+\dpicdraw (1.835,-2.101667)
+ --(1.751667,-2.101667)\dpicstop
+\draw (1.679167,-2.283333) node{\tt (OU)};
+\draw (1.835,-2.101667) node[right=-2bp]{\sl O};
+\dpicdraw[fill=white](2.305,-2.081667) circle (0.007874in)\dpicstop
+\dpicdraw (2.325,-2.081667)
+ --(2.555,-2.081667)\dpicstop
+\dpicdraw (2.596667,-1.998333)
+ --(2.513333,-1.998333)\dpicstop
+\draw (2.440833,-2.283333) node{\tt (CU)};
+\draw (2.596667,-1.998333) node[right=-2bp]{\sl C};
+\dpicdraw[fill=white](3.066667,-2.05) circle (0.007874in)\dpicstop
+\dpicdraw (3.358333,-1.966667)
+ --(3.275,-1.966667)\dpicstop
+\dpicdraw (3.358333,-2.133333)
+ --(3.275,-2.133333)\dpicstop
+\dpicdraw (3.086667,-2.05)
+ --(3.316667,-2.05)\dpicstop
+\draw (3.2025,-2.283333) node{\tt (PU)};
+\dpicdraw[fill=white](3.828333,-2.046552) circle (0.007874in)\dpicstop
+\dpicdraw (4.12,-1.963218)
+ --(4.036667,-1.963218)\dpicstop
+\dpicdraw (4.12,-2.129885)
+ --(4.036667,-2.129885)\dpicstop
+\dpicdraw (3.847107,-2.053448)
+ --(4.073959,-2.136782)\dpicstop
+\draw (3.964167,-2.283333) node{\tt (PUO)};
+\dpicdraw[fill=white](4.59,-2.053448) circle (0.007874in)\dpicstop
+\dpicdraw (4.881667,-1.970115)
+ --(4.798333,-1.970115)\dpicstop
+\dpicdraw (4.881667,-2.136782)
+ --(4.798333,-2.136782)\dpicstop
+\dpicdraw (4.608773,-2.046552)
+ --(4.835625,-1.963218)\dpicstop
+\draw (4.725833,-2.283333) node(S){\tt (PUC)};
+\end{tikzpicture}
+\vspace*{-0.5\baselineskip}
diff --git a/graphics/circuit_macros/doc/Contact.m4 b/graphics/circuit_macros/doc/ContactMan.m4
index 26f8d5a982..26f8d5a982 100644
--- a/graphics/circuit_macros/doc/Contact.m4
+++ b/graphics/circuit_macros/doc/ContactMan.m4
diff --git a/graphics/circuit_macros/doc/Contacts.tex b/graphics/circuit_macros/doc/Contacts.tex
new file mode 100644
index 0000000000..2d9d5c5a6d
--- /dev/null
+++ b/graphics/circuit_macros/doc/Contacts.tex
@@ -0,0 +1,141 @@
+\begin{tikzpicture}[scale=2.54]
+% dpic version 2020.03.01 option -g for TikZ and PGF 1.01
+\ifx\dpiclw\undefined\newdimen\dpiclw\fi
+\global\def\dpicdraw{\draw[line width=\dpiclw]}
+\global\def\dpicstop{;}
+\dpiclw=0.8bp
+\dpiclw=0.8bp
+\dpicdraw[fill=white](0.02,-0.1875) circle (0.007874in)\dpicstop
+\dpicdraw (0.04,-0.1875)
+ --(0.27,-0.1875)\dpicstop
+\filldraw[line width=0bp](0.186667,-0.104167)
+ --(0.228333,-0.1875)
+ --(0.27,-0.104167) --cycle\dpicstop
+\dpicdraw (0.228333,-0.175077)
+ --(0.228333,-0.0625)
+ --(0.328333,-0.0625)\dpicstop
+\filldraw[line width=0bp](0.27,-0.333333)
+ --(0.228333,-0.25)
+ --(0.186667,-0.333333) --cycle\dpicstop
+\dpicdraw (0.228333,-0.262423)
+ --(0.228333,-0.375)
+ --(0.328333,-0.375)\dpicstop
+\dpicdraw[fill=white](0.02,0.25) circle (0.007874in)\dpicstop
+\dpicdraw (0.04,0.25)
+ --(0.27,0.25)\dpicstop
+\filldraw[line width=0bp](0.186667,0.333333)
+ --(0.228333,0.25)
+ --(0.27,0.333333) --cycle\dpicstop
+\dpicdraw (0.228333,0.262423)
+ --(0.228333,0.375)
+ --(0.328333,0.375)\dpicstop
+\filldraw[line width=0bp](0.27,0.104167)
+ --(0.228333,0.1875)
+ --(0.186667,0.104167) --cycle\dpicstop
+\dpicdraw (0.228333,0.175077)
+ --(0.228333,0.0625)
+ --(0.328333,0.0625)\dpicstop
+\draw (0.164167,-0.583333) node{\tt contacts(2)};
+\draw (0,-0.1875) node[left=-2bp]{\sl P1};
+\draw (0.348333,-0.375) node[right=-2bp]{\sl O1};
+\draw (0.348333,-0.0625) node[right=-2bp]{\sl C1};
+\draw (0,0.25) node[left=-2bp]{\sl P2};
+\draw (0.348333,0.0625) node[right=-2bp]{\sl O2};
+\draw (0.348333,0.375) node[right=-2bp]{\sl C2};
+\dpicdraw[fill=white](1.098333,-0.294167) circle (0.007874in)\dpicstop
+\dpicdraw (1.118333,-0.294167)
+ --(1.348333,-0.294167)\dpicstop
+\dpicdraw[fill=white](1.306667,-0.268611) circle (0.007874in)\dpicstop
+\dpicdraw[fill=white](1.306667,-0.396667) circle (0.007874in)\dpicstop
+\dpicdraw[fill=white](1.098333,-0.041111) circle (0.007874in)\dpicstop
+\dpicdraw (1.118333,-0.041111)
+ --(1.348333,-0.041111)\dpicstop
+\dpicdraw[fill=white](1.306667,-0.015556) circle (0.007874in)\dpicstop
+\dpicdraw[fill=white](1.306667,-0.143611) circle (0.007874in)\dpicstop
+\draw (1.213333,-0.583333) node{\tt (2,I)};
+\draw (1.078333,-0.294167) node[left=-2bp]{\sl P1};
+\draw (1.326667,-0.396667) node[right=-2bp]{\sl O1};
+\draw (1.326667,-0.268611) node[right=-2bp]{\sl C1};
+\draw (1.078333,-0.041111) node[left=-2bp]{\sl P2};
+\draw (1.326667,-0.143611) node[right=-2bp]{\sl O2};
+\draw (1.326667,-0.015556) node[right=-2bp]{\sl C2};
+\dpicdraw[fill=white](2.118333,-0.294167) circle (0.007874in)\dpicstop
+\dpicdraw (2.138333,-0.294167)
+ --(2.368333,-0.294167)\dpicstop
+\dpicdraw[fill=white](2.326667,-0.396667) circle (0.007874in)\dpicstop
+\dpicdraw[fill=white](2.118333,-0.066667) circle (0.007874in)\dpicstop
+\dpicdraw (2.138333,-0.066667)
+ --(2.368333,-0.066667)\dpicstop
+\dpicdraw[fill=white](2.326667,-0.169167) circle (0.007874in)\dpicstop
+\draw (2.233333,-0.583333) node{\tt (2,IO)};
+\draw (2.098333,-0.294167) node[left=-2bp]{\sl P1};
+\draw (2.346667,-0.396667) node[right=-2bp]{\sl O1};
+\draw (2.098333,-0.066667) node[left=-2bp]{\sl P2};
+\draw (2.346667,-0.169167) node[right=-2bp]{\sl O2};
+\dpicdraw[fill=white](3.138333,-0.288611) circle (0.007874in)\dpicstop
+\dpicdraw[fill=white](3.346667,-0.180556) circle (0.007874in)\dpicstop
+\dpicdraw[fill=white](3.346667,-0.396667) circle (0.007874in)\dpicstop
+\dpicdraw (3.156984,-0.281391)
+ --(3.374544,-0.197167)\dpicstop
+\dpicdraw[fill=white](3.138333,0.0525) circle (0.007874in)\dpicstop
+\dpicdraw[fill=white](3.346667,0.160556) circle (0.007874in)\dpicstop
+\dpicdraw[fill=white](3.346667,-0.055556) circle (0.007874in)\dpicstop
+\dpicdraw (3.156984,0.05972)
+ --(3.374544,0.143944)\dpicstop
+\dpicdraw[dash pattern=on 0.05in off 0.05in](3.265764,-0.289279)
+ --(3.265764,0.151832)\dpicstop
+\draw (3.246439,-0.583333) node{\tt (2,PICD)};
+\draw (3.118333,-0.288611) node[left=-2bp]{\sl P1};
+\draw (3.366667,-0.396667) node[right=-2bp]{\sl O1};
+\draw (3.366667,-0.180556) node[right=-2bp]{\sl C1};
+\draw (3.118333,0.0525) node[left=-2bp]{\sl P2};
+\draw (3.366667,-0.055556) node[right=-2bp]{\sl O2};
+\draw (3.366667,0.160556) node[right=-2bp]{\sl C2};
+\dpicdraw[fill=white](4.144544,-0.284722) circle (0.007874in)\dpicstop
+\dpicdraw (4.352877,-0.236111)
+ --(4.352877,-0.152778)\dpicstop
+\dpicdraw (4.352877,-0.416667)
+ --(4.352877,-0.333333)\dpicstop
+\dpicdraw (4.1637,-0.278975)
+ --(4.372034,-0.216475)\dpicstop
+\dpicdraw[fill=white](4.144544,0.020833) circle (0.007874in)\dpicstop
+\dpicdraw (4.352877,0.069444)
+ --(4.352877,0.152778)\dpicstop
+\dpicdraw (4.352877,-0.111111)
+ --(4.352877,-0.027778)\dpicstop
+\dpicdraw (4.1637,0.02658)
+ --(4.372034,0.08908)\dpicstop
+\dpicdraw[dash pattern=on 0.05in off 0.05in](4.267867,-0.297725)
+ --(4.267867,0.10783)\dpicstop
+\draw (4.248289,-0.583333) node{\tt (2,PTCD)};
+\draw (4.124544,-0.284722) node[left=-2bp]{\sl P1};
+\draw (4.372877,-0.375) node[right=-2bp]{\sl O1};
+\draw (4.372877,-0.194444) node[right=-2bp]{\sl C1};
+\draw (4.124544,0.020833) node[left=-2bp]{\sl P2};
+\draw (4.372877,-0.069444) node[right=-2bp]{\sl O2};
+\draw (4.372877,0.111111) node[right=-2bp]{\sl C2};
+\dpicdraw[fill=white](5.142034,-0.333333) circle (0.007874in)\dpicstop
+\dpicdraw (5.4337,-0.25)
+ --(5.350367,-0.25)\dpicstop
+\dpicdraw (5.4337,-0.416667)
+ --(5.350367,-0.416667)\dpicstop
+\dpicdraw (5.160807,-0.326437)
+ --(5.387659,-0.243104)\dpicstop
+\dpicdraw[fill=white](5.142034,-0.041667) circle (0.007874in)\dpicstop
+\dpicdraw (5.4337,0.041667)
+ --(5.350367,0.041667)\dpicstop
+\dpicdraw (5.4337,-0.125)
+ --(5.350367,-0.125)\dpicstop
+\dpicdraw (5.160807,-0.03477)
+ --(5.387659,0.048563)\dpicstop
+\dpicdraw[dash pattern=on 0.05in off 0.05in](5.274233,-0.33477)
+ --(5.274233,0.056896)\dpicstop
+\draw (5.277867,-0.583333) node{\tt (2,PUCD)};
+\draw (5.122034,-0.333333) node[left=-2bp]{\sl P1};
+\draw (5.4537,-0.416667) node[right=-2bp]{\sl O1};
+\draw (5.4537,-0.25) node[right=-2bp]{\sl C1};
+\draw (5.122034,-0.041667) node[left=-2bp]{\sl P2};
+\draw (5.4537,-0.125) node[right=-2bp]{\sl O2};
+\draw (5.4537,0.041667) node[right=-2bp]{\sl C2};
+\end{tikzpicture}
+\vspace*{-0.5\baselineskip}
diff --git a/graphics/circuit_macros/doc/Contacts.m4 b/graphics/circuit_macros/doc/ContactsMan.m4
index 9e006218e3..9e006218e3 100644
--- a/graphics/circuit_macros/doc/Contacts.m4
+++ b/graphics/circuit_macros/doc/ContactsMan.m4
diff --git a/graphics/circuit_macros/doc/Demultiplexer.tex b/graphics/circuit_macros/doc/Demultiplexer.tex
new file mode 100644
index 0000000000..e6e5ec9848
--- /dev/null
+++ b/graphics/circuit_macros/doc/Demultiplexer.tex
@@ -0,0 +1,148 @@
+\begin{tikzpicture}[scale=2.54]
+% dpic version 2020.03.01 option -g for TikZ and PGF 1.01
+\ifx\dpiclw\undefined\newdimen\dpiclw\fi
+\global\def\dpicdraw{\draw[line width=\dpiclw]}
+\global\def\dpicstop{;}
+\dpiclw=0.8bp
+\dpiclw=0.8bp
+{\sf
+\dpicdraw (0.2,0.075)
+ --(0.2,0.425)
+ --(0.6,0.525)
+ --(0.6,-0.375)
+ --(0.2,-0.275)
+ --(0.2,0.075)\dpicstop
+\draw (0.4,0.075) node{\scriptsize DM1};
+\dpicdraw (0.2,0.075)
+ --(0,0.075)\dpicstop
+\dpicdraw (0.4,-0.325)
+ --(0.4,-0.525)\dpicstop
+\draw (0.6,0.4125) node[left=-2bp]{{\scriptsize 0}};
+\dpicdraw (0.6,0.4125)
+ --(0.8,0.4125)\dpicstop
+\draw (0.6,0.1875) node[left=-2bp]{{\scriptsize 1}};
+\dpicdraw (0.6,0.1875)
+ --(0.8,0.1875)\dpicstop
+\draw (0.6,-0.0375) node[left=-2bp]{{\scriptsize 2}};
+\dpicdraw (0.6,-0.0375)
+ --(0.8,-0.0375)\dpicstop
+\draw (0.6,-0.2625) node[left=-2bp]{{\scriptsize 3}};
+\dpicdraw (0.6,-0.2625)
+ --(0.8,-0.2625)\dpicstop
+\draw (0.4,-0.525) node[below=-2bp]{\tt Demux(4,DM1)};
+\draw (0.883333,0.495833) node{\sl Out0};
+\draw (0.883333,-0.345833) node{\sl Out3};
+\draw (0,0.075) node[left=-2bp]{\sl In};
+\draw (0.4,-0.525) node[above right=-2bp]{\sl Sel};
+\dpicdraw (1.8,-0.075)
+ --(1.8,-0.425)
+ --(1.4,-0.525)
+ --(1.4,0.375)
+ --(1.8,0.275)
+ --(1.8,-0.075)\dpicstop
+\dpicdraw (1.8,-0.075)
+ --(2,-0.075)\dpicstop
+\dpicdraw (1.6,0.325)
+ --(1.6,0.525)\dpicstop
+\draw (1.4,0.2625) node[right=-2bp]{{\scriptsize 0}};
+\dpicdraw (1.4,0.2625)
+ --(1.2,0.2625)\dpicstop
+\draw (1.4,0.0375) node[right=-2bp]{{\scriptsize 1}};
+\dpicdraw (1.4,0.0375)
+ --(1.2,0.0375)\dpicstop
+\draw (1.4,-0.1875) node[right=-2bp]{{\scriptsize 2}};
+\dpicdraw (1.4,-0.1875)
+ --(1.2,-0.1875)\dpicstop
+\draw (1.4,-0.4125) node[right=-2bp]{{\scriptsize 3}};
+\dpicdraw (1.4,-0.4125)
+ --(1.2,-0.4125)\dpicstop
+\draw (1.8,0.15) node[left=-2bp]{{\scriptsize OE}};
+\dpicdraw (1.8,0.15)
+ --(2,0.15)\dpicstop
+\draw (1.6,-0.802778) node{\tt left\_; Demux(4,{,}LOE)};
+\draw (1.6,0.525) node[left=-2bp]{\sl Sel};
+\draw (1.116667,0.345833) node{\sl Out0};
+\draw (2,0.15) node[right=-2bp]{\sl OE};
+\draw (2,-0.005556) node[right=-2bp]{\sl In};
+\dpicdraw (2.6,-0.0875)
+ --(2.6,0.2625)
+ --(3,0.3625)
+ --(3,-0.5375)
+ --(2.6,-0.4375)
+ --(2.6,-0.0875)\dpicstop
+\dpicdraw (2.6,-0.0875)
+ --(2.4,-0.0875)\dpicstop
+\dpicdraw (2.7,0.2875)
+ --(2.7,0.4875)\dpicstop
+\dpicdraw (2.9,0.3375)
+ --(2.9,0.5375)\dpicstop
+\draw (3,0.25) node[left=-2bp]{{\scriptsize 00}};
+\dpicdraw (3,0.25)
+ --(3.2,0.25)\dpicstop
+\draw (3,0.025) node[left=-2bp]{{\scriptsize 01}};
+\dpicdraw (3,0.025)
+ --(3.2,0.025)\dpicstop
+\draw (3,-0.2) node[left=-2bp]{{\scriptsize 10}};
+\dpicdraw (3,-0.2)
+ --(3.2,-0.2)\dpicstop
+\draw (3,-0.425) node[left=-2bp]{{\scriptsize 11}};
+\dpicdraw (3,-0.425)
+ --(3.2,-0.425)\dpicstop
+\draw (2.6,-0.3125) node[right=-2bp]{{\scriptsize $\overline{\hbox{OE}}$}};
+\dpicdraw (2.5625,-0.3125) circle (0.014764in)\dpicstop
+\dpicdraw (2.525,-0.3125)
+ --(2.4,-0.3125)\dpicstop
+\draw (2.8,-0.5375) node[below=-2bp]{\tt (4,{,}NOEBN2)};
+\draw (2.7,0.4875) node[left=-2bp]{\sl Sel0};
+\draw (2.9,0.5375) node[right=-2bp]{\sl Sel1};
+\draw (3.269444,0.333333) node{\sl Out0};
+\draw (3.269444,-0.341667) node{\sl Out3};
+\draw (2.4,-0.3125) node[left=-2bp]{\sl NOE};
+\draw (2.4,-0.0875) node[above=-2bp]{\sl In};
+\dpicdraw (4.691667,0.2)
+ --(5.291667,0.2)
+ --(5.391667,-0.2)
+ --(3.991667,-0.2)
+ --(4.091667,0.2)
+ --(4.691667,0.2)\dpicstop
+\dpicdraw (4.691667,0.2)
+ --(4.691667,0.4)\dpicstop
+\dpicdraw (4.075,0.133333)
+ --(3.875,0.133333)\dpicstop
+\dpicdraw (4.041667,0)
+ --(3.841667,0)\dpicstop
+\dpicdraw (4.008333,-0.133333)
+ --(3.808333,-0.133333)\dpicstop
+\draw (4.079167,-0.2) node[above=-2bp]{{\scriptsize 0}};
+\dpicdraw (4.079167,-0.2)
+ --(4.079167,-0.4)\dpicstop
+\draw (4.254167,-0.2) node[above=-2bp]{{\scriptsize 1}};
+\dpicdraw (4.254167,-0.2)
+ --(4.254167,-0.4)\dpicstop
+\draw (4.429167,-0.2) node[above=-2bp]{{\scriptsize 2}};
+\dpicdraw (4.429167,-0.2)
+ --(4.429167,-0.4)\dpicstop
+\draw (4.604167,-0.2) node[above=-2bp]{{\scriptsize 3}};
+\dpicdraw (4.604167,-0.2)
+ --(4.604167,-0.4)\dpicstop
+\draw (4.779167,-0.2) node[above=-2bp]{{\scriptsize 4}};
+\dpicdraw (4.779167,-0.2)
+ --(4.779167,-0.4)\dpicstop
+\draw (4.954167,-0.2) node[above=-2bp]{{\scriptsize 5}};
+\dpicdraw (4.954167,-0.2)
+ --(4.954167,-0.4)\dpicstop
+\draw (5.129167,-0.2) node[above=-2bp]{{\scriptsize 6}};
+\dpicdraw (5.129167,-0.2)
+ --(5.129167,-0.4)\dpicstop
+\draw (5.304167,-0.2) node[above=-2bp]{{\scriptsize 7}};
+\dpicdraw (5.304167,-0.2)
+ --(5.304167,-0.4)\dpicstop
+\draw (4.6,-0.608333) node{\tt down\_; Demux(8,{,}L3,{,}28*L\_unit)};
+\draw (3.875,0.133333) node[left=-2bp]{\sl Sel0};
+\draw (3.808333,-0.133333) node[below left=-2bp]{\sl Sel2};
+\draw (4.079167,-0.4) node[left=-2bp]{\sl Out0};
+\draw (5.304167,-0.4) node[right=-2bp]{\sl Out7};
+\draw (4.691667,0.4) node[left=-2bp]{\sl In};
+}
+\end{tikzpicture}
+\vspace*{-0.5\baselineskip}
diff --git a/graphics/circuit_macros/doc/Demultiplexer.m4 b/graphics/circuit_macros/doc/DemultiplexerMan.m4
index 210b643441..210b643441 100644
--- a/graphics/circuit_macros/doc/Demultiplexer.m4
+++ b/graphics/circuit_macros/doc/DemultiplexerMan.m4
diff --git a/graphics/circuit_macros/doc/Diodes.tex b/graphics/circuit_macros/doc/Diodes.tex
new file mode 100644
index 0000000000..a628327c27
--- /dev/null
+++ b/graphics/circuit_macros/doc/Diodes.tex
@@ -0,0 +1,383 @@
+\begin{tikzpicture}[scale=2.54]
+% dpic version 2020.03.01 option -g for TikZ and PGF 1.01
+\ifx\dpiclw\undefined\newdimen\dpiclw\fi
+\global\def\dpicdraw{\draw[line width=\dpiclw]}
+\global\def\dpicstop{;}
+\dpiclw=0.8bp
+\dpiclw=0.8bp
+\dpicdraw (0,0)
+ --(0.338916,0)\dpicstop
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (0.338916,0)
+ --(0.338916,0.041667)
+ --(0.40555,0)
+ --(0.338916,-0.041667)
+ --(0.338916,0)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\dpicdraw (0.411084,-0.045718)
+ --(0.411084,0.045718)\dpicstop
+\dpicdraw (0.411084,0)
+ --(0.75,0)\dpicstop
+\draw (0.777674,0) node[right=-2bp]{{\tt diode}};
+\dpicdraw (0,-0.2)
+ --(0.338916,-0.2)\dpicstop
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (0.338916,-0.2)
+ --(0.338916,-0.158333)
+ --(0.40555,-0.2)
+ --(0.338916,-0.241667)
+ --(0.338916,-0.2)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\dpicdraw (0.390251,-0.227778)
+ --(0.390251,-0.245718)
+ --(0.411084,-0.245718)
+ --(0.411084,-0.154282)
+ --(0.431918,-0.154282)
+ --(0.431918,-0.172222)\dpicstop
+\dpicdraw (0.411084,-0.2)
+ --(0.75,-0.2)\dpicstop
+\draw (0.777674,-0.2) node[right=-2bp]{{\tt diode(,S)}};
+\dpicdraw (0,-0.4)
+ --(0.338916,-0.4)\dpicstop
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (0.338916,-0.4)
+ --(0.338916,-0.358333)
+ --(0.40555,-0.4)
+ --(0.338916,-0.441667)
+ --(0.338916,-0.4)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\dpicdraw (0.411084,-0.445718)
+ --(0.411084,-0.354282)\dpicstop
+\dpicdraw (0.431918,-0.445718)
+ --(0.431918,-0.354282)\dpicstop
+\dpicdraw (0.431918,-0.4)
+ --(0.75,-0.4)\dpicstop
+\draw (0.777674,-0.4) node[right=-2bp]{{\tt diode(,V)}};
+\dpicdraw (0,-0.6)
+ --(0.338916,-0.6)\dpicstop
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (0.338916,-0.6)
+ --(0.338916,-0.558333)
+ --(0.40555,-0.6)
+ --(0.338916,-0.641667)
+ --(0.338916,-0.6)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\dpicdraw (0.411084,-0.645718)
+ --(0.411084,-0.554282)\dpicstop
+\dpicdraw (0.438862,-0.645718)
+ ..controls (0.421179,-0.617804) and (0.421179,-0.582196)
+ ..(0.438862,-0.554282)\dpicstop
+\dpicdraw (0.4256,-0.6)
+ --(0.431918,-0.6)\dpicstop
+\dpicdraw (0.431918,-0.6)
+ --(0.75,-0.6)\dpicstop
+\draw (0.777674,-0.6) node[right=-2bp]{{\tt diode(,v)}};
+\dpicdraw (0,-0.8)
+ --(0.338916,-0.8)\dpicstop
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (0.338916,-0.8)
+ --(0.338916,-0.758333)
+ --(0.40555,-0.8)
+ --(0.338916,-0.841667)
+ --(0.338916,-0.8)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\dpicdraw (0.397822,-0.754282)
+ ..controls (0.415505,-0.782196) and (0.415505,-0.817804)
+ ..(0.397822,-0.845718)\dpicstop
+\dpicdraw (0.431918,-0.845718)
+ --(0.431918,-0.754282)\dpicstop
+\dpicdraw (0.431918,-0.8)
+ --(0.75,-0.8)\dpicstop
+\draw (0.777674,-0.8) node[right=-2bp]{{\tt diode(,w)}};
+\dpicdraw (0,-1)
+ --(0.302831,-1)\dpicstop
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (0.302831,-1)
+ --(0.302831,-0.958333)
+ --(0.369465,-1)
+ --(0.302831,-1.041667)
+ --(0.302831,-1)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\dpicdraw (0.354167,-1.045718)
+ --(0.375,-1.045718)
+ --(0.375,-0.954282)
+ --(0.395833,-0.954282)\dpicstop
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (0.447169,-1)
+ --(0.447169,-0.958333)
+ --(0.380535,-1)
+ --(0.447169,-1.041667)
+ --(0.447169,-1)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\dpicdraw (0.447169,-1)
+ --(0.75,-1)\dpicstop
+\draw (0.777674,-1) node[right=-2bp]{{\tt diode(,B)}};
+\dpicdraw (0,-1.2)
+ --(0.302831,-1.2)\dpicstop
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (0.302831,-1.2)
+ --(0.302831,-1.158333)
+ --(0.369465,-1.2)
+ --(0.302831,-1.241667)
+ --(0.302831,-1.2)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (0.447169,-1.2)
+ --(0.447169,-1.158333)
+ --(0.380535,-1.2)
+ --(0.447169,-1.241667)
+ --(0.447169,-1.2)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\dpicdraw (0.447169,-1.2)
+ --(0.75,-1.2)\dpicstop
+\draw (0.777674,-1.2) node[right=-2bp]{{\tt diode(,G)}};
+\dpicdraw (2,0)
+ --(2.338916,0)\dpicstop
+\dpicdraw (2.338916,0)
+ --(2.338916,0.041667)
+ --(2.40555,0)
+ --(2.338916,-0.041667)
+ --(2.338916,0)\dpicstop
+\dpicdraw (2.411084,-0.045718)
+ --(2.411084,0.045718)\dpicstop
+\dpicdraw (2.411084,0)
+ --(2.75,0)\dpicstop
+\draw (2.777674,0) node[right=-2bp]{{\tt diode(,K)}};
+\dpicdraw (2,-0.2)
+ --(2.338916,-0.2)\dpicstop
+\dpicdraw (2.338916,-0.2)
+ --(2.338916,-0.158333)
+ --(2.40555,-0.2)
+ --(2.338916,-0.241667)
+ --(2.338916,-0.2)\dpicstop
+\dpicdraw (2.390251,-0.245718)
+ --(2.411084,-0.245718)
+ --(2.411084,-0.154282)
+ --(2.431918,-0.154282)\dpicstop
+\dpicdraw (2.411084,-0.2)
+ --(2.75,-0.2)\dpicstop
+\draw (2.777674,-0.2) node[right=-2bp]{{\tt diode(,ZK)}};
+\dpicdraw (2,-0.4)
+ --(2.338916,-0.4)\dpicstop
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (2.338916,-0.4)
+ --(2.338916,-0.358333)
+ --(2.40555,-0.4)
+ --(2.338916,-0.441667)
+ --(2.338916,-0.4)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\dpicdraw (2.411084,-0.445718)
+ --(2.411084,-0.354282)\dpicstop
+\dpicdraw (2.390251,-0.445718)
+ --(2.431918,-0.445718)\dpicstop
+\dpicdraw (2.390251,-0.354282)
+ --(2.431918,-0.354282)\dpicstop
+\dpicdraw (2.411084,-0.4)
+ --(2.75,-0.4)\dpicstop
+\draw (2.777674,-0.4) node[right=-2bp]{{\tt diode(,CR)}};
+\dpicdraw (2,-0.6)
+ --(2.338916,-0.6)\dpicstop
+\dpicdraw (2.338916,-0.6)
+ --(2.338916,-0.558333)
+ --(2.40555,-0.6)
+ --(2.338916,-0.641667)
+ --(2.338916,-0.6)\dpicstop
+\dpicdraw (2.338916,-0.6)
+ --(2.411084,-0.6)\dpicstop
+\dpicdraw (2.411084,-0.645718)
+ --(2.411084,-0.554282)\dpicstop
+\dpicdraw (2.411084,-0.6)
+ --(2.75,-0.6)\dpicstop
+\draw (2.777674,-0.6) node[right=-2bp]{{\tt diode(,L)}};
+\dpicdraw (2,-0.8)
+ --(2.338916,-0.8)\dpicstop
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (2.338916,-0.8)
+ --(2.338916,-0.758333)
+ --(2.40555,-0.8)
+ --(2.338916,-0.8)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\dpicdraw (2.338916,-0.8)
+ --(2.338916,-0.841667)\dpicstop
+\dpicdraw (2.411084,-0.8)
+ --(2.75,-0.8)\dpicstop
+\draw (2.777674,-0.8) node[right=-2bp]{{\tt diode(,F)}};
+\dpicdraw (2,-1)
+ --(2.338916,-1)\dpicstop
+\dpicdraw (2.338916,-1)
+ --(2.338916,-0.958333)
+ --(2.40555,-1)
+ --(2.338916,-1)\dpicstop
+\dpicdraw (2.338916,-1)
+ --(2.338916,-1.041667)\dpicstop
+\dpicdraw (2.411084,-1.045718)
+ --(2.411084,-0.954282)\dpicstop
+\dpicdraw (2.411084,-1)
+ --(2.75,-1)\dpicstop
+\draw (2.777674,-1) node[right=-2bp]{{\tt diode(,Sh)}};
+\dpicdraw (2,-1.2)
+ --(2.338916,-1.2)\dpicstop
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (2.338916,-1.158333)
+ --(2.338916,-1.116667)
+ --(2.40555,-1.158333)
+ --(2.338916,-1.2)
+ --(2.338916,-1.158333)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\dpicdraw (2.411084,-1.287385)
+ --(2.411084,-1.112615)\dpicstop
+\dpicdraw (2.338916,-1.287385)
+ --(2.338916,-1.112615)\dpicstop
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (2.411084,-1.241667)
+ --(2.411084,-1.2)
+ --(2.34445,-1.241667)
+ --(2.411084,-1.283333)
+ --(2.411084,-1.241667)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\dpicdraw (2.411084,-1.2)
+ --(2.75,-1.2)\dpicstop
+\draw (2.777674,-1.2) node[right=-2bp]{{\tt diode(,D)}};
+\dpicdraw (4.75,0)
+ --(4.411084,0)\dpicstop
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (4.411084,0)
+ --(4.411084,-0.041667)
+ --(4.34445,0)
+ --(4.411084,0.041667)
+ --(4.411084,0)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\dpicdraw (4.359749,0.045718)
+ --(4.338916,0.045718)
+ --(4.338916,-0.045718)
+ --(4.318082,-0.045718)\dpicstop
+\dpicdraw (4.338916,0)
+ --(4,0)\dpicstop
+\dpicdraw (4.375,0) circle (0.068898in)\dpicstop
+\draw (4.777674,0) node[right=-2bp]{{\tt diode(,Z,RE)}};
+\dpicdraw (4,-0.25)
+ --(4.338916,-0.25)\dpicstop
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (4.338916,-0.25)
+ --(4.338916,-0.208333)
+ --(4.40555,-0.25)
+ --(4.338916,-0.291667)
+ --(4.338916,-0.25)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\dpicdraw (4.390251,-0.295718)
+ --(4.411084,-0.295718)
+ --(4.411084,-0.204282)
+ --(4.390251,-0.204282)\dpicstop
+\dpicdraw (4.411084,-0.25)
+ --(4.75,-0.25)\dpicstop
+\draw (4.777674,-0.25) node[right=-2bp]{{\tt diode(,T)}};
+\dpicdraw (4,-0.55)
+ --(4.338916,-0.55)\dpicstop
+\filldraw[line width=0bp](4.269213,-0.43037)
+ --(4.339362,-0.461236)
+ --(4.308496,-0.391087) --cycle\dpicstop
+\dpicdraw (4.176728,-0.298602)
+ --(4.328524,-0.450398)\dpicstop
+\filldraw[line width=0bp](4.225018,-0.474565)
+ --(4.295168,-0.50543)
+ --(4.264302,-0.435281) --cycle\dpicstop
+\dpicdraw (4.132533,-0.342796)
+ --(4.284329,-0.494592)\dpicstop
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (4.338916,-0.55)
+ --(4.338916,-0.508333)
+ --(4.40555,-0.55)
+ --(4.338916,-0.591667)
+ --(4.338916,-0.55)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\dpicdraw (4.411084,-0.595718)
+ --(4.411084,-0.504282)\dpicstop
+\dpicdraw (4.411084,-0.55)
+ --(4.75,-0.55)\dpicstop
+\draw (4.777674,-0.55) node[right=-2bp]{{\tt diode(,P)}};
+\dpicdraw (4,-0.85)
+ --(4.338916,-0.85)\dpicstop
+\filldraw[line width=0bp](4.202683,-0.673662)
+ --(4.132533,-0.642796)
+ --(4.163399,-0.712945) --cycle\dpicstop
+\dpicdraw (4.295168,-0.80543)
+ --(4.143372,-0.653634)\dpicstop
+\filldraw[line width=0bp](4.246877,-0.629467)
+ --(4.176728,-0.598602)
+ --(4.207593,-0.668751) --cycle\dpicstop
+\dpicdraw (4.339362,-0.761236)
+ --(4.187566,-0.60944)\dpicstop
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (4.338916,-0.85)
+ --(4.338916,-0.808333)
+ --(4.40555,-0.85)
+ --(4.338916,-0.891667)
+ --(4.338916,-0.85)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\dpicdraw (4.411084,-0.895718)
+ --(4.411084,-0.804282)\dpicstop
+\dpicdraw (4.411084,-0.85)
+ --(4.75,-0.85)\dpicstop
+\draw (4.777674,-0.85) node[right=-2bp]{{\tt diode(,LE)}};
+\dpicdraw (4,-1)
+ --(4.338916,-1)\dpicstop
+\filldraw[line width=0bp](4.207593,-1.181249)
+ --(4.176728,-1.251398)
+ --(4.246877,-1.220533) --cycle\dpicstop
+\dpicdraw (4.339362,-1.088764)
+ --(4.187566,-1.24056)\dpicstop
+\filldraw[line width=0bp](4.163399,-1.137055)
+ --(4.132533,-1.207204)
+ --(4.202683,-1.176338) --cycle\dpicstop
+\dpicdraw (4.295168,-1.04457)
+ --(4.143372,-1.196366)\dpicstop
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (4.338916,-1)
+ --(4.338916,-0.958333)
+ --(4.40555,-1)
+ --(4.338916,-1.041667)
+ --(4.338916,-1)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\dpicdraw (4.411084,-1.045718)
+ --(4.411084,-0.954282)\dpicstop
+\dpicdraw (4.411084,-1)
+ --(4.75,-1)\dpicstop
+\draw (4.777674,-1) node[right=-2bp]{{\tt diode(,LER)}};
+\end{tikzpicture}
+\vspace*{-0.5\baselineskip}
diff --git a/graphics/circuit_macros/doc/Diodes.m4 b/graphics/circuit_macros/doc/DiodesMan.m4
index 360d8e9d9e..360d8e9d9e 100644
--- a/graphics/circuit_macros/doc/Diodes.m4
+++ b/graphics/circuit_macros/doc/DiodesMan.m4
diff --git a/graphics/circuit_macros/doc/Emarrows.tex b/graphics/circuit_macros/doc/Emarrows.tex
new file mode 100644
index 0000000000..f409b62c3e
--- /dev/null
+++ b/graphics/circuit_macros/doc/Emarrows.tex
@@ -0,0 +1,142 @@
+\begin{tikzpicture}[scale=2.54]
+% dpic version 2020.03.01 option -g for TikZ and PGF 1.01
+\ifx\dpiclw\undefined\newdimen\dpiclw\fi
+\global\def\dpicdraw{\draw[line width=\dpiclw]}
+\global\def\dpicstop{;}
+\dpiclw=0.8bp
+\dpiclw=0.8bp
+\filldraw[line width=0bp](0.53583,0.053354)
+ --(0.465681,0.08422)
+ --(0.496546,0.014071) --cycle\dpicstop
+\dpicdraw (0.628315,-0.078414)
+ --(0.476519,0.073382)\dpicstop
+\filldraw[line width=0bp](0.580024,0.097549)
+ --(0.509875,0.128414)
+ --(0.540741,0.058265) --cycle\dpicstop
+\dpicdraw (0.672509,-0.03422)
+ --(0.520713,0.117576)\dpicstop
+\dpicdraw[dotted](0.465681,-0.078414) rectangle (0.672509,0.128414)\dpicstop
+\dpiclw=0.4bp
+\filldraw[line width=0bp](0.421111,0.086317)
+ --(0.487778,0.106317)
+ --(0.421111,0.126317) --cycle\dpicstop
+\dpicdraw (0.468444,0.106317)
+ --(0.337778,0.106317)\dpicstop
+\draw (0.337778,0.106317) node[left=-2bp]{\sl Head};
+\filldraw[line width=0bp](0.670412,-0.122984)
+ --(0.650412,-0.056317)
+ --(0.630412,-0.122984) --cycle\dpicstop
+\dpicdraw (0.650412,-0.075651)
+ --(0.650412,-0.176317)\dpicstop
+\draw (0.650412,-0.176317) node[below=-2bp]{\sl Tail};
+\draw (0.546998,0.002903) node[below left=-2bp]{\sl A1};
+\draw (0.591192,0.047097) node[above right=-2bp]{\sl A2};
+\dpiclw=0.8bp
+\draw (0.569095,-0.278414) node[below=-2bp]{\tt em\_arrows(N)};
+\filldraw[line width=0bp](1.724278,0.078265)
+ --(1.755144,0.148414)
+ --(1.684995,0.117549) --cycle\dpicstop
+\dpicdraw (1.592509,-0.01422)
+ --(1.744305,0.137576)\dpicstop
+\filldraw[line width=0bp](1.768472,0.034071)
+ --(1.799338,0.10422)
+ --(1.729189,0.073354) --cycle\dpicstop
+\dpicdraw (1.636704,-0.058414)
+ --(1.7885,0.093382)\dpicstop
+\dpicdraw[fill=black](1.592509,-0.01422) circle (0.007874in)\dpicstop
+\dpicdraw[fill=black](1.636704,-0.058414) circle (0.007874in)\dpicstop
+\draw (1.685924,-0.078414) node[below=-2bp]{\tt em\_arrows(ND,45)};
+\dpicdraw (2.561973,-0.071092)
+ ..controls (2.55221,-0.080855) and (2.53638,-0.080855)
+ ..(2.526617,-0.071092)
+ ..controls (2.516854,-0.061329) and (2.516854,-0.0455)
+ ..(2.526617,-0.035737)\dpicstop
+\dpicdraw (2.526617,-0.035737)
+ ..controls (2.550188,-0.012166) and (2.514832,0.023189)
+ ..(2.491262,-0.000381)\dpicstop
+\dpicdraw (2.491262,-0.000381)
+ ..controls (2.481499,-0.010144) and (2.46567,-0.010144)
+ ..(2.455907,-0.000381)
+ ..controls (2.446144,0.009382) and (2.446144,0.025211)
+ ..(2.455907,0.034974)\dpicstop
+\filldraw[line width=0bp](2.456861,0.073304)
+ --(2.399338,0.091543)
+ --(2.417577,0.03402) --cycle\dpicstop
+\dpicdraw (2.455907,0.034974)
+ --(2.407872,0.083008)\dpicstop
+\dpicdraw (2.606167,-0.026898)
+ ..controls (2.582597,-0.050468) and (2.547241,-0.015113)
+ ..(2.570812,0.008457)\dpicstop
+\dpicdraw (2.570812,0.008457)
+ ..controls (2.580575,0.018221) and (2.580575,0.03405)
+ ..(2.570812,0.043813)
+ ..controls (2.561048,0.053576) and (2.545219,0.053576)
+ ..(2.535456,0.043813)\dpicstop
+\dpicdraw (2.535456,0.043813)
+ ..controls (2.525693,0.03405) and (2.509864,0.03405)
+ ..(2.500101,0.043813)
+ ..controls (2.490338,0.053576) and (2.490338,0.069405)
+ ..(2.500101,0.079168)\dpicstop
+\filldraw[line width=0bp](2.501055,0.117498)
+ --(2.443532,0.135737)
+ --(2.461771,0.078214) --cycle\dpicstop
+\dpicdraw (2.500101,0.079168)
+ --(2.452066,0.127203)\dpicstop
+\draw (2.502753,-0.078414) node[below=-2bp]{\tt $\ldots$(I)};
+\dpicdraw (3.368801,-0.058414)
+ ..controls (3.359038,-0.068177) and (3.343209,-0.068177)
+ ..(3.333446,-0.058414)
+ ..controls (3.323683,-0.048651) and (3.323683,-0.032822)
+ ..(3.333446,-0.023059)\dpicstop
+\dpicdraw (3.333446,-0.023059)
+ ..controls (3.357016,0.000511) and (3.321661,0.035867)
+ ..(3.298091,0.012296)\dpicstop
+\dpicdraw (3.298091,0.012296)
+ ..controls (3.288328,0.002533) and (3.272499,0.002533)
+ ..(3.262735,0.012296)
+ ..controls (3.252972,0.022059) and (3.252972,0.037889)
+ ..(3.262735,0.047652)\dpicstop
+\filldraw[line width=0bp](3.263689,0.085981)
+ --(3.206167,0.10422)
+ --(3.224406,0.046698) --cycle\dpicstop
+\dpicdraw (3.262735,0.047652)
+ --(3.214701,0.095686)\dpicstop
+\dpicdraw (3.412996,-0.01422)
+ ..controls (3.389425,-0.03779) and (3.35407,-0.002435)
+ ..(3.37764,0.021135)\dpicstop
+\dpicdraw (3.37764,0.021135)
+ ..controls (3.387403,0.030898) and (3.387403,0.046727)
+ ..(3.37764,0.05649)
+ ..controls (3.367877,0.066254) and (3.352048,0.066254)
+ ..(3.342285,0.05649)\dpicstop
+\dpicdraw (3.342285,0.05649)
+ ..controls (3.332522,0.046727) and (3.316693,0.046727)
+ ..(3.30693,0.05649)
+ ..controls (3.297167,0.066254) and (3.297167,0.082083)
+ ..(3.30693,0.091846)\dpicstop
+\filldraw[line width=0bp](3.307884,0.130176)
+ --(3.250361,0.148414)
+ --(3.2686,0.090892) --cycle\dpicstop
+\dpicdraw (3.30693,0.091846)
+ --(3.258895,0.13988)\dpicstop
+\dpicdraw[fill=black](3.368801,-0.058414) circle (0.007874in)\dpicstop
+\dpicdraw[fill=black](3.412996,-0.01422) circle (0.007874in)\dpicstop
+\draw (3.319581,-0.078414) node[below=-2bp]{\tt $\ldots$(ID)};
+\dpicdraw (4.121384,-0.078414)
+ --(4.032996,0.009974)
+ --(4.032996,-0.02931)\dpicstop
+\dpicdraw (4.165578,-0.03422)
+ --(4.07719,0.054168)
+ --(4.07719,0.014884)\dpicstop
+\draw (4.099287,-0.078414) node[below=-2bp]{\tt $\ldots$(E)};
+\dpicdraw (4.853966,-0.058414)
+ --(4.765578,0.029974)
+ --(4.765578,-0.00931)\dpicstop
+\dpicdraw (4.898161,-0.01422)
+ --(4.809772,0.074168)
+ --(4.809772,0.034884)\dpicstop
+\dpicdraw[fill=black](4.853966,-0.058414) circle (0.007874in)\dpicstop
+\dpicdraw[fill=black](4.898161,-0.01422) circle (0.007874in)\dpicstop
+\draw (4.841869,-0.078414) node[below=-2bp]{\tt $\ldots$(ED)};
+\end{tikzpicture}
+\vspace*{-0.5\baselineskip}
diff --git a/graphics/circuit_macros/doc/Emarrows.m4 b/graphics/circuit_macros/doc/EmarrowsMan.m4
index c4b2131902..c4b2131902 100644
--- a/graphics/circuit_macros/doc/Emarrows.m4
+++ b/graphics/circuit_macros/doc/EmarrowsMan.m4
diff --git a/graphics/circuit_macros/doc/Fuses.tex b/graphics/circuit_macros/doc/Fuses.tex
new file mode 100644
index 0000000000..f0ae5f2e95
--- /dev/null
+++ b/graphics/circuit_macros/doc/Fuses.tex
@@ -0,0 +1,174 @@
+\begin{tikzpicture}[scale=2.54]
+% dpic version 2020.03.01 option -g for TikZ and PGF 1.01
+\ifx\dpiclw\undefined\newdimen\dpiclw\fi
+\global\def\dpicdraw{\draw[line width=\dpiclw]}
+\global\def\dpicstop{;}
+\dpiclw=0.8bp
+\dpiclw=0.8bp
+\dpicdraw (0,0)
+ --(0.275,0)\dpicstop
+\dpicdraw (0.275,-0)
+ ..controls (0.275,0.027614) and (0.297386,0.05)
+ ..(0.325,0.05)
+ ..controls (0.352614,0.05) and (0.375,0.027614)
+ ..(0.375,0)\dpicstop
+\dpicdraw (0.375,0)
+ ..controls (0.375,-0.027614) and (0.397386,-0.05)
+ ..(0.425,-0.05)
+ ..controls (0.452614,-0.05) and (0.475,-0.027614)
+ ..(0.475,0)\dpicstop
+\dpicdraw (0.475,0)
+ --(0.75,0)\dpicstop
+\draw (0.375,-0.2) node{{\tt fuse}};
+\dpicdraw (1,0)
+ --(1.275,0)\dpicstop
+\dpicdraw (1.275,-0)
+ ..controls (1.275,0.027614) and (1.297386,0.05)
+ ..(1.325,0.05)
+ ..controls (1.352614,0.05) and (1.375,0.027614)
+ ..(1.375,0)\dpicstop
+\dpicdraw[fill=white](1.275,-0) circle (0.007874in)\dpicstop
+\dpicdraw (1.375,0)
+ ..controls (1.375,-0.027614) and (1.397386,-0.05)
+ ..(1.425,-0.05)
+ ..controls (1.452614,-0.05) and (1.475,-0.027614)
+ ..(1.475,0)\dpicstop
+\dpicdraw (1.475,0)
+ --(1.75,0)\dpicstop
+\dpicdraw[fill=white](1.475,0) circle (0.007874in)\dpicstop
+\draw (1.375,-0.2) node{{\tt fuse(,D)}};
+\dpicdraw (2,0)
+ --(2.275,0)\dpicstop
+\dpicdraw (2.475,0)
+ --(2.475,0.05)
+ --(2.275,0.05)
+ --(2.275,-0.05)
+ --(2.475,-0.05)
+ --(2.475,0)\dpicstop
+\dpicdraw (2.275,0)
+ --(2.75,0)\dpicstop
+\draw (2.375,-0.2) node{{\tt fuse(,B)}};
+\dpicdraw (3,0)
+ --(3.275,0)\dpicstop
+\dpicdraw (3.475,0)
+ --(3.475,0.05)
+ --(3.275,0.05)
+ --(3.275,-0.05)
+ --(3.475,-0.05)
+ --(3.475,0)\dpicstop
+\dpicdraw (3.315,-0.05)
+ --(3.315,0.05)\dpicstop
+\dpicdraw (3.435,-0.05)
+ --(3.435,0.05)\dpicstop
+\dpicdraw (3.475,0)
+ --(3.75,0)\dpicstop
+\draw (3.375,-0.2) node{{\tt fuse(,C)}};
+\dpicdraw (4,0)
+ --(4.275,0)\dpicstop
+\dpicdraw (4.475,0)
+ --(4.475,0.05)
+ --(4.275,0.05)
+ --(4.275,-0.05)
+ --(4.475,-0.05)
+ --(4.475,0)\dpicstop
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (4.315,0)
+ --(4.315,0.05)
+ --(4.275,0.05)
+ --(4.275,-0.05)
+ --(4.315,-0.05)
+ --(4.315,0)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\dpicdraw (4.475,0)
+ --(4.75,0)\dpicstop
+\draw (4.375,-0.2) node{{\tt fuse(,S)}};
+\dpicdraw (5,0)
+ --(5.208333,0)\dpicstop
+\dpicdraw (5.508333,0)
+ --(5.508333,0.05)
+ --(5.241667,0.05)
+ --(5.241667,-0.05)
+ --(5.508333,-0.05)
+ --(5.508333,0)\dpicstop
+\dpicdraw (5.541667,0)
+ --(5.541667,0.083333)
+ --(5.208333,0.083333)
+ --(5.208333,-0.083333)
+ --(5.541667,-0.083333)
+ --(5.541667,0)\dpicstop
+\dpicdraw (5.208333,0)
+ --(5.75,0)\dpicstop
+\draw (5.375,-0.2) node{{\tt fuse(,HB)}};
+\dpicdraw (0,-0.5)
+ --(0.125,-0.5)\dpicstop
+\dpicdraw (0.565,-0.5)
+ --(0.565,-0.41)
+ --(0.185,-0.41)
+ --(0.185,-0.59)
+ --(0.565,-0.59)
+ --(0.565,-0.5)\dpicstop
+\dpicdraw (0.261,-0.41)
+ --(0.261,-0.59)\dpicstop
+\dpicdraw (0.489,-0.41)
+ --(0.489,-0.59)\dpicstop
+\dpicdraw (0.625,-0.5)
+ --(0.625,-0.35)
+ --(0.125,-0.35)
+ --(0.125,-0.65)
+ --(0.625,-0.65)
+ --(0.625,-0.5)\dpicstop
+\dpicdraw (0.625,-0.5)
+ --(0.75,-0.5)\dpicstop
+\draw (0.375,-0.75) node{{\tt (,HC,0.5,0.3)}};
+\dpicdraw (1,-0.5)
+ --(1.291667,-0.5)\dpicstop
+\dpicdraw (1.276042,-0.46875)
+ ..controls (1.325521,-0.402778) and (1.424479,-0.402778)
+ ..(1.473958,-0.46875)\dpicstop
+\dpicdraw (1.458333,-0.5)
+ --(1.75,-0.5)\dpicstop
+\draw (1.375,-0.75) node{{\tt cbreaker}};
+\dpicdraw (2,-0.5)
+ --(2.291667,-0.5)\dpicstop
+\dpicdraw (2.276042,-0.53125)
+ ..controls (2.325521,-0.597222) and (2.424479,-0.597222)
+ ..(2.473958,-0.53125)\dpicstop
+\dpicdraw (2.458333,-0.5)
+ --(2.75,-0.5)\dpicstop
+\draw (2.375,-0.75) node{{\tt cbreaker(,R)}};
+\dpicdraw (3,-0.5)
+ --(3.291667,-0.5)\dpicstop
+\dpicdraw (3.276042,-0.46875)
+ ..controls (3.325521,-0.402778) and (3.424479,-0.402778)
+ ..(3.473958,-0.46875)\dpicstop
+\dpicdraw (3.458333,-0.5)
+ --(3.75,-0.5)\dpicstop
+\draw (3.375,-0.75) node{{\tt $\ldots$(,{,}D)}};
+\dpicdraw (4,-0.5)
+ --(4.275,-0.5)\dpicstop
+\dpicdraw[line width=0.4bp](4.275,-0.5) circle (0.00109in)\dpicstop
+\dpicdraw (4.275,-0.5)
+ ..controls (4.275,-0.46151) and (4.316667,-0.437454)
+ ..(4.35,-0.456699)
+ ..controls (4.383333,-0.475944) and (4.383333,-0.524056)
+ ..(4.35,-0.543301)\dpicstop
+\dpicdraw[line width=0.4bp](4.475,-0.5) circle (0.00109in)\dpicstop
+\dpicdraw (4.475,-0.5)
+ ..controls (4.475,-0.53849) and (4.433333,-0.562546)
+ ..(4.4,-0.543301)
+ ..controls (4.366667,-0.524056) and (4.366667,-0.475944)
+ ..(4.4,-0.456699)\dpicstop
+\dpicdraw (4.475,-0.5)
+ --(4.75,-0.5)\dpicstop
+\draw (4.375,-0.75) node{{\tt $\ldots$(,{,}T)}};
+\dpicdraw (5,-0.5)
+ --(5.325,-0.5)
+ --(5.325,-0.45)
+ --(5.425,-0.45)
+ --(5.425,-0.5)
+ --(5.75,-0.5)\dpicstop
+\draw (5.375,-0.75) node{{\tt $\ldots$(,{,}TS)}};
+\end{tikzpicture}
+\vspace*{-0.5\baselineskip}
diff --git a/graphics/circuit_macros/doc/Fuses.m4 b/graphics/circuit_macros/doc/FusesMan.m4
index b308e5aadb..bde24fac3e 100644
--- a/graphics/circuit_macros/doc/Fuses.m4
+++ b/graphics/circuit_macros/doc/FusesMan.m4
@@ -4,7 +4,8 @@ cct_init
movewid = 0.25
- {fuse ; {"`{\tt fuse}'" at last line.c+(0,-0.2)}
+ {
+ fuse ; {"`{\tt fuse}'" at last line.c+(0,-0.2)}
move
fuse(,D) ; {"`{\tt fuse(,D)}'" at last line.c+(0,-0.2)}
move
@@ -14,11 +15,10 @@ movewid = 0.25
move
fuse(,S) ; {"`{\tt fuse(,S)}'" at last line.c+(0,-0.2)}
move
- fuse(,HB) ; {"`{\tt fuse(,HB)}'" at last line.c+(0,-0.2)}
+ fuse(,SB) ; {"`{\tt fuse(,SB)}'" at last line.c+(0,-0.2)}
}
move down; right_
- fuse(,HC,0.5,0.3) ; {"`{\tt (,HC,0.5,0.3)}'" at last line.c+(0,-0.25)}
- move
+ {
cbreaker; {"`{\tt cbreaker}'" at last line.c+(0,-0.25)}
move
cbreaker(,R); {"`{\tt cbreaker(,R)}'" at last line.c+(0,-0.25)}
@@ -27,6 +27,13 @@ movewid = 0.25
move
cbreaker(,{,}T); {"`{\tt $\ldots$(,{,}T)}'" at last line.c+(0,-0.25)}
move
- cbreaker(,{,}TS); {"`{\tt $\ldots$(,{,}TS)}'" at last line.c+(0,-0.25)}
+ cbreaker(,{,}TS); {"`{\tt $\ldots$(,{,}TS)}'" at last line.c+(0,-0.25) }
+ }
+ move down; right_
+ {
+ fuse(,HB) ; {"`{\tt fuse(,HB)}'" at last line.c+(0,-0.2)}
+ move
+ fuse(,HC,0.5,0.3) ; {"`{\tt (,HC,0.5,0.3)}'" at last line.c+(0,-0.25)}
+ }
.PE
diff --git a/graphics/circuit_macros/doc/Grounds.tex b/graphics/circuit_macros/doc/Grounds.tex
new file mode 100644
index 0000000000..97ea3b7d9e
--- /dev/null
+++ b/graphics/circuit_macros/doc/Grounds.tex
@@ -0,0 +1,91 @@
+\begin{tikzpicture}[scale=2.54]
+% dpic version 2020.03.01 option -g for TikZ and PGF 1.01
+\ifx\dpiclw\undefined\newdimen\dpiclw\fi
+\global\def\dpicdraw{\draw[line width=\dpiclw]}
+\global\def\dpicstop{;}
+\dpiclw=0.8bp
+\dpiclw=0.8bp
+\dpicdraw (0,0)
+ --(0,-0.125)\dpicstop
+\dpicdraw (0.083333,-0.125)
+ --(-0.083333,-0.125)\dpicstop
+\dpicdraw (0.055556,-0.15625)
+ --(-0.055556,-0.15625)\dpicstop
+\dpicdraw (0.035714,-0.1875)
+ --(-0.035714,-0.1875)\dpicstop
+\dpicdraw (0.733333,0)
+ --(0.566667,-0)\dpicstop
+\dpicdraw (0.705556,-0.03125)
+ --(0.594444,-0.03125)\dpicstop
+\dpicdraw (0.685714,-0.0625)
+ --(0.614286,-0.0625)\dpicstop
+\dpicdraw (1.3,0)
+ --(1.3,-0.125)\dpicstop
+\dpicdraw (1.341667,-0.1875)
+ --(1.383333,-0.125)
+ --(1.216667,-0.125)
+ --(1.175,-0.1875)\dpicstop
+\dpicdraw (1.3,-0.125)
+ --(1.258333,-0.1875)\dpicstop
+\dpicdraw (1.95,0)
+ --(1.95,-0.125)\dpicstop
+\dpicdraw[line width=1.6bp](2.005556,-0.125)
+ --(1.894444,-0.125)\dpicstop
+\draw (0,-0.5) node{{\tt ground}};
+\draw (0.65,-0.402778) node{{\tt ground(,T)}};
+\draw (1.3,-0.5) node{{\tt (,{,}F)}};
+\draw (1.95,-0.5) node{{\tt (,{,}E)}};
+\dpicdraw (2.6,0)
+ --(2.6,-0.125)\dpicstop
+\dpicdraw (2.6,-0.125)
+ --(2.683333,-0.125)
+ --(2.6,-0.25)
+ --(2.516667,-0.125)
+ --(2.6,-0.125)\dpicstop
+\dpicdraw (3.25,-0.25)
+ --(3.25,-0.125)\dpicstop
+\dpicdraw (3.25,-0.125)
+ --(3.166667,-0.125)
+ --(3.25,0)
+ --(3.333333,-0.125)
+ --(3.25,-0.125)\dpicstop
+\dpicdraw (3.9,0)
+ --(3.9,-0.125)\dpicstop
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (3.9,-0.125)
+ --(3.983333,-0.125)
+ --(3.9,-0.25)
+ --(3.816667,-0.125)
+ --(3.9,-0.125)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\dpicdraw (4.55,0)
+ --(4.55,-0.125)\dpicstop
+\dpicdraw (4.441747,-0.21875)
+ ..controls (4.393634,-0.135417) and (4.453775,-0.03125)
+ ..(4.55,-0.03125)
+ ..controls (4.646225,-0.03125) and (4.706366,-0.135417)
+ ..(4.658253,-0.21875)\dpicstop
+\dpicdraw (4.633333,-0.125)
+ --(4.466667,-0.125)\dpicstop
+\dpicdraw (4.605556,-0.15625)
+ --(4.494444,-0.15625)\dpicstop
+\dpicdraw (4.585714,-0.1875)
+ --(4.514286,-0.1875)\dpicstop
+\dpicdraw (5.2,0)
+ --(5.2,-0.125)\dpicstop
+\dpicdraw (5.2,-0.15625) circle (0.049213in)\dpicstop
+\dpicdraw (5.283333,-0.125)
+ --(5.116667,-0.125)\dpicstop
+\dpicdraw (5.255556,-0.15625)
+ --(5.144444,-0.15625)\dpicstop
+\dpicdraw (5.235714,-0.1875)
+ --(5.164286,-0.1875)\dpicstop
+\draw (2.6,-0.5) node{{\tt (,{,}S)}};
+\draw (3.25,-0.5) node{{\tt (,{,}S,90)}};
+\draw (3.9,-0.5) node{{\tt (,{,}Q)}};
+\draw (4.55,-0.5) node{{\tt (,{,}L)}};
+\draw (5.2,-0.5) node{{\tt (,{,}P)}};
+\end{tikzpicture}
+\vspace*{-0.5\baselineskip}
diff --git a/graphics/circuit_macros/doc/Grounds.m4 b/graphics/circuit_macros/doc/GroundsMan.m4
index 13b4730b80..e93fadf33c 100644
--- a/graphics/circuit_macros/doc/Grounds.m4
+++ b/graphics/circuit_macros/doc/GroundsMan.m4
@@ -8,15 +8,18 @@ Ground: ground
GT: ground(,T)
move right sep
GF: ground(,,F)
+sep = 0.55
move right sep
GE: ground(,,E)
move right sep
-B: Here+(0,-0.5) ; {
- "{\tt `ground'}" wid 32bp__ at (Ground,B)
- "{\tt `ground'(,T)}" at (GT,B)+(0,7bp__)
+B: Here+(0,-0.5)
+D: B+(0,11bp__)
+
+ { "{\tt `ground'}" wid 32bp__ at (Ground,B)
+ "{\tt `ground'(,T)}" at (GT,B)+(0,11bp__)
"{\tt (,{,}F)}" at (GF,B)
- "{\tt (,{,}E)}" at (GE,B)}
+ "{\tt (,{,}E)}" at (GE,D)}
GS: ground(,,S)
@@ -28,12 +31,16 @@ GQ: ground(,,Q)
GL: ground(,,L)
move right sep
GP: ground(,,P)
+ move right sep
+GPA: ground(,T,PA)
C: Here+(0,-0.5)
+E: C+(0,11bp__)
"{\tt (,{,}S)}" at (GS,C)
- "{\tt (,{,}S,90)}" at (GS90,C)
+ "{\tt (,{,}S,90)}" at (GS90,E)
"{\tt (,{,}Q)}" at (GQ,C)
- "{\tt (,{,}L)}" at (GL,C)
+ "{\tt (,{,}L)}" at (GL,E)
"{\tt (,{,}P)}" at (GP,C)
+ "{\tt (,T,PA)}" at (GPA,E)
.PE
diff --git a/graphics/circuit_macros/doc/Headers.tex b/graphics/circuit_macros/doc/Headers.tex
new file mode 100644
index 0000000000..c5b11a87ec
--- /dev/null
+++ b/graphics/circuit_macros/doc/Headers.tex
@@ -0,0 +1,214 @@
+\begin{tikzpicture}[scale=2.54]
+% dpic version 2020.03.01 option -g for TikZ and PGF 1.01
+\ifx\dpiclw\undefined\newdimen\dpiclw\fi
+\global\def\dpicdraw{\draw[line width=\dpiclw]}
+\global\def\dpicstop{;}
+\dpiclw=0.8bp
+\dpiclw=0.8bp
+\dpicdraw (0.275,0)
+ --(0.275,0.15)
+ --(0.125,0.15)
+ --(0.125,-0.15)
+ --(0.275,-0.15)
+ --(0.275,0)\dpicstop
+\dpicdraw (0.2,0.075)
+ --(0,0.075)\dpicstop
+\fill[fill=white,line width=0bp](0.225,0.075)
+ --(0.225,0.1)
+ --(0.175,0.1)
+ --(0.175,0.05)
+ --(0.225,0.05)
+ --(0.225,0.075)--cycle
+\dpicstop
+\dpicdraw (0.225,0.075)
+ --(0.225,0.1)
+ --(0.175,0.1)
+ --(0.175,0.05)
+ --(0.225,0.05)
+ --(0.225,0.075)\dpicstop
+\dpicdraw (0.2,-0.075)
+ --(0,-0.075)\dpicstop
+\dpicdraw[fill=white](0.2,-0.075) circle (0.009843in)\dpicstop
+\draw (0,0.075) node[left=-2bp]{\sl P1};
+\draw (0.1375,-0.28837) node{\tt Header};
+\draw (0,-0.075) node[left=-2bp]{\sl P2};
+\dpicdraw (1.464961,-0.09685)
+ --(1.464961,0.1)
+ --(1.15,0.1)
+ --(1.15,-0.293701)
+ --(1.464961,-0.293701)
+ --(1.464961,-0.09685)\dpicstop
+\dpicdraw (1.225,0.034383)
+ --(1.025,0.034383)\dpicstop
+\fill[fill=white,line width=0bp](1.25,0.034383)
+ --(1.25,0.059383)
+ --(1.2,0.059383)
+ --(1.2,0.009383)
+ --(1.25,0.009383)
+ --(1.25,0.034383)--cycle
+\dpicstop
+\dpicdraw (1.25,0.034383)
+ --(1.25,0.059383)
+ --(1.2,0.059383)
+ --(1.2,0.009383)
+ --(1.25,0.009383)
+ --(1.25,0.034383)\dpicstop
+\dpicdraw (1.389961,0.034383)
+ --(1.589961,0.034383)\dpicstop
+\dpicdraw[fill=white](1.389961,0.034383) circle (0.009843in)\dpicstop
+\dpicdraw (1.225,-0.09685)
+ --(1.025,-0.09685)\dpicstop
+\dpicdraw[fill=white](1.225,-0.09685) circle (0.009843in)\dpicstop
+\dpicdraw (1.389961,-0.09685)
+ --(1.589961,-0.09685)\dpicstop
+\dpicdraw[fill=white](1.389961,-0.09685) circle (0.009843in)\dpicstop
+\dpicdraw (1.225,-0.228084)
+ --(1.025,-0.228084)\dpicstop
+\dpicdraw[fill=white](1.225,-0.228084) circle (0.009843in)\dpicstop
+\dpicdraw (1.389961,-0.228084)
+ --(1.589961,-0.228084)\dpicstop
+\dpicdraw[fill=white](1.389961,-0.228084) circle (0.009843in)\dpicstop
+\draw (1.025,0.034383) node[left=-2bp]{\sl P1};
+\draw (1.30748,-0.432071) node{\tt Header(2,3,8mm\_\_,10mm\_\_)};
+\draw (1.589961,0.034383) node[right=-2bp]{\sl P2};
+\draw (1.025,-0.228084) node[left=-2bp]{\sl P5};
+\draw (1.589961,-0.228084) node[right=-2bp]{\sl P6};
+\fill[fill=white!90!black,line width=0bp](2.464961,0.006299)
+ --(2.464961,-0.293701)
+ --(2.764961,-0.293701)
+ --(2.764961,0.306299)
+ --(2.464961,0.306299)
+ --(2.464961,0.006299)--cycle
+\dpicstop
+\dpicdraw (2.464961,0.006299)
+ --(2.464961,-0.293701)
+ --(2.764961,-0.293701)
+ --(2.764961,0.306299)
+ --(2.464961,0.306299)
+ --(2.464961,0.006299)\dpicstop
+\dpicdraw (2.689961,-0.218701)
+ --(2.889961,-0.218701)\dpicstop
+\fill[fill=white,line width=0bp](2.664961,-0.218701)
+ --(2.664961,-0.243701)
+ --(2.714961,-0.243701)
+ --(2.714961,-0.193701)
+ --(2.664961,-0.193701)
+ --(2.664961,-0.218701)--cycle
+\dpicstop
+\dpicdraw (2.664961,-0.218701)
+ --(2.664961,-0.243701)
+ --(2.714961,-0.243701)
+ --(2.714961,-0.193701)
+ --(2.664961,-0.193701)
+ --(2.664961,-0.218701)\dpicstop
+\dpicdraw (2.539961,-0.218701)
+ --(2.339961,-0.218701)\dpicstop
+\dpicdraw[fill=white](2.539961,-0.218701) circle (0.009843in)\dpicstop
+\dpicdraw (2.689961,-0.068701)
+ --(2.889961,-0.068701)\dpicstop
+\dpicdraw[fill=white](2.689961,-0.068701) circle (0.009843in)\dpicstop
+\dpicdraw (2.539961,-0.068701)
+ --(2.339961,-0.068701)\dpicstop
+\dpicdraw[fill=white](2.539961,-0.068701) circle (0.009843in)\dpicstop
+\dpicdraw (2.689961,0.081299)
+ --(2.889961,0.081299)\dpicstop
+\dpicdraw[fill=white](2.689961,0.081299) circle (0.009843in)\dpicstop
+\dpicdraw (2.539961,0.081299)
+ --(2.339961,0.081299)\dpicstop
+\dpicdraw[fill=white](2.539961,0.081299) circle (0.009843in)\dpicstop
+\dpicdraw (2.689961,0.231299)
+ --(2.889961,0.231299)\dpicstop
+\dpicdraw[fill=white](2.689961,0.231299) circle (0.009843in)\dpicstop
+\dpicdraw (2.539961,0.231299)
+ --(2.339961,0.231299)\dpicstop
+\dpicdraw[fill=white](2.539961,0.231299) circle (0.009843in)\dpicstop
+\draw (2.889961,-0.218701) node[right=-2bp]{\sl P1};
+\draw (2.614961,-0.570441) node{\tt left\_; Header(2,4,{,},fill\_(0.9))};
+\draw (2.339961,0.231299) node[left=-2bp]{\sl P8};
+\dpicdraw (4.239961,-0.118701)
+ --(4.839961,-0.118701)
+ --(4.839961,0.181299)
+ --(3.639961,0.181299)
+ --(3.639961,-0.118701)
+ --(4.239961,-0.118701)\dpicstop
+\dpicdraw (4.764961,0.106299)
+ --(4.764961,0.306299)\dpicstop
+\fill[fill=white,line width=0bp](4.764961,0.081299)
+ --(4.789961,0.081299)
+ --(4.789961,0.131299)
+ --(4.739961,0.131299)
+ --(4.739961,0.081299)
+ --(4.764961,0.081299)--cycle
+\dpicstop
+\dpicdraw (4.764961,0.081299)
+ --(4.789961,0.081299)
+ --(4.789961,0.131299)
+ --(4.739961,0.131299)
+ --(4.739961,0.081299)
+ --(4.764961,0.081299)\dpicstop
+\dpicdraw (4.764961,-0.043701)
+ --(4.764961,-0.243701)\dpicstop
+\dpicdraw[fill=white](4.764961,-0.043701) circle (0.009843in)\dpicstop
+\dpicdraw (4.614961,0.106299)
+ --(4.614961,0.306299)\dpicstop
+\dpicdraw[fill=white](4.614961,0.106299) circle (0.009843in)\dpicstop
+\dpicdraw (4.614961,-0.043701)
+ --(4.614961,-0.243701)\dpicstop
+\dpicdraw[fill=white](4.614961,-0.043701) circle (0.009843in)\dpicstop
+\dpicdraw (4.464961,0.106299)
+ --(4.464961,0.306299)\dpicstop
+\dpicdraw[fill=white](4.464961,0.106299) circle (0.009843in)\dpicstop
+\dpicdraw (4.464961,-0.043701)
+ --(4.464961,-0.243701)\dpicstop
+\dpicdraw[fill=white](4.464961,-0.043701) circle (0.009843in)\dpicstop
+\dpicdraw (4.314961,0.106299)
+ --(4.314961,0.306299)\dpicstop
+\dpicdraw[fill=white](4.314961,0.106299) circle (0.009843in)\dpicstop
+\dpicdraw (4.314961,-0.043701)
+ --(4.314961,-0.243701)\dpicstop
+\dpicdraw[fill=white](4.314961,-0.043701) circle (0.009843in)\dpicstop
+\dpicdraw (4.164961,0.106299)
+ --(4.164961,0.306299)\dpicstop
+\dpicdraw[fill=white](4.164961,0.106299) circle (0.009843in)\dpicstop
+\dpicdraw (4.164961,-0.043701)
+ --(4.164961,-0.243701)\dpicstop
+\dpicdraw[fill=white](4.164961,-0.043701) circle (0.009843in)\dpicstop
+\dpicdraw (4.014961,0.106299)
+ --(4.014961,0.306299)\dpicstop
+\dpicdraw[fill=white](4.014961,0.106299) circle (0.009843in)\dpicstop
+\dpicdraw (4.014961,-0.043701)
+ --(4.014961,-0.243701)\dpicstop
+\dpicdraw[fill=white](4.014961,-0.043701) circle (0.009843in)\dpicstop
+\dpicdraw (3.864961,0.106299)
+ --(3.864961,0.306299)\dpicstop
+\dpicdraw[fill=white](3.864961,0.106299) circle (0.009843in)\dpicstop
+\dpicdraw (3.864961,-0.043701)
+ --(3.864961,-0.243701)\dpicstop
+\dpicdraw[fill=white](3.864961,-0.043701) circle (0.009843in)\dpicstop
+\dpicdraw (3.714961,0.106299)
+ --(3.714961,0.306299)\dpicstop
+\dpicdraw[fill=white](3.714961,0.106299) circle (0.009843in)\dpicstop
+\dpicdraw (3.714961,-0.043701)
+ --(3.714961,-0.243701)\dpicstop
+\dpicdraw[fill=white](3.714961,-0.043701) circle (0.009843in)\dpicstop
+\draw (4.764961,0.306299) node[right=-2bp]{\sl P1};
+\draw (4.764961,-0.243701) node[right=-2bp]{\sl P2};
+\draw (4.239961,-0.382071) node{\tt down\_; Header(2,8)};
+\draw (3.714961,0.306299) node[left=-2bp]{\sl P15};
+\draw (3.714961,-0.243701) node[left=-2bp]{\sl P16};
+\dpiclw=0.4bp
+\filldraw[line width=0bp](4.856627,0.126299)
+ --(4.789961,0.106299)
+ --(4.856627,0.086299) --cycle\dpicstop
+\dpicdraw (4.809295,0.106299)
+ --(4.939961,0.106299)\dpicstop
+\draw (4.939961,0.106299) node[right=-2bp]{\sl PinP1};
+\filldraw[line width=0bp](4.856627,-0.023701)
+ --(4.789961,-0.043701)
+ --(4.856627,-0.063701) --cycle\dpicstop
+\dpicdraw (4.809295,-0.043701)
+ --(4.939961,-0.043701)\dpicstop
+\draw (4.939961,-0.043701) node[right=-2bp]{\sl PinP2};
+\dpiclw=0.8bp
+\end{tikzpicture}
+\vspace*{-0.5\baselineskip}
diff --git a/graphics/circuit_macros/doc/Headers.m4 b/graphics/circuit_macros/doc/HeadersMan.m4
index a4e1abce3b..1c040227e3 100644
--- a/graphics/circuit_macros/doc/Headers.m4
+++ b/graphics/circuit_macros/doc/HeadersMan.m4
@@ -5,7 +5,11 @@ log_init
Header
{"\sl P1" at last [].P1 rjust
`"\tt Header"' at last [].s+(0,-10pt__)
- "\sl P2" at last [].P2 rjust}
+ "\sl P2" at last [].P2 rjust
+ thinlines_
+ arrow <- from last [].Block.ne-(0,0.1) up 0.15 right 0.15
+ "\sl Block" ljust
+ thicklines_ }
Header(2,3,8mm__,10mm__) with .nw at last [].ne+(0.75,-0.05)
{"\sl P1" at last [].P1 rjust
diff --git a/graphics/circuit_macros/doc/Jack.tex b/graphics/circuit_macros/doc/Jack.tex
new file mode 100644
index 0000000000..2a9610f47a
--- /dev/null
+++ b/graphics/circuit_macros/doc/Jack.tex
@@ -0,0 +1,327 @@
+\begin{tikzpicture}[scale=2.54]
+% dpic version 2020.03.01 option -g for TikZ and PGF 1.01
+\ifx\dpiclw\undefined\newdimen\dpiclw\fi
+\global\def\dpicdraw{\draw[line width=\dpiclw]}
+\global\def\dpicstop{;}
+\dpiclw=0.8bp
+\dpiclw=0.8bp
+\dpicdraw (0.127778,-0.061111)
+ --(0.277778,-0.061111)
+ --(0.277778,0.005556)
+ --(0.477778,0.005556)\dpicstop
+\dpicdraw[fill=white](0.477778,0.005556) circle (0.007874in)\dpicstop
+\dpicdraw (0.127778,0.138889)
+ --(0.277778,0.138889)
+ --(0.277778,0.072222)
+ --(0.427778,0.072222)\dpicstop
+\draw (0.127778,-0.061111) node[left=-2bp]{\sl A};
+\draw (0.127778,0.138889) node[left=-2bp]{\sl B};
+\draw (0.427778,0.072222) node[above right=-2bp]{\sl TB};
+\draw (0.477778,0.005556) node[below right=-2bp]{\sl TA};
+\dpicdraw (0.977778,0.138889)
+ --(1.127778,0.138889)
+ --(1.127778,0.072222)
+ --(1.327778,0.072222)\dpicstop
+\dpicdraw[fill=white](1.327778,0.072222) circle (0.007874in)\dpicstop
+\dpicdraw (0.977778,-0.061111)
+ --(1.127778,-0.061111)
+ --(1.127778,0.005556)
+ --(1.277778,0.005556)\dpicstop
+\draw (0.977778,0.138889) node[left=-2bp]{\sl A};
+\draw (0.977778,-0.061111) node[left=-2bp]{\sl B};
+\dpicdraw (1.827778,-0.061111)
+ --(1.977778,-0.061111)
+ --(1.977778,0.022222)
+ --(2.177778,0.022222)\dpicstop
+\dpicdraw[fill=white](2.177778,0.022222) circle (0.007874in)\dpicstop
+\dpicdraw (1.827778,0.063889)
+ --(2.127778,0.063889)\dpicstop
+\dpicdraw (1.827778,0.188889)
+ --(1.977778,0.188889)
+ --(1.977778,0.105556)
+ --(2.127778,0.105556)\dpicstop
+\draw (1.827778,-0.061111) node[left=-2bp]{\sl A};
+\draw (1.827778,0.188889) node[left=-2bp]{\sl B};
+\draw (1.827778,0.063889) node[left=-2bp]{\sl C};
+\dpicdraw (2.827778,-0.061111)
+ --(2.677778,-0.061111)
+ --(2.677778,0.022222)
+ --(2.477778,0.022222)\dpicstop
+\dpicdraw[fill=white](2.477778,0.022222) circle (0.007874in)\dpicstop
+\dpicdraw (2.827778,0.063889)
+ --(2.527778,0.063889)\dpicstop
+\dpicdraw (2.827778,0.188889)
+ --(2.677778,0.188889)
+ --(2.677778,0.105556)
+ --(2.527778,0.105556)\dpicstop
+\draw (2.827778,-0.061111) node[right=-2bp]{\sl A};
+\draw (2.827778,0.188889) node[right=-2bp]{\sl B};
+\draw (2.827778,0.063889) node[right=-2bp]{\sl C};
+\draw (0.312778,-0.161111) node[below=-2bp]{\tt plug};
+\draw (1.162778,-0.161111) node[below=-2bp]{\tt plug(,R)};
+\draw (1.912778,-0.161111) node[below=-2bp]{\tt plug(,3)};
+\draw (2.742778,-0.161111) node[below=-2bp]{\tt plug(L,3R)};
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!100!black]
+\dpicdraw (0.498611,-0.871242)
+ --(0.498611,-0.746242)
+ --(0.456944,-0.746242)
+ --(0.456944,-0.996242)
+ --(0.498611,-0.996242)
+ --(0.498611,-0.871242)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\dpicdraw (0.427778,-0.758742)
+ --(0.396528,-0.789992)
+ --(0.365278,-0.758742)
+ --(0.127778,-0.758742)\dpicstop
+\dpicdraw[fill=white](0.127778,-0.758742) circle (0.007874in)\dpicstop
+\dpiclw=0.4bp
+\draw (0.127778,-0.758742) node[left=-2bp]{\sl L};
+\filldraw[line width=0bp](0.565278,-0.851242)
+ --(0.498611,-0.871242)
+ --(0.565278,-0.891242) --cycle\dpicstop
+\dpicdraw (0.517945,-0.871242)
+ --(0.598611,-0.871242)\dpicstop
+\draw (0.598611,-0.871242) node[right=-2bp]{\sl F};
+\filldraw[line width=0bp](0.497778,-1.062909)
+ --(0.477778,-0.996242)
+ --(0.457778,-1.062909) --cycle\dpicstop
+\dpicdraw (0.477778,-1.015576)
+ --(0.477778,-1.096242)
+ --(0.377778,-1.096242)\dpicstop
+\draw (0.377778,-1.096242) node[left=-2bp]{\sl G};
+\dpiclw=0.8bp
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!100!black]
+\dpicdraw (1.698611,-0.871242)
+ --(1.698611,-0.746242)
+ --(1.656944,-0.746242)
+ --(1.656944,-0.996242)
+ --(1.698611,-0.996242)
+ --(1.698611,-0.871242)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\dpicdraw (1.627778,-0.758742)
+ --(1.596528,-0.789992)
+ --(1.565278,-0.758742)
+ --(1.327778,-0.758742)\dpicstop
+\dpicdraw[fill=white](1.327778,-0.758742) circle (0.007874in)\dpicstop
+\filldraw[line width=0bp](1.396528,-0.671242)
+ --(1.427778,-0.733742)
+ --(1.459028,-0.671242) --cycle\dpicstop
+\dpicdraw (1.427778,-0.72132)
+ --(1.427778,-0.639992)\dpicstop
+\filldraw[line width=0bp](1.459028,-0.821242)
+ --(1.427778,-0.758742)
+ --(1.396528,-0.821242) --cycle\dpicstop
+\dpicdraw (1.427778,-0.771165)
+ --(1.427778,-0.852492)\dpicstop
+\dpicdraw (1.577778,-0.983742)
+ --(1.546528,-0.952492)
+ --(1.515278,-0.983742)
+ --(1.327778,-0.983742)\dpicstop
+\dpicdraw[fill=white](1.327778,-0.983742) circle (0.007874in)\dpicstop
+\dpiclw=0.4bp
+\draw (1.327778,-0.758742) node[left=-2bp]{\sl L};
+\filldraw[line width=0bp](1.361111,-0.659992)
+ --(1.427778,-0.639992)
+ --(1.361111,-0.619992) --cycle\dpicstop
+\dpicdraw (1.408444,-0.639992)
+ --(1.177778,-0.639992)\dpicstop
+\draw (1.177778,-0.639992) node[left=-2bp]{\sl LM};
+\filldraw[line width=0bp](1.361111,-0.872492)
+ --(1.427778,-0.852492)
+ --(1.361111,-0.832492) --cycle\dpicstop
+\dpicdraw (1.408444,-0.852492)
+ --(1.177778,-0.852492)\dpicstop
+\draw (1.177778,-0.852492) node[left=-2bp]{\sl LB};
+\draw (1.327778,-0.983742) node[left=-2bp]{\sl S};
+\dpiclw=0.8bp
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!100!black]
+\dpicdraw (2.098611,-0.871242)
+ --(2.098611,-0.996242)
+ --(2.140278,-0.996242)
+ --(2.140278,-0.746242)
+ --(2.098611,-0.746242)
+ --(2.098611,-0.871242)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\dpicdraw (2.169444,-0.758742)
+ --(2.200694,-0.789992)
+ --(2.231944,-0.758742)
+ --(2.469444,-0.758742)\dpicstop
+\dpicdraw[fill=white](2.469444,-0.758742) circle (0.007874in)\dpicstop
+\dpicdraw (2.219444,-0.983742)
+ --(2.250694,-0.952492)
+ --(2.281944,-0.983742)
+ --(2.469444,-0.983742)\dpicstop
+\dpicdraw[fill=white](2.469444,-0.983742) circle (0.007874in)\dpicstop
+\dpiclw=0.4bp
+\draw (2.469444,-0.758742) node[right=-2bp]{\sl L};
+\draw (2.469444,-0.983742) node[right=-2bp]{\sl S};
+\dpiclw=0.8bp
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!100!black]
+\dpicdraw (3.198611,-0.871242)
+ --(3.198611,-0.996242)
+ --(3.240278,-0.996242)
+ --(3.240278,-0.746242)
+ --(3.198611,-0.746242)
+ --(3.198611,-0.871242)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\dpicdraw (3.269444,-0.758742)
+ --(3.300694,-0.789992)
+ --(3.331944,-0.758742)
+ --(3.569444,-0.758742)\dpicstop
+\dpicdraw[fill=white](3.569444,-0.758742) circle (0.007874in)\dpicstop
+\filldraw[line width=0bp](3.500694,-0.821242)
+ --(3.469444,-0.758742)
+ --(3.438194,-0.821242) --cycle\dpicstop
+\dpicdraw (3.469444,-0.771165)
+ --(3.469444,-0.852492)\dpicstop
+\dpicdraw (3.319444,-0.571242)
+ --(3.569444,-0.571242)\dpicstop
+\dpicdraw[fill=white](3.569444,-0.571242) circle (0.007874in)\dpicstop
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!100!black]
+\dpicdraw (3.339028,-0.664992)
+ --(3.339028,-0.758742)
+ --(3.359861,-0.758742)
+ --(3.359861,-0.571242)
+ --(3.339028,-0.571242)
+ --(3.339028,-0.664992)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\filldraw[line width=0bp](3.438194,-0.483742)
+ --(3.469444,-0.546242)
+ --(3.500694,-0.483742) --cycle\dpicstop
+\dpicdraw (3.469444,-0.53382)
+ --(3.469444,-0.452492)\dpicstop
+\dpicdraw (3.319444,-0.383742)
+ --(3.569444,-0.383742)\dpicstop
+\dpicdraw[fill=white](3.569444,-0.383742) circle (0.007874in)\dpicstop
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!100!black]
+\dpicdraw (3.339028,-0.477492)
+ --(3.339028,-0.571242)
+ --(3.359861,-0.571242)
+ --(3.359861,-0.383742)
+ --(3.339028,-0.383742)
+ --(3.339028,-0.477492)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\filldraw[line width=0bp](3.438194,-0.296242)
+ --(3.469444,-0.358742)
+ --(3.500694,-0.296242) --cycle\dpicstop
+\dpicdraw (3.469444,-0.34632)
+ --(3.469444,-0.264992)\dpicstop
+\dpicdraw (3.319444,-0.983742)
+ --(3.350694,-0.952492)
+ --(3.381944,-0.983742)
+ --(3.569444,-0.983742)\dpicstop
+\dpicdraw[fill=white](3.569444,-0.983742) circle (0.007874in)\dpicstop
+\dpiclw=0.4bp
+\draw (3.569444,-0.571242) node[right=-2bp]{\sl L1};
+\filldraw[line width=0bp](3.536111,-0.432492)
+ --(3.469444,-0.452492)
+ --(3.536111,-0.472492) --cycle\dpicstop
+\dpicdraw (3.488778,-0.452492)
+ --(3.769444,-0.452492)\dpicstop
+\draw (3.769444,-0.452492) node[right=-2bp]{\sl LM1};
+\draw (3.569444,-0.383742) node[right=-2bp]{\sl L2};
+\filldraw[line width=0bp](3.536111,-0.244992)
+ --(3.469444,-0.264992)
+ --(3.536111,-0.284992) --cycle\dpicstop
+\dpicdraw (3.488778,-0.264992)
+ --(3.769444,-0.264992)\dpicstop
+\draw (3.769444,-0.264992) node[right=-2bp]{\sl LM2};
+\draw (3.569444,-0.983742) node[right=-2bp]{\sl S};
+\draw (3.569444,-0.758742) node[right=-2bp]{\sl L};
+\filldraw[line width=0bp](3.536111,-0.832492)
+ --(3.469444,-0.852492)
+ --(3.536111,-0.872492) --cycle\dpicstop
+\dpicdraw (3.488778,-0.852492)
+ --(3.669444,-0.852492)\dpicstop
+\draw (3.669444,-0.852492) node[right=-2bp]{\sl LB};
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!100!black]
+\dpicdraw (5.148611,-0.871242)
+ --(5.148611,-0.746242)
+ --(5.106944,-0.746242)
+ --(5.106944,-0.996242)
+ --(5.148611,-0.996242)
+ --(5.148611,-0.871242)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\dpicdraw (5.077778,-0.983742)
+ --(5.046528,-0.952492)
+ --(5.015278,-0.983742)
+ --(4.777778,-0.983742)\dpicstop
+\dpicdraw[fill=white](4.777778,-0.983742) circle (0.007874in)\dpicstop
+\filldraw[line width=0bp](4.846528,-0.921242)
+ --(4.877778,-0.983742)
+ --(4.909028,-0.921242) --cycle\dpicstop
+\dpicdraw (4.877778,-0.97132)
+ --(4.877778,-0.889992)\dpicstop
+\dpicdraw (5.027778,-0.758742)
+ --(4.996528,-0.789992)
+ --(4.965278,-0.758742)
+ --(4.777778,-0.758742)\dpicstop
+\dpicdraw[fill=white](4.777778,-0.758742) circle (0.007874in)\dpicstop
+\filldraw[line width=0bp](4.909028,-0.821242)
+ --(4.877778,-0.758742)
+ --(4.846528,-0.821242) --cycle\dpicstop
+\dpicdraw (4.877778,-0.771165)
+ --(4.877778,-0.852492)\dpicstop
+\dpicdraw (4.977778,-0.571242)
+ --(4.777778,-0.571242)\dpicstop
+\dpicdraw[fill=white](4.777778,-0.571242) circle (0.007874in)\dpicstop
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!100!black]
+\dpicdraw (4.958194,-0.664992)
+ --(4.958194,-0.571242)
+ --(4.937361,-0.571242)
+ --(4.937361,-0.758742)
+ --(4.958194,-0.758742)
+ --(4.958194,-0.664992)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\filldraw[line width=0bp](4.846528,-0.483742)
+ --(4.877778,-0.546242)
+ --(4.909028,-0.483742) --cycle\dpicstop
+\dpicdraw (4.877778,-0.53382)
+ --(4.877778,-0.452492)\dpicstop
+\draw (4.777778,-0.983742) node[left=-2bp]{\sl L};
+\draw (4.777778,-0.758742) node[left=-2bp]{\sl S};
+\draw (4.777778,-0.571242) node[left=-2bp]{\sl S1};
+\filldraw[line width=0bp](4.811111,-0.472492)
+ --(4.877778,-0.452492)
+ --(4.811111,-0.432492) --cycle\dpicstop
+\dpicdraw (4.858444,-0.452492)
+ --(4.577778,-0.452492)\dpicstop
+\draw (4.577778,-0.452492) node[left=-2bp]{\sl SM1};
+\filldraw[line width=0bp](4.811111,-0.909992)
+ --(4.877778,-0.889992)
+ --(4.811111,-0.869992) --cycle\dpicstop
+\dpicdraw (4.858444,-0.889992)
+ ..controls (4.743111,-0.889992) and (4.577778,-0.914992)
+ ..(4.527778,-0.939992)\dpicstop
+\draw (4.527778,-0.939992) node[left=-2bp]{\sl LB};
+\filldraw[line width=0bp](4.811111,-0.872492)
+ --(4.877778,-0.852492)
+ --(4.811111,-0.832492) --cycle\dpicstop
+\dpicdraw (4.858444,-0.852492)
+ ..controls (4.743111,-0.852492) and (4.577778,-0.827492)
+ ..(4.527778,-0.802492)\dpicstop
+\draw (4.527778,-0.802492) node[left=-2bp]{\sl SB};
+\dpiclw=0.8bp
+\draw (0.303194,-1.146242) node[below=-2bp]{\tt jack};
+\draw (1.334306,-1.146242) node[below=-2bp]{\tt jack(,LMBS)};
+\draw (2.294028,-1.146242) node[below=-2bp]{\tt ..(L,RLS)};
+\draw (3.394028,-1.146242) node[below=-2bp]{\tt ..(L,RLBLMLMS)};
+\draw (4.953194,-1.146242) node[below=-2bp]{\tt ..(,RSBSMLB)};
+\end{tikzpicture}
+\vspace*{-0.5\baselineskip}
diff --git a/graphics/circuit_macros/doc/Jack.m4 b/graphics/circuit_macros/doc/JackMan.m4
index b9a005d279..b9a005d279 100644
--- a/graphics/circuit_macros/doc/Jack.m4
+++ b/graphics/circuit_macros/doc/JackMan.m4
diff --git a/graphics/circuit_macros/doc/Logic.tex b/graphics/circuit_macros/doc/Logic.tex
new file mode 100644
index 0000000000..fae1a4e3c0
--- /dev/null
+++ b/graphics/circuit_macros/doc/Logic.tex
@@ -0,0 +1,212 @@
+\begin{tikzpicture}[scale=2.54]
+% dpic version 2020.03.01 option -g for TikZ and PGF 1.01
+\ifx\dpiclw\undefined\newdimen\dpiclw\fi
+\global\def\dpicdraw{\draw[line width=\dpiclw]}
+\global\def\dpicstop{;}
+\dpiclw=0.8bp
+\dpiclw=0.8bp
+\dpicdraw (0.2,0.45)
+ --(0,0.45)
+ --(0,0.75)
+ --(0.2,0.75)\dpicstop
+\dpicdraw (0.2,0.75)
+ ..controls (0.4,0.75) and (0.4,0.45)
+ ..(0.2,0.45)\dpicstop
+\draw (0.6,0.6) node[right=-2bp]{{\tt AND\_gate}};
+\dpicdraw (0.122222,0.348911)
+ --(0,0.348911)\dpicstop
+\dpicdraw (0.004513,0.351089)
+ ..controls (0.050565,0.25571) and (0.050948,0.144606)
+ ..(0.005556,0.048911)\dpicstop
+\dpicdraw (0,0.048911)
+ --(0.122222,0.048911)\dpicstop
+\dpicdraw (0.122222,0.348911)
+ ..controls (0.222661,0.348911) and (0.313857,0.290284)
+ ..(0.355556,0.198911)\dpicstop
+\dpicdraw (0.122222,0.048911)
+ ..controls (0.222661,0.048911) and (0.313857,0.107537)
+ ..(0.355556,0.198911)\dpicstop
+\draw (0.6,0.2) node[right=-2bp]{{\tt OR\_gate}};
+\dpicdraw (0.175,-0.2)
+ --(0,-0.3)
+ --(0,-0.1)
+ --(0.175,-0.2)\dpicstop
+\draw (0.6,-0.2) node[right=-2bp]{{\tt BUFFER\_gate}};
+\dpicdraw (-0,-0.451089)
+ ..controls (0.04503,-0.54602) and (0.04503,-0.656159)
+ ..(-0,-0.751089)\dpicstop
+\dpicdraw (0.166667,-0.451089)
+ --(0.044444,-0.451089)\dpicstop
+\dpicdraw (0.048957,-0.448911)
+ ..controls (0.095009,-0.54429) and (0.095392,-0.655394)
+ ..(0.05,-0.751089)\dpicstop
+\dpicdraw (0.044444,-0.751089)
+ --(0.166667,-0.751089)\dpicstop
+\dpicdraw (0.166667,-0.451089)
+ ..controls (0.267105,-0.451089) and (0.358302,-0.509716)
+ ..(0.4,-0.601089)\dpicstop
+\dpicdraw (0.166667,-0.751089)
+ ..controls (0.267105,-0.751089) and (0.358302,-0.692463)
+ ..(0.4,-0.601089)\dpicstop
+\draw (0.6,-0.6) node[right=-2bp]{{\tt XOR\_gate}};
+\dpicdraw (2.13718,0.45)
+ --(1.93718,0.45)
+ --(1.93718,0.75)
+ --(2.13718,0.75)\dpicstop
+\dpicdraw (2.13718,0.75)
+ ..controls (2.33718,0.75) and (2.33718,0.45)
+ ..(2.13718,0.45)\dpicstop
+\dpicdraw (2.32468,0.6) circle (0.014764in)\dpicstop
+\draw (2.53718,0.6) node[right=-2bp]{{\tt NAND\_gate}};
+\dpicdraw (2.059402,0.348911)
+ --(1.93718,0.348911)\dpicstop
+\dpicdraw (1.941693,0.351089)
+ ..controls (1.987745,0.25571) and (1.988128,0.144606)
+ ..(1.942736,0.048911)\dpicstop
+\dpicdraw (1.93718,0.048911)
+ --(2.059402,0.048911)\dpicstop
+\dpicdraw (2.059402,0.348911)
+ ..controls (2.159841,0.348911) and (2.251037,0.290284)
+ ..(2.292736,0.198911)\dpicstop
+\dpicdraw (2.059402,0.048911)
+ ..controls (2.159841,0.048911) and (2.251037,0.107537)
+ ..(2.292736,0.198911)\dpicstop
+\dpicdraw (2.330236,0.198911) circle (0.014764in)\dpicstop
+\draw (2.53718,0.2) node[right=-2bp]{{\tt NOR\_gate(3)}};
+\dpiclw=0.4bp
+\filldraw[line width=0bp](2.434402,0.218911)
+ --(2.367736,0.198911)
+ --(2.434402,0.178911) --cycle\dpicstop
+\dpicdraw (2.387069,0.198911)
+ --(2.444069,0.198911)
+ ..controls (2.482069,0.198911) and (2.501069,0.223911)
+ ..(2.501069,0.273911)
+ ..controls (2.501069,0.323911) and (2.509402,0.348911)
+ ..(2.526069,0.348911)
+ --(2.551069,0.348911)\dpicstop
+\draw (2.551069,0.348911) node[right=-2bp]{{\tt Out}};
+\filldraw[line width=0bp](2.350236,0.132244)
+ --(2.330236,0.198911)
+ --(2.310236,0.132244) --cycle\dpicstop
+\dpicdraw (2.330236,0.179577)
+ --(2.330236,0.122577)
+ ..controls (2.330236,0.084577) and (2.369819,0.062799)
+ ..(2.448986,0.057244)
+ --(2.567736,0.048911)\dpicstop
+\draw (2.567736,0.048911) node[right=-2bp]{{\tt N\_Out}};
+\filldraw[line width=0bp](1.902093,0.263339)
+ --(1.961918,0.298911)
+ --(1.892391,0.302144) --cycle\dpicstop
+\dpicdraw (1.943161,0.294221)
+ --(1.761918,0.248911)\dpicstop
+\draw (1.761918,0.268911) node[left=-2bp]{{\tt In1\/}};
+\filldraw[line width=0bp](1.916682,0.163339)
+ --(1.976508,0.198911)
+ --(1.906981,0.202144) --cycle\dpicstop
+\dpicdraw (1.957751,0.194221)
+ --(1.776508,0.148911)\dpicstop
+\draw (1.776508,0.148911) node[left=-2bp]{{\tt In2\/}};
+\filldraw[line width=0bp](1.902093,0.063339)
+ --(1.961918,0.098911)
+ --(1.892391,0.102144) --cycle\dpicstop
+\dpicdraw (1.943161,0.094221)
+ --(1.761918,0.048911)\dpicstop
+\draw (1.761918,0.028911) node[left=-2bp]{{\tt In3\/}};
+\dpiclw=0.8bp
+\dpicdraw (2.11218,-0.2)
+ --(1.93718,-0.3)
+ --(1.93718,-0.1)
+ --(2.11218,-0.2)\dpicstop
+\dpicdraw (2.14968,-0.2) circle (0.014764in)\dpicstop
+\draw (2.53718,-0.2) node[right=-2bp]{{\tt NOT\_gate}};
+\dpicdraw (1.992998,-0.451089)
+ ..controls (2.038027,-0.54602) and (2.038027,-0.656159)
+ ..(1.992998,-0.751089)\dpicstop
+\dpicdraw (2.159664,-0.451089)
+ --(2.037442,-0.451089)\dpicstop
+\dpicdraw (2.041955,-0.448911)
+ ..controls (2.088007,-0.54429) and (2.08839,-0.655394)
+ ..(2.042998,-0.751089)\dpicstop
+\dpicdraw (2.037442,-0.751089)
+ --(2.159664,-0.751089)\dpicstop
+\dpicdraw (2.159664,-0.451089)
+ ..controls (2.260103,-0.451089) and (2.351299,-0.509716)
+ ..(2.392998,-0.601089)\dpicstop
+\dpicdraw (2.159664,-0.751089)
+ ..controls (2.260103,-0.751089) and (2.351299,-0.692463)
+ ..(2.392998,-0.601089)\dpicstop
+\dpicdraw (2.430498,-0.601089) circle (0.014764in)\dpicstop
+\dpicdraw (1.97468,-0.501089) circle (0.014764in)\dpicstop
+\dpicdraw (1.97468,-0.701089) circle (0.014764in)\dpicstop
+\draw (2.53718,-0.6) node[right=-2bp]{{\tt NXOR\_gate(NPN)}};
+\filldraw[line width=0bp](1.834102,-0.501089)
+ --(1.93718,-0.501089)
+ --(1.846229,-0.452582) --cycle\dpicstop
+\dpicdraw (1.914958,-0.495534)
+ --(1.73718,-0.451089)\dpicstop
+\draw (1.73718,-0.431089) node[left=-2bp]{{\tt In1\/}};
+\filldraw[line width=0bp](1.923692,-0.601089)
+ --(2.02677,-0.601089)
+ --(1.935819,-0.552582) --cycle\dpicstop
+\dpicdraw (2.004548,-0.595534)
+ --(1.82677,-0.551089)\dpicstop
+\draw (1.82677,-0.551089) node[left=-2bp]{{\tt In2\/}};
+\filldraw[line width=0bp](1.834102,-0.701089)
+ --(1.93718,-0.701089)
+ --(1.846229,-0.652582) --cycle\dpicstop
+\dpicdraw (1.914958,-0.695534)
+ --(1.73718,-0.651089)\dpicstop
+\draw (1.73718,-0.671089) node[left=-2bp]{{\tt In3\/}};
+\dpicdraw (3.87436,0.6)
+ --(3.87436,0.775)
+ --(4.22436,0.775)
+ --(4.22436,0.425)
+ --(3.87436,0.425)
+ --(3.87436,0.6)\dpicstop
+\draw (4.04936,0.705815) node{{\scriptsize$ \& $}};
+\draw (4.47436,0.6) node[right=-2bp]{{\tt NAND\_gate(,B)}};
+\dpicdraw (3.87436,0.2)
+ --(3.87436,0.375)
+ --(4.22436,0.375)
+ --(4.22436,0.025)
+ --(3.87436,0.025)
+ --(3.87436,0.2)\dpicstop
+\draw (4.04936,0.305815) node{{\scriptsize$ \geq 1 $}};
+\dpicdraw (3.83686,0.316667) circle (0.014764in)\dpicstop
+\dpicdraw (3.83686,0.2) circle (0.014764in)\dpicstop
+\dpicdraw (3.83686,0.083333) circle (0.014764in)\dpicstop
+\dpicdraw (4.26186,0.2) circle (0.014764in)\dpicstop
+\draw (4.47436,0.2) node[right=-2bp]{{\tt NOR\_gate(3,NB)}};
+\dpicdraw (3.87436,-0.2)
+ --(3.87436,-0.025)
+ --(4.22436,-0.025)
+ --(4.22436,-0.375)
+ --(3.87436,-0.375)
+ --(3.87436,-0.2)\dpicstop
+\draw (4.04936,-0.094185) node{{\scriptsize$ =1 $}};
+\dpicdraw (3.83686,-0.2875) circle (0.014764in)\dpicstop
+\dpicdraw (4.26186,-0.2) circle (0.014764in)\dpicstop
+\draw (4.47436,-0.2) node[right=-2bp]{{\tt BOX\_gate(PN,N,{,},=1)}};
+\dpicdraw (3.87436,-0.1125)
+ --(3.72436,-0.1125)\dpicstop
+\dpicdraw (3.79936,-0.2875)
+ --(3.72436,-0.2875)\dpicstop
+\dpicdraw (4.29936,-0.2)
+ --(4.44936,-0.2)\dpicstop
+\dpicdraw (3.87436,-0.6)
+ --(3.87436,-0.425)
+ --(4.22436,-0.425)
+ --(4.22436,-0.775)
+ --(3.87436,-0.775)
+ --(3.87436,-0.6)\dpicstop
+\draw (4.04936,-0.494185) node{{\scriptsize$ = $}};
+\dpicdraw (4.26186,-0.6) circle (0.014764in)\dpicstop
+\draw (4.47436,-0.6) node[right=-2bp]{{\tt BOX\_gate(PP,N,{,},=)}};
+\dpicdraw (3.87436,-0.5125)
+ --(3.72436,-0.5125)\dpicstop
+\dpicdraw (3.87436,-0.6875)
+ --(3.72436,-0.6875)\dpicstop
+\dpicdraw (4.29936,-0.6)
+ --(4.44936,-0.6)\dpicstop
+\end{tikzpicture}
+\vspace*{-0.5\baselineskip}
diff --git a/graphics/circuit_macros/doc/Logic.m4 b/graphics/circuit_macros/doc/LogicMan.m4
index d42e02768e..d42e02768e 100644
--- a/graphics/circuit_macros/doc/Logic.m4
+++ b/graphics/circuit_macros/doc/LogicMan.m4
diff --git a/graphics/circuit_macros/doc/Makefile b/graphics/circuit_macros/doc/Makefile
index 463f3c0ec1..9e27cc0b27 100644
--- a/graphics/circuit_macros/doc/Makefile
+++ b/graphics/circuit_macros/doc/Makefile
@@ -5,31 +5,30 @@ DOC = Circuit_macros
DOCSRC = Circuit_macros.tex body.tex defines.tex
PICTEX = \
- AmpTable.tex Antennas.tex Audio.tex Axes.tex \
- Buffer.tex BigResistor.tex Bip.tex \
- CctTable.tex Composite.tex ConfigA.tex ConfigB.tex ConfigC.tex Conn.tex \
- Corners.tex Contact.tex Contacts.tex \
- Dac.tex Darlington.tex Demultiplexer.tex Diodes.tex \
- Emarrows.tex FF.tex FlipFlop.tex \
- Flowdiag.tex Fuses.tex Grounds.tex \
- Headers.tex HybridPi.tex Jack.tex \
- Logic.tex Loop.tex Multiplexer.tex NPDT.tex NLG.tex Nport.tex \
- Oblique.tex Opamp.tex Opto.tex \
- ParSeries.tex Pconn.tex Potentiometers.tex Relay.tex relaycoil.tex \
- Series.tex ShiftR.tex Sinus.tex Sources.tex Switches.tex \
- Taps.tex Tgate.tex Thermal.tex Tline.tex Ttree.tex \
- Variable.tex Xform.tex Windings.tex Workflow.tex \
- bitr.tex bi_trans.tex \
- bistable.tex currents.tex eboxdims.tex fbfilter.tex fet.tex \
- lrarrows.tex mplex.tex oax.tex \
- quick.tex stringdims.tex thyristor.tex ujt.tex woodchips.tex
+ AmpTableMan.tex AntennasMan.tex AudioMan.tex Axes.tex \
+ Buffer.tex BigResistor.tex BipMan.tex \
+ CctTableMan.tex Composite.tex ConfigA.tex ConfigB.tex ConfigC.tex \
+ ConnMan.tex Corners.tex ContactMan.tex ContactsMan.tex \
+ Dac.tex Darlington.tex DemultiplexerMan.tex DiodesMan.tex \
+ EmarrowsMan.tex FF.tex FlipFlop.tex Flowdiag.tex FusesMan.tex \
+ GroundsMan.tex HeadersMan.tex HybridPi.tex JackMan.tex LogicMan.tex \
+ Loop.tex MultiplexerMan.tex NPDTMan.tex NLGMan.tex NportMan.tex \
+ Oblique.tex OpampMan.tex Opto.tex ParSeries.tex PconnMan.tex \
+ Potentiometers.tex RelayMan.tex relaycoilMan.tex Series.tex ShiftRMan.tex \
+ Sinus.tex SourcesMan.tex SwitchesMan.tex Taps.tex TgateMan.tex \
+ Thermal.tex Tline.tex VariableMan.tex XformMan.tex \
+ WindingsMan.tex Workflow.tex bitr.tex bi_trans.tex bistableMan.tex \
+ currents.tex eboxdims.tex fbfilter.tex fetMan.tex lrarrows.tex \
+ mplex.tex oax.tex quick.tex \
+ sampleIC.tex stringdims.tex thyristorMan.tex ujtMan.tex \
+ woodchips.tex
VERBATIM = BigResistor2.verb eboxdims.verb
-BOXDIMS = Antennas.tex bi_trans.tex ConfigA.tex ConfigB.tex ConfigC.tex \
+BOXDIMS = AntennasMan.tex bi_trans.tex ConfigA.tex ConfigB.tex ConfigC.tex \
Corners.tex \
Dac.tex eboxdims.tex FlipFlop.tex \
- Opamp.tex ParSeries.tex Sinus.tex stringdims.tex Ttree.tex \
- Windings.tex woodchips.tex
+ OpampMan.tex ParSeries.tex Sinus.tex stringdims.tex \
+ WindingsMan.tex woodchips.tex
# BOXDIMS = $(PICTEX)
LATEX = latex
@@ -59,7 +58,7 @@ SFX = dvi
M4LIBS = $(MODE).m4
.SUFFIXES: .tex .m4
-.m4.tex: $*.m4
+.m4.tex:
touch $(DOC).dim
$(M4) $(M4LIBS) $(DOC).dim $*.m4 > $*.pic
($(PRE) $(PIC) $*.pic $(POST)) > $*.tex
@@ -71,7 +70,8 @@ $(DOC).pdf:
make MODE=pgf PIC="dpic -g" LATEX=pdflatex SFX=pdf \
POST="; printf '\\\\vspace*{-0.5\\\\baselineskip}\\n'" \
$(DOC).pdf
- optpdf $(DOC).pdf
+# This breaks internal links:
+# optpdf $(DOC).pdf
chmod 644 $(DOC).pdf
$(DOC).ps:
diff --git a/graphics/circuit_macros/doc/Multiplexer.tex b/graphics/circuit_macros/doc/Multiplexer.tex
new file mode 100644
index 0000000000..a8a09d6e1c
--- /dev/null
+++ b/graphics/circuit_macros/doc/Multiplexer.tex
@@ -0,0 +1,148 @@
+\begin{tikzpicture}[scale=2.54]
+% dpic version 2020.03.01 option -g for TikZ and PGF 1.01
+\ifx\dpiclw\undefined\newdimen\dpiclw\fi
+\global\def\dpicdraw{\draw[line width=\dpiclw]}
+\global\def\dpicstop{;}
+\dpiclw=0.8bp
+\dpiclw=0.8bp
+{\sf
+\dpicdraw (0.2,0.075)
+ --(0.2,0.525)
+ --(0.6,0.425)
+ --(0.6,-0.275)
+ --(0.2,-0.375)
+ --(0.2,0.075)\dpicstop
+\draw (0.4,0.075) node{\scriptsize M1};
+\dpicdraw (0.6,0.075)
+ --(0.8,0.075)\dpicstop
+\dpicdraw (0.4,-0.325)
+ --(0.4,-0.525)\dpicstop
+\draw (0.2,0.4125) node[right=-2bp]{{\scriptsize 0}};
+\dpicdraw (0.2,0.4125)
+ --(0,0.4125)\dpicstop
+\draw (0.2,0.1875) node[right=-2bp]{{\scriptsize 1}};
+\dpicdraw (0.2,0.1875)
+ --(0,0.1875)\dpicstop
+\draw (0.2,-0.0375) node[right=-2bp]{{\scriptsize 2}};
+\dpicdraw (0.2,-0.0375)
+ --(0,-0.0375)\dpicstop
+\draw (0.2,-0.2625) node[right=-2bp]{{\scriptsize 3}};
+\dpicdraw (0.2,-0.2625)
+ --(0,-0.2625)\dpicstop
+\draw (0.4,-0.525) node[below=-2bp]{\tt Mux(4,M1)};
+\draw (0,0.4125) node[left=-2bp]{\sl In0};
+\draw (0,0.1875) node[left=-2bp]{\sl In1};
+\draw (0,-0.0375) node[left=-2bp]{\sl In2};
+\draw (0,-0.2625) node[left=-2bp]{\sl In3};
+\draw (0.8,0.075) node[above=-2bp]{\sl Out};
+\draw (0.4,-0.525) node[above right=-2bp]{\sl Sel};
+\dpicdraw (1.5,-0.075)
+ --(1.5,-0.525)
+ --(1.1,-0.425)
+ --(1.1,0.275)
+ --(1.5,0.375)
+ --(1.5,-0.075)\dpicstop
+\dpicdraw (1.1,-0.075)
+ --(0.9,-0.075)\dpicstop
+\dpicdraw (1.3,0.325)
+ --(1.3,0.525)\dpicstop
+\draw (1.5,0.285) node[left=-2bp]{{\scriptsize 0}};
+\dpicdraw (1.5,0.285)
+ --(1.7,0.285)\dpicstop
+\draw (1.5,0.105) node[left=-2bp]{{\scriptsize 1}};
+\dpicdraw (1.5,0.105)
+ --(1.7,0.105)\dpicstop
+\draw (1.5,-0.075) node[left=-2bp]{{\scriptsize 2}};
+\dpicdraw (1.5,-0.075)
+ --(1.7,-0.075)\dpicstop
+\draw (1.5,-0.255) node[left=-2bp]{{\scriptsize 3}};
+\dpicdraw (1.5,-0.255)
+ --(1.7,-0.255)\dpicstop
+\draw (1.5,-0.435) node[left=-2bp]{{\scriptsize $\overline{\hbox{OE}}$}};
+\dpicdraw (1.5375,-0.435) circle (0.014764in)\dpicstop
+\dpicdraw (1.575,-0.435)
+ --(1.7,-0.435)\dpicstop
+\draw (1.3,-0.802778) node{\tt left\_; Mux(4,{,}LNOE)};
+\draw (1.7,0.285) node[above=-2bp]{\sl In0};
+\draw (1.755556,-0.435) node[below=-2bp]{\sl NOE};
+\draw (0.9,-0.075) node[below=-2bp]{\sl Out};
+\draw (1.3,0.525) node[below left=-2bp]{\sl Sel};
+\dpicdraw (2.5,-0.0875)
+ --(2.5,0.3625)
+ --(2.9,0.2625)
+ --(2.9,-0.4375)
+ --(2.5,-0.5375)
+ --(2.5,-0.0875)\dpicstop
+\dpicdraw (2.9,-0.0875)
+ --(3.1,-0.0875)\dpicstop
+\dpicdraw (2.6,0.3375)
+ --(2.6,0.5375)\dpicstop
+\dpicdraw (2.8,0.2875)
+ --(2.8,0.4875)\dpicstop
+\draw (2.5,0.2725) node[right=-2bp]{{\scriptsize 00}};
+\dpicdraw (2.5,0.2725)
+ --(2.3,0.2725)\dpicstop
+\draw (2.5,0.0925) node[right=-2bp]{{\scriptsize 01}};
+\dpicdraw (2.5,0.0925)
+ --(2.3,0.0925)\dpicstop
+\draw (2.5,-0.0875) node[right=-2bp]{{\scriptsize 10}};
+\dpicdraw (2.5,-0.0875)
+ --(2.3,-0.0875)\dpicstop
+\draw (2.5,-0.2675) node[right=-2bp]{{\scriptsize 11}};
+\dpicdraw (2.5,-0.2675)
+ --(2.3,-0.2675)\dpicstop
+\draw (2.5,-0.4475) node[right=-2bp]{{\scriptsize OE}};
+\dpicdraw (2.5,-0.4475)
+ --(2.3,-0.4475)\dpicstop
+\draw (2.7,-0.5375) node[below=-2bp]{\tt Mux(4,{,}OEBN2)};
+\draw (2.6,0.5375) node[left=-2bp]{\sl Sel0};
+\draw (2.8,0.4875) node[right=-2bp]{\sl Sel1};
+\draw (2.3,0.2725) node[left=-2bp]{\sl In0};
+\draw (2.3,-0.2675) node[left=-2bp]{\sl In3};
+\draw (2.3,-0.4475) node[left=-2bp]{\sl OE};
+\dpicdraw (4.491667,0.2)
+ --(5.191667,0.2)
+ --(5.091667,-0.2)
+ --(3.891667,-0.2)
+ --(3.791667,0.2)
+ --(4.491667,0.2)\dpicstop
+\dpicdraw (4.491667,-0.2)
+ --(4.491667,-0.4)\dpicstop
+\dpicdraw (3.808333,0.133333)
+ --(3.608333,0.133333)\dpicstop
+\dpicdraw (3.841667,0)
+ --(3.641667,0)\dpicstop
+\dpicdraw (3.875,-0.133333)
+ --(3.675,-0.133333)\dpicstop
+\draw (3.879167,0.2) node[below=-2bp]{{\scriptsize 0}};
+\dpicdraw (3.879167,0.2)
+ --(3.879167,0.4)\dpicstop
+\draw (4.054167,0.2) node[below=-2bp]{{\scriptsize 1}};
+\dpicdraw (4.054167,0.2)
+ --(4.054167,0.4)\dpicstop
+\draw (4.229167,0.2) node[below=-2bp]{{\scriptsize 2}};
+\dpicdraw (4.229167,0.2)
+ --(4.229167,0.4)\dpicstop
+\draw (4.404167,0.2) node[below=-2bp]{{\scriptsize 3}};
+\dpicdraw (4.404167,0.2)
+ --(4.404167,0.4)\dpicstop
+\draw (4.579167,0.2) node[below=-2bp]{{\scriptsize 4}};
+\dpicdraw (4.579167,0.2)
+ --(4.579167,0.4)\dpicstop
+\draw (4.754167,0.2) node[below=-2bp]{{\scriptsize 5}};
+\dpicdraw (4.754167,0.2)
+ --(4.754167,0.4)\dpicstop
+\draw (4.929167,0.2) node[below=-2bp]{{\scriptsize 6}};
+\dpicdraw (4.929167,0.2)
+ --(4.929167,0.4)\dpicstop
+\draw (5.104167,0.2) node[below=-2bp]{{\scriptsize 7}};
+\dpicdraw (5.104167,0.2)
+ --(5.104167,0.4)\dpicstop
+\draw (4.4,-0.4) node[below=-2bp]{\tt down\_; Mux(8,{,}L3,{,}28*L\_unit)};
+\draw (3.608333,0.133333) node[left=-2bp]{\sl Sel0};
+\draw (3.675,-0.133333) node[below left=-2bp]{\sl Sel2};
+\draw (3.879167,0.4) node[left=-2bp]{\sl In0};
+\draw (5.104167,0.4) node[right=-2bp]{\sl In7};
+}
+\end{tikzpicture}
+\vspace*{-0.5\baselineskip}
diff --git a/graphics/circuit_macros/doc/Multiplexer.m4 b/graphics/circuit_macros/doc/MultiplexerMan.m4
index f4b72154a4..f4b72154a4 100644
--- a/graphics/circuit_macros/doc/Multiplexer.m4
+++ b/graphics/circuit_macros/doc/MultiplexerMan.m4
diff --git a/graphics/circuit_macros/doc/NLG.tex b/graphics/circuit_macros/doc/NLG.tex
new file mode 100644
index 0000000000..ba14d3cb04
--- /dev/null
+++ b/graphics/circuit_macros/doc/NLG.tex
@@ -0,0 +1,93 @@
+\begin{tikzpicture}[scale=2.54]
+% dpic version 2020.03.01 option -g for TikZ and PGF 1.01
+\ifx\dpiclw\undefined\newdimen\dpiclw\fi
+\global\def\dpicdraw{\draw[line width=\dpiclw]}
+\global\def\dpicstop{;}
+\dpiclw=0.8bp
+\dpiclw=0.8bp
+\dpicdraw (0.145,-0.25) rectangle (0.895,0.25)\dpicstop
+\draw (0.145,0) node[right=-2bp]{${}0$};
+\draw (0.895,0) node[left=-2bp]{$\infty$};
+\dpicdraw (0.145,0.125)
+ --(0.02,0.125)\dpicstop
+\dpicdraw[fill=black](0.02,0.125) circle (0.007874in)\dpicstop
+\dpicdraw (0.145,-0.125)
+ --(0.02,-0.125)\dpicstop
+\dpicdraw[fill=black](0.02,-0.125) circle (0.007874in)\dpicstop
+\dpicdraw (0.895,0.125)
+ --(1.02,0.125)\dpicstop
+\dpicdraw[fill=black](1.02,0.125) circle (0.007874in)\dpicstop
+\dpicdraw (0.895,-0.125)
+ --(1.02,-0.125)\dpicstop
+\dpicdraw[fill=black](1.02,-0.125) circle (0.007874in)\dpicstop
+\draw (0.52,-0.291511) node[below=-2bp]{\tt nullor};
+\dpicdraw (1.685,-0.25) rectangle (2.185,0.25)\dpicstop
+\dpicdraw (1.685,0.125)
+ --(1.56,0.125)\dpicstop
+\dpicdraw[fill=black](1.56,0.125) circle (0.007874in)\dpicstop
+\dpicdraw (1.685,-0.125)
+ --(1.56,-0.125)\dpicstop
+\dpicdraw[fill=black](1.56,-0.125) circle (0.007874in)\dpicstop
+\dpicdraw (2.185,0.125)
+ --(2.31,0.125)\dpicstop
+\dpicdraw[fill=black](2.31,0.125) circle (0.007874in)\dpicstop
+\dpicdraw (2.185,-0.125)
+ --(2.31,-0.125)\dpicstop
+\dpicdraw[fill=black](2.31,-0.125) circle (0.007874in)\dpicstop
+\dpicdraw (1.685,0.125)
+ --(1.81,0.125)
+ --(1.81,-0.125)
+ --(1.685,-0.125)\dpicstop
+\dpicdraw (1.81,-0.083333)
+ ..controls (1.856024,-0.083333) and (1.893333,-0.046024)
+ ..(1.893333,0)
+ ..controls (1.893333,0.046024) and (1.856024,0.083333)
+ ..(1.81,0.083333)\dpicstop
+\dpicdraw (2.185,0.125)
+ --(2.06,0.125)
+ --(2.06,-0.125)
+ --(2.185,-0.125)\dpicstop
+\dpicdraw (2.06,0.083333)
+ ..controls (2.013976,0.083333) and (1.976667,0.046024)
+ ..(1.976667,0)
+ ..controls (1.976667,-0.046024) and (2.013976,-0.083333)
+ ..(2.06,-0.083333)\dpicstop
+\draw (1.935,-0.291511) node[below=-2bp]{\tt gyrator};
+\dpicdraw (2.83,0.125)
+ --(3.0175,0.125)
+ --(3.0175,-0.125)
+ --(2.83,-0.125)\dpicstop
+\dpicdraw (3.0175,-0.083333)
+ ..controls (3.063524,-0.083333) and (3.100833,-0.046024)
+ ..(3.100833,0)
+ ..controls (3.100833,0.046024) and (3.063524,0.083333)
+ ..(3.0175,0.083333)\dpicstop
+\dpicdraw (3.58,0.125)
+ --(3.3925,0.125)
+ --(3.3925,-0.125)
+ --(3.58,-0.125)\dpicstop
+\dpicdraw (3.3925,0.083333)
+ ..controls (3.346476,0.083333) and (3.309167,0.046024)
+ ..(3.309167,0)
+ ..controls (3.309167,-0.046024) and (3.346476,-0.083333)
+ ..(3.3925,-0.083333)\dpicstop
+\draw (3.205,-0.25) node{\tt gyrator(invis,{,}0,N)};
+\dpicdraw (4.705,-0.25)
+ --(4.705,-0.125)
+ --(4.955,-0.125)
+ --(4.955,-0.25)\dpicstop
+\dpicdraw (4.913333,-0.125)
+ ..controls (4.913333,-0.078976) and (4.876024,-0.041667)
+ ..(4.83,-0.041667)
+ ..controls (4.783976,-0.041667) and (4.746667,-0.078976)
+ ..(4.746667,-0.125)\dpicstop
+\dpicdraw (4.705,0.25)
+ --(4.705,0.125)
+ --(4.955,0.125)
+ --(4.955,0.25)\dpicstop
+\dpicdraw (4.746667,0.125)
+ ..controls (4.746667,0.013889) and (4.913333,0.013889)
+ ..(4.913333,0.125)\dpicstop
+\draw (4.83,-0.291511) node[below=-2bp]{\tt gyrator(invis wid boxht,{,}0,NV)};
+\end{tikzpicture}
+\vspace*{-0.5\baselineskip}
diff --git a/graphics/circuit_macros/doc/NLG.m4 b/graphics/circuit_macros/doc/NLGMan.m4
index 2b9a39f86e..2b9a39f86e 100644
--- a/graphics/circuit_macros/doc/NLG.m4
+++ b/graphics/circuit_macros/doc/NLGMan.m4
diff --git a/graphics/circuit_macros/doc/NPDT.tex b/graphics/circuit_macros/doc/NPDT.tex
new file mode 100644
index 0000000000..3cad25c409
--- /dev/null
+++ b/graphics/circuit_macros/doc/NPDT.tex
@@ -0,0 +1,121 @@
+\begin{tikzpicture}[scale=2.54]
+% dpic version 2020.03.01 option -g for TikZ and PGF 1.01
+\ifx\dpiclw\undefined\newdimen\dpiclw\fi
+\global\def\dpicdraw{\draw[line width=\dpiclw]}
+\global\def\dpicstop{;}
+\dpiclw=0.8bp
+\dpiclw=0.8bp
+\dpicdraw[fill=white](0.024,-0.061976) circle (0.009449in)\dpicstop
+\dpicdraw (0.224,-0.061976)
+ --(0.224,-0.061976)\dpicstop
+\dpicdraw (0.224,-0.061976)
+ --(0.374,0.088024)\dpicstop
+\dpicdraw (0.424,-0.061976)
+ --(0.424,-0.061976)\dpicstop
+\dpicdraw[fill=white](0.224,-0.061976) circle (0.009449in)\dpicstop
+\dpicdraw[fill=white](0.424,-0.061976) circle (0.009449in)\dpicstop
+\draw (0.424,-0.085976) node[below=-2bp]{\sl R};
+\draw (0.224,-0.085976) node[below=-2bp]{\sl T};
+\draw (0.024,-0.085976) node[below=-2bp]{\sl L};
+\draw (0.224,-0.308024) node{\tt NPDT};
+\dpicdraw[fill=white](1.174,-0.061976) circle (0.009449in)\dpicstop
+\dpicdraw (1.174,0.138024)
+ --(1.174,0.138024)\dpicstop
+\dpicdraw (1.174,0.138024)
+ --(1.024,0.288024)\dpicstop
+\dpicdraw (1.174,0.338024)
+ --(1.174,0.338024)\dpicstop
+\dpicdraw[fill=white](1.174,0.138024) circle (0.009449in)\dpicstop
+\dpicdraw[fill=white](1.174,0.338024) circle (0.009449in)\dpicstop
+\draw (1.198,0.338024) node[right=-2bp]{\sl R};
+\draw (1.198,0.138024) node[right=-2bp]{\sl T};
+\draw (1.198,-0.061976) node[right=-2bp]{\sl L};
+\draw (1.212024,-0.235976) node{\tt up\_; NPDT\strut};
+\dpicdraw[fill=white](1.924,-0.061976) circle (0.009449in)\dpicstop
+\dpicdraw (2.124,-0.061976)
+ --(2.124,-0.061976)\dpicstop
+\dpicdraw (2.124,-0.061976)
+ --(2.274,0.088024)\dpicstop
+\dpicdraw (2.324,-0.061976)
+ --(2.324,-0.061976)\dpicstop
+\dpicdraw[fill=white](2.124,-0.061976) circle (0.009449in)\dpicstop
+\dpicdraw[fill=white](2.324,-0.061976) circle (0.009449in)\dpicstop
+\dpicdraw[fill=white](1.924,0.238024) circle (0.009449in)\dpicstop
+\dpicdraw (2.124,0.238024)
+ --(2.124,0.238024)\dpicstop
+\dpicdraw (2.124,0.238024)
+ --(2.274,0.388024)\dpicstop
+\dpicdraw (2.324,0.238024)
+ --(2.324,0.238024)\dpicstop
+\dpicdraw[fill=white](2.124,0.238024) circle (0.009449in)\dpicstop
+\dpicdraw[fill=white](2.324,0.238024) circle (0.009449in)\dpicstop
+\dpicdraw[dash pattern=on 0.05in off 0.05in](2.224,-0.001976)
+ --(2.224,0.373024)\dpicstop
+\draw (2.348,-0.061976) node[right=-2bp]{\sl R1};
+\draw (1.9,-0.061976) node[left=-2bp]{\sl L1};
+\draw (2.348,0.238024) node[right=-2bp]{\sl R2};
+\draw (1.9,0.238024) node[left=-2bp]{\sl L2};
+\draw (2.124,-0.238024) node{\tt NPDT(2)\strut};
+\dpicdraw[fill=white](3.074,0.538024) circle (0.009449in)\dpicstop
+\dpicdraw (3.274,0.538024)
+ --(3.274,0.538024)\dpicstop
+\dpicdraw (3.274,0.538024)
+ --(3.424,0.388024)\dpicstop
+\dpicdraw (3.474,0.538024)
+ --(3.474,0.538024)\dpicstop
+\dpicdraw[fill=white](3.274,0.538024) circle (0.009449in)\dpicstop
+\dpicdraw[fill=white](3.474,0.538024) circle (0.009449in)\dpicstop
+\dpicdraw[fill=white](3.074,0.238024) circle (0.009449in)\dpicstop
+\dpicdraw (3.274,0.238024)
+ --(3.274,0.238024)\dpicstop
+\dpicdraw (3.274,0.238024)
+ --(3.424,0.088024)\dpicstop
+\dpicdraw (3.474,0.238024)
+ --(3.474,0.238024)\dpicstop
+\dpicdraw[fill=white](3.274,0.238024) circle (0.009449in)\dpicstop
+\dpicdraw[fill=white](3.474,0.238024) circle (0.009449in)\dpicstop
+\dpicdraw[fill=white](3.074,-0.061976) circle (0.009449in)\dpicstop
+\dpicdraw (3.274,-0.061976)
+ --(3.274,-0.061976)\dpicstop
+\dpicdraw (3.274,-0.061976)
+ --(3.424,-0.211976)\dpicstop
+\dpicdraw (3.474,-0.061976)
+ --(3.474,-0.061976)\dpicstop
+\dpicdraw[fill=white](3.274,-0.061976) circle (0.009449in)\dpicstop
+\dpicdraw[fill=white](3.474,-0.061976) circle (0.009449in)\dpicstop
+\dpicdraw[dash pattern=on 0.05in off 0.05in](3.374,0.478024)
+ --(3.374,-0.196976)\dpicstop
+\draw (3.498,0.538024) node[right=-2bp]{\sl R1};
+\draw (3.05,0.538024) node[left=-2bp]{\sl L1};
+\draw (3.498,0.238024) node[right=-2bp]{\sl R2};
+\draw (3.05,0.238024) node[left=-2bp]{\sl L2};
+\draw (3.498,-0.061976) node[right=-2bp]{\sl R3};
+\draw (3.05,-0.061976) node[left=-2bp]{\sl L3};
+\draw (3.274,-0.211976) node[below=-2bp]{\tt NPDT(3,R)\strut};
+\dpicdraw[fill=white](4.624,-0.061976) circle (0.009449in)\dpicstop
+\dpicdraw (4.424,-0.061976)
+ --(4.424,-0.061976)\dpicstop
+\dpicdraw (4.424,-0.061976)
+ --(4.274,0.088024)\dpicstop
+\dpicdraw (4.224,-0.061976)
+ --(4.224,-0.061976)\dpicstop
+\dpicdraw[fill=white](4.424,-0.061976) circle (0.009449in)\dpicstop
+\dpicdraw[fill=white](4.224,-0.061976) circle (0.009449in)\dpicstop
+\dpicdraw[fill=white](4.624,0.238024) circle (0.009449in)\dpicstop
+\dpicdraw (4.424,0.238024)
+ --(4.424,0.238024)\dpicstop
+\dpicdraw (4.424,0.238024)
+ --(4.274,0.388024)\dpicstop
+\dpicdraw (4.224,0.238024)
+ --(4.224,0.238024)\dpicstop
+\dpicdraw[fill=white](4.424,0.238024) circle (0.009449in)\dpicstop
+\dpicdraw[fill=white](4.224,0.238024) circle (0.009449in)\dpicstop
+\dpicdraw[dash pattern=on 0.05in off 0.05in](4.324,-0.001976)
+ --(4.324,0.373024)\dpicstop
+\draw (4.2,-0.061976) node[left=-2bp]{\sl R1};
+\draw (4.648,-0.061976) node[right=-2bp]{\sl L1};
+\draw (4.2,0.238024) node[left=-2bp]{\sl R2};
+\draw (4.648,0.238024) node[right=-2bp]{\sl L2};
+\draw (4.424,-0.238024) node{\tt left\_; NPDT(2,R)\strut};
+\end{tikzpicture}
+\vspace*{-0.5\baselineskip}
diff --git a/graphics/circuit_macros/doc/NPDT.m4 b/graphics/circuit_macros/doc/NPDTMan.m4
index 17f4ef26b1..17f4ef26b1 100644
--- a/graphics/circuit_macros/doc/NPDT.m4
+++ b/graphics/circuit_macros/doc/NPDTMan.m4
diff --git a/graphics/circuit_macros/doc/Nport.tex b/graphics/circuit_macros/doc/Nport.tex
new file mode 100644
index 0000000000..e473f19b8d
--- /dev/null
+++ b/graphics/circuit_macros/doc/Nport.tex
@@ -0,0 +1,116 @@
+\begin{tikzpicture}[scale=2.54]
+% dpic version 2020.03.01 option -g for TikZ and PGF 1.01
+\ifx\dpiclw\undefined\newdimen\dpiclw\fi
+\global\def\dpicdraw{\draw[line width=\dpiclw]}
+\global\def\dpicstop{;}
+\dpiclw=0.8bp
+\dpiclw=0.8bp
+\dpicdraw (0.145,-0.25) rectangle (0.895,0.25)\dpicstop
+\dpicdraw (0.145,0.125)
+ --(0.02,0.125)\dpicstop
+\dpicdraw[fill=black](0.02,0.125) circle (0.007874in)\dpicstop
+\dpicdraw (0.145,-0.125)
+ --(0.02,-0.125)\dpicstop
+\dpicdraw[fill=black](0.02,-0.125) circle (0.007874in)\dpicstop
+\dpicdraw (0.895,0.125)
+ --(1.02,0.125)\dpicstop
+\dpicdraw[fill=black](1.02,0.125) circle (0.007874in)\dpicstop
+\dpicdraw (0.895,-0.125)
+ --(1.02,-0.125)\dpicstop
+\dpicdraw[fill=black](1.02,-0.125) circle (0.007874in)\dpicstop
+\draw (0.02,0.125) node[above left=1bp]{\sl W1a};
+\draw (0.02,-0.125) node[below left=1bp]{\sl W1b};
+\draw (1.02,0.125) node[above right=1bp]{\sl E1a};
+\draw (1.02,-0.125) node[below right=1bp]{\sl E1b};
+\dpicdraw[fill=white!90!black](1.895,-0.5) rectangle (3.895,0.5)\dpicstop
+\draw (2.895,0) node{n-port};
+\dpicdraw (1.895,0.25)
+ --(1.77,0.25)\dpicstop
+\dpicdraw[fill=black](1.77,0.25) circle (0.007874in)\dpicstop
+\dpicdraw (1.895,-0.25)
+ --(1.77,-0.25)\dpicstop
+\dpicdraw[fill=black](1.77,-0.25) circle (0.007874in)\dpicstop
+\dpicdraw (2.180714,0.5)
+ --(2.180714,0.625)\dpicstop
+\dpicdraw[fill=black](2.180714,0.625) circle (0.007874in)\dpicstop
+\dpicdraw (2.752143,0.5)
+ --(2.752143,0.625)\dpicstop
+\dpicdraw[fill=black](2.752143,0.625) circle (0.007874in)\dpicstop
+\dpicdraw (3.037857,0.5)
+ --(3.037857,0.625)\dpicstop
+\dpicdraw[fill=black](3.037857,0.625) circle (0.007874in)\dpicstop
+\dpicdraw (3.609286,0.5)
+ --(3.609286,0.625)\dpicstop
+\dpicdraw[fill=black](3.609286,0.625) circle (0.007874in)\dpicstop
+\dpicdraw (3.895,0.4)
+ --(4.02,0.4)\dpicstop
+\dpicdraw[fill=black](4.02,0.4) circle (0.007874in)\dpicstop
+\dpicdraw (3.895,0.2)
+ --(4.02,0.2)\dpicstop
+\dpicdraw[fill=black](4.02,0.2) circle (0.007874in)\dpicstop
+\dpicdraw (3.895,0.1)
+ --(4.02,0.1)\dpicstop
+\dpicdraw[fill=black](4.02,0.1) circle (0.007874in)\dpicstop
+\dpicdraw (3.895,-0.1)
+ --(4.02,-0.1)\dpicstop
+\dpicdraw[fill=black](4.02,-0.1) circle (0.007874in)\dpicstop
+\dpicdraw (3.895,-0.2)
+ --(4.02,-0.2)\dpicstop
+\dpicdraw[fill=black](4.02,-0.2) circle (0.007874in)\dpicstop
+\dpicdraw (3.895,-0.4)
+ --(4.02,-0.4)\dpicstop
+\dpicdraw[fill=black](4.02,-0.4) circle (0.007874in)\dpicstop
+\dpicdraw (2.048846,-0.5)
+ --(2.048846,-0.625)\dpicstop
+\dpicdraw[fill=black](2.048846,-0.625) circle (0.007874in)\dpicstop
+\dpicdraw (2.356538,-0.5)
+ --(2.356538,-0.625)\dpicstop
+\dpicdraw[fill=black](2.356538,-0.625) circle (0.007874in)\dpicstop
+\dpicdraw (2.510385,-0.5)
+ --(2.510385,-0.625)\dpicstop
+\dpicdraw[fill=black](2.510385,-0.625) circle (0.007874in)\dpicstop
+\dpicdraw (2.818077,-0.5)
+ --(2.818077,-0.625)\dpicstop
+\dpicdraw[fill=black](2.818077,-0.625) circle (0.007874in)\dpicstop
+\dpicdraw (2.971923,-0.5)
+ --(2.971923,-0.625)\dpicstop
+\dpicdraw[fill=black](2.971923,-0.625) circle (0.007874in)\dpicstop
+\dpicdraw (3.279615,-0.5)
+ --(3.279615,-0.625)\dpicstop
+\dpicdraw[fill=black](3.279615,-0.625) circle (0.007874in)\dpicstop
+\dpicdraw (3.433462,-0.5)
+ --(3.433462,-0.625)\dpicstop
+\dpicdraw[fill=black](3.433462,-0.625) circle (0.007874in)\dpicstop
+\dpicdraw (3.741154,-0.5)
+ --(3.741154,-0.625)\dpicstop
+\dpicdraw[fill=black](3.741154,-0.625) circle (0.007874in)\dpicstop
+\draw (1.77,0.25) node[left=1bp]{\sl W1a};
+\draw (1.77,-0.25) node[left=1bp]{\sl W1b};
+\draw (4.02,0.4) node[right=1bp]{\sl E1a};
+\draw (4.02,-0.4) node[right=1bp]{\sl E3b};
+\draw (2.180714,0.625) node[above=1bp]{\sl N1a};
+\draw (2.752143,0.625) node[above=1bp]{\sl N1b$\;\;$};
+\draw (3.037857,0.625) node[above=1bp]{\sl $\;\;$N2a};
+\draw (3.609286,0.625) node[above=1bp]{\sl N2b};
+\draw (2.048846,-0.625) node[below=1bp]{\sl S1a};
+\draw (3.741154,-0.625) node[below=1bp]{\sl S4b};
+\draw (2.895,-0.725) node{$\cdots$};
+\draw (4.17,0.05) node{$\vdots$};
+\dpicdraw (4.895,-0.166667) rectangle (5.395,0.166667)\dpicstop
+\dpicdraw (4.895,0)
+ --(4.77,0)\dpicstop
+\dpicdraw[fill=black](4.77,0) circle (0.007874in)\dpicstop
+\dpicdraw (5.395,0)
+ --(5.52,0)\dpicstop
+\dpicdraw[fill=black](5.52,0) circle (0.007874in)\dpicstop
+\dpicdraw (5.145,-0.166667)
+ --(5.145,-0.291667)\dpicstop
+\dpicdraw[fill=black](5.145,-0.291667) circle (0.007874in)\dpicstop
+\draw (4.77,0) node[left=1bp]{\sl W1};
+\draw (5.52,0) node[right=1bp]{\sl E1};
+\draw (5.145,-0.291667) node[below=1bp]{\sl S1};
+\draw (0.52,-0.55) node{\tt nport};
+\draw (2.895,-0.895) node{\tt nport(wid 2.0 ht 1 fill\_(0.9) "n-port",1,2,3,4)};
+\draw (5.145,-0.611667) node{\tt nterm};
+\end{tikzpicture}
+\vspace*{-0.5\baselineskip}
diff --git a/graphics/circuit_macros/doc/Nport.m4 b/graphics/circuit_macros/doc/NportMan.m4
index 37dbffeacc..37dbffeacc 100644
--- a/graphics/circuit_macros/doc/Nport.m4
+++ b/graphics/circuit_macros/doc/NportMan.m4
diff --git a/graphics/circuit_macros/doc/Opamp.m4 b/graphics/circuit_macros/doc/OpampMan.m4
index 5bdb8ac208..5bdb8ac208 100644
--- a/graphics/circuit_macros/doc/Opamp.m4
+++ b/graphics/circuit_macros/doc/OpampMan.m4
diff --git a/graphics/circuit_macros/doc/Pconn.tex b/graphics/circuit_macros/doc/Pconn.tex
new file mode 100644
index 0000000000..0bc608cbd9
--- /dev/null
+++ b/graphics/circuit_macros/doc/Pconn.tex
@@ -0,0 +1,462 @@
+\begin{tikzpicture}[scale=2.54]
+% dpic version 2020.03.01 option -g for TikZ and PGF 1.01
+\ifx\dpiclw\undefined\newdimen\dpiclw\fi
+\global\def\dpicdraw{\draw[line width=\dpiclw]}
+\global\def\dpicstop{;}
+\dpiclw=0.8bp
+\dpiclw=0.8bp
+\dpicdraw (0.598611,0.013889)
+ --(0.598611,0.263889)
+ --(0.098611,0.263889)
+ --(0.098611,-0.236111)
+ --(0.598611,-0.236111)
+ --(0.598611,0.013889)\dpicstop
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (0.469444,0.088889)
+ --(0.469444,0.163889)
+ --(0.427778,0.163889)
+ --(0.427778,0.013889)
+ --(0.469444,0.013889)
+ --(0.469444,0.088889)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (0.269444,0.088889)
+ --(0.269444,0.151389)
+ --(0.227778,0.151389)
+ --(0.227778,0.026389)
+ --(0.269444,0.026389)
+ --(0.269444,0.088889)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\fill[fill=black,line width=0bp](0.390278,-0.111111)
+ ..controls (0.390278,-0.088099) and (0.371623,-0.069444)
+ ..(0.348611,-0.069444)
+ ..controls (0.325599,-0.069444) and (0.306944,-0.088099)
+ ..(0.306944,-0.111111)--cycle
+\dpicstop
+\dpicdraw (0.390278,-0.111111)
+ ..controls (0.390278,-0.088099) and (0.371623,-0.069444)
+ ..(0.348611,-0.069444)
+ ..controls (0.325599,-0.069444) and (0.306944,-0.088099)
+ ..(0.306944,-0.111111)\dpicstop
+\fill[fill=black,line width=0bp](0.306944,-0.111111)
+ --(0.306944,-0.152778)
+ --(0.390278,-0.152778)
+ --(0.390278,-0.111111)--cycle
+\dpicstop
+\dpicdraw (0.306944,-0.111111)
+ --(0.306944,-0.152778)
+ --(0.390278,-0.152778)
+ --(0.390278,-0.111111)\dpicstop
+\dpiclw=0.4bp
+\filldraw[line width=0bp](0.161111,0.068889)
+ --(0.227778,0.088889)
+ --(0.161111,0.108889) --cycle\dpicstop
+\dpicdraw (0.218111,0.088889)
+ --(0.027778,0.088889)\dpicstop
+\draw (0.027778,0.088889) node[left=-2bp]{\sl H};
+\dpiclw=0.8bp
+\draw (0.348611,-0.236111) node[below=-2bp]{\tt pconnex(,A)};
+\dpicdraw (1.398611,0.013889)
+ --(1.398611,0.263889)
+ --(0.898611,0.263889)
+ --(0.898611,-0.236111)
+ --(1.398611,-0.236111)
+ --(1.398611,0.013889)\dpicstop
+\dpicdraw (1.069444,0.088889)
+ --(1.069444,0.163889)
+ --(1.027778,0.163889)
+ --(1.027778,0.013889)
+ --(1.069444,0.013889)
+ --(1.069444,0.088889)\dpicstop
+\dpicdraw (1.269444,0.088889)
+ --(1.269444,0.151389)
+ --(1.227778,0.151389)
+ --(1.227778,0.026389)
+ --(1.269444,0.026389)
+ --(1.269444,0.088889)\dpicstop
+\dpicdraw (1.190278,-0.111111)
+ ..controls (1.190278,-0.088099) and (1.171623,-0.069444)
+ ..(1.148611,-0.069444)
+ ..controls (1.125599,-0.069444) and (1.106944,-0.088099)
+ ..(1.106944,-0.111111)\dpicstop
+\dpicdraw (1.106944,-0.111111)
+ --(1.106944,-0.152778)
+ --(1.190278,-0.152778)
+ --(1.190278,-0.111111)\dpicstop
+\dpiclw=0.4bp
+\filldraw[line width=0bp](1.320129,0.136592)
+ --(1.269444,0.088889)
+ --(1.338017,0.100815) --cycle\dpicstop
+\dpicdraw (1.278091,0.093212)
+ --(1.469444,0.188889)\dpicstop
+\draw (1.469444,0.188889) node[right=-2bp]{\sl H};
+\draw (0.748611,0.188889) node{\sl N};
+\filldraw[line width=0bp](0.520518,0.136175)
+ --(0.469444,0.088889)
+ --(0.538113,0.100252) --cycle\dpicstop
+\dpicdraw (0.673611,0.188889)
+ --(0.478126,0.093141)\dpicstop
+\filldraw[line width=0bp](0.95911,0.100252)
+ --(1.027778,0.088889)
+ --(0.976704,0.136175) --cycle\dpicstop
+\dpicdraw (0.823611,0.188889)
+ --(1.019096,0.093141)\dpicstop
+\draw (0.748611,-0.061111) node{\sl G};
+\filldraw[line width=0bp](0.452454,-0.07983)
+ --(0.390278,-0.111111)
+ --(0.459406,-0.119221) --cycle\dpicstop
+\dpicdraw (0.673611,-0.061111)
+ --(0.399798,-0.109431)\dpicstop
+\filldraw[line width=0bp](1.037817,-0.119221)
+ --(1.106944,-0.111111)
+ --(1.044768,-0.07983) --cycle\dpicstop
+\dpicdraw (0.823611,-0.061111)
+ --(1.097425,-0.109431)\dpicstop
+\draw (1.148611,-0.236111) node[below=-2bp]{\tt (,AF)};
+\dpicdraw (1.848611,0.013889) circle (0.098425in)\dpicstop
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (1.969444,0.088889)
+ --(1.969444,0.163889)
+ --(1.927778,0.163889)
+ --(1.927778,0.013889)
+ --(1.969444,0.013889)
+ --(1.969444,0.088889)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (1.769444,0.088889)
+ --(1.769444,0.151389)
+ --(1.727778,0.151389)
+ --(1.727778,0.026389)
+ --(1.769444,0.026389)
+ --(1.769444,0.088889)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\fill[fill=black,line width=0bp](1.890278,-0.111111)
+ ..controls (1.890278,-0.088099) and (1.871623,-0.069444)
+ ..(1.848611,-0.069444)
+ ..controls (1.825599,-0.069444) and (1.806944,-0.088099)
+ ..(1.806944,-0.111111)--cycle
+\dpicstop
+\dpicdraw (1.890278,-0.111111)
+ ..controls (1.890278,-0.088099) and (1.871623,-0.069444)
+ ..(1.848611,-0.069444)
+ ..controls (1.825599,-0.069444) and (1.806944,-0.088099)
+ ..(1.806944,-0.111111)\dpicstop
+\fill[fill=black,line width=0bp](1.806944,-0.111111)
+ --(1.806944,-0.152778)
+ --(1.890278,-0.152778)
+ --(1.890278,-0.111111)--cycle
+\dpicstop
+\dpicdraw (1.806944,-0.111111)
+ --(1.806944,-0.152778)
+ --(1.890278,-0.152778)
+ --(1.890278,-0.111111)\dpicstop
+\draw (1.848611,-0.236111) node[below=-2bp]{\tt (,AC)};
+\dpicdraw (2.548611,0.013889) circle (0.098425in)\dpicstop
+\dpicdraw (2.469444,0.088889)
+ --(2.469444,0.163889)
+ --(2.427778,0.163889)
+ --(2.427778,0.013889)
+ --(2.469444,0.013889)
+ --(2.469444,0.088889)\dpicstop
+\dpicdraw (2.669444,0.088889)
+ --(2.669444,0.151389)
+ --(2.627778,0.151389)
+ --(2.627778,0.026389)
+ --(2.669444,0.026389)
+ --(2.669444,0.088889)\dpicstop
+\dpicdraw (2.590278,-0.111111)
+ ..controls (2.590278,-0.088099) and (2.571623,-0.069444)
+ ..(2.548611,-0.069444)
+ ..controls (2.525599,-0.069444) and (2.506944,-0.088099)
+ ..(2.506944,-0.111111)\dpicstop
+\dpicdraw (2.506944,-0.111111)
+ --(2.506944,-0.152778)
+ --(2.590278,-0.152778)
+ --(2.590278,-0.111111)\dpicstop
+\draw (2.548611,-0.236111) node[below=-2bp]{\tt (,ACF)};
+\dpicdraw (3.298611,-0.136111)
+ --(3.298611,0.163889)\dpicstop
+\dpicdraw (3.298611,0.163889)
+ ..controls (3.298611,0.246732) and (3.231454,0.313889)
+ ..(3.148611,0.313889)
+ ..controls (3.065768,0.313889) and (2.998611,0.246732)
+ ..(2.998611,0.163889)\dpicstop
+\dpicdraw (2.998611,0.163889)
+ --(2.998611,-0.136111)\dpicstop
+\dpicdraw (2.998611,-0.136111)
+ ..controls (2.998611,-0.336111) and (3.298611,-0.336111)
+ ..(3.298611,-0.136111)\dpicstop
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (3.148611,0.163889) circle (0.016404in)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (3.148611,-0.136111) circle (0.016404in)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\draw (3.148611,-0.286111) node[below=-2bp]{\tt (U,D)};
+\dpicdraw (3.798611,-0.136111)
+ --(3.798611,0.163889)\dpicstop
+\dpicdraw (3.798611,0.163889)
+ ..controls (3.798611,0.246732) and (3.731454,0.313889)
+ ..(3.648611,0.313889)
+ ..controls (3.565768,0.313889) and (3.498611,0.246732)
+ ..(3.498611,0.163889)\dpicstop
+\dpicdraw (3.498611,0.163889)
+ --(3.498611,-0.136111)\dpicstop
+\dpicdraw (3.498611,-0.136111)
+ ..controls (3.498611,-0.336111) and (3.798611,-0.336111)
+ ..(3.798611,-0.136111)\dpicstop
+\dpicdraw (3.648611,0.163889) circle (0.016404in)\dpicstop
+\dpicdraw (3.648611,-0.136111) circle (0.016404in)\dpicstop
+\draw (3.648611,-0.286111) node[below=-2bp]{\tt (U,DF)};
+\dpicdraw (4.248611,0.013889)
+ --(4.248611,0.263889)
+ --(3.998611,0.263889)
+ --(3.998611,-0.236111)
+ --(4.248611,-0.236111)
+ --(4.248611,0.013889)\dpicstop
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (4.123611,0.159722)
+ --(4.061111,0.159722)
+ --(4.061111,0.118056)
+ --(4.186111,0.118056)
+ --(4.186111,0.159722)
+ --(4.123611,0.159722)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (4.123611,-0.090278)
+ --(4.061111,-0.090278)
+ --(4.061111,-0.131944)
+ --(4.186111,-0.131944)
+ --(4.186111,-0.090278)
+ --(4.123611,-0.090278)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\draw (4.123611,-0.236111) node[below=-2bp]{\tt (U,J)};
+\dpicdraw (4.698611,0.013889)
+ --(4.698611,0.263889)
+ --(4.448611,0.263889)
+ --(4.448611,-0.236111)
+ --(4.698611,-0.236111)
+ --(4.698611,0.013889)\dpicstop
+\dpicdraw (4.573611,0.159722)
+ --(4.511111,0.159722)
+ --(4.511111,0.118056)
+ --(4.636111,0.118056)
+ --(4.636111,0.159722)
+ --(4.573611,0.159722)\dpicstop
+\dpicdraw (4.573611,-0.090278)
+ --(4.511111,-0.090278)
+ --(4.511111,-0.131944)
+ --(4.636111,-0.131944)
+ --(4.636111,-0.090278)
+ --(4.573611,-0.090278)\dpicstop
+\draw (4.573611,-0.236111) node[below=-2bp]{\tt (U,JF)};
+\dpiclw=0.8bp
+\dpicdraw (0.348611,-0.623611)
+ --(0.098611,-0.623611)
+ --(0.098611,-0.873611)
+ --(0.223611,-0.998611)
+ --(0.473611,-0.998611)
+ --(0.598611,-0.873611)
+ --(0.598611,-0.623611)
+ --(0.348611,-0.623611)\dpicstop
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (0.469444,-0.736111)
+ --(0.469444,-0.673611)
+ --(0.427778,-0.673611)
+ --(0.427778,-0.798611)
+ --(0.469444,-0.798611)
+ --(0.469444,-0.736111)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (0.269444,-0.736111)
+ --(0.269444,-0.673611)
+ --(0.227778,-0.673611)
+ --(0.227778,-0.798611)
+ --(0.269444,-0.798611)
+ --(0.269444,-0.736111)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (0.369444,-0.886111)
+ --(0.369444,-0.836111)
+ --(0.327778,-0.836111)
+ --(0.327778,-0.936111)
+ --(0.369444,-0.936111)
+ --(0.369444,-0.886111)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\draw (0.348611,-0.998611) node[below=-2bp]{\tt (,P)};
+\dpicdraw (1.048611,-0.623611)
+ --(0.798611,-0.623611)
+ --(0.798611,-0.873611)
+ --(0.923611,-0.998611)
+ --(1.173611,-0.998611)
+ --(1.298611,-0.873611)
+ --(1.298611,-0.623611)
+ --(1.048611,-0.623611)\dpicstop
+\dpicdraw (0.969444,-0.736111)
+ --(0.969444,-0.673611)
+ --(0.927778,-0.673611)
+ --(0.927778,-0.798611)
+ --(0.969444,-0.798611)
+ --(0.969444,-0.736111)\dpicstop
+\dpicdraw (1.169444,-0.736111)
+ --(1.169444,-0.673611)
+ --(1.127778,-0.673611)
+ --(1.127778,-0.798611)
+ --(1.169444,-0.798611)
+ --(1.169444,-0.736111)\dpicstop
+\dpicdraw (1.069444,-0.886111)
+ --(1.069444,-0.836111)
+ --(1.027778,-0.836111)
+ --(1.027778,-0.936111)
+ --(1.069444,-0.936111)
+ --(1.069444,-0.886111)\dpicstop
+\draw (1.048611,-0.998611) node[below=-2bp]{\tt (,PF)};
+\dpicdraw (1.823611,-0.511111)
+ --(2.148611,-0.511111)
+ --(2.148611,-0.691111)
+ --(1.913611,-1.111111)
+ --(1.733611,-1.111111)
+ --(1.498611,-0.691111)
+ --(1.498611,-0.511111)
+ --(1.823611,-0.511111)\dpicstop
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (1.719444,-0.661111)
+ --(1.719444,-0.629861)
+ --(1.594444,-0.629861)
+ --(1.594444,-0.692361)
+ --(1.719444,-0.692361)
+ --(1.719444,-0.661111)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (2.052778,-0.661111)
+ --(2.052778,-0.629861)
+ --(1.927778,-0.629861)
+ --(1.927778,-0.692361)
+ --(2.052778,-0.692361)
+ --(2.052778,-0.661111)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (1.854861,-0.977778)
+ --(1.854861,-0.915278)
+ --(1.792361,-0.915278)
+ --(1.792361,-1.040278)
+ --(1.854861,-1.040278)
+ --(1.854861,-0.977778)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\draw (1.823611,-1.111111) node[below=-2bp]{\tt (,G)};
+\dpicdraw (2.673611,-0.511111)
+ --(2.998611,-0.511111)
+ --(2.998611,-0.691111)
+ --(2.763611,-1.111111)
+ --(2.583611,-1.111111)
+ --(2.348611,-0.691111)
+ --(2.348611,-0.511111)
+ --(2.673611,-0.511111)\dpicstop
+\dpicdraw (2.569444,-0.661111)
+ --(2.569444,-0.629861)
+ --(2.444444,-0.629861)
+ --(2.444444,-0.692361)
+ --(2.569444,-0.692361)
+ --(2.569444,-0.661111)\dpicstop
+\dpicdraw (2.902778,-0.661111)
+ --(2.902778,-0.629861)
+ --(2.777778,-0.629861)
+ --(2.777778,-0.692361)
+ --(2.902778,-0.692361)
+ --(2.902778,-0.661111)\dpicstop
+\dpicdraw (2.704861,-0.977778)
+ --(2.704861,-0.915278)
+ --(2.642361,-0.915278)
+ --(2.642361,-1.040278)
+ --(2.704861,-1.040278)
+ --(2.704861,-0.977778)\dpicstop
+\draw (2.673611,-1.111111) node[below=-2bp]{\tt (,GF)};
+\dpicdraw (3.523611,-1.111111)
+ --(3.198611,-1.111111)
+ --(3.198611,-0.931111)
+ --(3.433611,-0.511111)
+ --(3.613611,-0.511111)
+ --(3.848611,-0.931111)
+ --(3.848611,-1.111111)
+ --(3.523611,-1.111111)\dpicstop
+\dpicdraw (3.627778,-0.961111)
+ --(3.627778,-0.992361)
+ --(3.752778,-0.992361)
+ --(3.752778,-0.929861)
+ --(3.627778,-0.929861)
+ --(3.627778,-0.961111)\dpicstop
+\dpicdraw (3.294444,-0.961111)
+ --(3.294444,-0.992361)
+ --(3.419444,-0.992361)
+ --(3.419444,-0.929861)
+ --(3.294444,-0.929861)
+ --(3.294444,-0.961111)\dpicstop
+\dpicdraw (3.492361,-0.644444)
+ --(3.492361,-0.706944)
+ --(3.554861,-0.706944)
+ --(3.554861,-0.581944)
+ --(3.492361,-0.581944)
+ --(3.492361,-0.644444)\dpicstop
+\draw (3.523611,-1.111111) node[below=-2bp]{\tt (L,GF)};
+\dpicdraw (4.373611,-0.811111) circle (0.127953in)\dpicstop
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (4.269444,-0.661111)
+ --(4.269444,-0.629861)
+ --(4.144444,-0.629861)
+ --(4.144444,-0.692361)
+ --(4.269444,-0.692361)
+ --(4.269444,-0.661111)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (4.602778,-0.661111)
+ --(4.602778,-0.629861)
+ --(4.477778,-0.629861)
+ --(4.477778,-0.692361)
+ --(4.602778,-0.692361)
+ --(4.602778,-0.661111)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (4.404861,-0.977778)
+ --(4.404861,-0.915278)
+ --(4.342361,-0.915278)
+ --(4.342361,-1.040278)
+ --(4.404861,-1.040278)
+ --(4.404861,-0.977778)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\draw (4.373611,-1.136111) node[below=-2bp]{\tt (,GC)};
+\end{tikzpicture}
+\vspace*{-0.5\baselineskip}
diff --git a/graphics/circuit_macros/doc/Pconn.m4 b/graphics/circuit_macros/doc/PconnMan.m4
index fbda5cc2e7..45a259636f 100644
--- a/graphics/circuit_macros/doc/Pconn.m4
+++ b/graphics/circuit_macros/doc/PconnMan.m4
@@ -19,27 +19,23 @@ P1: [
arrow from G.w to C1.G.e
arrow from G.e to C2.G.w
`"\tt (,AF)"' at last [].s below
- C03: pconnex(,AC) with .w at C2.e+(0.2,0)
+ C03: pconnex(,AC) with .w at C2.e+(0.25,0)
`"\tt (,AC)"' at last [].s below
C3: pconnex(,ACF) with .w at last [].e+(0.2,0)
`"\tt (,ACF)"' at last [].s below
- C5: pconnex(U,D) with .w at last [].e+(0.2,0)
+ C5: pconnex(U,D) with .w at last [].e+(0.25,0)
`"\tt (U,D)"' at last [].s below
- C6: pconnex(U,DF) with .w at last [].e+(0.2,0)
+ C6: pconnex(U,DF) with .w at last [].e+(0.25,0)
`"\tt (U,DF)"' at last [].s below
- C7: pconnex(U,J) with .w at last [].e+(0.2,0)
+ C7: pconnex(U,J) with .w at last [].e+(0.25,0)
`"\tt (U,J)"' at last [].s below
- C8: pconnex(U,JF) with .w at last [].e+(0.2,0)
+ C8: pconnex(U,JF) with .w at last [].e+(0.25,0)
`"\tt (U,JF)"' at last [].s below
]
P2: [
- C4: pconnex(,P)
- `"\tt (,P)"' at last [].s below
- C11: pconnex(,PF) with .w at last [].e+(0.2,0)
- `"\tt (,PF)"' at (C11,last "") below
- C9: pconnex(,G) with .w at last [].e+(0.2,0)
+ C9: pconnex(,G) #with .w at last [].e+(0.2,0)
`"\tt (,G)"' at last [].s below
C91: pconnex(,GF) with .w at last [].e+(0.2,0)
`"\tt (,GF)"' at last [].s below
@@ -47,6 +43,15 @@ P2: [
`"\tt (L,GF)"' at last [].s below
C10: pconnex(,GC) with .w at last [].e + (0.2,0)
`"\tt (,GC)"' ht 11pt__ at last [].s below
-] with .nw at P1.C1.sw + (0,-0.25)
+ C10: pconnex(,GCF) with .w at last [].e + (0.2,0)
+ `"\tt (,GCF)"' ht 11pt__ at last [].s below
+] with .nw at P1.C1.sw + (0,-0.35)
+
+P3: [
+ C4: pconnex(,P)
+ `"\tt (,P)"' at last [].s below
+ C11: pconnex(,PF) with .w at last [].e+(0.2,0)
+ `"\tt (,PF)"' at (C11,last "") below
+] with .nw at P2.C9.sw + (0,-0.35)
.PE
diff --git a/graphics/circuit_macros/doc/Relay.tex b/graphics/circuit_macros/doc/Relay.tex
new file mode 100644
index 0000000000..fca7a507b0
--- /dev/null
+++ b/graphics/circuit_macros/doc/Relay.tex
@@ -0,0 +1,198 @@
+\begin{tikzpicture}[scale=2.54]
+% dpic version 2020.03.01 option -g for TikZ and PGF 1.01
+\ifx\dpiclw\undefined\newdimen\dpiclw\fi
+\global\def\dpicdraw{\draw[line width=\dpiclw]}
+\global\def\dpicstop{;}
+\dpiclw=0.8bp
+\dpiclw=0.8bp
+\dpicdraw (0.291667,-0.227083)
+ --(0.291667,-0.102083)
+ --(0.166667,-0.102083)
+ --(0.166667,-0.352083)
+ --(0.291667,-0.352083)
+ --(0.291667,-0.227083)\dpicstop
+\dpicdraw (0.166667,-0.227083)
+ --(0,-0.227083)\dpicstop
+\dpicdraw (0.291667,-0.227083)
+ --(0.458333,-0.227083)\dpicstop
+\dpicdraw[fill=white](0.108333,0.185417) circle (0.007874in)\dpicstop
+\dpicdraw (0.128333,0.185417)
+ --(0.358333,0.185417)\dpicstop
+\filldraw[line width=0bp](0.275,0.26875)
+ --(0.316667,0.185417)
+ --(0.358333,0.26875) --cycle\dpicstop
+\dpicdraw (0.316667,0.197839)
+ --(0.316667,0.310417)
+ --(0.416667,0.310417)\dpicstop
+\filldraw[line width=0bp](0.358333,0.039583)
+ --(0.316667,0.122917)
+ --(0.275,0.039583) --cycle\dpicstop
+\dpicdraw (0.316667,0.110494)
+ --(0.316667,-0.002083)
+ --(0.416667,-0.002083)\dpicstop
+\draw (0,-0.227083) node[left=-2bp]{\sl V1};
+\draw (0.458333,-0.227083) node[right=-2bp]{\sl V2};
+\draw (0.088333,0.185417) node[left=-2bp]{\sl P1};
+\draw (0.416667,-0.002083) node[right=-2bp]{\sl O1};
+\draw (0.416667,0.310417) node[right=-2bp]{\sl C1};
+\draw (0.229167,-0.552083) node(S){\tt relay};
+\dpicdraw (1.391667,-0.227083)
+ --(1.391667,-0.102083)
+ --(1.266667,-0.102083)
+ --(1.266667,-0.352083)
+ --(1.391667,-0.352083)
+ --(1.391667,-0.227083)\dpicstop
+\dpicdraw (1.266667,-0.227083)
+ --(1.1,-0.227083)\dpicstop
+\dpicdraw (1.391667,-0.227083)
+ --(1.558333,-0.227083)\dpicstop
+\dpicdraw (1.304167,-0.14375)
+ --(1.304167,-0.202083)
+ --(1.354167,-0.202083)
+ --(1.354167,-0.252083)
+ --(1.304167,-0.252083)
+ --(1.304167,-0.310417)\dpicstop
+\dpicdraw[fill=white](1.208333,-0.002083) circle (0.007874in)\dpicstop
+\dpicdraw (1.228333,-0.002083)
+ --(1.458333,-0.002083)\dpicstop
+\filldraw[line width=0bp](1.375,0.08125)
+ --(1.416667,-0.002083)
+ --(1.458333,0.08125) --cycle\dpicstop
+\dpicdraw (1.416667,0.010339)
+ --(1.416667,0.122917)
+ --(1.516667,0.122917)\dpicstop
+\dpicdraw[fill=white](1.208333,0.247917) circle (0.007874in)\dpicstop
+\dpicdraw (1.228333,0.247917)
+ --(1.458333,0.247917)\dpicstop
+\filldraw[line width=0bp](1.375,0.33125)
+ --(1.416667,0.247917)
+ --(1.458333,0.33125) --cycle\dpicstop
+\dpicdraw (1.416667,0.260339)
+ --(1.416667,0.372917)
+ --(1.516667,0.372917)\dpicstop
+\dpicdraw[dash pattern=on 0.05in off 0.05in](1.343333,-0.052083)
+ --(1.343333,0.297917)\dpicstop
+\draw (1.188333,-0.002083) node[left=-2bp]{\sl P1};
+\draw (1.516667,0.122917) node[right=-2bp]{\sl C1};
+\draw (1.188333,0.247917) node[left=-2bp]{\sl P2};
+\draw (1.516667,0.372917) node[right=-2bp]{\sl C2};
+\draw (1.329167,-0.552083) node{\tt (2,CTh)};
+\dpicdraw (2.491667,-0.227083)
+ --(2.491667,-0.102083)
+ --(2.366667,-0.102083)
+ --(2.366667,-0.352083)
+ --(2.491667,-0.352083)
+ --(2.491667,-0.227083)\dpicstop
+\dpicdraw (2.366667,-0.227083)
+ --(2.2,-0.227083)\dpicstop
+\dpicdraw (2.491667,-0.227083)
+ --(2.658333,-0.227083)\dpicstop
+\dpicdraw[fill=white](2.308333,0.185417) circle (0.007874in)\dpicstop
+\dpicdraw (2.328333,0.185417)
+ --(2.558333,0.185417)\dpicstop
+\filldraw[line width=0bp](2.558333,0.039583)
+ --(2.516667,0.122917)
+ --(2.475,0.039583) --cycle\dpicstop
+\dpicdraw (2.516667,0.110494)
+ --(2.516667,-0.002083)
+ --(2.616667,-0.002083)\dpicstop
+\dpicdraw[fill=white](2.308333,0.497917) circle (0.007874in)\dpicstop
+\dpicdraw (2.328333,0.497917)
+ --(2.558333,0.497917)\dpicstop
+\filldraw[line width=0bp](2.558333,0.352083)
+ --(2.516667,0.435417)
+ --(2.475,0.352083) --cycle\dpicstop
+\dpicdraw (2.516667,0.422994)
+ --(2.516667,0.310417)
+ --(2.616667,0.310417)\dpicstop
+\dpicdraw[dash pattern=on 0.05in off 0.05in](2.443333,0.135417)
+ --(2.443333,0.547917)\dpicstop
+\draw (2.288333,0.185417) node[left=-2bp]{\sl P1};
+\draw (2.616667,-0.002083) node[right=-2bp]{\sl O1};
+\draw (2.288333,0.185417) node[left=-2bp]{\sl P1};
+\draw (2.616667,0.310417) node[right=-2bp]{\sl O2};
+\draw (2.429167,-0.552083) node{\tt (2,O)};
+\dpicdraw (3.591667,-0.227083)
+ --(3.591667,-0.102083)
+ --(3.466667,-0.102083)
+ --(3.466667,-0.352083)
+ --(3.591667,-0.352083)
+ --(3.591667,-0.227083)\dpicstop
+\dpicdraw (3.466667,-0.164583)
+ --(3.3,-0.164583)\dpicstop
+\dpicdraw (3.466667,-0.289583)
+ --(3.3,-0.289583)\dpicstop
+\dpicdraw[fill=white](3.408333,0.105972) circle (0.007874in)\dpicstop
+\dpicdraw[fill=white](3.616667,0.214028) circle (0.007874in)\dpicstop
+\dpicdraw[fill=white](3.616667,-0.002083) circle (0.007874in)\dpicstop
+\dpicdraw (3.428333,0.105972)
+ --(3.658333,0.105972)\dpicstop
+\dpicdraw[fill=white](3.408333,0.447083) circle (0.007874in)\dpicstop
+\dpicdraw[fill=white](3.616667,0.555139) circle (0.007874in)\dpicstop
+\dpicdraw[fill=white](3.616667,0.339028) circle (0.007874in)\dpicstop
+\dpicdraw (3.428333,0.447083)
+ --(3.658333,0.447083)\dpicstop
+\dpicdraw[dash pattern=on 0.05in off 0.05in](3.543333,0.055972)
+ --(3.543333,0.497083)\dpicstop
+\draw (3.3,-0.164583) node[left=-2bp]{\sl V1};
+\draw (3.3,-0.289583) node[left=-2bp]{\sl V2};
+\draw (3.388333,0.105972) node[left=-2bp]{\sl P1};
+\draw (3.636667,-0.002083) node[right=-2bp]{\sl O1};
+\draw (3.636667,0.186354) node[right=-2bp]{\sl C1};
+\draw (3.388333,0.447083) node[left=-2bp]{\sl P2};
+\draw (3.636667,0.339028) node[right=-2bp]{\sl O2};
+\draw (3.636667,0.527465) node[right=-2bp]{\sl C2};
+\draw (3.479167,-0.552083) node{\tt (2,PIAX)};
+\dpicdraw (4.691667,0.664583)
+ --(4.691667,0.789583)
+ --(4.566667,0.789583)
+ --(4.566667,0.539583)
+ --(4.691667,0.539583)
+ --(4.691667,0.664583)\dpicstop
+\dpicdraw (4.566667,0.664583)
+ --(4.4,0.664583)\dpicstop
+\dpicdraw (4.691667,0.664583)
+ --(4.858333,0.664583)\dpicstop
+\dpicdraw[fill=white](4.508333,0.252083) circle (0.007874in)\dpicstop
+\dpicdraw (4.528333,0.252083)
+ --(4.758333,0.252083)\dpicstop
+\filldraw[line width=0bp](4.758333,0.16875)
+ --(4.716667,0.252083)
+ --(4.675,0.16875) --cycle\dpicstop
+\dpicdraw (4.716667,0.239661)
+ --(4.716667,0.127083)
+ --(4.816667,0.127083)\dpicstop
+\filldraw[line width=0bp](4.675,0.397917)
+ --(4.716667,0.314583)
+ --(4.758333,0.397917) --cycle\dpicstop
+\dpicdraw (4.716667,0.327006)
+ --(4.716667,0.439583)
+ --(4.816667,0.439583)\dpicstop
+\dpicdraw[fill=white](4.508333,-0.185417) circle (0.007874in)\dpicstop
+\dpicdraw (4.528333,-0.185417)
+ --(4.758333,-0.185417)\dpicstop
+\filldraw[line width=0bp](4.758333,-0.26875)
+ --(4.716667,-0.185417)
+ --(4.675,-0.26875) --cycle\dpicstop
+\dpicdraw (4.716667,-0.197839)
+ --(4.716667,-0.310417)
+ --(4.816667,-0.310417)\dpicstop
+\filldraw[line width=0bp](4.675,-0.039583)
+ --(4.716667,-0.122917)
+ --(4.758333,-0.039583) --cycle\dpicstop
+\dpicdraw (4.716667,-0.110494)
+ --(4.716667,0.002083)
+ --(4.816667,0.002083)\dpicstop
+\dpicdraw[dash pattern=on 0.05in off 0.05in](4.643333,0.302083)
+ --(4.643333,-0.235417)\dpicstop
+\draw (4.4,0.664583) node[left=-2bp]{\sl V1};
+\draw (4.858333,0.664583) node[right=-2bp]{\sl V2};
+\draw (4.488333,0.252083) node[left=-2bp]{\sl P1};
+\draw (4.816667,0.439583) node[right=-2bp]{\sl O1};
+\draw (4.816667,0.127083) node[right=-2bp]{\sl C1};
+\draw (4.488333,-0.185417) node[left=-2bp]{\sl P2};
+\draw (4.816667,0.002083) node[right=-2bp]{\sl O2};
+\draw (4.816667,-0.310417) node[right=-2bp]{\sl C2};
+\draw (4.629167,-0.552083) node{\tt relay(2,R)};
+\end{tikzpicture}
+\vspace*{-0.5\baselineskip}
diff --git a/graphics/circuit_macros/doc/Relay.m4 b/graphics/circuit_macros/doc/RelayMan.m4
index 20c51ebb6a..20c51ebb6a 100644
--- a/graphics/circuit_macros/doc/Relay.m4
+++ b/graphics/circuit_macros/doc/RelayMan.m4
diff --git a/graphics/circuit_macros/doc/ShiftR.tex b/graphics/circuit_macros/doc/ShiftR.tex
new file mode 100644
index 0000000000..d6e49ca1bc
--- /dev/null
+++ b/graphics/circuit_macros/doc/ShiftR.tex
@@ -0,0 +1,285 @@
+\begin{tikzpicture}[scale=2.54]
+% dpic version 2020.03.01 option -g for TikZ and PGF 1.01
+\ifx\dpiclw\undefined\newdimen\dpiclw\fi
+\global\def\dpicdraw{\draw[line width=\dpiclw]}
+\global\def\dpicstop{;}
+\dpiclw=0.8bp
+\dpiclw=0.8bp
+ {\sf
+\dpicdraw (0.15,-0.45) rectangle (0.65,0.45)\dpicstop
+\draw (0.15,0.3) node[right=-3bp]{{\scriptsize S}};
+\dpicdraw (0.15,0.3)
+ --(0,0.3)\dpicstop
+\dpicdraw (0.15,-0.0375)
+ --(0.214952,0)
+ --(0.15,0.0375)\dpicstop
+\draw (0.214952,0) node[right=-3bp]{{\scriptsize CK}};
+\dpicdraw (0.1125,0) circle (0.014764in)\dpicstop
+\dpicdraw (0.075,0)
+ --(0,0)\dpicstop
+\draw (0.15,-0.3) node[right=-3bp]{{\scriptsize R}};
+\dpicdraw (0.15,-0.3)
+ --(0,-0.3)\dpicstop
+\draw (0.4,0.45) node[below=-3bp]{{\scriptsize PR}};
+\dpicdraw (0.4,0.4875) circle (0.014764in)\dpicstop
+\dpicdraw (0.4,0.525)
+ --(0.4,0.6)\dpicstop
+\draw (0.65,0.3) node[left=-3bp]{{\scriptsize Q}};
+\dpicdraw (0.65,0.3)
+ --(0.8,0.3)\dpicstop
+\draw (0.65,-0.3) node[left=-3bp]{{\scriptsize $\overline{\hbox{Q}}$}};
+\dpicdraw (0.65,-0.3)
+ --(0.8,-0.3)\dpicstop
+\draw (0.4,-0.45) node[above=-3bp]{{\scriptsize CLR}};
+\dpicdraw (0.4,-0.4875) circle (0.014764in)\dpicstop
+\dpicdraw (0.4,-0.525)
+ --(0.4,-0.6)\dpicstop
+\dpicdraw (0,0.3)
+ --(-0.175,0.2)
+ --(-0.175,0.4)
+ --(0,0.3)\dpicstop
+\dpicdraw (-0.2125,0.3) circle (0.014764in)\dpicstop
+\dpicdraw (-0.25,0.3)
+ --(-0.35,0.3)\dpicstop
+\dpicdraw[fill=black](-0.35,0.3) circle (0.007874in)\dpicstop
+\dpicdraw (-0.483333,0.3)
+ --(-0.658333,0.2)
+ --(-0.658333,0.4)
+ --(-0.483333,0.3)\dpicstop
+\dpicdraw (-0.445833,0.3) circle (0.014764in)\dpicstop
+\dpicdraw (-0.85,0.3)
+ --(-0.658333,0.3)\dpicstop
+\dpicdraw (-0.408333,0.3)
+ --(-0.35,0.3)\dpicstop
+\draw (-0.85,0.3) node(Serial)[left=-3bp]{\scriptsize\shortstack[r]{SERIAL\\ INPUT}};
+\dpicdraw (-0.35,0.3)
+ --(-0.35,-0.3)
+ --(0,-0.3)\dpicstop
+\dpicdraw (-0.483333,-0.6)
+ --(-0.658333,-0.7)
+ --(-0.658333,-0.5)
+ --(-0.483333,-0.6)\dpicstop
+\dpicdraw (-0.695833,-0.6) circle (0.014764in)\dpicstop
+\dpicdraw (-0.445833,-0.6) circle (0.014764in)\dpicstop
+\dpicdraw (-0.85,-0.6)
+ --(-0.733333,-0.6)\dpicstop
+\dpicdraw (-0.408333,-0.6)
+ --(-0.35,-0.6)\dpicstop
+\draw (-0.85,-0.6) node[left=-3bp]{$\overline{\hbox{\scriptsize CLEAR}}$};
+\dpicdraw (-0.483333,-0.9)
+ --(-0.658333,-1)
+ --(-0.658333,-0.8)
+ --(-0.483333,-0.9)\dpicstop
+\dpicdraw (-0.445833,-0.9) circle (0.014764in)\dpicstop
+\dpicdraw (-0.85,-0.9)
+ --(-0.658333,-0.9)\dpicstop
+\dpicdraw (-0.408333,-0.9)
+ --(-0.35,-0.9)\dpicstop
+\draw (-0.85,-0.9) node[left=-3bp]{\scriptsize CLOCK};
+\dpicdraw (0.95,-0.45) rectangle (1.45,0.45)\dpicstop
+\draw (0.95,0.3) node[right=-3bp]{{\scriptsize S}};
+\dpicdraw (0.95,0.3)
+ --(0.8,0.3)\dpicstop
+\dpicdraw (0.95,-0.0375)
+ --(1.014952,0)
+ --(0.95,0.0375)\dpicstop
+\draw (1.014952,0) node[right=-3bp]{{\scriptsize CK}};
+\dpicdraw (0.9125,0) circle (0.014764in)\dpicstop
+\dpicdraw (0.875,0)
+ --(0.8,0)\dpicstop
+\draw (0.95,-0.3) node[right=-3bp]{{\scriptsize R}};
+\dpicdraw (0.95,-0.3)
+ --(0.8,-0.3)\dpicstop
+\draw (1.2,0.45) node[below=-3bp]{{\scriptsize PR}};
+\dpicdraw (1.2,0.4875) circle (0.014764in)\dpicstop
+\dpicdraw (1.2,0.525)
+ --(1.2,0.6)\dpicstop
+\draw (1.45,0.3) node[left=-3bp]{{\scriptsize Q}};
+\dpicdraw (1.45,0.3)
+ --(1.6,0.3)\dpicstop
+\draw (1.45,-0.3) node[left=-3bp]{{\scriptsize $\overline{\hbox{Q}}$}};
+\dpicdraw (1.45,-0.3)
+ --(1.6,-0.3)\dpicstop
+\draw (1.2,-0.45) node[above=-3bp]{{\scriptsize CLR}};
+\dpicdraw (1.2,-0.4875) circle (0.014764in)\dpicstop
+\dpicdraw (1.2,-0.525)
+ --(1.2,-0.6)\dpicstop
+\dpicdraw (1.75,-0.45) rectangle (2.25,0.45)\dpicstop
+\draw (1.75,0.3) node[right=-3bp]{{\scriptsize S}};
+\dpicdraw (1.75,0.3)
+ --(1.6,0.3)\dpicstop
+\dpicdraw (1.75,-0.0375)
+ --(1.814952,0)
+ --(1.75,0.0375)\dpicstop
+\draw (1.814952,0) node[right=-3bp]{{\scriptsize CK}};
+\dpicdraw (1.7125,0) circle (0.014764in)\dpicstop
+\dpicdraw (1.675,0)
+ --(1.6,0)\dpicstop
+\draw (1.75,-0.3) node[right=-3bp]{{\scriptsize R}};
+\dpicdraw (1.75,-0.3)
+ --(1.6,-0.3)\dpicstop
+\draw (2,0.45) node[below=-3bp]{{\scriptsize PR}};
+\dpicdraw (2,0.4875) circle (0.014764in)\dpicstop
+\dpicdraw (2,0.525)
+ --(2,0.6)\dpicstop
+\draw (2.25,0.3) node[left=-3bp]{{\scriptsize Q}};
+\dpicdraw (2.25,0.3)
+ --(2.4,0.3)\dpicstop
+\draw (2.25,-0.3) node[left=-3bp]{{\scriptsize $\overline{\hbox{Q}}$}};
+\dpicdraw (2.25,-0.3)
+ --(2.4,-0.3)\dpicstop
+\draw (2,-0.45) node[above=-3bp]{{\scriptsize CLR}};
+\dpicdraw (2,-0.4875) circle (0.014764in)\dpicstop
+\dpicdraw (2,-0.525)
+ --(2,-0.6)\dpicstop
+\dpicdraw (2.55,-0.45) rectangle (3.05,0.45)\dpicstop
+\draw (2.55,0.3) node[right=-3bp]{{\scriptsize S}};
+\dpicdraw (2.55,0.3)
+ --(2.4,0.3)\dpicstop
+\dpicdraw (2.55,-0.0375)
+ --(2.614952,0)
+ --(2.55,0.0375)\dpicstop
+\draw (2.614952,0) node[right=-3bp]{{\scriptsize CK}};
+\dpicdraw (2.5125,0) circle (0.014764in)\dpicstop
+\dpicdraw (2.475,0)
+ --(2.4,0)\dpicstop
+\draw (2.55,-0.3) node[right=-3bp]{{\scriptsize R}};
+\dpicdraw (2.55,-0.3)
+ --(2.4,-0.3)\dpicstop
+\draw (2.8,0.45) node[below=-3bp]{{\scriptsize PR}};
+\dpicdraw (2.8,0.4875) circle (0.014764in)\dpicstop
+\dpicdraw (2.8,0.525)
+ --(2.8,0.6)\dpicstop
+\draw (3.05,0.3) node[left=-3bp]{{\scriptsize Q}};
+\dpicdraw (3.05,0.3)
+ --(3.2,0.3)\dpicstop
+\draw (3.05,-0.3) node[left=-3bp]{{\scriptsize $\overline{\hbox{Q}}$}};
+\dpicdraw (3.05,-0.3)
+ --(3.2,-0.3)\dpicstop
+\draw (2.8,-0.45) node[above=-3bp]{{\scriptsize CLR}};
+\dpicdraw (2.8,-0.4875) circle (0.014764in)\dpicstop
+\dpicdraw (2.8,-0.525)
+ --(2.8,-0.6)\dpicstop
+\dpicdraw (3.35,-0.45) rectangle (3.85,0.45)\dpicstop
+\draw (3.35,0.3) node[right=-3bp]{{\scriptsize S}};
+\dpicdraw (3.35,0.3)
+ --(3.2,0.3)\dpicstop
+\dpicdraw (3.35,-0.0375)
+ --(3.414952,0)
+ --(3.35,0.0375)\dpicstop
+\draw (3.414952,0) node[right=-3bp]{{\scriptsize CK}};
+\dpicdraw (3.3125,0) circle (0.014764in)\dpicstop
+\dpicdraw (3.275,0)
+ --(3.2,0)\dpicstop
+\draw (3.35,-0.3) node[right=-3bp]{{\scriptsize R}};
+\dpicdraw (3.35,-0.3)
+ --(3.2,-0.3)\dpicstop
+\draw (3.6,0.45) node[below=-3bp]{{\scriptsize PR}};
+\dpicdraw (3.6,0.4875) circle (0.014764in)\dpicstop
+\dpicdraw (3.6,0.525)
+ --(3.6,0.6)\dpicstop
+\draw (3.85,0.3) node[left=-3bp]{{\scriptsize Q}};
+\dpicdraw (3.85,0.3)
+ --(4,0.3)\dpicstop
+\draw (3.6,-0.45) node[above=-3bp]{{\scriptsize CLR}};
+\dpicdraw (3.6,-0.4875) circle (0.014764in)\dpicstop
+\dpicdraw (3.6,-0.525)
+ --(3.6,-0.6)\dpicstop
+\draw (4,0.3) node[right=-3bp]{\scriptsize OUTPUT};
+\dpicdraw (-0.35,-0.6)
+ --(3.6,-0.6)\dpicstop
+\dpicdraw (0,0)
+ --(0,-0.9)\dpicstop
+\dpicdraw[fill=black](0,-0.9) circle (0.007874in)\dpicstop
+\dpicdraw (0.25,0.825)
+ --(0.25,1.025)
+ --(0.55,1.025)
+ --(0.55,0.825)\dpicstop
+\dpicdraw (0.55,0.825)
+ ..controls (0.55,0.625) and (0.25,0.625)
+ ..(0.25,0.825)\dpicstop
+\dpicdraw (0.4,0.6375) circle (0.014764in)\dpicstop
+\dpicdraw (0.325,1.025)
+ --(0.325,1.125)\dpicstop
+\dpicdraw (0.475,1.025)
+ --(0.475,1.325)\dpicstop
+\draw (0.475,1.325) node[left=-3bp]{\scriptsize PR4};
+\dpicdraw[fill=black](0.325,1.125) circle (0.007874in)\dpicstop
+\dpicdraw[fill=black](0.4,-0.6) circle (0.007874in)\dpicstop
+\dpicdraw (0.8,0)
+ --(0.8,-0.9)\dpicstop
+\dpicdraw[fill=black](0.8,-0.9) circle (0.007874in)\dpicstop
+\dpicdraw (1.05,0.825)
+ --(1.05,1.025)
+ --(1.35,1.025)
+ --(1.35,0.825)\dpicstop
+\dpicdraw (1.35,0.825)
+ ..controls (1.35,0.625) and (1.05,0.625)
+ ..(1.05,0.825)\dpicstop
+\dpicdraw (1.2,0.6375) circle (0.014764in)\dpicstop
+\dpicdraw (1.125,1.025)
+ --(1.125,1.125)\dpicstop
+\dpicdraw (1.275,1.025)
+ --(1.275,1.325)\dpicstop
+\draw (1.275,1.325) node[left=-3bp]{\scriptsize PR3};
+\dpicdraw[fill=black](1.125,1.125) circle (0.007874in)\dpicstop
+\dpicdraw[fill=black](1.2,-0.6) circle (0.007874in)\dpicstop
+\dpicdraw (1.6,0)
+ --(1.6,-0.9)\dpicstop
+\dpicdraw[fill=black](1.6,-0.9) circle (0.007874in)\dpicstop
+\dpicdraw (1.85,0.825)
+ --(1.85,1.025)
+ --(2.15,1.025)
+ --(2.15,0.825)\dpicstop
+\dpicdraw (2.15,0.825)
+ ..controls (2.15,0.625) and (1.85,0.625)
+ ..(1.85,0.825)\dpicstop
+\dpicdraw (2,0.6375) circle (0.014764in)\dpicstop
+\dpicdraw (1.925,1.025)
+ --(1.925,1.125)\dpicstop
+\dpicdraw (2.075,1.025)
+ --(2.075,1.325)\dpicstop
+\draw (2.075,1.325) node[left=-3bp]{\scriptsize PR2};
+\dpicdraw[fill=black](1.925,1.125) circle (0.007874in)\dpicstop
+\dpicdraw[fill=black](2,-0.6) circle (0.007874in)\dpicstop
+\dpicdraw (2.4,0)
+ --(2.4,-0.9)\dpicstop
+\dpicdraw[fill=black](2.4,-0.9) circle (0.007874in)\dpicstop
+\dpicdraw (2.65,0.825)
+ --(2.65,1.025)
+ --(2.95,1.025)
+ --(2.95,0.825)\dpicstop
+\dpicdraw (2.95,0.825)
+ ..controls (2.95,0.625) and (2.65,0.625)
+ ..(2.65,0.825)\dpicstop
+\dpicdraw (2.8,0.6375) circle (0.014764in)\dpicstop
+\dpicdraw (2.725,1.025)
+ --(2.725,1.125)\dpicstop
+\dpicdraw (2.875,1.025)
+ --(2.875,1.325)\dpicstop
+\draw (2.875,1.325) node[left=-3bp]{\scriptsize PR1};
+\dpicdraw[fill=black](2.725,1.125) circle (0.007874in)\dpicstop
+\dpicdraw[fill=black](2.8,-0.6) circle (0.007874in)\dpicstop
+\dpicdraw (3.2,0)
+ --(3.2,-0.9)\dpicstop
+\dpicdraw (3.2,-0.9)
+ --(-0.35,-0.9)\dpicstop
+\dpicdraw (3.45,0.825)
+ --(3.45,1.025)
+ --(3.75,1.025)
+ --(3.75,0.825)\dpicstop
+\dpicdraw (3.75,0.825)
+ ..controls (3.75,0.625) and (3.45,0.625)
+ ..(3.45,0.825)\dpicstop
+\dpicdraw (3.6,0.6375) circle (0.014764in)\dpicstop
+\dpicdraw (3.525,1.025)
+ --(3.525,1.125)\dpicstop
+\dpicdraw (3.675,1.025)
+ --(3.675,1.325)\dpicstop
+\draw (3.675,1.325) node[left=-3bp]{\scriptsize PR0};
+\dpicdraw (3.525,1.125)
+ --(-0.85,1.125)\dpicstop
+\draw (-0.85,1.125) node[left=-3bp]{\scriptsize\shortstack[r]{PRESET\\ ENABLE}};
+ }
+\end{tikzpicture}
+\vspace*{-0.5\baselineskip}
diff --git a/graphics/circuit_macros/doc/ShiftR.m4 b/graphics/circuit_macros/doc/ShiftRMan.m4
index e7bf1f0c5c..e7bf1f0c5c 100644
--- a/graphics/circuit_macros/doc/ShiftR.m4
+++ b/graphics/circuit_macros/doc/ShiftRMan.m4
diff --git a/graphics/circuit_macros/doc/Sources.tex b/graphics/circuit_macros/doc/Sources.tex
new file mode 100644
index 0000000000..55e57cbaf4
--- /dev/null
+++ b/graphics/circuit_macros/doc/Sources.tex
@@ -0,0 +1,466 @@
+\begin{tikzpicture}[scale=2.54]
+% dpic version 2020.03.01 option -g for TikZ and PGF 1.01
+\ifx\dpiclw\undefined\newdimen\dpiclw\fi
+\global\def\dpicdraw{\draw[line width=\dpiclw]}
+\global\def\dpicstop{;}
+\dpiclw=0.8bp
+\dpiclw=0.8bp
+ {\sf
+\dpicdraw (0,0)
+ --(0.25,0)\dpicstop
+\dpicdraw (0.375,0) circle (0.049213in)\dpicstop
+\dpicdraw (0.5,0)
+ --(0.75,0)\dpicstop
+\draw (0.777674,0) node[right=-2bp]{source};
+\dpicdraw (0,-0.275)
+ --(0.25,-0.275)\dpicstop
+\dpicdraw (0.375,-0.275) circle (0.049213in)\dpicstop
+\filldraw[line width=0bp](0.36875,-0.3)
+ --(0.46875,-0.275)
+ --(0.36875,-0.25) --cycle\dpicstop
+\dpicdraw (0.28125,-0.275)
+ --(0.445844,-0.275)\dpicstop
+\dpicdraw (0.5,-0.275)
+ --(0.75,-0.275)\dpicstop
+\draw (0.777674,-0.275) node[right=-2bp]{source(,I)};
+\dpicdraw (0,-0.55)
+ --(0.25,-0.55)\dpicstop
+\dpicdraw (0.375,-0.55) circle (0.049213in)\dpicstop
+\dpicdraw (0.375,-0.675)
+ --(0.375,-0.425)\dpicstop
+\dpicdraw (0.5,-0.55)
+ --(0.75,-0.55)\dpicstop
+\draw (0.777674,-0.55) node[right=-2bp]{source(,i)};
+\dpicdraw (0,-0.825)
+ --(0.25,-0.825)\dpicstop
+\dpicdraw (0.375,-0.825) circle (0.049213in)\dpicstop
+\draw (0.3125,-0.825) node{$_-$};
+\draw (0.4375,-0.825) node{$_+$};
+\dpicdraw (0.5,-0.825)
+ --(0.75,-0.825)\dpicstop
+\draw (0.777674,-0.825) node[right=-2bp]{source(,V)};
+\dpicdraw (0,-1.1)
+ --(0.25,-1.1)\dpicstop
+\dpicdraw (0.375,-1.1) circle (0.049213in)\dpicstop
+\dpicdraw (0.25,-1.1)
+ --(0.5,-1.1)\dpicstop
+\dpicdraw (0.5,-1.1)
+ --(0.75,-1.1)\dpicstop
+\draw (0.777674,-1.1) node[right=-2bp]{source(,v)};
+\dpicdraw (0,-1.375)
+ --(0.25,-1.375)\dpicstop
+\dpicdraw (0.375,-1.375) circle (0.049213in)\dpicstop
+\dpicdraw (0.25,-1.375)
+ ..controls (0.319036,-1.375) and (0.375,-1.319036)
+ ..(0.375,-1.25)\dpicstop
+\dpicdraw (0.5,-1.375)
+ --(0.75,-1.375)\dpicstop
+\draw (0.777674,-1.375) node[right=-2bp]{source(,SC)};
+\dpicdraw (0,-1.65)
+ --(0.25,-1.65)\dpicstop
+\dpicdraw (0.375,-1.65) circle (0.049213in)\dpicstop
+\dpicdraw (0.375,-1.65)
+ ..controls (0.375,-1.626988) and (0.356345,-1.608333)
+ ..(0.333333,-1.608333)
+ ..controls (0.310321,-1.608333) and (0.291667,-1.626988)
+ ..(0.291667,-1.65)\dpicstop
+\dpicdraw (0.375,-1.65)
+ ..controls (0.375,-1.673012) and (0.393655,-1.691667)
+ ..(0.416667,-1.691667)
+ ..controls (0.439679,-1.691667) and (0.458333,-1.673012)
+ ..(0.458333,-1.65)\dpicstop
+\dpicdraw (0.583333,-1.65)
+ --(0.833333,-1.65)\dpicstop
+\draw (0.777674,-1.65) node[right=-2bp]{source(,AC)};
+\dpicdraw (0,-1.925)
+ --(0.25,-1.925)\dpicstop
+\dpicdraw (0.375,-1.925) circle (0.049213in)\dpicstop
+\dpicdraw (0.286612,-1.836612)
+ --(0.463388,-2.013388)\dpicstop
+\dpicdraw (0.286612,-2.013388)
+ --(0.463388,-1.836612)\dpicstop
+\dpicdraw (0.5,-1.925)
+ --(0.75,-1.925)\dpicstop
+\draw (0.777674,-1.925) node[right=-2bp]{source(,X)};
+\dpicdraw (0,-2.2)
+ --(0.25,-2.2)\dpicstop
+\dpicdraw (0.375,-2.2) circle (0.049213in)\dpicstop
+\dpicdraw (0.25,-2.2)
+ --(0.3125,-2.2)\dpicstop
+\dpicdraw (0.3125,-2.2625)
+ --(0.3125,-2.1375)\dpicstop
+\dpicdraw (0.4375,-2.2625)
+ --(0.4375,-2.1375)\dpicstop
+\dpicdraw (0.5,-2.2)
+ --(0.4375,-2.2)\dpicstop
+\dpicdraw (0.5,-2.2)
+ --(0.75,-2.2)\dpicstop
+\draw (0.777674,-2.2) node[right=-2bp]{source(,F)};
+\dpicdraw (0,-2.475)
+ --(0.1875,-2.475)\dpicstop
+\dpicdraw (0.3125,-2.475) circle (0.049213in)\dpicstop
+\dpicdraw (0.4375,-2.475) circle (0.049213in)\dpicstop
+\dpicdraw (0.5625,-2.475)
+ --(0.75,-2.475)\dpicstop
+\draw (0.777674,-2.475) node[right=-2bp]{source(,G)};
+\dpicdraw (0,-2.75)
+ --(0.1875,-2.75)\dpicstop
+\dpicdraw (0.3125,-2.75) circle (0.049213in)\dpicstop
+\dpicdraw (0.375,-2.858253)
+ ..controls (0.458333,-2.906366) and (0.5625,-2.846225)
+ ..(0.5625,-2.75)
+ ..controls (0.5625,-2.653775) and (0.458333,-2.593634)
+ ..(0.375,-2.641747)\dpicstop
+\dpicdraw (0.5625,-2.75)
+ --(0.75,-2.75)\dpicstop
+\draw (0.777674,-2.75) node[right=-2bp]{source(,Q)};
+\dpicdraw (2,0)
+ --(2.175,0)\dpicstop
+\dpicdraw (2.375,0) circle (0.07874in)\dpicstop
+\dpicdraw (2.575,0)
+ --(2.75,0)\dpicstop
+\draw (2.777674,0) node[right=-2bp]{source(,{,}0.4)};
+\dpicdraw (2,-0.35)
+ --(2.25,-0.35)\dpicstop
+\dpicdraw (2.375,-0.35) circle (0.049213in)\dpicstop
+\dpicdraw (2.3125,-0.38125)
+ --(2.34375,-0.38125)
+ --(2.34375,-0.31875)
+ --(2.40625,-0.31875)
+ --(2.40625,-0.38125)
+ --(2.4375,-0.38125)\dpicstop
+\dpicdraw (2.5,-0.35)
+ --(2.75,-0.35)\dpicstop
+\draw (2.777674,-0.35) node[right=-2bp]{source(,P)};
+\dpicdraw (2,-0.625)
+ --(2.25,-0.625)\dpicstop
+\dpicdraw (2.375,-0.625) circle (0.049213in)\dpicstop
+\dpicdraw (2.3125,-0.625)
+ --(2.3125,-0.583333)
+ --(2.375,-0.583333)
+ --(2.375,-0.666667)
+ --(2.4375,-0.666667)
+ --(2.4375,-0.625)\dpicstop
+\dpicdraw (2.5,-0.625)
+ --(2.75,-0.625)\dpicstop
+\draw (2.777674,-0.625) node[right=-2bp]{source(,U)};
+\dpicdraw (2,-0.9)
+ --(2.25,-0.9)\dpicstop
+\dpicdraw (2.375,-0.9) circle (0.049213in)\dpicstop
+\dpicdraw (2.3125,-0.941667)
+ --(2.375,-0.941667)
+ --(2.375,-0.858333)
+ --(2.4375,-0.858333)\dpicstop
+\dpicdraw (2.5,-0.9)
+ --(2.75,-0.9)\dpicstop
+\draw (2.777674,-0.9) node[right=-2bp]{source(,H)};
+\dpicdraw (2,-1.175)
+ --(2.25,-1.175)\dpicstop
+\dpicdraw (2.375,-1.175) circle (0.049213in)\dpicstop
+\dpicdraw (2.291667,-1.216667)
+ --(2.416667,-1.1125)
+ --(2.416667,-1.216667)\dpicstop
+\dpicdraw (2.5,-1.175)
+ --(2.75,-1.175)\dpicstop
+\draw (2.777674,-1.175) node[right=-2bp]{source(,R)};
+\dpicdraw (2,-1.45)
+ --(2.25,-1.45)\dpicstop
+\dpicdraw (2.375,-1.45) circle (0.049213in)\dpicstop
+\dpicdraw (2.291667,-1.45)
+ ..controls (2.29302,-1.447174) and (2.295417,-1.442207)
+ ..(2.297014,-1.438918)
+ ..controls (2.298611,-1.435629) and (2.301248,-1.430362)
+ ..(2.302897,-1.427166)
+ ..controls (2.304546,-1.423971) and (2.307453,-1.418784)
+ ..(2.309383,-1.415594)
+ ..controls (2.311313,-1.412404) and (2.314426,-1.40787)
+ ..(2.316328,-1.405477)
+ ..controls (2.31823,-1.403084) and (2.3213,-1.399943)
+ ..(2.323177,-1.398468)
+ ..controls (2.325054,-1.396994) and (2.328093,-1.395392)
+ ..(2.329956,-1.394895)
+ ..controls (2.33182,-1.394398) and (2.334847,-1.394398)
+ ..(2.33671,-1.394895)
+ ..controls (2.338574,-1.395392) and (2.341612,-1.396994)
+ ..(2.34349,-1.398468)
+ ..controls (2.345367,-1.399943) and (2.348437,-1.403084)
+ ..(2.350339,-1.405477)
+ ..controls (2.352241,-1.40787) and (2.355353,-1.412404)
+ ..(2.357283,-1.415594)
+ ..controls (2.359213,-1.418784) and (2.362369,-1.424451)
+ ..(2.364323,-1.428239)
+ ..controls (2.366277,-1.432026) and (2.369464,-1.438441)
+ ..(2.371432,-1.442551)
+ ..controls (2.373401,-1.446661) and (2.376599,-1.453339)
+ ..(2.378568,-1.457449)
+ ..controls (2.380536,-1.461559) and (2.383723,-1.467974)
+ ..(2.385677,-1.471761)
+ ..controls (2.387631,-1.475549) and (2.390787,-1.481216)
+ ..(2.392717,-1.484406)
+ ..controls (2.394647,-1.487596) and (2.397759,-1.49213)
+ ..(2.399661,-1.494523)
+ ..controls (2.401563,-1.496916) and (2.404633,-1.500057)
+ ..(2.40651,-1.501532)
+ ..controls (2.408388,-1.503006) and (2.411426,-1.504608)
+ ..(2.41329,-1.505105)
+ ..controls (2.415153,-1.505602) and (2.41818,-1.505602)
+ ..(2.420044,-1.505105)
+ ..controls (2.421907,-1.504608) and (2.424946,-1.503006)
+ ..(2.426823,-1.501532)
+ ..controls (2.4287,-1.500057) and (2.43177,-1.496916)
+ ..(2.433672,-1.494523)
+ ..controls (2.435574,-1.49213) and (2.438687,-1.487596)
+ ..(2.440617,-1.484406)
+ ..controls (2.442547,-1.481216) and (2.445454,-1.476029)
+ ..(2.447103,-1.472834)
+ ..controls (2.448752,-1.469638) and (2.451389,-1.464371)
+ ..(2.452986,-1.461082)
+ ..controls (2.454583,-1.457793) and (2.45698,-1.452826)
+ ..(2.458333,-1.45)\dpicstop
+\dpicdraw (2.583333,-1.45)
+ --(2.833333,-1.45)\dpicstop
+\draw (2.777674,-1.45) node[right=-2bp]{source(,S)};
+\dpicdraw (2,-1.725)
+ --(2.25,-1.725)\dpicstop
+\dpicdraw (2.375,-1.725) circle (0.049213in)\dpicstop
+\dpicdraw (2.25,-1.725)
+ ..controls (2.319036,-1.725) and (2.375,-1.780964)
+ ..(2.375,-1.85)\dpicstop
+\dpicdraw (2.5,-1.725)
+ --(2.75,-1.725)\dpicstop
+\draw (2.777674,-1.725) node[right=-2bp]{source(,SCr)};
+\dpicdraw (2,-2)
+ --(2.25,-2)\dpicstop
+\dpicdraw (2.375,-2) circle (0.049213in)\dpicstop
+\dpicdraw (2.28125,-2.03125)
+ --(2.34375,-1.96875)
+ --(2.40625,-2.03125)
+ --(2.46875,-1.96875)\dpicstop
+\dpicdraw (2.5,-2)
+ --(2.75,-2)\dpicstop
+\draw (2.777674,-2) node[right=-2bp]{source(,T)};
+\dpicdraw (2,-2.275)
+ --(2.25,-2.275)\dpicstop
+\dpicdraw (2.375,-2.275) circle (0.049213in)\dpicstop
+\dpicdraw (2.25,-2.275)
+ --(2.34375,-2.275)\dpicstop
+\dpicdraw[line width=0.4bp](2.34375,-2.275) circle (0.00109in)\dpicstop
+\dpicdraw (2.34375,-2.275)
+ --(2.348958,-2.233333)
+ ..controls (2.352431,-2.205556) and (2.361111,-2.191667)
+ ..(2.375,-2.191667)
+ ..controls (2.388889,-2.191667) and (2.397569,-2.205556)
+ ..(2.401042,-2.233333)
+ --(2.40625,-2.275)\dpicstop
+\dpicdraw[line width=0.4bp](2.40625,-2.275) circle (0.00109in)\dpicstop
+\dpicdraw (2.40625,-2.275)
+ --(2.5,-2.275)\dpicstop
+\dpicdraw (2.5,-2.275)
+ --(2.75,-2.275)\dpicstop
+\draw (2.777674,-2.275) node[right=-2bp]{source(,L)};
+\dpicdraw (2,-2.55)
+ --(2.25,-2.55)\dpicstop
+\dpicdraw (2.375,-2.55) circle (0.049213in)\dpicstop
+\dpicdraw (2.25,-2.55)
+ --(2.291667,-2.55)\dpicstop
+\dpicdraw[line width=0.4bp](2.291667,-2.55) circle (0.00109in)\dpicstop
+\dpicdraw (2.291667,-2.55)
+ ..controls (2.291667,-2.584518) and (2.319649,-2.6125)
+ ..(2.354167,-2.6125)
+ ..controls (2.388684,-2.6125) and (2.416667,-2.584518)
+ ..(2.416667,-2.55)\dpicstop
+\dpicdraw (2.416667,-2.55)
+ ..controls (2.416667,-2.526988) and (2.398012,-2.508333)
+ ..(2.375,-2.508333)
+ ..controls (2.351988,-2.508333) and (2.333333,-2.526988)
+ ..(2.333333,-2.55)\dpicstop
+\dpicdraw (2.333333,-2.55)
+ ..controls (2.333333,-2.584518) and (2.361316,-2.6125)
+ ..(2.395833,-2.6125)
+ ..controls (2.430351,-2.6125) and (2.458333,-2.584518)
+ ..(2.458333,-2.55)\dpicstop
+\dpicdraw[line width=0.4bp](2.458333,-2.55) circle (0.00109in)\dpicstop
+\dpicdraw (2.458333,-2.55)
+ --(2.5,-2.55)\dpicstop
+\dpicdraw (2.5,-2.55)
+ --(2.75,-2.55)\dpicstop
+\draw (2.777674,-2.55) node[right=-2bp]{source(,B)};
+\dpicdraw (2,-2.77)
+ --(2.25,-2.77)\dpicstop
+\dpicdraw (2.375,-2.7075)
+ ..controls (2.39675,-2.7075) and (2.430875,-2.714063)
+ ..(2.45625,-2.723125)
+ ..controls (2.481625,-2.732188) and (2.5,-2.751875)
+ ..(2.5,-2.77)
+ ..controls (2.5,-2.788125) and (2.481625,-2.807813)
+ ..(2.45625,-2.816875)
+ ..controls (2.430875,-2.825938) and (2.39675,-2.8325)
+ ..(2.375,-2.8325)
+ ..controls (2.35325,-2.8325) and (2.319125,-2.825938)
+ ..(2.29375,-2.816875)
+ ..controls (2.268375,-2.807813) and (2.25,-2.788125)
+ ..(2.25,-2.77)
+ ..controls (2.25,-2.751875) and (2.268375,-2.732188)
+ ..(2.29375,-2.723125)
+ ..controls (2.319125,-2.714063) and (2.35325,-2.7075)
+ ..(2.375,-2.7075)\dpicstop
+\dpicdraw (2.5,-2.77)
+ --(2.75,-2.77)\dpicstop
+\draw (2.777674,-2.77) node[right=-2bp]{nullator};
+\dpicdraw (2,-2.935)
+ --(2.25,-2.935)\dpicstop
+\dpicdraw (2.375,-2.935)
+ --(2.34375,-2.90375)
+ ..controls (2.322917,-2.882917) and (2.302083,-2.8725)
+ ..(2.28125,-2.8725)
+ ..controls (2.260417,-2.8725) and (2.25,-2.893333)
+ ..(2.25,-2.935)
+ ..controls (2.25,-2.976667) and (2.260417,-2.9975)
+ ..(2.28125,-2.9975)
+ ..controls (2.302083,-2.9975) and (2.322917,-2.987083)
+ ..(2.34375,-2.96625)
+ --(2.375,-2.935)\dpicstop
+\dpicdraw (2.375,-2.935)
+ --(2.40625,-2.90375)
+ ..controls (2.427083,-2.882917) and (2.447917,-2.8725)
+ ..(2.46875,-2.8725)
+ ..controls (2.489583,-2.8725) and (2.5,-2.893333)
+ ..(2.5,-2.935)
+ ..controls (2.5,-2.976667) and (2.489583,-2.9975)
+ ..(2.46875,-2.9975)
+ ..controls (2.447917,-2.9975) and (2.427083,-2.987083)
+ ..(2.40625,-2.96625)
+ --(2.375,-2.935)\dpicstop
+\dpicdraw (2.5,-2.935)
+ --(2.75,-2.935)\dpicstop
+\draw (2.777674,-2.935) node[right=-2bp]{norator};
+\dpicdraw (4,0)
+ --(4.25,0)\dpicstop
+\dpicdraw (4.375,0) circle (0.049213in)\dpicstop
+\dpicdraw (4.25,0)
+ --(4.3125,0)\dpicstop
+\dpicdraw (4.396376,-0.058731)
+ --(4.396376,0.058731)\dpicstop
+\dpicdraw[line width=0.4bp](4.396376,0.058731) circle (0.00109in)\dpicstop
+\dpicdraw (4.396376,0.058731)
+ ..controls (4.451208,0.038774) and (4.451208,-0.038774)
+ ..(4.396376,-0.058731)\dpicstop
+\dpicdraw[line width=0.4bp](4.396376,-0.058731) circle (0.00109in)\dpicstop
+\dpicdraw (4.353624,0.058731)
+ --(4.353624,-0.058731)\dpicstop
+\dpicdraw[line width=0.4bp](4.353624,-0.058731) circle (0.00109in)\dpicstop
+\dpicdraw (4.353624,-0.058731)
+ ..controls (4.298792,-0.038774) and (4.298792,0.038774)
+ ..(4.353624,0.058731)\dpicstop
+\dpicdraw[line width=0.4bp](4.353624,0.058731) circle (0.00109in)\dpicstop
+\dpicdraw (4.4375,0)
+ --(4.5,0)\dpicstop
+\dpicdraw (4.5,0)
+ --(4.75,0)\dpicstop
+\draw (4.777674,0) node[right=-2bp]{source(,N)};
+\dpicdraw (4,-0.275)
+ --(4.25,-0.275)\dpicstop
+\dpicdraw (4.375,-0.275) circle (0.049213in)\dpicstop
+\draw (4.375,-0.275) node{\rm mA};
+\dpicdraw (4.5,-0.275)
+ --(4.75,-0.275)\dpicstop
+\draw (4.777674,-0.275) node[right=-2bp]{source(,"mA")};
+\dpicdraw (4,-0.585)
+ --(4.225,-0.585)\dpicstop
+\dpicdraw (4.225,-0.585)
+ --(4.375,-0.435)
+ --(4.525,-0.585)
+ --(4.375,-0.735)
+ --(4.225,-0.585)\dpicstop
+\dpicdraw (4.525,-0.585)
+ --(4.75,-0.585)\dpicstop
+\draw (4.777674,-0.585) node[right=-2bp]{consource};
+\dpicdraw (4,-0.905)
+ --(4.225,-0.905)\dpicstop
+\dpicdraw (4.225,-0.905)
+ --(4.375,-0.755)
+ --(4.525,-0.905)
+ --(4.375,-1.055)
+ --(4.225,-0.905)\dpicstop
+\filldraw[line width=0bp](4.3875,-0.93)
+ --(4.4875,-0.905)
+ --(4.3875,-0.88) --cycle\dpicstop
+\dpicdraw (4.2625,-0.905)
+ --(4.464594,-0.905)\dpicstop
+\dpicdraw (4.525,-0.905)
+ --(4.75,-0.905)\dpicstop
+\draw (4.777674,-0.905) node[right=-2bp]{consource(,I)};
+\dpicdraw (4,-1.225)
+ --(4.225,-1.225)\dpicstop
+\dpicdraw (4.225,-1.225)
+ --(4.375,-1.075)
+ --(4.525,-1.225)
+ --(4.375,-1.375)
+ --(4.225,-1.225)\dpicstop
+\dpicdraw (4.375,-1.075)
+ --(4.375,-1.375)\dpicstop
+\dpicdraw (4.525,-1.225)
+ --(4.75,-1.225)\dpicstop
+\draw (4.777674,-1.225) node[right=-2bp]{consource(,i)};
+\dpicdraw (4,-1.545)
+ --(4.25,-1.545)\dpicstop
+\dpicdraw (4.375,-1.545) circle (0.049213in)\dpicstop
+\dpicdraw (4.26275,-1.49)
+ ..controls (4.332238,-1.53) and (4.417762,-1.53)
+ ..(4.48725,-1.49)\dpicstop
+\dpicdraw (4.5,-1.545)
+ --(4.75,-1.545)\dpicstop
+\draw (4.777674,-1.545) node[right=-2bp]{source(,SE)};
+\dpicdraw (4,-1.82)
+ --(4.225,-1.82)\dpicstop
+\dpicdraw (4.225,-1.82)
+ --(4.375,-1.67)
+ --(4.525,-1.82)
+ --(4.375,-1.97)
+ --(4.225,-1.82)\dpicstop
+\draw (4.3,-1.82) node{$-$};
+\draw (4.45,-1.82) node{$+$};
+\dpicdraw (4.525,-1.82)
+ --(4.75,-1.82)\dpicstop
+\draw (4.777674,-1.82) node[right=-2bp]{consource(,V)};
+\dpicdraw (4,-2.14)
+ --(4.225,-2.14)\dpicstop
+\dpicdraw (4.225,-2.14)
+ --(4.375,-1.99)
+ --(4.525,-2.14)
+ --(4.375,-2.29)
+ --(4.225,-2.14)\dpicstop
+\dpicdraw (4.225,-2.14)
+ --(4.525,-2.14)\dpicstop
+\dpicdraw (4.525,-2.14)
+ --(4.75,-2.14)\dpicstop
+\draw (4.777674,-2.14) node[right=-2bp]{consource(,v)};
+\dpicdraw (4,-2.44)
+ --(4.354167,-2.44)\dpicstop
+\dpicdraw (4.354167,-2.3775)
+ --(4.354167,-2.5025)\dpicstop
+\dpicdraw (4.395833,-2.315)
+ --(4.395833,-2.565)\dpicstop
+\dpicdraw (4.395833,-2.44)
+ --(4.75,-2.44)\dpicstop
+\draw (4.777674,-2.44) node[right=-2bp]{battery};
+\dpicdraw (4.75,-2.715)
+ --(4.479167,-2.715)\dpicstop
+\dpicdraw (4.479167,-2.7775)
+ --(4.479167,-2.6525)\dpicstop
+\dpicdraw (4.4375,-2.84)
+ --(4.4375,-2.59)\dpicstop
+\dpicdraw (4.395833,-2.7775)
+ --(4.395833,-2.6525)\dpicstop
+\dpicdraw (4.354167,-2.84)
+ --(4.354167,-2.59)\dpicstop
+\dpicdraw (4.3125,-2.7775)
+ --(4.3125,-2.6525)\dpicstop
+\dpicdraw (4.270833,-2.84)
+ --(4.270833,-2.59)\dpicstop
+\dpicdraw (4.270833,-2.715)
+ --(4,-2.715)\dpicstop
+\draw (4.777674,-2.715) node[right=-2bp]{battery(,3,R)};
+ }
+\end{tikzpicture}
+\vspace*{-0.5\baselineskip}
diff --git a/graphics/circuit_macros/doc/Sources.m4 b/graphics/circuit_macros/doc/SourcesMan.m4
index a70cea1113..8a4bab9bc6 100644
--- a/graphics/circuit_macros/doc/Sources.m4
+++ b/graphics/circuit_macros/doc/SourcesMan.m4
@@ -21,7 +21,8 @@ define(`NL',`; move down $1; right_')
{source(,X) ; move ; "`source(,X)'" ljust} NL
{source(,F) ; move ; "`source(,F)'" ljust} NL
{source(,G) ; move ; "`source(,G)'" ljust} NL
- {source(,Q) ; move ; "`source(,Q)'" ljust}
+ {source(,Q) ; move ; "`source(,Q)'" ljust} NL(0.3)
+ {proximity ; move ; "`\shortstack[l]{proximity\\ = consource(,P)}'" ljust}
}
move right_ 2.0
{
@@ -34,8 +35,8 @@ define(`NL',`; move down $1; right_')
{source(,SCr) ; move ; "`source(,SCr)'" ljust} NL
{source(,T) ; move ; "`source(,T)'" ljust} NL
{source(,L) ; move ; "`source(,L)'" ljust} NL
- {source(,B) ; move ; "`source(,B)'" ljust} NL(moveht*0.8)
- {nullator ; move ; "`nullator'" ljust} NL(moveht*0.6)
+ {source(,B) ; move ; "`source(,B)'" ljust} NL
+ {nullator ; move ; "`nullator'" ljust} NL(moveht*0.8)
{norator ; move ; "`norator'" ljust}
}
move right_ 2.0
@@ -49,7 +50,7 @@ define(`NL',`; move down $1; right_')
{source(,SE) ; move ; "`source(,SE)'" ljust} NL
{consource(,V) ; move ; "`consource(,V)'" ljust} NL(0.32)
{consource(,v) ; move ; "`consource(,v)'" ljust} NL(0.3)
- {battery ; move ; "`battery'" ljust} NL
+ {battery ; move ; "`battery'" ljust} NL(0.3)
{battery(,3,R) ; move ; "`battery(,3,R)'" ljust}
iflatex(`ifpsfrag(,`latexcommand(})')')
diff --git a/graphics/circuit_macros/doc/Switches.m4 b/graphics/circuit_macros/doc/Switches.m4
deleted file mode 100644
index d8262be92d..0000000000
--- a/graphics/circuit_macros/doc/Switches.m4
+++ /dev/null
@@ -1,117 +0,0 @@
-.PS
-# Switches.m4
-cct_init
-
-movewid = 0.25
-# Row 1
- right_; {
- lswitch; {S:"\tt ls{}witch" at last [].s+(0,-10bp__)}
- move right_
- lswitch(,,O); {"\tt (,,O)" at (last [],S)}
- move right_
- lswitch(,,C); {"\tt (,,C)" at (last [],S)}
- move right_
- lswitch(,,DA); {"\tt (,,DA)" at (last [],S)}
- move right_
- lswitch(,,dDO); {"\tt (,,dDO)" at (last [],S)}
- move right_
- lswitch(,,uDC); {"\tt (,,uDC)" at (last [],S)}
- }
-# Row 2
- move down; right_; {
- lswitch(,,K); {S:"\tt (,,K)" at last [].s+(0,-10bp__)}
- move right_
- lswitch(,,KD); {"\tt (,,KD)" at (last [],S)}
- move right_
- lswitch(,,KOD); {"\tt (,,KOD)" at (last [],S)}
- move right_
- lswitch(,,KCD); {"\tt (,,KCD)" at (last [],S)}
- move right_
- bswitch; {"\tt `bswitch'" at (last [],S)}
- move right_
- bswitch(,,C); {"\tt (,,C)" at (last [],S)}
- }
-# Row 3
- move down; right_; {
- D: dswitch(,,); {S: "\tt ds{}witch(,{},)" at last [].s+(0,-10bp__)}
- thinlines_
- { spline <- from 0.25 along_(D) up 0.1 then up 0.05 left 0.1
- {"\tt W" rjust}
- spline <- from D.c+(0,m4sc*2) up 0.1 then up 0.05 left 0.1
- {"\tt B" rjust }}
- thicklines_
- move right_
- D: dswitch(,,WdBK); {"\tt (,,WdBK)" at (last [],S)+(0,-4bp__)}
- thinlines_
- { spline <- from tr_xy(0,-2) up 0.1 then up 0.10 left 0.1
- {"\tt dB" rjust}
- spline <- from tr_xy(4,-2) right 0.1 then right 0.05 up 0.15
- {"\tt K" above }}
- thicklines_
- move right_
- dswitch(,,WBmdDK); {"\tt (,,WBmdDK)" at (last [],S)}
- move right_
- dswitch(,,WBKTr); {"\tt (,,WBKTr)" at (last [],S)}
- move right_
- dswitch(,,WdBL); {"\tt (,,WdBL)" at (last [],S+(0,-4bp__))}
- move right_
- dswitch(,,WBCo); {"\tt (,,WBCo)" at (last [],S)}
- }
-# Row 4
- move down; right_; {
- dswitch(,,WBKCo); {S: "\tt (,,WBKCo)" at last [].s+(0,-10bp__)}
- move right_
- dswitch(,,WBCb); {"\tt (,,WBCb)" at (last [],S)}
- move right_
- dswitch(,,WBDI); {"\tt (,,WBDI)" at (last [],S)}
- move right_
- dswitch(,,WBSd); {"\tt (,,WBSd)" at (last [],S)}
- move right_
- dswitch(,,WBFDI); {"\tt (,,WBFDI)" at (last [],S)}
- move right_
- dswitch(,,WBFSd); {"\tt (,,WBFSd)" at (last [],S)}
- }
-# Row 5
- move down moveht*5/4; right_; {
- dswitch(,,WBTh); {S: "\tt (,,WBTh)" at last [].s+(0,-10bp__)}
- move right_
- dswitch(,,WBKC); {"\tt (,,WBKC)" at (last [],S)}
- move right_
- dswitch(,,WBM); {"\tt (,,WBM)" at (last [],S)}
- move right_
- dswitch(,,WBCO); {"\tt (,,WBCO)" at (last [],S)}
- move right_
- dswitch(,,WBMP); {"\tt (,,WBMP)" at (last [],S)}
- move right_
- dswitch(,,WBoKCP); {"\tt (,,WBoKCP)" at (last [],S)}
- }
-# Row 6
- move down moveht*5/4; right_; {
- dswitch(,,WBCY); {S: "\tt (,,WBCY)" at last [].s+(0,-10bp__)}
- move right_
- dswitch(,,WBCZ); {"\tt (,,WBCZ)" at (last [],S)}
- move right_
- dswitch(,,WBCE); {"\tt (,,WBCE)" at (last [],S)}
- move right_
- dswitch(,,WBRH); {"\tt (,,WBRH)" at (last [],S)}
- move right_
- dswitch(,,WBRdH); {"\tt (,,WBRdH)" at (last [],S)}
- move right_
- dswitch(,,WBRHH); {"\tt (,,WBRHH)" at (last [],S)}
- }
-# Row 7
- move down; right_; {
- dswitch(,,WBMMR); {S: "\tt (,,WBMMR)" at last [].s+(0,-10bp__)}
- move right_
- dswitch(,,WBMM); {"\tt (,,WBMM)" at (last [],S)}
- move right_
- dswitch(,,WBMR); {"\tt (,,WBMR)" at (last [],S)}
- move right_
- dswitch(,,WBEL); {"\tt (,,WBEL)" at (last [],S)}
- move right_
- dswitch(,,WBLE); {"\tt (,,WBLE)" at (last [],S)}
- move right_
- dswitch(,,WBoKEL); {"\tt (,,WBoKEL)" at (last [],S)}
- }
-
-.PE
diff --git a/graphics/circuit_macros/doc/Switches.tex b/graphics/circuit_macros/doc/Switches.tex
new file mode 100644
index 0000000000..3f6e0b08e1
--- /dev/null
+++ b/graphics/circuit_macros/doc/Switches.tex
@@ -0,0 +1,596 @@
+\begin{tikzpicture}[scale=2.54]
+% dpic version 2020.03.01 option -g for TikZ and PGF 1.01
+\ifx\dpiclw\undefined\newdimen\dpiclw\fi
+\global\def\dpicdraw{\draw[line width=\dpiclw]}
+\global\def\dpicstop{;}
+\dpiclw=0.8bp
+\dpiclw=0.8bp
+\dpicdraw (0,0)
+ --(0.291667,0)\dpicstop
+\dpicdraw (0.291667,0)
+ --(0.416667,0.125)\dpicstop
+\dpicdraw (0.458333,0)
+ --(0.75,0)\dpicstop
+\draw (0.375,-0.160595) node{\tt ls{}witch};
+\dpicdraw (1,0)
+ --(1.291667,0)\dpicstop
+\dpicdraw (1.291667,0)
+ --(1.416667,0.125)\dpicstop
+\filldraw[line width=0bp](1.362125,0.086087)
+ --(1.349366,0.074969)
+ ..controls (1.342662,0.09113) and (1.33416,0.106484)
+ ..(1.324019,0.120741)
+ ..controls (1.34186,0.114971) and (1.358938,0.107068)
+ ..(1.374885,0.097205)
+ --(1.362125,0.086087)\dpicstop
+\dpicdraw (1.414768,-0.021706)
+ ..controls (1.405742,0.02367) and (1.383411,0.065332)
+ ..(1.350622,0.097972)\dpicstop
+\dpicdraw (1.458333,0)
+ --(1.75,0)\dpicstop
+\draw (1.375,-0.160595) node{\tt (,,O)};
+\dpicdraw (2,0)
+ --(2.291667,0)\dpicstop
+\dpicdraw (2.291667,0)
+ --(2.416667,0.125)\dpicstop
+\filldraw[line width=0bp](2.403732,0.018447)
+ --(2.387471,0.01371)
+ ..controls (2.397462,-0.000674) and (2.405825,-0.016123)
+ ..(2.412407,-0.032352)
+ ..controls (2.417126,-0.014206) and (2.419673,0.004436)
+ ..(2.419994,0.023183)
+ --(2.403732,0.018447)\dpicstop
+\dpicdraw (2.407539,0.002327)
+ ..controls (2.399025,0.041593) and (2.380658,0.078046)
+ ..(2.354167,0.108253)\dpicstop
+\dpicdraw (2.458333,0)
+ --(2.75,0)\dpicstop
+\draw (2.375,-0.160595) node{\tt (,,C)};
+\dpicdraw (3,0)
+ --(3.291667,0)\dpicstop
+\filldraw[line width=0bp](3.391447,0.074795)
+ --(3.416667,0.125)
+ --(3.366462,0.09978) --cycle\dpicstop
+\dpicdraw (3.291667,0)
+ --(3.404174,0.112507)\dpicstop
+\dpicdraw (3.458333,0)
+ --(3.75,0)\dpicstop
+\dpicdraw[fill=white](3.291667,0) circle (0.007874in)\dpicstop
+\dpicdraw[fill=white](3.458333,0) circle (0.007874in)\dpicstop
+\draw (3.375,-0.160595) node{\tt (,,DA)};
+\dpicdraw (4,0)
+ --(4.291667,0)\dpicstop
+\dpicdraw (4.291667,0)
+ --(4.416667,0.125)\dpicstop
+\filldraw[line width=0bp](4.362125,0.086087)
+ --(4.349366,0.074969)
+ ..controls (4.342662,0.09113) and (4.33416,0.106484)
+ ..(4.324019,0.120741)
+ ..controls (4.34186,0.114971) and (4.358938,0.107068)
+ ..(4.374885,0.097205)
+ --(4.362125,0.086087)\dpicstop
+\dpicdraw (4.414768,-0.021706)
+ ..controls (4.405742,0.02367) and (4.383411,0.065332)
+ ..(4.350622,0.097972)\dpicstop
+\dpicdraw (4.458333,0)
+ --(4.75,0)\dpicstop
+\dpicdraw[fill=white](4.291667,0) circle (0.007874in)\dpicstop
+\draw (4.375,-0.160595) node{\tt (,,dDO)};
+\dpicdraw (5,0)
+ --(5.291667,0)\dpicstop
+\dpicdraw (5.291667,0)
+ --(5.416667,0.125)\dpicstop
+\filldraw[line width=0bp](5.403732,0.018447)
+ --(5.387471,0.01371)
+ ..controls (5.397462,-0.000674) and (5.405825,-0.016123)
+ ..(5.412407,-0.032352)
+ ..controls (5.417126,-0.014206) and (5.419673,0.004436)
+ ..(5.419994,0.023183)
+ --(5.403732,0.018447)\dpicstop
+\dpicdraw (5.407539,0.002327)
+ ..controls (5.399025,0.041593) and (5.380658,0.078046)
+ ..(5.354167,0.108253)\dpicstop
+\dpicdraw (5.458333,0)
+ --(5.75,0)\dpicstop
+\dpicdraw[fill=white](5.458333,0) circle (0.007874in)\dpicstop
+\draw (5.375,-0.160595) node{\tt (,,uDC)};
+\dpicdraw (0,-0.5)
+ --(0.291667,-0.5)\dpicstop
+\dpicdraw (0.291667,-0.5)
+ --(0.475789,-0.477745)\dpicstop
+\dpicdraw (0.458333,-0.5)
+ --(0.458333,-0.48)\dpicstop
+\dpicdraw (0.458333,-0.5)
+ --(0.75,-0.5)\dpicstop
+\draw (0.375,-0.660595) node{\tt (,,K)};
+\dpicdraw (1,-0.5)
+ --(1.291667,-0.5)\dpicstop
+\dpicdraw (1.291667,-0.5)
+ --(1.475789,-0.477745)\dpicstop
+\dpicdraw (1.458333,-0.5)
+ --(1.458333,-0.48)\dpicstop
+\dpicdraw (1.458333,-0.5)
+ --(1.75,-0.5)\dpicstop
+\dpicdraw[fill=white](1.291667,-0.5) circle (0.007874in)\dpicstop
+\dpicdraw[fill=white](1.458333,-0.5) circle (0.007874in)\dpicstop
+\draw (1.375,-0.660595) node{\tt (,,KD)};
+\dpicdraw (2,-0.5)
+ --(2.291667,-0.5)\dpicstop
+\dpicdraw (2.291667,-0.5)
+ --(2.475789,-0.477745)\dpicstop
+\dpicdraw (2.458333,-0.5)
+ --(2.458333,-0.48)\dpicstop
+\filldraw[line width=0bp](2.362125,-0.413913)
+ --(2.349366,-0.425031)
+ ..controls (2.342662,-0.40887) and (2.33416,-0.393516)
+ ..(2.324019,-0.379259)
+ ..controls (2.34186,-0.385029) and (2.358938,-0.392932)
+ ..(2.374885,-0.402795)
+ --(2.362125,-0.413913)\dpicstop
+\dpicdraw (2.414768,-0.521706)
+ ..controls (2.405742,-0.47633) and (2.383411,-0.434668)
+ ..(2.350622,-0.402028)\dpicstop
+\dpicdraw (2.458333,-0.5)
+ --(2.75,-0.5)\dpicstop
+\dpicdraw[fill=white](2.291667,-0.5) circle (0.007874in)\dpicstop
+\dpicdraw[fill=white](2.458333,-0.5) circle (0.007874in)\dpicstop
+\draw (2.375,-0.660595) node{\tt (,,KOD)};
+\dpicdraw (3,-0.5)
+ --(3.291667,-0.5)\dpicstop
+\dpicdraw (3.291667,-0.5)
+ --(3.475789,-0.477745)\dpicstop
+\dpicdraw (3.458333,-0.5)
+ --(3.458333,-0.48)\dpicstop
+\filldraw[line width=0bp](3.402903,-0.501361)
+ --(3.386185,-0.503989)
+ ..controls (3.394255,-0.519512) and (3.400552,-0.535895)
+ ..(3.404955,-0.552827)
+ ..controls (3.412003,-0.535452) and (3.416927,-0.517289)
+ ..(3.419621,-0.498733)
+ --(3.402903,-0.501361)\dpicstop
+\dpicdraw (3.404613,-0.517813)
+ ..controls (3.400687,-0.471714) and (3.383125,-0.427828)
+ ..(3.354167,-0.391747)\dpicstop
+\dpicdraw (3.458333,-0.5)
+ --(3.75,-0.5)\dpicstop
+\dpicdraw[fill=white](3.291667,-0.5) circle (0.007874in)\dpicstop
+\dpicdraw[fill=white](3.458333,-0.5) circle (0.007874in)\dpicstop
+\draw (3.375,-0.660595) node{\tt (,,KCD)};
+\dpicdraw (4,-0.5)
+ --(4.257074,-0.5)\dpicstop
+\dpicdraw (4.291667,-0.5) circle (0.013619in)\dpicstop
+\dpicdraw (4.458333,-0.5) circle (0.013619in)\dpicstop
+\dpicdraw (4.257074,-0.413517)
+ --(4.492926,-0.413517)\dpicstop
+\dpicdraw (4.375,-0.413517)
+ --(4.375,-0.344332)\dpicstop
+\dpicdraw (4.492926,-0.5)
+ --(4.75,-0.5)\dpicstop
+\draw (4.375,-0.660595) node{\tt bswitch};
+\dpicdraw (5,-0.5)
+ --(5.257074,-0.5)\dpicstop
+\dpicdraw (5.291667,-0.5) circle (0.013619in)\dpicstop
+\dpicdraw (5.458333,-0.5) circle (0.013619in)\dpicstop
+\dpicdraw (5.257074,-0.534593)
+ --(5.492926,-0.534593)\dpicstop
+\dpicdraw (5.375,-0.534593)
+ --(5.375,-0.396221)\dpicstop
+\dpicdraw (5.492926,-0.5)
+ --(5.75,-0.5)\dpicstop
+\draw (5.375,-0.660595) node{\tt (,,C)};
+\dpicdraw (0,-1)
+ --(0.291667,-1)\dpicstop
+\dpicdraw (0.458333,-1)
+ --(0.75,-1)\dpicstop
+\dpicdraw (0.291667,-1)
+ --(0.479167,-0.90625)\dpicstop
+\draw (0.385417,-1.140032) node{\tt ds{}witch(,{},)};
+\dpiclw=0.4bp
+\filldraw[line width=0bp](0.1675,-0.933333)
+ --(0.1875,-1)
+ --(0.2075,-0.933333) --cycle\dpicstop
+\dpicdraw (0.1875,-0.980666)
+ --(0.1875,-0.940333)
+ ..controls (0.1875,-0.913444) and (0.170833,-0.891667)
+ ..(0.1375,-0.875)
+ --(0.0875,-0.85)\dpicstop
+\draw (0.0875,-0.85) node[left=-2bp]{\tt W};
+\filldraw[line width=0bp](0.355,-0.891667)
+ --(0.375,-0.958333)
+ --(0.395,-0.891667) --cycle\dpicstop
+\dpicdraw (0.375,-0.938999)
+ --(0.375,-0.898666)
+ ..controls (0.375,-0.871778) and (0.358333,-0.85)
+ ..(0.325,-0.833333)
+ --(0.275,-0.808333)\dpicstop
+\draw (0.275,-0.808333) node[left=-2bp]{\tt B};
+\dpiclw=0.8bp
+\dpicdraw (1,-1)
+ --(1.291667,-1)\dpicstop
+\dpicdraw (1.458333,-1)
+ --(1.75,-1)\dpicstop
+\dpicdraw (1.291667,-1)
+ --(1.479167,-1.09375)\dpicstop
+\dpicdraw (1.458333,-1)
+ --(1.458333,-1.104167)\dpicstop
+\draw (1.385417,-1.195588) node{\tt (,,WdBK)};
+\dpiclw=0.4bp
+\filldraw[line width=0bp](1.355,-0.975)
+ --(1.375,-1.041667)
+ --(1.395,-0.975) --cycle\dpicstop
+\dpicdraw (1.375,-1.022333)
+ --(1.375,-0.982)
+ ..controls (1.375,-0.955111) and (1.358333,-0.925)
+ ..(1.325,-0.891667)
+ --(1.275,-0.841667)\dpicstop
+\draw (1.275,-0.841667) node[left=-2bp]{\tt dB};
+\filldraw[line width=0bp](1.525,-1.021667)
+ --(1.458333,-1.041667)
+ --(1.525,-1.061667) --cycle\dpicstop
+\dpicdraw (1.477667,-1.041667)
+ --(1.518,-1.041667)
+ ..controls (1.544889,-1.041667) and (1.566667,-1.016667)
+ ..(1.583333,-0.966667)
+ --(1.608333,-0.891667)\dpicstop
+\draw (1.608333,-0.891667) node[above=-2bp]{\tt K};
+\dpiclw=0.8bp
+\dpicdraw (2,-1)
+ --(2.291667,-1)\dpicstop
+\dpicdraw (2.458333,-1)
+ --(2.75,-1)\dpicstop
+\dpicdraw (2.291667,-1)
+ --(2.479167,-0.90625)\dpicstop
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (2.502459,-0.894604) circle (0.010253in)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\dpicdraw[fill=white](2.291667,-1) circle (0.007874in)\dpicstop
+\dpicdraw (2.458333,-1)
+ --(2.458333,-0.895833)\dpicstop
+\draw (2.385417,-1.140032) node{\tt (,,WBmdDK)};
+\dpicdraw (3,-1)
+ --(3.291667,-1)\dpicstop
+\dpicdraw (3.458333,-1)
+ --(3.75,-1)\dpicstop
+\dpicdraw (3.291667,-1)
+ --(3.479167,-0.90625)\dpicstop
+\dpicdraw (3.458333,-1)
+ --(3.458333,-0.895833)\dpicstop
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (3.401823,-0.915625)
+ --(3.390104,-0.892188)
+ --(3.343229,-0.915625)
+ --(3.366667,-0.9625)
+ --(3.413542,-0.939063)
+ --(3.401823,-0.915625)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\draw (3.385417,-1.140032) node{\tt (,,WBKTr)};
+\dpicdraw (4,-1)
+ --(4.291667,-1)\dpicstop
+\dpicdraw (4.458333,-1)
+ --(4.75,-1)\dpicstop
+\dpicdraw (4.291667,-1)
+ --(4.479167,-1.09375)\dpicstop
+\dpicdraw (4.35026,-1.029297)
+ --(4.39974,-1.10612)
+ --(4.420573,-1.064453)\dpicstop
+\draw (4.385417,-1.195588) node{\tt (,,WdBL)};
+\dpicdraw (5,-1)
+ --(5.291667,-1)\dpicstop
+\dpicdraw (5.458333,-1)
+ --(5.75,-1)\dpicstop
+\dpicdraw (5.291667,-1)
+ --(5.479167,-0.90625)\dpicstop
+\dpicdraw (5.458333,-1)
+ ..controls (5.458333,-0.944444) and (5.541667,-0.944444)
+ ..(5.541667,-1)\dpicstop
+\draw (5.385417,-1.140032) node{\tt (,,WBCo)};
+\dpicdraw (0,-1.5)
+ --(0.291667,-1.5)\dpicstop
+\dpicdraw (0.458333,-1.5)
+ --(0.75,-1.5)\dpicstop
+\dpicdraw (0.291667,-1.5)
+ --(0.479167,-1.40625)\dpicstop
+\dpicdraw (0.458333,-1.5)
+ ..controls (0.458333,-1.476988) and (0.476988,-1.458333)
+ ..(0.5,-1.458333)
+ ..controls (0.523012,-1.458333) and (0.541667,-1.476988)
+ ..(0.541667,-1.5)\dpicstop
+\dpicdraw (0.458333,-1.5)
+ --(0.458333,-1.395833)\dpicstop
+\draw (0.385417,-1.640032) node{\tt (,,WBKCo)};
+\dpicdraw (1,-1.5)
+ --(1.291667,-1.5)\dpicstop
+\dpicdraw (1.458333,-1.5)
+ --(1.75,-1.5)\dpicstop
+\dpicdraw (1.291667,-1.5)
+ --(1.479167,-1.40625)\dpicstop
+\dpicdraw (1.416667,-1.541667)
+ --(1.5,-1.458333)\dpicstop
+\dpicdraw (1.416667,-1.458333)
+ --(1.5,-1.541667)\dpicstop
+\draw (1.375,-1.640032) node{\tt (,,WBCb)};
+\dpicdraw (2,-1.5)
+ --(2.291667,-1.5)\dpicstop
+\dpicdraw (2.458333,-1.5)
+ --(2.75,-1.5)\dpicstop
+\dpicdraw (2.291667,-1.5)
+ --(2.479167,-1.40625)\dpicstop
+\dpicdraw (2.458333,-1.458333)
+ --(2.458333,-1.541667)\dpicstop
+\draw (2.375,-1.640032) node{\tt (,,WBDI)};
+\dpicdraw (3,-1.5)
+ --(3.291667,-1.5)\dpicstop
+\dpicdraw (3.458333,-1.5)
+ --(3.75,-1.5)\dpicstop
+\dpicdraw (3.291667,-1.5)
+ --(3.479167,-1.40625)\dpicstop
+\dpicdraw[fill=white](3.458333,-1.5) circle (0.012303in)\dpicstop
+\dpicdraw (3.489583,-1.458333)
+ --(3.489583,-1.541667)\dpicstop
+\draw (3.375,-1.640032) node{\tt (,,WBSd)};
+\dpicdraw (4,-1.5)
+ --(4.291667,-1.5)\dpicstop
+\dpicdraw (4.458333,-1.5)
+ --(4.75,-1.5)\dpicstop
+\dpicdraw (4.291667,-1.5)
+ --(4.479167,-1.40625)\dpicstop
+\dpicdraw (4.458333,-1.458333)
+ --(4.458333,-1.541667)\dpicstop
+\dpicdraw (4.315104,-1.488281)
+ --(4.304688,-1.467448)
+ --(4.398438,-1.420573)
+ --(4.419271,-1.46224)
+ --(4.325521,-1.509115)
+ --(4.315104,-1.488281)\dpicstop
+\draw (4.375,-1.640032) node{\tt (,,WBFDI)};
+\dpicdraw (5,-1.5)
+ --(5.291667,-1.5)\dpicstop
+\dpicdraw (5.458333,-1.5)
+ --(5.75,-1.5)\dpicstop
+\dpicdraw (5.291667,-1.5)
+ --(5.479167,-1.40625)\dpicstop
+\dpicdraw (5.315104,-1.488281)
+ --(5.304688,-1.467448)
+ --(5.398438,-1.420573)
+ --(5.419271,-1.46224)
+ --(5.325521,-1.509115)
+ --(5.315104,-1.488281)\dpicstop
+\dpicdraw[fill=white](5.458333,-1.5) circle (0.012303in)\dpicstop
+\dpicdraw (5.489583,-1.458333)
+ --(5.489583,-1.541667)\dpicstop
+\draw (5.375,-1.640032) node{\tt (,,WBFSd)};
+\dpicdraw (0,-2.125)
+ --(0.291667,-2.125)\dpicstop
+\dpicdraw (0.458333,-2.125)
+ --(0.75,-2.125)\dpicstop
+\dpicdraw (0.291667,-2.125)
+ --(0.479167,-2.03125)\dpicstop
+\dpicdraw (0.385417,-2.078125)
+ --(0.385417,-1.984375)
+ --(0.447917,-1.984375)
+ --(0.447917,-1.921875)
+ --(0.385417,-1.921875)
+ --(0.385417,-1.828125)\dpicstop
+\draw (0.380208,-2.26398) node{\tt (,,WBTh)};
+\dpicdraw (1,-2.125)
+ --(1.291667,-2.125)\dpicstop
+\dpicdraw (1.458333,-2.125)
+ --(1.75,-2.125)\dpicstop
+\dpicdraw (1.291667,-2.125)
+ --(1.479167,-2.03125)\dpicstop
+\dpicdraw (1.458333,-2.125)
+ --(1.458333,-2.020833)\dpicstop
+\dpicdraw[dash pattern=on 0.05in off 0.05in](1.385417,-2.078125)
+ --(1.385417,-1.828125)\dpicstop
+\draw (1.380208,-2.26398) node{\tt (,,WBKC)};
+\dpicdraw (2,-2.125)
+ --(2.291667,-2.125)\dpicstop
+\dpicdraw (2.458333,-2.125)
+ --(2.75,-2.125)\dpicstop
+\dpicdraw (2.291667,-2.125)
+ --(2.479167,-2.03125)\dpicstop
+\dpicdraw[dash pattern=on 0.03125in off 0.03125in](2.385417,-2.078125)
+ --(2.385417,-1.984375)\dpicstop
+\dpicdraw (2.385417,-1.984375)
+ --(2.322917,-1.953125)
+ --(2.385417,-1.921875)\dpicstop
+\dpicdraw[dash pattern=on 0.03125in off 0.03125in](2.385417,-1.921875)
+ --(2.385417,-1.828125)\dpicstop
+\draw (2.380208,-2.26398) node{\tt (,,WBM)};
+\dpicdraw (3,-2.125)
+ --(3.291667,-2.125)\dpicstop
+\dpicdraw (3.458333,-2.125)
+ --(3.75,-2.125)\dpicstop
+\dpicdraw (3.291667,-2.125)
+ --(3.479167,-2.03125)\dpicstop
+\dpicdraw[dash pattern=on 0.05in off 0.05in](3.385417,-2.078125)
+ --(3.385417,-1.828125)\dpicstop
+\dpicdraw (3.333333,-1.828125)
+ --(3.4375,-1.828125)\dpicstop
+\draw (3.380208,-2.26398) node{\tt (,,WBCO)};
+\dpicdraw (4,-2.125)
+ --(4.291667,-2.125)\dpicstop
+\dpicdraw (4.458333,-2.125)
+ --(4.75,-2.125)\dpicstop
+\dpicdraw (4.291667,-2.125)
+ --(4.479167,-2.03125)\dpicstop
+\dpicdraw[dash pattern=on 0.03125in off 0.03125in](4.385417,-2.078125)
+ --(4.385417,-1.984375)\dpicstop
+\dpicdraw (4.385417,-1.984375)
+ --(4.322917,-1.953125)
+ --(4.385417,-1.921875)\dpicstop
+\dpicdraw[dash pattern=on 0.03125in off 0.03125in](4.385417,-1.921875)
+ --(4.385417,-1.828125)\dpicstop
+\dpicdraw (4.333333,-1.880208)
+ --(4.333333,-1.828125)
+ --(4.4375,-1.828125)
+ --(4.4375,-1.880208)\dpicstop
+\draw (4.380208,-2.26398) node{\tt (,,WBMP)};
+\dpicdraw (5,-2.125)
+ --(5.291667,-2.125)\dpicstop
+\dpicdraw (5.458333,-2.125)
+ --(5.75,-2.125)\dpicstop
+\dpicdraw (5.291667,-2.125)
+ --(5.458333,-1.968634)\dpicstop
+\dpicdraw (5.458333,-2.125)
+ --(5.458333,-2.020833)\dpicstop
+\dpicdraw[dash pattern=on 0.05in off 0.05in](5.375,-2.046817)
+ --(5.375,-1.796817)\dpicstop
+\dpicdraw (5.322917,-1.8489)
+ --(5.322917,-1.796817)
+ --(5.427083,-1.796817)
+ --(5.427083,-1.8489)\dpicstop
+\draw (5.375,-2.26398) node{\tt (,,WBoKCP)};
+\dpicdraw (0,-2.75)
+ --(0.291667,-2.75)\dpicstop
+\dpicdraw (0.458333,-2.75)
+ --(0.75,-2.75)\dpicstop
+\dpicdraw (0.291667,-2.75)
+ --(0.479167,-2.65625)\dpicstop
+\dpicdraw[dash pattern=on 0.05in off 0.05in](0.385417,-2.703125)
+ --(0.385417,-2.453125)\dpicstop
+\dpicdraw (0.333333,-2.401042)
+ --(0.333333,-2.453125)
+ --(0.4375,-2.453125)
+ --(0.4375,-2.401042)\dpicstop
+\draw (0.380208,-2.88898) node{\tt (,,WBCY)};
+\dpicdraw (1,-2.75)
+ --(1.291667,-2.75)\dpicstop
+\dpicdraw (1.458333,-2.75)
+ --(1.75,-2.75)\dpicstop
+\dpicdraw (1.291667,-2.75)
+ --(1.479167,-2.65625)\dpicstop
+\dpicdraw[dash pattern=on 0.05in off 0.05in](1.385417,-2.703125)
+ --(1.385417,-2.453125)\dpicstop
+\dpicdraw (1.333333,-2.505208)
+ --(1.333333,-2.453125)
+ --(1.4375,-2.453125)
+ --(1.4375,-2.401042)\dpicstop
+\draw (1.380208,-2.88898) node{\tt (,,WBCZ)};
+\dpicdraw (2,-2.75)
+ --(2.291667,-2.75)\dpicstop
+\dpicdraw (2.458333,-2.75)
+ --(2.75,-2.75)\dpicstop
+\dpicdraw (2.291667,-2.75)
+ --(2.479167,-2.65625)\dpicstop
+\dpicdraw[dash pattern=on 0.05in off 0.05in](2.385417,-2.703125)
+ --(2.385417,-2.453125)\dpicstop
+\dpicdraw (2.333333,-2.453125)
+ --(2.4375,-2.453125)\dpicstop
+\dpicdraw (2.4375,-2.453125)
+ ..controls (2.413909,-2.413806) and (2.356925,-2.413806)
+ ..(2.333333,-2.453125)\dpicstop
+\draw (2.380208,-2.88898) node{\tt (,,WBCE)};
+\dpicdraw (3,-2.75)
+ --(3.291667,-2.75)\dpicstop
+\dpicdraw (3.458333,-2.75)
+ --(3.75,-2.75)\dpicstop
+\dpicdraw (3.291667,-2.75)
+ --(3.479167,-2.65625)\dpicstop
+\dpicdraw (3.369792,-2.710938)
+ --(3.369792,-2.460938)\dpicstop
+\dpicdraw (3.401042,-2.695313)
+ --(3.401042,-2.463355)\dpicstop
+\dpicdraw (3.447917,-2.430896)
+ ..controls (3.415391,-2.469927) and (3.355443,-2.469927)
+ ..(3.322917,-2.430896)\dpicstop
+\draw (3.380208,-2.88898) node{\tt (,,WBRH)};
+\dpicdraw (4,-2.75)
+ --(4.291667,-2.75)\dpicstop
+\dpicdraw (4.458333,-2.75)
+ --(4.75,-2.75)\dpicstop
+\dpicdraw (4.291667,-2.75)
+ --(4.479167,-2.65625)\dpicstop
+\dpicdraw (4.369792,-2.710938)
+ --(4.369792,-2.460938)\dpicstop
+\dpicdraw (4.401042,-2.695313)
+ --(4.401042,-2.463355)\dpicstop
+\dpicdraw (4.447917,-2.493396)
+ ..controls (4.415391,-2.454365) and (4.355443,-2.454365)
+ ..(4.322917,-2.493396)\dpicstop
+\draw (4.380208,-2.88898) node{\tt (,,WBRdH)};
+\dpicdraw (5,-2.75)
+ --(5.291667,-2.75)\dpicstop
+\dpicdraw (5.458333,-2.75)
+ --(5.75,-2.75)\dpicstop
+\dpicdraw (5.291667,-2.75)
+ --(5.479167,-2.65625)\dpicstop
+\dpicdraw (5.369792,-2.710938)
+ --(5.369792,-2.460938)\dpicstop
+\dpicdraw (5.401042,-2.695313)
+ --(5.401042,-2.463355)\dpicstop
+\dpicdraw (5.447917,-2.430896)
+ ..controls (5.415391,-2.469927) and (5.355443,-2.469927)
+ ..(5.322917,-2.430896)\dpicstop
+\dpicdraw (5.447917,-2.493396)
+ ..controls (5.415391,-2.454365) and (5.355443,-2.454365)
+ ..(5.322917,-2.493396)\dpicstop
+\draw (5.380208,-2.88898) node{\tt (,,WBRHH)};
+\dpicdraw (0,-3.25)
+ --(0.291667,-3.25)\dpicstop
+\dpicdraw (0.458333,-3.25)
+ --(0.75,-3.25)\dpicstop
+\dpicdraw (0.291667,-3.25)
+ --(0.479167,-3.15625)\dpicstop
+\dpicdraw (0.5,-3.225833)
+ --(0.458333,-3.25)
+ --(0.5,-3.274167)\dpicstop
+\draw (0.385417,-3.390032) node(S){\tt (,,WBMMR)};
+\dpicdraw (1,-3.25)
+ --(1.291667,-3.25)\dpicstop
+\dpicdraw (1.458333,-3.25)
+ --(1.75,-3.25)\dpicstop
+\dpicdraw (1.291667,-3.25)
+ --(1.479167,-3.15625)\dpicstop
+\dpicdraw (1.479167,-3.25)
+ --(1.458333,-3.25)
+ --(1.5,-3.225833)\dpicstop
+\draw (1.385417,-3.390032) node{\tt (,,WBMM)};
+\dpicdraw (2,-3.25)
+ --(2.291667,-3.25)\dpicstop
+\dpicdraw (2.458333,-3.25)
+ --(2.75,-3.25)\dpicstop
+\dpicdraw (2.291667,-3.25)
+ --(2.479167,-3.15625)\dpicstop
+\dpicdraw (2.479167,-3.25)
+ --(2.458333,-3.25)
+ --(2.5,-3.274167)\dpicstop
+\draw (2.385417,-3.390032) node{\tt (,,WBMR)};
+\dpicdraw (3,-3.25)
+ --(3.291667,-3.25)\dpicstop
+\dpicdraw (3.458333,-3.25)
+ --(3.75,-3.25)\dpicstop
+\dpicdraw (3.291667,-3.25)
+ --(3.479167,-3.15625)\dpicstop
+\dpicdraw (3.477292,-3.157188)
+ --(3.479167,-3.15625)
+ --(3.502459,-3.202835)\dpicstop
+\draw (3.385417,-3.390032) node{\tt (,,WBEL)};
+\dpicdraw (4,-3.25)
+ --(4.291667,-3.25)\dpicstop
+\dpicdraw (4.458333,-3.25)
+ --(4.75,-3.25)\dpicstop
+\dpicdraw (4.291667,-3.25)
+ --(4.479167,-3.15625)\dpicstop
+\dpicdraw (4.477292,-3.157188)
+ --(4.479167,-3.15625)
+ --(4.455874,-3.109665)\dpicstop
+\draw (4.385417,-3.390032) node{\tt (,,WBLE)};
+\dpicdraw (5,-3.25)
+ --(5.291667,-3.25)\dpicstop
+\dpicdraw (5.458333,-3.25)
+ --(5.75,-3.25)\dpicstop
+\dpicdraw (5.291667,-3.25)
+ --(5.458333,-3.093634)\dpicstop
+\dpicdraw (5.456667,-3.095198)
+ --(5.458333,-3.093634)
+ --(5.493969,-3.131618)\dpicstop
+\dpicdraw (5.458333,-3.25)
+ --(5.458333,-3.145833)\dpicstop
+\draw (5.375,-3.390032) node{\tt (,,WBoKEL)};
+\end{tikzpicture}
+\vspace*{-0.5\baselineskip}
diff --git a/graphics/circuit_macros/doc/SwitchesMan.m4 b/graphics/circuit_macros/doc/SwitchesMan.m4
new file mode 100644
index 0000000000..46b3f9240d
--- /dev/null
+++ b/graphics/circuit_macros/doc/SwitchesMan.m4
@@ -0,0 +1,131 @@
+.PS
+# Switches.m4
+cct_init
+
+define(`Below',`at last [].s+(0,-10bp__)')
+
+movewid = 0.25
+# Row 1
+ right_; {
+ lswitch; {S:"\tt ls{}witch" Below}
+ move right_
+ lswitch(,,O); {"\tt (,{,}O)" at (last [],S)}
+ move right_
+ lswitch(,,C); {"\tt (,{,}C)" at (last [],S)}
+ move right_
+ lswitch(,,DA); {"\tt (,{,}DA)" at (last [],S)}
+ move right_
+ lswitch(,,dDO); {"\tt (,{,}dDO)" at (last [],S)}
+ move right_
+ lswitch(,,uDC); {"\tt (,{,}uDC)" at (last [],S)}
+ }
+# Row 2
+ move down; right_; {
+ lswitch(,,K); {S:"\tt (,{,}K)" Below}
+ move right_
+ lswitch(,,KD); {"\tt (,{,}KD)" at (last [],S)}
+ move right_
+ lswitch(,,KOD); {"\tt (,{,}KOD)" at (last [],S)}
+ move right_
+ lswitch(,,KCD); {"\tt (,{,}KCD)" at (last [],S)}
+ move right_
+ bswitch; {"\tt `bswitch'" at (last [],S)}
+ move right_
+ bswitch(,,C); {"\tt (,{,}C)" at (last [],S)}
+ }
+# Row 3
+ move down; right_; {
+ D: dswitch(,,); {S: "\tt ds{}witch(,{},)" Below}
+ thinlines_
+ { spline <- from 0.25 along_(D) up 0.1 then up 0.05 left 0.1
+ {"\tt W" rjust}
+ spline <- from D.c+(0,m4sc*2) up 0.1 then up 0.05 left 0.1
+ {"\tt B" rjust }}
+ thicklines_
+ move right_
+ D: dswitch(,,WdBK); {"\tt (,{,}WdBK)" at (last [],S)+(0,-4bp__)}
+ thinlines_
+ { spline <- from tr_xy(0,-2) up 0.1 then up 0.10 left 0.1
+ {"\tt dB" rjust}
+ spline <- from tr_xy(4,-2) right 0.1 then right 0.05 up 0.15
+ {"\tt K" above }}
+ thicklines_
+ move right_
+ dswitch(,,WBmdDK); {"\tt (,{,}WBmdDK)" at (last [],S)}
+ move right_
+ dswitch(,,WBKTr); {"\tt (,{,}WBKTr)" at (last [],S)}
+ move right_
+ dswitch(,,WdBL); {"\tt (,{,}WdBL)" at (last [],S+(0,-4bp__))}
+ move right_
+ dswitch(,,WBCo); {"\tt (,{,}WBCo)" at (last [],S)}
+ }
+# Row 4
+ move down; right_; {
+ dswitch(,,WBKCo); {S: "\tt (,{,}WBKCo)" Below}
+ move right_
+ dswitch(,,WBCb); {"\tt (,{,}WBCb)" at (last [],S)}
+ move right_
+ dswitch(,,WBDI); {"\tt (,{,}WBDI)" at (last [],S)}
+ move right_
+ dswitch(,,WBSd); {"\tt (,{,}WBSd)" at (last [],S)}
+ move right_
+ dswitch(,,WBFDI); {"\tt (,{,}WBFDI)" at (last [],S)}
+ move right_
+ dswitch(,,WBFSd); {"\tt (,{,}WBFSd)" at (last [],S)}
+ }
+# Row 5
+ move down moveht*5/4; right_; {
+ dswitch(,,WBTh); {S: "\tt (,{,}WBTh)" Below}
+ move right_
+ dswitch(,,WBKC); {"\tt (,{,}WBKC)" at (last [],S)}
+ move right_
+ dswitch(,,WBM); {"\tt (,{,}WBM)" at (last [],S)}
+ move right_
+ dswitch(,,WBCO); {"\tt (,{,}WBCO)" at (last [],S)}
+ move right_
+ dswitch(,,WBMP); {"\tt (,{,}WBMP)" at (last [],S)}
+ move right_
+ dswitch(,,WBoKCP); {"\tt (,{,}WBoKCP)" at (last [],S)}
+ }
+# Row 6
+ move down moveht*5/4; right_; {
+ dswitch(,,WBCY); {S: "\tt (,{,}WBCY)" Below}
+ move right_
+ dswitch(,,WBCZ); {"\tt (,{,}WBCZ)" at (last [],S)}
+ move right_
+ dswitch(,,WBCE); {"\tt (,{,}WBCE)" at (last [],S)}
+ move right_
+ dswitch(,,WBRH); {"\tt (,{,}WBRH)" at (last [],S)}
+ move right_
+ dswitch(,,WBRdH); {"\tt (,{,}WBRdH)" at (last [],S)}
+ move right_
+ dswitch(,,WBRHH); {"\tt (,{,}WBRHH)" at (last [],S)}
+ }
+# Row 7
+ move down moveht; right_; {
+ move down_ 2bp__; right_
+ dswitch(,,WBPr); {S: "\tt (,{,}WBPr)" Below}
+ move right_
+ dswitch(,,WBPrT); {S: "\tt (,{,}WBPrT)" Below}
+# move right_
+# Proxim; {S: "\tt Pro{}xim" Below}
+# move right_
+# Magn; {S: "\tt Mag{}n" Below}
+ move down_ 6bp__ then right_
+ dswitch(,,WBPrM); {S: "\tt (,{,}WBPrM)" Below}
+ }
+# Row 8
+ move down; right_; {
+ dswitch(,,WBMMR); {S: "\tt (,{,}WBMMR)" Below}
+ move right_
+ dswitch(,,WBMM); {"\tt (,{,}WBMM)" at (last [],S)}
+ move right_
+ dswitch(,,WBMR); {"\tt (,{,}WBMR)" at (last [],S)}
+ move right_
+ dswitch(,,WBEL); {"\tt (,{,}WBEL)" at (last [],S)}
+ move right_
+ dswitch(,,WBLE); {"\tt (,{,}WBLE)" at (last [],S)}
+ move right_
+ dswitch(,,WBoKEL); {"\tt (,{,}WBoKEL)" at (last [],S)}
+ }
+.PE
diff --git a/graphics/circuit_macros/doc/Tgate.tex b/graphics/circuit_macros/doc/Tgate.tex
new file mode 100644
index 0000000000..3dfb1c06b9
--- /dev/null
+++ b/graphics/circuit_macros/doc/Tgate.tex
@@ -0,0 +1,117 @@
+\begin{tikzpicture}[scale=2.54]
+% dpic version 2020.03.01 option -g for TikZ and PGF 1.01
+\ifx\dpiclw\undefined\newdimen\dpiclw\fi
+\global\def\dpicdraw{\draw[line width=\dpiclw]}
+\global\def\dpicstop{;}
+\dpiclw=0.8bp
+\dpiclw=0.8bp
+\dpicdraw (0.927778,0.231958)
+ --(1.230609,0.231958)\dpicstop
+\dpicdraw (1.230609,0.231958)
+ --(1.230609,0.273624)
+ --(1.297243,0.231958)
+ --(1.230609,0.190291)
+ --(1.230609,0.231958)\dpicstop
+\dpicdraw (1.374947,0.231958)
+ --(1.374947,0.273624)
+ --(1.308313,0.231958)
+ --(1.374947,0.190291)
+ --(1.374947,0.231958)\dpicstop
+\dpicdraw (1.374947,0.231958)
+ --(1.677778,0.231958)\dpicstop
+\dpicdraw[line width=0.4bp](1.302778,0.256014) circle (0.007103in)\dpicstop
+\dpicdraw (1.302778,0.274056)
+ --(1.302778,0.340211)\dpicstop
+\dpicdraw (1.302778,0.231958)
+ --(1.302778,0.159789)\dpicstop
+\draw (0.927778,0.231958) node[left=-2bp]{$A$};
+\draw (1.677778,0.231958) node[right=-2bp]{$B$};
+\draw (1.302778,0.159789) node[below right=-2bp]{$G$};
+\draw (1.302778,0.340211) node[above right=-2bp]{$Gb$};
+\draw (0.677778,0.231958) node[left=-2bp]{\tt tgate};
+\dpicdraw (0.927778,-0.231958)
+ --(1.230609,-0.231958)\dpicstop
+\dpicdraw (1.230609,-0.231958)
+ --(1.230609,-0.190291)
+ --(1.297243,-0.231958)
+ --(1.230609,-0.273624)
+ --(1.230609,-0.231958)\dpicstop
+\dpicdraw (1.374947,-0.231958)
+ --(1.374947,-0.190291)
+ --(1.308313,-0.231958)
+ --(1.374947,-0.273624)
+ --(1.374947,-0.231958)\dpicstop
+\dpicdraw (1.374947,-0.231958)
+ --(1.677778,-0.231958)\dpicstop
+\dpicdraw[line width=0.4bp](1.302778,-0.256014) circle (0.007103in)\dpicstop
+\dpicdraw (1.302778,-0.274056)
+ --(1.302778,-0.340211)\dpicstop
+\dpicdraw (1.302778,-0.231958)
+ --(1.302778,-0.159789)\dpicstop
+\draw (0.927778,-0.231958) node[left=-2bp]{$A$};
+\draw (1.677778,-0.231958) node[right=-2bp]{$B$};
+\draw (1.302778,-0.159789) node[above right=-2bp]{$G$};
+\draw (1.302778,-0.340211) node[below right=-2bp]{$Gb$};
+\draw (0.677778,-0.231958) node[left=-2bp]{\tt tgate(,L)};
+\dpicdraw (2.177778,0.018042)
+ --(2.427778,0.018042)\dpicstop
+\dpicdraw (2.677778,0.018042)
+ --(2.677778,0.068042)
+ --(2.427778,0.068042)
+ --(2.427778,-0.031958)
+ --(2.677778,-0.031958)
+ --(2.677778,0.018042)\dpicstop
+\dpicdraw (2.677778,0.018042)
+ --(2.927778,0.018042)\dpicstop
+\dpicdraw (2.552778,-0.031958)
+ --(2.552778,-0.131958)\dpicstop
+\draw (2.177778,0.018042) node[left=-2bp]{$A$};
+\draw (2.927778,0.018042) node[right=-2bp]{$B$};
+\draw (2.552778,-0.131958) node[right=-2bp]{$G$};
+\draw (2.552778,-0.270847) node[below=-2bp]{\tt tgate(,B)};
+\dpicdraw (3.455556,0.284789)
+ --(3.747222,0.284789)\dpicstop
+\dpicdraw (3.747222,0.284789)
+ --(3.913889,0.368122)
+ --(3.913889,0.201456)
+ --(3.747222,0.284789)\dpicstop
+\dpicdraw (3.913889,0.284789)
+ --(3.747222,0.368122)
+ --(3.747222,0.201456)
+ --(3.913889,0.284789)\dpicstop
+\dpicdraw[line width=0.4bp](3.830556,0.354233) circle (0.008202in)\dpicstop
+\dpicdraw (3.830556,0.375067)
+ --(3.830556,0.451456)\dpicstop
+\dpicdraw (3.830556,0.243122)
+ --(3.830556,0.159789)\dpicstop
+\dpicdraw (3.913889,0.284789)
+ --(4.205556,0.284789)\dpicstop
+\draw (3.455556,0.284789) node[left=-2bp]{$A$};
+\draw (4.205556,0.284789) node[right=-2bp]{$B$};
+\draw (3.830556,0.159789) node[below left=-2bp]{$G$};
+\draw (3.830556,0.451456) node[left=-2bp]{$Gb$};
+\draw (4.455556,0.284789) node[right=-2bp]{\tt ptrans};
+\dpicdraw (3.455556,-0.173544)
+ --(3.747222,-0.173544)\dpicstop
+\dpicdraw (3.747222,-0.173544)
+ --(3.913889,-0.090211)
+ --(3.913889,-0.256878)
+ --(3.747222,-0.173544)\dpicstop
+\dpicdraw (3.913889,-0.173544)
+ --(3.747222,-0.090211)
+ --(3.747222,-0.256878)
+ --(3.913889,-0.173544)\dpicstop
+\dpicdraw[line width=0.4bp](3.830556,-0.242989) circle (0.008202in)\dpicstop
+\dpicdraw (3.830556,-0.263822)
+ --(3.830556,-0.340211)\dpicstop
+\dpicdraw (3.830556,-0.131878)
+ --(3.830556,-0.048544)\dpicstop
+\dpicdraw (3.913889,-0.173544)
+ --(4.205556,-0.173544)\dpicstop
+\draw (3.455556,-0.173544) node[left=-2bp]{$A$};
+\draw (4.205556,-0.173544) node[right=-2bp]{$B$};
+\draw (3.830556,-0.048544) node[above right=-2bp]{$G$};
+\draw (3.830556,-0.340211) node[below right=-2bp]{$Gb$};
+\draw (4.455556,-0.173544) node[right=-2bp]{\tt ptrans(,L)};
+\end{tikzpicture}
+\vspace*{-0.5\baselineskip}
diff --git a/graphics/circuit_macros/doc/Tgate.m4 b/graphics/circuit_macros/doc/TgateMan.m4
index ff42cecb8d..ff42cecb8d 100644
--- a/graphics/circuit_macros/doc/Tgate.m4
+++ b/graphics/circuit_macros/doc/TgateMan.m4
diff --git a/graphics/circuit_macros/doc/Ttree.m4 b/graphics/circuit_macros/doc/Ttree.m4
deleted file mode 100644
index 6cf9203b00..0000000000
--- a/graphics/circuit_macros/doc/Ttree.m4
+++ /dev/null
@@ -1,56 +0,0 @@
-.PS
-# Ttree.m4
-# A binary tree using m4
-gen_init
-sinclude(tst.dim)
-s_init(Ttree)
-
-# `Node(no in row, head [location],
-# displacement of top of body (.n) wrt head,
-# body Node 1, body Node 2, ...) '
-define(`Node',`
- Head`$1': `$2'
- ifelse(`$3',,,`Body`$1': [
- Loopover_(`v',`v; define(`m4ct',m4Lx)',shift(shift(shift($@))))
- ] with .n at Head`$1' + `$3'
- connect(`$1',m4ct)')')
-
-define(`connect',`Bot: move from Head$1.sw to Head$1.se
-for_(1,`$2',1,
- `Top: move from Body$1.Head`'m4x.nw to Body$1.Head`'m4x.ne
- Move: move from Head$1 to Body$1.Head`'m4x
- if Bot.len*Top.len*Move.len > 0 then {
- line from Intersect_(Move,Top) to Intersect_(Move,Bot)}')')
-
- vsep = 0.75
-
- Node(1,s_box($`h(h(h(x_1,x_2),h(x_3,x_4)),h(h(x_5,x_6),h(x_7,x_8)))'$),
- (0,-vsep),
- Node(1,s_box($`h(h(x_1,x_2),h(x_3,x_4))'$),
- (0,-vsep),
- Node(1,s_box($`h(x_1,x_2)'$),
- (0,-vsep),
- Node(1,s_box($`x_1:=((A,pk_A),h_1)'$)),
- Node(2,s_box($`x_2:=((B,pk_B),h_2)'$) \
- with .n at last "".ne+(0.2,-vsep*2/3))),
- Node(2,s_box($`h(x_3,x_4)'$) with .nw at Head1.ne+(Body1.wid/2+0.1,0),
- (0,-vsep),
- Node(1,s_box($`x_3:=((A,pk_A^\prime),h_3)'$)),
- Node(2,s_box($`x_4:=((D,pk_D),h_4)'$) \
- with .n at last "".ne+(0.2,-vsep*2/3)))),
- Node(2,s_box($`h(h(x_5,x_6),h(x_7,x_8))'$) \
- with .nw at Head1.ne+(Body1.wid/2,0),
- (0,-vsep),
- Node(1,s_box($`h(x_5,x_6)'$),
- (0,-vsep*5/4),
- Node(1,s_box($`x_5:=((E,pk_E),h_5)'$)),
- Node(2,s_box($`x_6:=((H,pk_H),h_6)'$) \
- with .n at last "".ne+(0.2,-vsep*2/3))),
- Node(2,s_box($`h(x_7,x_8)'$) with .nw at Head1.ne+(Body1.wid/2+0.1,0),
- (0,-vsep*5/4),
- Node(1,s_box($`x_7:=((D,pk_D^\prime),h_7)'$)),
- Node(2,s_box($`x_8:=((K,pk_K),h_8)'$) \
- with .n at last "".ne+(0.2,-vsep*2/3))),
- Node(3,s_box($`h(x_9)'$) at 0.5 between Head1 and Head2)))
-
-.PE
diff --git a/graphics/circuit_macros/doc/Variable.tex b/graphics/circuit_macros/doc/Variable.tex
new file mode 100644
index 0000000000..585087d5e0
--- /dev/null
+++ b/graphics/circuit_macros/doc/Variable.tex
@@ -0,0 +1,306 @@
+\begin{tikzpicture}[scale=2.54]
+% dpic version 2020.03.01 option -g for TikZ and PGF 1.01
+\ifx\dpiclw\undefined\newdimen\dpiclw\fi
+\global\def\dpicdraw{\draw[line width=\dpiclw]}
+\global\def\dpicstop{;}
+\dpiclw=0.8bp
+\dpiclw=0.8bp
+\dpicdraw (-1.01349,0)
+ --(-1.01349,-0.225)\dpicstop
+\dpicdraw (-1.096823,-0.225)
+ --(-0.930157,-0.225)\dpicstop
+\dpicdraw (-1.096823,-0.275)
+ --(-0.930157,-0.275)\dpicstop
+\dpicdraw (-1.01349,-0.275)
+ --(-1.01349,-0.5)\dpicstop
+\filldraw[line width=0bp](-0.925102,-0.196967)
+ --(-0.872069,-0.108579)
+ --(-0.960457,-0.161612) --cycle\dpicstop
+\dpicdraw (-1.154911,-0.391421)
+ --(-0.888266,-0.124776)\dpicstop
+\dpicdraw (-0.51349,0)
+ --(-0.51349,-0.125)
+ --(-0.471823,-0.145833)
+ --(-0.555157,-0.1875)
+ --(-0.471823,-0.229167)
+ --(-0.555157,-0.270833)
+ --(-0.471823,-0.3125)
+ --(-0.555157,-0.354167)
+ --(-0.51349,-0.375)
+ --(-0.51349,-0.5)\dpicstop
+\dpicdraw (-0.654911,-0.391421)
+ --(-0.372069,-0.108579)\dpicstop
+\dpicdraw (-0.372069,-0.108579)
+ --(-0.372069,-0.025245)\dpicstop
+\dpicdraw (-0.01349,0)
+ --(-0.01349,-0.225)\dpicstop
+\dpicdraw (-0.07599,-0.225)
+ --(0.04901,-0.225)\dpicstop
+\dpicdraw (-0.07599,-0.275)
+ ..controls (-0.037315,-0.252671) and (0.010335,-0.252671)
+ ..(0.04901,-0.275)\dpicstop
+\dpicdraw (-0.01349,-0.258253)
+ --(-0.01349,-0.5)\dpicstop
+\filldraw[line width=0bp](0.074898,-0.196967)
+ --(0.127931,-0.108579)
+ --(0.039543,-0.161612) --cycle\dpicstop
+\dpicdraw (-0.154911,-0.391421)
+ --(0.111734,-0.124776)\dpicstop
+\dpicdraw (0.48651,0)
+ --(0.48651,-0.125)\dpicstop
+\dpicdraw (0.48651,-0.125)
+ --(0.480955,-0.125)\dpicstop
+\dpicdraw (0.48651,-0.125)
+ ..controls (0.503769,-0.125) and (0.51776,-0.138991)
+ ..(0.51776,-0.15625)
+ ..controls (0.51776,-0.173509) and (0.503769,-0.1875)
+ ..(0.48651,-0.1875)\dpicstop
+\dpicdraw (0.48651,-0.1875)
+ --(0.480955,-0.1875)\dpicstop
+\dpicdraw (0.48651,-0.1875)
+ ..controls (0.503769,-0.1875) and (0.51776,-0.201491)
+ ..(0.51776,-0.21875)
+ ..controls (0.51776,-0.236009) and (0.503769,-0.25)
+ ..(0.48651,-0.25)\dpicstop
+\dpicdraw (0.48651,-0.25)
+ --(0.480955,-0.25)\dpicstop
+\dpicdraw (0.48651,-0.25)
+ ..controls (0.503769,-0.25) and (0.51776,-0.263991)
+ ..(0.51776,-0.28125)
+ ..controls (0.51776,-0.298509) and (0.503769,-0.3125)
+ ..(0.48651,-0.3125)\dpicstop
+\dpicdraw (0.48651,-0.3125)
+ --(0.480955,-0.3125)\dpicstop
+\dpicdraw (0.48651,-0.3125)
+ ..controls (0.503769,-0.3125) and (0.51776,-0.326491)
+ ..(0.51776,-0.34375)
+ ..controls (0.51776,-0.361009) and (0.503769,-0.375)
+ ..(0.48651,-0.375)\dpicstop
+\dpicdraw (0.48651,-0.375)
+ --(0.480955,-0.375)\dpicstop
+\dpicdraw (0.48651,-0.375)
+ --(0.48651,-0.5)\dpicstop
+\filldraw[line width=0bp](0.590523,-0.196967)
+ --(0.643556,-0.108579)
+ --(0.555168,-0.161612) --cycle\dpicstop
+\dpicdraw (0.360714,-0.391421)
+ --(0.627359,-0.124776)\dpicstop
+\dpicdraw (0.98651,0)
+ --(0.98651,-0.108266)\dpicstop
+\dpicdraw[line width=0.4bp](0.98651,-0.108266) circle (0.00109in)\dpicstop
+\dpicdraw (0.98651,-0.108266)
+ ..controls (1.024082,-0.090746) and (1.065429,-0.123931)
+ ..(1.056456,-0.164404)
+ ..controls (1.047483,-0.204877) and (0.995986,-0.217478)
+ ..(0.969339,-0.185721)\dpicstop
+\dpicdraw[line width=0.4bp](0.969339,-0.185721) circle (0.00109in)\dpicstop
+\dpicdraw (0.969339,-0.185721)
+ ..controls (0.999344,-0.149962) and (1.057641,-0.17118)
+ ..(1.057641,-0.217861)
+ ..controls (1.057641,-0.264541) and (0.999344,-0.285759)
+ ..(0.969339,-0.25)\dpicstop
+\dpicdraw[line width=0.4bp](0.969339,-0.25) circle (0.00109in)\dpicstop
+\dpicdraw (0.969339,-0.25)
+ ..controls (0.999344,-0.214241) and (1.057641,-0.235459)
+ ..(1.057641,-0.282139)
+ ..controls (1.057641,-0.32882) and (0.999344,-0.350038)
+ ..(0.969339,-0.314279)\dpicstop
+\dpicdraw[line width=0.4bp](0.969339,-0.314279) circle (0.00109in)\dpicstop
+\dpicdraw (0.969339,-0.314279)
+ ..controls (0.995986,-0.282522) and (1.047483,-0.295123)
+ ..(1.056456,-0.335596)
+ ..controls (1.065429,-0.376069) and (1.024082,-0.409254)
+ ..(0.98651,-0.391734)\dpicstop
+\dpicdraw[line width=0.4bp](0.98651,-0.391734) circle (0.00109in)\dpicstop
+\dpicdraw (0.98651,-0.391734)
+ --(0.98651,-0.5)\dpicstop
+\filldraw[line width=0bp](1.101878,-0.196967)
+ --(1.154911,-0.108579)
+ --(1.066523,-0.161612) --cycle\dpicstop
+\dpicdraw (0.872069,-0.391421)
+ --(1.138714,-0.124776)\dpicstop
+\draw (2.804911,0.520711) node{\tt C};
+\draw (3.554911,0.520711) node{\tt S};
+\draw (1.679911,0.320711) node{\tt A};
+\dpicdraw (1.804911,0.320711)
+ --(2.029911,0.320711)\dpicstop
+\dpicdraw (2.029911,0.258211)
+ --(2.029911,0.383211)\dpicstop
+\dpicdraw (2.079911,0.258211)
+ ..controls (2.057582,0.296886) and (2.057582,0.344536)
+ ..(2.079911,0.383211)\dpicstop
+\dpicdraw (2.063164,0.320711)
+ --(2.304911,0.320711)\dpicstop
+\filldraw[line width=0bp](2.1433,0.373744)
+ --(2.196333,0.462132)
+ --(2.107944,0.409099) --cycle\dpicstop
+\dpicdraw (1.91349,0.179289)
+ --(2.180136,0.445935)\dpicstop
+\dpicdraw (2.554911,0.320711)
+ --(2.779911,0.320711)\dpicstop
+\dpicdraw (2.779911,0.258211)
+ --(2.779911,0.383211)\dpicstop
+\dpicdraw (2.829911,0.258211)
+ ..controls (2.807582,0.296886) and (2.807582,0.344536)
+ ..(2.829911,0.383211)\dpicstop
+\dpicdraw (2.813164,0.320711)
+ --(3.054911,0.320711)\dpicstop
+\filldraw[line width=0bp](2.8933,0.373744)
+ --(2.946333,0.462132)
+ --(2.857944,0.409099) --cycle\dpicstop
+\dpicdraw (2.66349,0.179289)
+ --(2.930136,0.445935)\dpicstop
+\dpicdraw (2.996333,0.432132)
+ --(3.055258,0.491058)\dpicstop
+\dpicdraw (3.304911,0.320711)
+ --(3.529911,0.320711)\dpicstop
+\dpicdraw (3.529911,0.258211)
+ --(3.529911,0.383211)\dpicstop
+\dpicdraw (3.579911,0.258211)
+ ..controls (3.557582,0.296886) and (3.557582,0.344536)
+ ..(3.579911,0.383211)\dpicstop
+\dpicdraw (3.563164,0.320711)
+ --(3.804911,0.320711)\dpicstop
+\filldraw[line width=0bp](3.6433,0.373744)
+ --(3.696333,0.462132)
+ --(3.607944,0.409099) --cycle\dpicstop
+\dpicdraw (3.41349,0.179289)
+ --(3.680136,0.445935)\dpicstop
+\dpicdraw (3.746333,0.402132)
+ --(3.746333,0.432132)
+ --(3.806333,0.432132)
+ --(3.806333,0.462132)\dpicstop
+\draw (1.679911,-0.079289) node{\tt P};
+\dpicdraw (1.804911,-0.079289)
+ --(2.029911,-0.079289)\dpicstop
+\dpicdraw (2.029911,-0.141789)
+ --(2.029911,-0.016789)\dpicstop
+\dpicdraw (2.079911,-0.141789)
+ ..controls (2.057582,-0.103114) and (2.057582,-0.055464)
+ ..(2.079911,-0.016789)\dpicstop
+\dpicdraw (2.063164,-0.079289)
+ --(2.304911,-0.079289)\dpicstop
+\dpicdraw (1.91349,-0.220711)
+ --(2.196333,0.062132)\dpicstop
+\dpicdraw (2.16687,0.091595)
+ --(2.225795,0.032669)\dpicstop
+\dpicdraw (2.554911,-0.079289)
+ --(2.779911,-0.079289)\dpicstop
+\dpicdraw (2.779911,-0.141789)
+ --(2.779911,-0.016789)\dpicstop
+\dpicdraw (2.829911,-0.141789)
+ ..controls (2.807582,-0.103114) and (2.807582,-0.055464)
+ ..(2.829911,-0.016789)\dpicstop
+\dpicdraw (2.813164,-0.079289)
+ --(3.054911,-0.079289)\dpicstop
+\dpicdraw (2.66349,-0.220711)
+ --(2.946333,0.062132)\dpicstop
+\dpicdraw (2.91687,0.091595)
+ --(2.975795,0.032669)\dpicstop
+\dpicdraw (2.996333,0.032132)
+ --(3.055258,0.091058)\dpicstop
+\dpicdraw (3.304911,-0.079289)
+ --(3.529911,-0.079289)\dpicstop
+\dpicdraw (3.529911,-0.141789)
+ --(3.529911,-0.016789)\dpicstop
+\dpicdraw (3.579911,-0.141789)
+ ..controls (3.557582,-0.103114) and (3.557582,-0.055464)
+ ..(3.579911,-0.016789)\dpicstop
+\dpicdraw (3.563164,-0.079289)
+ --(3.804911,-0.079289)\dpicstop
+\dpicdraw (3.41349,-0.220711)
+ --(3.696333,0.062132)\dpicstop
+\dpicdraw (3.66687,0.091595)
+ --(3.725795,0.032669)\dpicstop
+\dpicdraw (3.746333,0.002132)
+ --(3.746333,0.032132)
+ --(3.806333,0.032132)
+ --(3.806333,0.062132)\dpicstop
+\draw (1.679911,-0.479289) node{\tt L};
+\dpicdraw (1.804911,-0.479289)
+ --(2.029911,-0.479289)\dpicstop
+\dpicdraw (2.029911,-0.541789)
+ --(2.029911,-0.416789)\dpicstop
+\dpicdraw (2.079911,-0.541789)
+ ..controls (2.057582,-0.503114) and (2.057582,-0.455464)
+ ..(2.079911,-0.416789)\dpicstop
+\dpicdraw (2.063164,-0.479289)
+ --(2.304911,-0.479289)\dpicstop
+\dpicdraw (1.91349,-0.620711)
+ --(2.196333,-0.337868)\dpicstop
+\dpicdraw (2.554911,-0.479289)
+ --(2.779911,-0.479289)\dpicstop
+\dpicdraw (2.779911,-0.541789)
+ --(2.779911,-0.416789)\dpicstop
+\dpicdraw (2.829911,-0.541789)
+ ..controls (2.807582,-0.503114) and (2.807582,-0.455464)
+ ..(2.829911,-0.416789)\dpicstop
+\dpicdraw (2.813164,-0.479289)
+ --(3.054911,-0.479289)\dpicstop
+\dpicdraw (2.66349,-0.620711)
+ --(2.946333,-0.337868)\dpicstop
+\dpicdraw (2.996333,-0.367868)
+ --(3.055258,-0.308942)\dpicstop
+\dpicdraw (3.304911,-0.479289)
+ --(3.529911,-0.479289)\dpicstop
+\dpicdraw (3.529911,-0.541789)
+ --(3.529911,-0.416789)\dpicstop
+\dpicdraw (3.579911,-0.541789)
+ ..controls (3.557582,-0.503114) and (3.557582,-0.455464)
+ ..(3.579911,-0.416789)\dpicstop
+\dpicdraw (3.563164,-0.479289)
+ --(3.804911,-0.479289)\dpicstop
+\dpicdraw (3.41349,-0.620711)
+ --(3.696333,-0.337868)\dpicstop
+\dpicdraw (3.746333,-0.397868)
+ --(3.746333,-0.367868)
+ --(3.806333,-0.367868)
+ --(3.806333,-0.337868)\dpicstop
+\draw (1.679911,-0.879289) node{\tt N};
+\dpicdraw (1.804911,-0.879289)
+ --(2.029911,-0.879289)\dpicstop
+\dpicdraw (2.029911,-0.941789)
+ --(2.029911,-0.816789)\dpicstop
+\dpicdraw (2.079911,-0.941789)
+ ..controls (2.057582,-0.903114) and (2.057582,-0.855464)
+ ..(2.079911,-0.816789)\dpicstop
+\dpicdraw (2.063164,-0.879289)
+ --(2.304911,-0.879289)\dpicstop
+\dpicdraw (1.91349,-1.020711)
+ --(2.196333,-0.737868)\dpicstop
+\dpicdraw (1.91349,-1.020711)
+ --(1.830157,-1.020711)\dpicstop
+\dpicdraw (2.554911,-0.879289)
+ --(2.779911,-0.879289)\dpicstop
+\dpicdraw (2.779911,-0.941789)
+ --(2.779911,-0.816789)\dpicstop
+\dpicdraw (2.829911,-0.941789)
+ ..controls (2.807582,-0.903114) and (2.807582,-0.855464)
+ ..(2.829911,-0.816789)\dpicstop
+\dpicdraw (2.813164,-0.879289)
+ --(3.054911,-0.879289)\dpicstop
+\dpicdraw (2.66349,-1.020711)
+ --(2.946333,-0.737868)\dpicstop
+\dpicdraw (2.66349,-1.020711)
+ --(2.580157,-1.020711)\dpicstop
+\dpicdraw (2.996333,-0.767868)
+ --(3.055258,-0.708942)\dpicstop
+\dpicdraw (3.304911,-0.879289)
+ --(3.529911,-0.879289)\dpicstop
+\dpicdraw (3.529911,-0.941789)
+ --(3.529911,-0.816789)\dpicstop
+\dpicdraw (3.579911,-0.941789)
+ ..controls (3.557582,-0.903114) and (3.557582,-0.855464)
+ ..(3.579911,-0.816789)\dpicstop
+\dpicdraw (3.563164,-0.879289)
+ --(3.804911,-0.879289)\dpicstop
+\dpicdraw (3.41349,-1.020711)
+ --(3.696333,-0.737868)\dpicstop
+\dpicdraw (3.41349,-1.020711)
+ --(3.330157,-1.020711)\dpicstop
+\dpicdraw (3.746333,-0.797868)
+ --(3.746333,-0.767868)
+ --(3.806333,-0.767868)
+ --(3.806333,-0.737868)\dpicstop
+\end{tikzpicture}
+\vspace*{-0.5\baselineskip}
diff --git a/graphics/circuit_macros/doc/Variable.m4 b/graphics/circuit_macros/doc/VariableMan.m4
index 6fac01e164..e52e30913d 100644
--- a/graphics/circuit_macros/doc/Variable.m4
+++ b/graphics/circuit_macros/doc/VariableMan.m4
@@ -3,11 +3,11 @@
cct_init
define(`elen_',dimen_); down_
-[ { variable(`capacitor') }; move right
- { variable(`resistor',uN) }; move right
- { variable(`capacitor(,C)') }; move right
- { variable(`inductor') }; move right
- { variable(`inductor(,W)') }
+[ { variable(`resistor',A) }; {"A" at last line.end below}; move right
+ { variable(`resistor',N) }; {"N" at last line.end below}; move right
+ { variable(`resistor',uN) }; {"uN" at last line.end below}; move right
+ { variable(`resistor',NN) }; {"uN" at last line.end below}; move right
+ { variable(`resistor',uNN) }; {"uNN" at last line.end below}; #; move right
]
[
skp = 0.4
diff --git a/graphics/circuit_macros/doc/Version.tex b/graphics/circuit_macros/doc/Version.tex
index 4bb8dbffa5..ca449b0a0b 100644
--- a/graphics/circuit_macros/doc/Version.tex
+++ b/graphics/circuit_macros/doc/Version.tex
@@ -1 +1 @@
-Version 9.2
+Version 9.3
diff --git a/graphics/circuit_macros/doc/Windings.m4 b/graphics/circuit_macros/doc/WindingsMan.m4
index 0c1ff4b87b..0c1ff4b87b 100644
--- a/graphics/circuit_macros/doc/Windings.m4
+++ b/graphics/circuit_macros/doc/WindingsMan.m4
diff --git a/graphics/circuit_macros/doc/Xform.tex b/graphics/circuit_macros/doc/Xform.tex
new file mode 100644
index 0000000000..6c527c38cc
--- /dev/null
+++ b/graphics/circuit_macros/doc/Xform.tex
@@ -0,0 +1,648 @@
+\begin{tikzpicture}[scale=2.54]
+% dpic version 2020.03.01 option -g for TikZ and PGF 1.01
+\ifx\dpiclw\undefined\newdimen\dpiclw\fi
+\global\def\dpicdraw{\draw[line width=\dpiclw]}
+\global\def\dpicstop{;}
+\dpiclw=0.8bp
+\dpiclw=0.8bp
+\dpicdraw (-0.104167,-0)
+ --(-0.104167,-0.041667)\dpicstop
+\dpicdraw (-0.104167,-0.041667)
+ --(-0.109722,-0.041667)\dpicstop
+\dpicdraw (-0.104167,-0.041667)
+ ..controls (-0.086908,-0.041667) and (-0.072917,-0.055658)
+ ..(-0.072917,-0.072917)
+ ..controls (-0.072917,-0.090176) and (-0.086908,-0.104167)
+ ..(-0.104167,-0.104167)\dpicstop
+\dpicdraw (-0.104167,-0.104167)
+ --(-0.109722,-0.104167)\dpicstop
+\dpicdraw (-0.104167,-0.104167)
+ ..controls (-0.086908,-0.104167) and (-0.072917,-0.118158)
+ ..(-0.072917,-0.135417)
+ ..controls (-0.072917,-0.152676) and (-0.086908,-0.166667)
+ ..(-0.104167,-0.166667)\dpicstop
+\dpicdraw (-0.104167,-0.166667)
+ --(-0.109722,-0.166667)\dpicstop
+\dpicdraw (-0.104167,-0.166667)
+ ..controls (-0.086908,-0.166667) and (-0.072917,-0.180658)
+ ..(-0.072917,-0.197917)
+ ..controls (-0.072917,-0.215176) and (-0.086908,-0.229167)
+ ..(-0.104167,-0.229167)\dpicstop
+\dpicdraw (-0.104167,-0.229167)
+ --(-0.109722,-0.229167)\dpicstop
+\dpicdraw (-0.104167,-0.229167)
+ ..controls (-0.0625,-0.229167) and (-0.0625,-0.291667)
+ ..(-0.104167,-0.291667)\dpicstop
+\dpicdraw (-0.104167,-0.291667)
+ --(-0.109722,-0.291667)\dpicstop
+\dpicdraw (-0.104167,-0.291667)
+ --(-0.104167,-0.333333)\dpicstop
+\dpicdraw (-0.03125,-0.041667)
+ --(-0.03125,-0.291667)\dpicstop
+\dpicdraw (0.03125,-0.041667)
+ --(0.03125,-0.291667)\dpicstop
+\dpicdraw (0.104167,-0.333333)
+ --(0.104167,-0.291667)\dpicstop
+\dpicdraw (0.104167,-0.291667)
+ --(0.109722,-0.291667)\dpicstop
+\dpicdraw (0.104167,-0.291667)
+ ..controls (0.0625,-0.291667) and (0.0625,-0.229167)
+ ..(0.104167,-0.229167)\dpicstop
+\dpicdraw (0.104167,-0.229167)
+ --(0.109722,-0.229167)\dpicstop
+\dpicdraw (0.104167,-0.229167)
+ ..controls (0.0625,-0.229167) and (0.0625,-0.166667)
+ ..(0.104167,-0.166667)\dpicstop
+\dpicdraw (0.104167,-0.166667)
+ --(0.109722,-0.166667)\dpicstop
+\dpicdraw (0.104167,-0.166667)
+ ..controls (0.0625,-0.166667) and (0.0625,-0.104167)
+ ..(0.104167,-0.104167)\dpicstop
+\dpicdraw (0.104167,-0.104167)
+ --(0.109722,-0.104167)\dpicstop
+\dpicdraw (0.104167,-0.104167)
+ ..controls (0.0625,-0.104167) and (0.0625,-0.041667)
+ ..(0.104167,-0.041667)\dpicstop
+\dpicdraw (0.104167,-0.041667)
+ --(0.109722,-0.041667)\dpicstop
+\dpicdraw (0.104167,-0.041667)
+ --(0.104167,0)\dpicstop
+\dpiclw=0.4bp
+\filldraw[line width=0bp](-0.183488,0.024269)
+ --(-0.116032,0.007119)
+ --(-0.162908,0.058569) --cycle\dpicstop
+\dpicdraw (-0.13261,0.017066)
+ --(-0.212302,0.064881)\dpicstop
+\draw (-0.212302,0.064881) node[left=-2bp]{\sl P1};
+\filldraw[line width=0bp](-0.162908,-0.391902)
+ --(-0.116032,-0.340452)
+ --(-0.183488,-0.357602) --cycle\dpicstop
+\dpicdraw (-0.13261,-0.3504)
+ --(-0.212302,-0.398214)\dpicstop
+\draw (-0.212302,-0.398214) node[left=-2bp]{\sl P2};
+\filldraw[line width=0bp](-0.18467,-0.186667)
+ --(-0.118004,-0.166667)
+ --(-0.18467,-0.146667) --cycle\dpicstop
+\dpicdraw (-0.137338,-0.166667)
+ --(-0.21033,-0.166667)\dpicstop
+\draw (-0.21033,-0.166667) node[left=-2bp]{\sl TP};
+\filldraw[line width=0bp](0.162908,0.058569)
+ --(0.116032,0.007119)
+ --(0.183488,0.024269) --cycle\dpicstop
+\dpicdraw (0.13261,0.017066)
+ --(0.212302,0.064881)\dpicstop
+\draw (0.212302,0.064881) node[right=-2bp]{\sl S1};
+\filldraw[line width=0bp](0.183488,-0.357602)
+ --(0.116032,-0.340452)
+ --(0.162908,-0.391902) --cycle\dpicstop
+\dpicdraw (0.13261,-0.3504)
+ --(0.212302,-0.398214)\dpicstop
+\draw (0.212302,-0.398214) node[right=-2bp]{\sl S2};
+\filldraw[line width=0bp](0.18467,-0.146667)
+ --(0.118004,-0.166667)
+ --(0.18467,-0.186667) --cycle\dpicstop
+\dpicdraw (0.137338,-0.166667)
+ --(0.21033,-0.166667)\dpicstop
+\draw (0.21033,-0.166667) node[right=-2bp]{\sl TS};
+\draw (0,-0.633333) node{\tt transformer};
+\dpiclw=0.8bp
+\dpicdraw (1.115278,0.133333)
+ --(1.115278,-0.104167)\dpicstop
+\dpicdraw (1.115278,-0.104167)
+ --(1.109722,-0.104167)\dpicstop
+\dpicdraw (1.115278,-0.104167)
+ ..controls (1.132537,-0.104167) and (1.146528,-0.118158)
+ ..(1.146528,-0.135417)
+ ..controls (1.146528,-0.152676) and (1.132537,-0.166667)
+ ..(1.115278,-0.166667)\dpicstop
+\dpicdraw (1.115278,-0.166667)
+ --(1.109722,-0.166667)\dpicstop
+\dpicdraw (1.115278,-0.166667)
+ ..controls (1.132537,-0.166667) and (1.146528,-0.180658)
+ ..(1.146528,-0.197917)
+ ..controls (1.146528,-0.215176) and (1.132537,-0.229167)
+ ..(1.115278,-0.229167)\dpicstop
+\dpicdraw (1.115278,-0.229167)
+ --(1.109722,-0.229167)\dpicstop
+\dpicdraw (1.115278,-0.229167)
+ --(1.115278,-0.466667)\dpicstop
+\dpicdraw[dash pattern=on 0.025in off 0.025in](1.188194,0.083333)
+ --(1.188194,-0.416667)\dpicstop
+\dpicdraw[dash pattern=on 0.025in off 0.025in](1.250694,0.083333)
+ --(1.250694,-0.416667)\dpicstop
+\dpicdraw (1.323611,-0.416667)
+ --(1.323611,-0.416667)\dpicstop
+\dpicdraw (1.323611,-0.416667)
+ --(1.329167,-0.416667)\dpicstop
+\dpicdraw (1.323611,-0.416667)
+ ..controls (1.306352,-0.416667) and (1.292361,-0.402676)
+ ..(1.292361,-0.385417)
+ ..controls (1.292361,-0.368158) and (1.306352,-0.354167)
+ ..(1.323611,-0.354167)\dpicstop
+\dpicdraw (1.323611,-0.354167)
+ --(1.329167,-0.354167)\dpicstop
+\dpicdraw (1.323611,-0.354167)
+ ..controls (1.306352,-0.354167) and (1.292361,-0.340176)
+ ..(1.292361,-0.322917)
+ ..controls (1.292361,-0.305658) and (1.306352,-0.291667)
+ ..(1.323611,-0.291667)\dpicstop
+\dpicdraw (1.323611,-0.291667)
+ --(1.329167,-0.291667)\dpicstop
+\dpicdraw (1.323611,-0.291667)
+ ..controls (1.306352,-0.291667) and (1.292361,-0.277676)
+ ..(1.292361,-0.260417)
+ ..controls (1.292361,-0.243158) and (1.306352,-0.229167)
+ ..(1.323611,-0.229167)\dpicstop
+\dpicdraw (1.323611,-0.229167)
+ --(1.329167,-0.229167)\dpicstop
+\dpicdraw (1.323611,-0.229167)
+ ..controls (1.306352,-0.229167) and (1.292361,-0.215176)
+ ..(1.292361,-0.197917)
+ ..controls (1.292361,-0.180658) and (1.306352,-0.166667)
+ ..(1.323611,-0.166667)\dpicstop
+\dpicdraw (1.323611,-0.166667)
+ --(1.329167,-0.166667)\dpicstop
+\dpicdraw (1.323611,-0.166667)
+ ..controls (1.306352,-0.166667) and (1.292361,-0.152676)
+ ..(1.292361,-0.135417)
+ ..controls (1.292361,-0.118158) and (1.306352,-0.104167)
+ ..(1.323611,-0.104167)\dpicstop
+\dpicdraw (1.323611,-0.104167)
+ --(1.329167,-0.104167)\dpicstop
+\dpicdraw (1.323611,-0.104167)
+ ..controls (1.306352,-0.104167) and (1.292361,-0.090176)
+ ..(1.292361,-0.072917)
+ ..controls (1.292361,-0.055658) and (1.306352,-0.041667)
+ ..(1.323611,-0.041667)\dpicstop
+\dpicdraw (1.323611,-0.041667)
+ --(1.329167,-0.041667)\dpicstop
+\dpicdraw (1.323611,-0.041667)
+ ..controls (1.306352,-0.041667) and (1.292361,-0.027676)
+ ..(1.292361,-0.010417)
+ ..controls (1.292361,0.006842) and (1.306352,0.020833)
+ ..(1.323611,0.020833)\dpicstop
+\dpicdraw (1.323611,0.020833)
+ --(1.329167,0.020833)\dpicstop
+\dpicdraw (1.323611,0.020833)
+ ..controls (1.306352,0.020833) and (1.292361,0.034824)
+ ..(1.292361,0.052083)
+ ..controls (1.292361,0.069342) and (1.306352,0.083333)
+ ..(1.323611,0.083333)\dpicstop
+\dpicdraw (1.323611,0.083333)
+ --(1.329167,0.083333)\dpicstop
+\dpicdraw (1.323611,0.083333)
+ --(1.323611,0.083333)\dpicstop
+\dpiclw=0.4bp
+\filldraw[line width=0bp](1.035957,0.157602)
+ --(1.103413,0.140452)
+ --(1.056536,0.191902) --cycle\dpicstop
+\dpicdraw (1.086834,0.1504)
+ --(1.007143,0.198214)\dpicstop
+\draw (1.007143,0.198214) node[left=-2bp]{\sl P1};
+\filldraw[line width=0bp](1.056536,-0.525235)
+ --(1.103413,-0.473786)
+ --(1.035957,-0.490936) --cycle\dpicstop
+\dpicdraw (1.086834,-0.483733)
+ --(1.007143,-0.531548)\dpicstop
+\draw (1.007143,-0.531548) node[left=-2bp]{\sl P2};
+\filldraw[line width=0bp](1.034774,-0.186667)
+ --(1.101441,-0.166667)
+ --(1.034774,-0.146667) --cycle\dpicstop
+\dpicdraw (1.082107,-0.166667)
+ --(1.009115,-0.166667)\dpicstop
+\draw (1.009115,-0.166667) node[left=-2bp]{\sl TP};
+\filldraw[line width=0bp](1.382353,0.141902)
+ --(1.335476,0.090452)
+ --(1.402932,0.107602) --cycle\dpicstop
+\dpicdraw (1.352055,0.1004)
+ --(1.431746,0.148214)\dpicstop
+\draw (1.431746,0.148214) node[right=-2bp]{\sl S1};
+\filldraw[line width=0bp](1.402932,-0.440936)
+ --(1.335476,-0.423786)
+ --(1.382353,-0.475235) --cycle\dpicstop
+\dpicdraw (1.352055,-0.433733)
+ --(1.431746,-0.481548)\dpicstop
+\draw (1.431746,-0.481548) node[right=-2bp]{\sl S2};
+\filldraw[line width=0bp](1.404115,-0.146667)
+ --(1.337448,-0.166667)
+ --(1.404115,-0.186667) --cycle\dpicstop
+\dpicdraw (1.356782,-0.166667)
+ --(1.429774,-0.166667)\dpicstop
+\draw (1.429774,-0.166667) node[right=-2bp]{\sl TS};
+\draw (1.219444,-0.766667) node{\tt ...(down\_ 0.6,,2,P,8)};
+\dpiclw=0.8bp
+\dpicdraw (2.349105,0.086124)
+ --(2.349105,0.086124)\dpicstop
+\dpicdraw[line width=0.4bp](2.349105,0.086124) circle (0.00109in)\dpicstop
+\dpicdraw (2.349105,0.086124)
+ ..controls (2.386677,0.103644) and (2.428024,0.07046)
+ ..(2.419051,0.029987)
+ ..controls (2.410078,-0.010486) and (2.358581,-0.023088)
+ ..(2.331934,0.00867)\dpicstop
+\dpicdraw[line width=0.4bp](2.331934,0.00867) circle (0.00109in)\dpicstop
+\dpicdraw (2.331934,0.00867)
+ ..controls (2.36194,0.044429) and (2.420236,0.023211)
+ ..(2.420236,-0.02347)
+ ..controls (2.420236,-0.07015) and (2.36194,-0.091368)
+ ..(2.331934,-0.055609)\dpicstop
+\dpicdraw[line width=0.4bp](2.331934,-0.055609) circle (0.00109in)\dpicstop
+\dpicdraw (2.331934,-0.055609)
+ ..controls (2.36194,-0.01985) and (2.420236,-0.041068)
+ ..(2.420236,-0.087749)
+ ..controls (2.420236,-0.134429) and (2.36194,-0.155647)
+ ..(2.331934,-0.119888)\dpicstop
+\dpicdraw[line width=0.4bp](2.331934,-0.119888) circle (0.00109in)\dpicstop
+\dpicdraw (2.331934,-0.119888)
+ ..controls (2.36194,-0.084129) and (2.420236,-0.105347)
+ ..(2.420236,-0.152027)
+ ..controls (2.420236,-0.198708) and (2.36194,-0.219926)
+ ..(2.331934,-0.184167)\dpicstop
+\dpicdraw[line width=0.4bp](2.331934,-0.184167) circle (0.00109in)\dpicstop
+\dpicdraw (2.331934,-0.184167)
+ ..controls (2.36194,-0.148407) and (2.420236,-0.169626)
+ ..(2.420236,-0.216306)
+ ..controls (2.420236,-0.262987) and (2.36194,-0.284205)
+ ..(2.331934,-0.248445)\dpicstop
+\dpicdraw[line width=0.4bp](2.331934,-0.248445) circle (0.00109in)\dpicstop
+\dpicdraw (2.331934,-0.248445)
+ ..controls (2.36194,-0.212686) and (2.420236,-0.233904)
+ ..(2.420236,-0.280585)
+ ..controls (2.420236,-0.327265) and (2.36194,-0.348484)
+ ..(2.331934,-0.312724)\dpicstop
+\dpicdraw[line width=0.4bp](2.331934,-0.312724) circle (0.00109in)\dpicstop
+\dpicdraw (2.331934,-0.312724)
+ ..controls (2.36194,-0.276965) and (2.420236,-0.298183)
+ ..(2.420236,-0.344864)
+ ..controls (2.420236,-0.391544) and (2.36194,-0.412762)
+ ..(2.331934,-0.377003)\dpicstop
+\dpicdraw[line width=0.4bp](2.331934,-0.377003) circle (0.00109in)\dpicstop
+\dpicdraw (2.331934,-0.377003)
+ ..controls (2.358581,-0.345246) and (2.410078,-0.357847)
+ ..(2.419051,-0.39832)
+ ..controls (2.428024,-0.438794) and (2.386677,-0.471978)
+ ..(2.349105,-0.454458)\dpicstop
+\dpicdraw[line width=0.4bp](2.349105,-0.454458) circle (0.00109in)\dpicstop
+\dpicdraw (2.349105,-0.454458)
+ --(2.349105,-0.454458)\dpicstop
+\dpicdraw (2.461903,0.090809)
+ --(2.461903,-0.459142)\dpicstop
+\dpicdraw (2.524403,0.090809)
+ --(2.524403,-0.459142)\dpicstop
+\dpicdraw (2.637201,-0.330585)
+ --(2.637201,-0.3259)\dpicstop
+\dpicdraw[line width=0.4bp](2.637201,-0.3259) circle (0.00109in)\dpicstop
+\dpicdraw (2.637201,-0.3259)
+ ..controls (2.599629,-0.34342) and (2.558282,-0.310236)
+ ..(2.567255,-0.269763)
+ ..controls (2.576228,-0.22929) and (2.627724,-0.216688)
+ ..(2.654372,-0.248445)\dpicstop
+\dpicdraw[line width=0.4bp](2.654372,-0.248445) circle (0.00109in)\dpicstop
+\dpicdraw (2.654372,-0.248445)
+ ..controls (2.624366,-0.284205) and (2.56607,-0.262987)
+ ..(2.56607,-0.216306)
+ ..controls (2.56607,-0.169626) and (2.624366,-0.148407)
+ ..(2.654372,-0.184167)\dpicstop
+\dpicdraw[line width=0.4bp](2.654372,-0.184167) circle (0.00109in)\dpicstop
+\dpicdraw (2.654372,-0.184167)
+ ..controls (2.624366,-0.219926) and (2.56607,-0.198708)
+ ..(2.56607,-0.152027)
+ ..controls (2.56607,-0.105347) and (2.624366,-0.084129)
+ ..(2.654372,-0.119888)\dpicstop
+\dpicdraw[line width=0.4bp](2.654372,-0.119888) circle (0.00109in)\dpicstop
+\dpicdraw (2.654372,-0.119888)
+ ..controls (2.627724,-0.151645) and (2.576228,-0.139044)
+ ..(2.567255,-0.098571)
+ ..controls (2.558282,-0.058097) and (2.599629,-0.024913)
+ ..(2.637201,-0.042433)\dpicstop
+\dpicdraw[line width=0.4bp](2.637201,-0.042433) circle (0.00109in)\dpicstop
+\dpicdraw (2.637201,-0.042433)
+ --(2.637201,-0.037749)\dpicstop
+\dpicdraw[fill=black](2.380355,0.115809) circle (0.003937in)\dpicstop
+\dpicdraw[fill=black](2.605951,-0.355585) circle (0.003937in)\dpicstop
+\dpiclw=0.4bp
+\filldraw[line width=0bp](2.269784,0.110393)
+ --(2.33724,0.093243)
+ --(2.290364,0.144693) --cycle\dpicstop
+\dpicdraw (2.320662,0.103191)
+ --(2.240971,0.151005)\dpicstop
+\draw (2.240971,0.151005) node[left=-2bp]{\sl P1};
+\filldraw[line width=0bp](2.290364,-0.513026)
+ --(2.33724,-0.461577)
+ --(2.269784,-0.478727) --cycle\dpicstop
+\dpicdraw (2.320662,-0.471524)
+ --(2.240971,-0.519339)\dpicstop
+\draw (2.240971,-0.519339) node[left=-2bp]{\sl P2};
+\filldraw[line width=0bp](2.268602,-0.204167)
+ --(2.335268,-0.184167)
+ --(2.268602,-0.164167) --cycle\dpicstop
+\dpicdraw (2.315934,-0.184167)
+ --(2.242942,-0.184167)\dpicstop
+\draw (2.242942,-0.184167) node[left=-2bp]{\sl TP};
+\filldraw[line width=0bp](2.695942,0.02082)
+ --(2.649066,-0.030629)
+ --(2.716522,-0.01348) --cycle\dpicstop
+\dpicdraw (2.665644,-0.020682)
+ --(2.745335,0.027132)\dpicstop
+\draw (2.745335,0.027132) node[right=-2bp]{\sl S1};
+\filldraw[line width=0bp](2.716522,-0.354854)
+ --(2.649066,-0.337704)
+ --(2.695942,-0.389153) --cycle\dpicstop
+\dpicdraw (2.665644,-0.347651)
+ --(2.745335,-0.395466)\dpicstop
+\draw (2.745335,-0.395466) node[right=-2bp]{\sl S2};
+\filldraw[line width=0bp](2.717704,-0.164167)
+ --(2.651038,-0.184167)
+ --(2.717704,-0.204167) --cycle\dpicstop
+\dpicdraw (2.670371,-0.184167)
+ --(2.743364,-0.184167)\dpicstop
+\draw (2.743364,-0.184167) node[right=-2bp]{\sl TS};
+\draw (2.493153,-0.669142) node{\tt ...(,,8,WD12,4)};
+\dpiclw=0.8bp
+\dpicdraw (3.682139,0.103358)
+ --(3.682139,0.072108)\dpicstop
+\dpicdraw[line width=0.4bp](3.682139,0.072108) circle (0.00109in)\dpicstop
+\dpicdraw (3.682139,0.072108)
+ ..controls (3.716514,0.072108) and (3.744639,0.057483)
+ ..(3.744639,0.039608)
+ ..controls (3.744639,0.021733) and (3.724952,0.007108)
+ ..(3.700889,0.007108)
+ ..controls (3.676827,0.007108) and (3.657139,0.013858)
+ ..(3.657139,0.022108)
+ ..controls (3.657139,0.030358) and (3.676827,0.037108)
+ ..(3.700889,0.037108)
+ ..controls (3.724952,0.037108) and (3.744639,0.019108)
+ ..(3.744639,-0.002892)
+ ..controls (3.744639,-0.024892) and (3.724952,-0.042892)
+ ..(3.700889,-0.042892)
+ ..controls (3.676827,-0.042892) and (3.657139,-0.036142)
+ ..(3.657139,-0.027892)
+ ..controls (3.657139,-0.019642) and (3.676827,-0.012892)
+ ..(3.700889,-0.012892)
+ ..controls (3.724952,-0.012892) and (3.744639,-0.030892)
+ ..(3.744639,-0.052892)
+ ..controls (3.744639,-0.074892) and (3.724952,-0.092892)
+ ..(3.700889,-0.092892)
+ ..controls (3.676827,-0.092892) and (3.657139,-0.086142)
+ ..(3.657139,-0.077892)
+ ..controls (3.657139,-0.069642) and (3.676827,-0.062892)
+ ..(3.700889,-0.062892)
+ ..controls (3.724952,-0.062892) and (3.744639,-0.080892)
+ ..(3.744639,-0.102892)
+ ..controls (3.744639,-0.124892) and (3.724952,-0.142892)
+ ..(3.700889,-0.142892)
+ ..controls (3.676827,-0.142892) and (3.657139,-0.136142)
+ ..(3.657139,-0.127892)
+ ..controls (3.657139,-0.119642) and (3.676827,-0.112892)
+ ..(3.700889,-0.112892)
+ ..controls (3.724952,-0.112892) and (3.744639,-0.130892)
+ ..(3.744639,-0.152892)
+ ..controls (3.744639,-0.174892) and (3.724952,-0.192892)
+ ..(3.700889,-0.192892)
+ ..controls (3.676827,-0.192892) and (3.657139,-0.186142)
+ ..(3.657139,-0.177892)
+ ..controls (3.657139,-0.169642) and (3.676827,-0.162892)
+ ..(3.700889,-0.162892)
+ ..controls (3.724952,-0.162892) and (3.744639,-0.180892)
+ ..(3.744639,-0.202892)
+ ..controls (3.744639,-0.224892) and (3.724952,-0.242892)
+ ..(3.700889,-0.242892)
+ ..controls (3.676827,-0.242892) and (3.657139,-0.236142)
+ ..(3.657139,-0.227892)
+ ..controls (3.657139,-0.219642) and (3.676827,-0.212892)
+ ..(3.700889,-0.212892)
+ ..controls (3.724952,-0.212892) and (3.744639,-0.230892)
+ ..(3.744639,-0.252892)
+ ..controls (3.744639,-0.274892) and (3.724952,-0.292892)
+ ..(3.700889,-0.292892)
+ ..controls (3.676827,-0.292892) and (3.657139,-0.286142)
+ ..(3.657139,-0.277892)
+ ..controls (3.657139,-0.269642) and (3.676827,-0.262892)
+ ..(3.700889,-0.262892)
+ ..controls (3.724952,-0.262892) and (3.744639,-0.280892)
+ ..(3.744639,-0.302892)
+ ..controls (3.744639,-0.324892) and (3.724952,-0.342892)
+ ..(3.700889,-0.342892)
+ ..controls (3.676827,-0.342892) and (3.657139,-0.336142)
+ ..(3.657139,-0.327892)
+ ..controls (3.657139,-0.319642) and (3.676827,-0.312892)
+ ..(3.700889,-0.312892)
+ ..controls (3.724952,-0.312892) and (3.744639,-0.330892)
+ ..(3.744639,-0.352892)
+ ..controls (3.744639,-0.374892) and (3.724952,-0.392892)
+ ..(3.700889,-0.392892)
+ ..controls (3.676827,-0.392892) and (3.657139,-0.386142)
+ ..(3.657139,-0.377892)
+ ..controls (3.657139,-0.369642) and (3.676827,-0.362892)
+ ..(3.700889,-0.362892)
+ ..controls (3.724952,-0.362892) and (3.744639,-0.377517)
+ ..(3.744639,-0.395392)
+ ..controls (3.744639,-0.413267) and (3.716514,-0.427892)
+ ..(3.682139,-0.427892)\dpicstop
+\dpicdraw[line width=0.4bp](3.682139,-0.427892) circle (0.00109in)\dpicstop
+\dpicdraw (3.682139,-0.427892)
+ --(3.682139,-0.459142)\dpicstop
+\dpicdraw (3.869639,-0.459142)
+ --(3.869639,-0.302892)\dpicstop
+\dpicdraw[line width=0.4bp](3.869639,-0.302892) circle (0.00109in)\dpicstop
+\dpicdraw (3.869639,-0.302892)
+ ..controls (3.835264,-0.302892) and (3.807139,-0.288267)
+ ..(3.807139,-0.270392)
+ ..controls (3.807139,-0.252517) and (3.826827,-0.237892)
+ ..(3.850889,-0.237892)
+ ..controls (3.874952,-0.237892) and (3.894639,-0.244642)
+ ..(3.894639,-0.252892)
+ ..controls (3.894639,-0.261142) and (3.874952,-0.267892)
+ ..(3.850889,-0.267892)
+ ..controls (3.826827,-0.267892) and (3.807139,-0.249892)
+ ..(3.807139,-0.227892)
+ ..controls (3.807139,-0.205892) and (3.826827,-0.187892)
+ ..(3.850889,-0.187892)
+ ..controls (3.874952,-0.187892) and (3.894639,-0.194642)
+ ..(3.894639,-0.202892)
+ ..controls (3.894639,-0.211142) and (3.874952,-0.217892)
+ ..(3.850889,-0.217892)
+ ..controls (3.826827,-0.217892) and (3.807139,-0.199892)
+ ..(3.807139,-0.177892)
+ ..controls (3.807139,-0.155892) and (3.826827,-0.137892)
+ ..(3.850889,-0.137892)
+ ..controls (3.874952,-0.137892) and (3.894639,-0.144642)
+ ..(3.894639,-0.152892)
+ ..controls (3.894639,-0.161142) and (3.874952,-0.167892)
+ ..(3.850889,-0.167892)
+ ..controls (3.826827,-0.167892) and (3.807139,-0.149892)
+ ..(3.807139,-0.127892)
+ ..controls (3.807139,-0.105892) and (3.826827,-0.087892)
+ ..(3.850889,-0.087892)
+ ..controls (3.874952,-0.087892) and (3.894639,-0.094642)
+ ..(3.894639,-0.102892)
+ ..controls (3.894639,-0.111142) and (3.874952,-0.117892)
+ ..(3.850889,-0.117892)
+ ..controls (3.826827,-0.117892) and (3.807139,-0.103267)
+ ..(3.807139,-0.085392)
+ ..controls (3.807139,-0.067517) and (3.835264,-0.052892)
+ ..(3.869639,-0.052892)\dpicstop
+\dpicdraw[line width=0.4bp](3.869639,-0.052892) circle (0.00109in)\dpicstop
+\dpicdraw (3.869639,-0.052892)
+ --(3.869639,0.103358)\dpicstop
+\dpiclw=0.4bp
+\filldraw[line width=0bp](3.602818,0.127627)
+ --(3.670274,0.110477)
+ --(3.623398,0.161926) --cycle\dpicstop
+\dpicdraw (3.653695,0.120424)
+ --(3.574004,0.168239)\dpicstop
+\draw (3.574004,0.168239) node[left=-2bp]{\sl P1};
+\filldraw[line width=0bp](3.623398,-0.517711)
+ --(3.670274,-0.466261)
+ --(3.602818,-0.483411) --cycle\dpicstop
+\dpicdraw (3.653695,-0.476209)
+ --(3.574004,-0.524023)\dpicstop
+\draw (3.574004,-0.524023) node[left=-2bp]{\sl P2};
+\filldraw[line width=0bp](3.601636,-0.197892)
+ --(3.668302,-0.177892)
+ --(3.601636,-0.157892) --cycle\dpicstop
+\dpicdraw (3.648968,-0.177892)
+ --(3.575976,-0.177892)\dpicstop
+\draw (3.575976,-0.177892) node[left=-2bp]{\sl TP};
+\filldraw[line width=0bp](3.928381,0.161926)
+ --(3.881504,0.110477)
+ --(3.94896,0.127627) --cycle\dpicstop
+\dpicdraw (3.898083,0.120424)
+ --(3.977774,0.168239)\dpicstop
+\draw (3.977774,0.168239) node[right=-2bp]{\sl S1};
+\filldraw[line width=0bp](3.94896,-0.483411)
+ --(3.881504,-0.466261)
+ --(3.928381,-0.517711) --cycle\dpicstop
+\dpicdraw (3.898083,-0.476209)
+ --(3.977774,-0.524023)\dpicstop
+\draw (3.977774,-0.524023) node[right=-2bp]{\sl S2};
+\filldraw[line width=0bp](3.950143,-0.157892)
+ --(3.883476,-0.177892)
+ --(3.950143,-0.197892) --cycle\dpicstop
+\dpicdraw (3.90281,-0.177892)
+ --(3.975802,-0.177892)\dpicstop
+\draw (3.975802,-0.177892) node[right=-2bp]{\sl TS};
+\draw (3.775889,-0.759142) node{\tt ...(,,9,AL)};
+\dpiclw=0.8bp
+\dpicdraw (5.127971,-0.454458)
+ --(5.127971,-0.454458)\dpicstop
+\dpicdraw[line width=0.4bp](5.127971,-0.454458) circle (0.00109in)\dpicstop
+\dpicdraw (5.127971,-0.454458)
+ ..controls (5.090399,-0.471978) and (5.049052,-0.438794)
+ ..(5.058025,-0.39832)
+ ..controls (5.066998,-0.357847) and (5.118495,-0.345246)
+ ..(5.145142,-0.377003)\dpicstop
+\dpicdraw[line width=0.4bp](5.145142,-0.377003) circle (0.00109in)\dpicstop
+\dpicdraw (5.145142,-0.377003)
+ ..controls (5.115136,-0.412762) and (5.05684,-0.391544)
+ ..(5.05684,-0.344864)
+ ..controls (5.05684,-0.298183) and (5.115136,-0.276965)
+ ..(5.145142,-0.312724)\dpicstop
+\dpicdraw[line width=0.4bp](5.145142,-0.312724) circle (0.00109in)\dpicstop
+\dpicdraw (5.145142,-0.312724)
+ ..controls (5.115136,-0.348484) and (5.05684,-0.327265)
+ ..(5.05684,-0.280585)
+ ..controls (5.05684,-0.233904) and (5.115136,-0.212686)
+ ..(5.145142,-0.248445)\dpicstop
+\dpicdraw[line width=0.4bp](5.145142,-0.248445) circle (0.00109in)\dpicstop
+\dpicdraw (5.145142,-0.248445)
+ ..controls (5.115136,-0.284205) and (5.05684,-0.262987)
+ ..(5.05684,-0.216306)
+ ..controls (5.05684,-0.169626) and (5.115136,-0.148407)
+ ..(5.145142,-0.184167)\dpicstop
+\dpicdraw[line width=0.4bp](5.145142,-0.184167) circle (0.00109in)\dpicstop
+\dpicdraw (5.145142,-0.184167)
+ ..controls (5.115136,-0.219926) and (5.05684,-0.198708)
+ ..(5.05684,-0.152027)
+ ..controls (5.05684,-0.105347) and (5.115136,-0.084129)
+ ..(5.145142,-0.119888)\dpicstop
+\dpicdraw[line width=0.4bp](5.145142,-0.119888) circle (0.00109in)\dpicstop
+\dpicdraw (5.145142,-0.119888)
+ ..controls (5.115136,-0.155647) and (5.05684,-0.134429)
+ ..(5.05684,-0.087749)
+ ..controls (5.05684,-0.041068) and (5.115136,-0.01985)
+ ..(5.145142,-0.055609)\dpicstop
+\dpicdraw[line width=0.4bp](5.145142,-0.055609) circle (0.00109in)\dpicstop
+\dpicdraw (5.145142,-0.055609)
+ ..controls (5.115136,-0.091368) and (5.05684,-0.07015)
+ ..(5.05684,-0.02347)
+ ..controls (5.05684,0.023211) and (5.115136,0.044429)
+ ..(5.145142,0.00867)\dpicstop
+\dpicdraw[line width=0.4bp](5.145142,0.00867) circle (0.00109in)\dpicstop
+\dpicdraw (5.145142,0.00867)
+ ..controls (5.118495,-0.023088) and (5.066998,-0.010486)
+ ..(5.058025,0.029987)
+ ..controls (5.049052,0.07046) and (5.090399,0.103644)
+ ..(5.127971,0.086124)\dpicstop
+\dpicdraw[line width=0.4bp](5.127971,0.086124) circle (0.00109in)\dpicstop
+\dpicdraw (5.127971,0.086124)
+ --(5.127971,0.086124)\dpicstop
+\dpicdraw (4.914578,0.086124)
+ --(4.914578,-0.042433)\dpicstop
+\dpicdraw[line width=0.4bp](4.914578,-0.042433) circle (0.00109in)\dpicstop
+\dpicdraw (4.914578,-0.042433)
+ ..controls (4.95215,-0.024913) and (4.993496,-0.058097)
+ ..(4.984524,-0.098571)
+ ..controls (4.975551,-0.139044) and (4.924054,-0.151645)
+ ..(4.897407,-0.119888)\dpicstop
+\dpicdraw[line width=0.4bp](4.897407,-0.119888) circle (0.00109in)\dpicstop
+\dpicdraw (4.897407,-0.119888)
+ ..controls (4.927412,-0.084129) and (4.985709,-0.105347)
+ ..(4.985709,-0.152027)
+ ..controls (4.985709,-0.198708) and (4.927412,-0.219926)
+ ..(4.897407,-0.184167)\dpicstop
+\dpicdraw[line width=0.4bp](4.897407,-0.184167) circle (0.00109in)\dpicstop
+\dpicdraw (4.897407,-0.184167)
+ ..controls (4.927412,-0.148407) and (4.985709,-0.169626)
+ ..(4.985709,-0.216306)
+ ..controls (4.985709,-0.262987) and (4.927412,-0.284205)
+ ..(4.897407,-0.248445)\dpicstop
+\dpicdraw[line width=0.4bp](4.897407,-0.248445) circle (0.00109in)\dpicstop
+\dpicdraw (4.897407,-0.248445)
+ ..controls (4.924054,-0.216688) and (4.975551,-0.22929)
+ ..(4.984524,-0.269763)
+ ..controls (4.993496,-0.310236) and (4.95215,-0.34342)
+ ..(4.914578,-0.3259)\dpicstop
+\dpicdraw[line width=0.4bp](4.914578,-0.3259) circle (0.00109in)\dpicstop
+\dpicdraw (4.914578,-0.3259)
+ --(4.914578,-0.454458)\dpicstop
+\dpiclw=0.4bp
+\filldraw[line width=0bp](5.186712,0.144693)
+ --(5.139836,0.093243)
+ --(5.207292,0.110393) --cycle\dpicstop
+\dpicdraw (5.156415,0.103191)
+ --(5.236106,0.151005)\dpicstop
+\draw (5.236106,0.151005) node[right=-2bp]{\sl P1};
+\filldraw[line width=0bp](5.207292,-0.478727)
+ --(5.139836,-0.461577)
+ --(5.186712,-0.513026) --cycle\dpicstop
+\dpicdraw (5.156415,-0.471524)
+ --(5.236106,-0.519339)\dpicstop
+\draw (5.236106,-0.519339) node[right=-2bp]{\sl P2};
+\filldraw[line width=0bp](5.208474,-0.164167)
+ --(5.141808,-0.184167)
+ --(5.208474,-0.204167) --cycle\dpicstop
+\dpicdraw (5.161142,-0.184167)
+ --(5.234134,-0.184167)\dpicstop
+\draw (5.234134,-0.184167) node[right=-2bp]{\sl TP};
+\filldraw[line width=0bp](4.835257,0.110393)
+ --(4.902713,0.093243)
+ --(4.855837,0.144693) --cycle\dpicstop
+\dpicdraw (4.886134,0.103191)
+ --(4.806443,0.151005)\dpicstop
+\draw (4.806443,0.151005) node[left=-2bp]{\sl S1};
+\filldraw[line width=0bp](4.855837,-0.513026)
+ --(4.902713,-0.461577)
+ --(4.835257,-0.478727) --cycle\dpicstop
+\dpicdraw (4.886134,-0.471524)
+ --(4.806443,-0.519339)\dpicstop
+\draw (4.806443,-0.519339) node[left=-2bp]{\sl S2};
+\filldraw[line width=0bp](4.834074,-0.204167)
+ --(4.900741,-0.184167)
+ --(4.834074,-0.164167) --cycle\dpicstop
+\dpicdraw (4.881407,-0.184167)
+ --(4.808415,-0.184167)\dpicstop
+\draw (4.808415,-0.184167) node[left=-2bp]{\sl TS};
+\draw (5.021274,-0.759142) node{\tt ...(,R,8,AW)};
+\dpiclw=0.8bp
+\end{tikzpicture}
+\vspace*{-0.5\baselineskip}
diff --git a/graphics/circuit_macros/doc/Xform.m4 b/graphics/circuit_macros/doc/XformMan.m4
index 697d87fafa..697d87fafa 100644
--- a/graphics/circuit_macros/doc/Xform.m4
+++ b/graphics/circuit_macros/doc/XformMan.m4
diff --git a/graphics/circuit_macros/doc/bistable.m4 b/graphics/circuit_macros/doc/bistableMan.m4
index d158e10a04..d158e10a04 100644
--- a/graphics/circuit_macros/doc/bistable.m4
+++ b/graphics/circuit_macros/doc/bistableMan.m4
diff --git a/graphics/circuit_macros/doc/body.tex b/graphics/circuit_macros/doc/body.tex
index 38aff51f3b..cbb2fdb058 100644
--- a/graphics/circuit_macros/doc/body.tex
+++ b/graphics/circuit_macros/doc/body.tex
@@ -45,7 +45,6 @@
\begin{multicols}{2}
\tableofcontents
\end{multicols}
-%\enlargethispage{\baselineskip}
%
\xection{Introduction\label{Introduction:}}
\begin{quotation}\noindent
@@ -339,7 +338,6 @@ A derivative of this method that allows the insertion of
You can put several diagrams into a single source file.
Make each diagram the body of a \latex macro, as shown:
-%\enlargethispage{\baselineskip}
\par
\verb|\newcommand{\diaA}{%|\NVL
\verb|.PS|\NVL
@@ -631,7 +629,6 @@ The exact typeset size of formatted text can be obtained
as described in \SR{Interaction:}. The second occurrence
associates one or more strings with an object, e.g., the following writes
two words, one above the other, at the centre of an ellipse:
-%\enlargethispage{\baselineskip}
\verb|ellipse "\bf Stop" "\bf here"|
@@ -725,7 +722,6 @@ the looping facility
{\sl anything}\verb| }|,
\noindent%
-%\enlargethispage{\baselineskip}
operating-system commands, \pic macros, and external file inclusion.
\xection{Two-terminal circuit elements\label{Basictwo:}}
@@ -831,14 +827,15 @@ were added after the previously shown source:
\end{itemize}
\subsection{The two-terminal elements\label{Twoterminal:}}
-The two-terminal elements are shown in \FRS{CctTable} to~\REF{Diodes}
-and \FRS{Fuses} to~\REF{Switches}.
+The two-terminal elements are shown in \FRS{CctTable}
+% to~\REF{Diodes} and \FRS{Fuses}
+to~\REF{Switches}.
Several elements are included more than once to illustrate
some of their arguments, which are listed in \SR{defines}.
\enlargethispage{\baselineskip}
\begin{figure}[h!]
- \input CctTable
- \ifpdf\vspace*{-\baselineskip}\fi%
+ \input CctTableMan
+% \ifpdf\vspace*{-\baselineskip}\fi%
\caption{Basic two-terminal elements, showing some variations.}
\label{CctTable}
\end{figure}
@@ -849,63 +846,56 @@ If the argument is blank,
the element is drawn from the current position in the current drawing
direction along a default length.
The other arguments produce variants of the default elements.
-\begin{figure}[t!]
- \input Sources
- \ifpdf\vspace*{-0.5\baselineskip}\fi%
- \caption{Sources and source-like elements.}
- \label{Sources}
- \end{figure}
-\begin{figure}[t!]
- \input Diodes
- \caption{The macro
- {\tt diode(\linespec,B|CR|D|L|LE[R]|P[R]|S|T|V|v|w|Z|{\sl chars},[R][E])}.
- Appending {\tt K} to the second argument draws an open arrowhead.}
- \label{Diodes}
+\begin{figure}[hbt]
+ \input AmpTableMan
+ \caption{Amplifier, delay, and integrator.}
+ \label{AmpTable}
\end{figure}
-Thus, for example,
+Thus, for example,
+\par
{\tt resistor(up\_ 1.25,7)}
-
+\par
\noindent%
draws a resistor 1.25 units long up from the current position, with $7$
vertices per side.
The macro {\tt up\_} evaluates to {\tt up} but also resets the current
directional parameters to point up.
-\FR{Emarrows} contains radiation-effect arrows for embellishing two-terminal
-and other macros.
-The arrow stems are named {\sl A1}, {\sl A2},
-and each pair is drawn in a \verb|[]| block, with
-the names {\sl Head} and {\sl Tail} defined to
-aid placement near another device. The second argument specifies
-absolute angle in degrees (default 135 degrees).
-\begin{figure}[h!t]
- \input Emarrows
- \caption{Radiation arrows: {\tt em\_arrows({\sl type, angle, length})}}
- \label{Emarrows}
+\begin{figure}[hbt]
+ \input SourcesMan
+% \ifpdf\vspace*{-0.5\baselineskip}\fi%
+ \caption{Sources and source-like elements.}
+ \label{Sources}
\end{figure}
-The arrows are drawn relative to the diode direction by the {\tt LE}
-option in \FR{Diodes}. For absolute arrow directions, one can
-define a wrapper (see \SR{Writing:}) for the {\tt diode} macro to draw arrows
-at 45 degrees, for example:
-{\tt define(`myLED',`diode(`\$1'); em\_arrows(N,45)
- with .Tail at last [].ne')}
+The {\tt AC} and {\tt S} options of the {\tt source} macro in \FR{Sources}
+illustrate the need
+to draw a single cycle of a sinusoid or approximate sinusoid.
+As a convenience,
+the macro {\tt ACsymbol(at {\sl position, length, height,}
+ [A]U|D|L|R|{\sl degrees})} is included as an interface to
+the {\tt sinusoid} macro. For example to add the sumbol to an ebox:
+\par
+{\tt ebox; $\lbrace$\ ACsymbol(at last [],{,},dimen\_/8) $\rbrace$}
+
+\begin{figure}[hbt]
+ \input DiodesMan
+ \caption{The macro
+ {\tt diode(\linespec,B|CR|D|L|LE[R]|P[R]|S|T|V|v|w|Z|{\sl chars},[R][E])}.
+ Appending {\tt K} to the second argument draws an open arrowhead.}
+ \label{Diodes}
+ \end{figure}
\begin{figure}[t!]
- \input Fuses
+ \input FusesMan
\caption{Variations of the macros
- {\tt fuse(\linespec, A|dA|B|C|D|E|S|HB|HC, {\sl wid}, {\sl ht})}
+ {\tt fuse(\linespec, A|dA|B|C|D|E|S|HB|HC|SB, {\sl wid}, {\sl ht})}
and {\tt cbreaker(\linespec,L|R,D|T|TS)}.}
\label{Fuses}
\end{figure}
\begin{figure}[t!]
- \input AmpTable
- \caption{Amplifier, delay, and integrator.}
- \label{AmpTable}
- \end{figure}
-\begin{figure}[t!]
- \input Switches
+ \input SwitchesMan
\caption{The
{\tt switch(\linespec,L|R,{\sl chars},L|B|D)}
macro is a wrapper for the macros
@@ -915,66 +905,89 @@ at 45 degrees, for example:
{\tt dswitch(\linespec,R,W[ud]B[K] {\sl chars})} shown.
The switch is drawn in the current drawing direction.
A second-argument {\tt R} produces a mirror
- image with respect to the drawing direction.}
+ image with respect to the drawing direction.
+ The separately defined macros {\tt Proxim} and {\tt Magn}
+ embellish switches in the second-last row.}
\label{Switches}
\end{figure}
+
Most of the two-terminal elements are oriented; that is, they have
-a defined direction or polarity. Several element macros include an argument
-that reverses polarity, but there is also a more general mechanism,
-as follows.
+a defined direction or polarity. Several element macros include an
+argument that reverses polarity, but there is also a more general
+mechanism, as follows.
The first argument of the macro
-
+\par
{\tt reversed(`}{\sl macro name}{\tt',}{\sl macro arguments}{\tt )}
-
+\par
\noindent
is the name of a two-terminal element in quotes, followed by the
element arguments. The element is drawn with reversed direction.
Thus,
-
+\par
{\tt diode(right\_ 0.4); reversed(`diode',right\_ 0.4)}
-
+\par
\noindent
draws two diodes to the right, but the second one points left.
+\begin{figure}[bt]
+ \input EmarrowsMan
+ \caption{Radiation arrows: {\tt em\_arrows({\sl type, angle, length})}}
+ \label{Emarrows}
+ \end{figure}
Similarly, the macro
-
+\par
{\tt resized(}{\sl factor},`{\sl macro name}',{\sl macro arguments}{\tt )}
-
+\par
\noindent
can be used to resize the body of an element by temporarily multiplying
the {\tt dimen\_} macro by {\sl factor}. More general resizing should be
done by redefining {\tt dimen\_} as described in \SR{Circuitscaling:}.
These two macros can be nested; the following scales the above example
by 1.8, for example
-
+\par
{\tt resized(1.8,`diode',right\_ 0.4);}
{\tt resized(1.8,`reversed',`diode',right\_ 0.4)}
+\FR{Emarrows} contains radiation-effect arrows for embellishing two-terminal
+and other macros.
+The arrow stems are named {\sl A1}, {\sl A2},
+and each pair is drawn in a \verb|[]| block, with
+the names {\sl Head} and {\sl Tail} defined to
+aid placement near another device. The second argument specifies
+absolute angle in degrees (default 135 degrees).
+The arrows are drawn relative to the diode direction by the {\tt LE}
+option in \FR{Diodes}. For absolute arrow directions, one can
+define a wrapper (see \SR{Writing:}) for the {\tt diode} macro to draw arrows
+at 45 degrees, for example:
+\par
+{\tt define(`myLED',`diode(`\$1'); em\_arrows(N,45)
+ with .Tail at last [].ne')}
+
\FR{Variable} shows some two-terminal elements with
arrows or lines overlaid to indicate variability using the macro
-
+\par
{\tt variable(`}{\sl element}{\tt',{\sl type},{\sl angle},{\sl length})},
\noindent
-where {\sl type} is one of {\tt A, P, L, N,} with {\tt C} or {\tt S}
+where {\sl type} is one of {\tt A, P, L, N, NN} with {\tt C} or {\tt S}
optionally appended to indicate continuous or stepwise variation.
Alternatively, this macro
can be invoked similarly to the label macros in
\SR{Labels:} by specifying an empty first argument;
thus, the following line draws the resistor in \FR{Variable}:
-
+\par
{\tt resistor(down\_ dimen\_); variable(,uN)}
\begin{figure}[h!t]
\vspace*{-\baselineskip}
- \input Variable
+ \input VariableMan
\caption{Illustrating
{\tt variable(`{\sl element}',%
-[A|P|L|[u]N][C|S],{\sl angle},{\sl length})}.
- For example,\break {\tt variable(`capacitor(down\_ dimen\_)')} draws
- the leftmost capacitor shown above, and {\tt variable(`resistor(down\_
- dimen\_)',uN)} draws the resistor. The default angle is
+[A|P|L|[u]N]|[u]NN]][C|S],{\sl angle},{\sl length})}.
+ For example,\break {\tt variable(`resistor(down\_ dimen\_)',A)} draws
+ the leftmost resistor shown above, and {\tt variable(`resistor(down\_
+ dimen\_)',uN)} draws the third resistor. The default angle is
45${}^{\circ}$, regardless of the direction of the element. The array
on the right shows the effect of the second argument.}
\label{Variable}
@@ -988,7 +1001,6 @@ just been drawn. Many variations of this are possible:
\verb|arrow right arrowht from last line.start+(alpha,0) "$i_1$" above|
-%\enlargethispage{\baselineskip}
Macros have been defined to simplify labelling two-terminal
elements, as shown in \FR{currents}.
The macro
@@ -1000,7 +1012,7 @@ The macro
draws an arrow from the start of the last-drawn two-terminal element
{\sl frac} of the way toward the body.
\begin{figure}[h!t]
- \ifpdf\vspace*{-0.5\baselineskip}\fi%
+% \ifpdf\vspace*{-0.5\baselineskip}\fi%
\input currents
\caption{Illustrating {\tt b\_current, larrow,} and {\tt rarrow}.
The drawing direction is to the right.}
@@ -1029,14 +1041,7 @@ argument is assumed to be in math mode unless
it begins with {\tt sprintf} or a double
quote, in which case the argument is copied literally. The third argument
specifies the separation from the element.
-%\begin{figure}[hbt]
-% \input lrarrows
-% \caption{The {\tt larrow} and {\tt rarrow} macros draw
-% reference-direction arrows adjacent to the element.}
-% \label{lrarrows}
-% \end{figure}
-\pagebreak%
\subsection{Labels\label{Labels:}}
Special macros for labeling two-terminal elements are included:
\par
@@ -1086,33 +1091,32 @@ assumed to be in math mode.
The length and position of a two-terminal element
are defined by a straight-line segment and, possibly, a direction, so
four numbers are required to place the element as in the following example:
-
+\par
{\tt resistor(from (1,1) to (2,1))}.
\noindent
However, \pic has a very useful concept of the current point (explicitly
named {\tt Here}); thus,
-
+\par
{\tt resistor(to (2,1))}
-
+\par
\noindent
is equivalent to
-
+\par
{\tt resistor(from Here to (2,1)).}
Any defined position can be used; for example, if {\sl C1} and {\sl L2}
are names of previously defined two-terminal elements,
then, for example, the following places the resistor:
-
+\par
{\tt resistor(from L2.end to C1.start)}
A line segment starting at the current position can also be defined using
a direction and length.
To draw a resistor up $d$ units from the current position, for example:
-
+\par
{\tt resistor(up\_ d)}
-\noindent
\Pic stores the current drawing direction,
the latter unfortunately limited to {\tt up, down, left, right,}
which is assumed when necessary.
@@ -1149,6 +1153,14 @@ The macro {\tt eleminit\_} in the two-terminal elements invokes
to establish element length and direction.
As shown in \FR{Oblique},
+\begin{figure}[h!b]
+\vspace{-\baselineskip}
+ \parbox{4.5in}{\small \verbatiminput{Oblique.m4}}%
+ \hfill\raise-0.7in\llap{\hbox{\input Oblique }}%
+ \vspace{-\baselineskip}
+ \caption{Illustrating elements drawn at oblique angles.}
+ \label{Oblique}
+ \end{figure}
``{\tt Point\_(-30); resistor}'' draws a resistor
along a line with slope of~-30 degrees, and ``{\tt rpoint\_(to Z)}'' sets
the current direction cosines to point from the current location to location Z.
@@ -1167,17 +1179,9 @@ The figure also illustrates that any commas within \Mfour arguments must
be treated specially because the arguments are separated by commas.
Argument commas are protected either by parentheses as in
{\tt inductor(from Cr to Cr+vec\_(elen\_,0))}, or by multiple single quotes
-as in {\tt ``,'',} as necessary.
+as in {\tt `{`,'}',} as necessary.
Commas also may be avoided by writing
{\tt 0.5 between L and T} instead of {\tt 0.5<L,T>.}
-\begin{figure}[h!t]
-\vspace{-\baselineskip}
- \parbox{4.5in}{\small \verbatiminput{Oblique.m4}}%
- \hfill\raise-0.7in\llap{\hbox{\input Oblique }}%
- \vspace{-\baselineskip}
- \caption{Illustrating elements drawn at oblique angles.}
- \label{Oblique}
- \end{figure}
\subsection{Series and parallel circuits\label{Seriesandparallel:}}
@@ -1277,7 +1281,6 @@ element, {\tt Sep={\sl val}}; applies only to that branch.
An element may have normal arguments but should
not change the drawing direction.
-%\pagebreak%
\xection{Composite circuit elements\label{Composite:}}
Many basic elements are not two-terminal. These elements are usually enclosed in
a \verb|[ ]| \pic block, and contain named interior locations and components.
@@ -1335,6 +1338,15 @@ drawn elements.
A few composite symbols derived from two-terminal elements
are shown in \FR{Composite}.
+
+The ground symbol is shown in \FR{Grounds}.
+The first argument specifies position; for example, the two lines shown
+have identical effect:
+\par
+{\tt move to (1.5,2); ground
+\par
+ground(at (1.5,2)) }
+
\begin{figure}[h!t]
\vspace*{-0.5ex}
\input Composite
@@ -1344,15 +1356,8 @@ are shown in \FR{Composite}.
\label{Composite}
\end{figure}
-The ground symbol is shown in \FR{Grounds}.
-The first argument specifies position; for example, the two lines shown
-have identical effect:
-
-{\tt move to (1.5,2); ground
-
-ground(at (1.5,2)) }
-
-\noindent The second argument truncates
+%\noindent
+The second argument truncates
the stem, and the third defines the symbol type.
The fourth argument specifies the angle at which the symbol is drawn,
with D (down) the default.
@@ -1361,10 +1366,10 @@ is set using the
{\tt setdir\_( U|D|L|R|{\sl degrees, default} R|L|U|D|{\sl degrees} )}
macro and reset at the end using {\tt resetdir\_}.
\begin{figure}[ht!]
- \input Grounds
+ \input GroundsMan
\caption{The
{\tt ground( at }{\sl position}{\tt,
- T, N|F|S|L|P|E, U|D|L|R|{\sl degrees} )}
+ T, N|F|S|L|P[A]|E, U|D|L|R|{\sl degrees} )}
macro.}
\label{Grounds}
\end{figure}
@@ -1374,17 +1379,18 @@ The arguments of the macro
T, A|L|T|S|D|P|F, U|D|L|R|{\sl degrees} )}
shown in \FR{Antennas} are similar to those of {\tt ground}.
\begin{figure}[h!t]
- \input Antennas
+ \input AntennasMan
\caption{Antenna symbols, with macro arguments shown above and
terminal names below.}
\label{Antennas}
\end{figure}
+\pagebreak
\FR{Opamp} illustrates the macro
{\tt opamp({\sl\linespec, - label, + label, size, chars})\label{OPAMP}}.
-\begin{figure}[b!t]
- \ifpdf\vspace*{-0.5\baselineskip}\fi%
- \input Opamp
+\begin{figure}[h!t]
+% \ifpdf\vspace*{-0.5\baselineskip}\fi%
+ \input OpampMan
\caption{Operational amplifiers. The {\tt P} option adds
power connections. The second and third arguments can be used
to place and rotate arbitrary text at {\tt In1} and {\tt In2}.}
@@ -1415,7 +1421,7 @@ The code in \FR{oax} places an opamp with three connections.
\begin{figure}[h!t]
\parbox{4in}{\small \verbatiminput{oaxbody.m4}}%
\quad\raise-0.2in\hbox{\input oax }%
- \vspace{-\baselineskip}
+% \vspace{-\baselineskip}
\caption{A code fragment invoking the
{\tt opamp(\linespec,-,+,{\sl size},[R][P])} macro.}
\label{oax}
@@ -1437,9 +1443,9 @@ and if it contains a {\tt W}, wide windings are drawn.
A {\tt D1} puts phase dots at the {\sl P1, S1} end, {\tt D2} at the
{\sl P2, S2} ends, and {\tt D12} or {\tt D21} puts dots at opposite ends.
\begin{figure}[h!t]
- \ifpdf\vspace*{-\baselineskip}\fi%
- \input Xform
- \vspace{-\baselineskip}
+% \ifpdf\vspace*{-\baselineskip}\fi%
+ \input XformMan
+% \vspace{-\baselineskip}
\caption{The {\tt transformer(\linespec,L|R,{\sl np},%
[A|P][W|L][D1|D2|D12|D21],{\sl ns})}
macro (drawing direction {\tt down}), showing predefined terminal
@@ -1447,13 +1453,13 @@ A {\tt D1} puts phase dots at the {\sl P1, S1} end, {\tt D2} at the
\label{Xform}
\end{figure}
-%\enlargethispage{\baselineskip}
+\pagebreak
\FR{Audio} shows some audio devices, defined in {\tt []} blocks,
with predefined internal locations as shown.
\begin{figure}[h!t]
- \ifpdf\vspace*{-\baselineskip}\fi%
- \input Audio
- \ifpdf\vspace*{-\baselineskip}\fi%
+% \ifpdf\vspace*{-\baselineskip}\fi%
+ \input AudioMan
+% \ifpdf\vspace*{-\baselineskip}\fi%
\caption{Audio components:
{\tt speaker(U|D|L|R|{\sl degrees},{\sl size},{\sl type}),
bell, microphone, buzzer,
@@ -1474,9 +1480,9 @@ The {\tt nport({\sl box specs {\tt[;} other commands{\tt]},
nw, nn, ne, ns, space ratio, pin lgth, style})}
macro is shown in \FR{Nport}.
\begin{figure}[h!t]
- \ifpdf\vspace*{-\baselineskip}\fi
- \input Nport
- \ifpdf\vspace*{-\baselineskip}\fi
+% \ifpdf\vspace*{-\baselineskip}\fi
+ \input NportMan
+% \ifpdf\vspace*{-\baselineskip}\fi
\caption{The {\tt nport} macro draws a sequence of pairs of named pins
on each side of a box. The pin names are shown. The default is a twoport.
The {\tt nterm} macro draws single pins instead of pin pairs.}
@@ -1514,6 +1520,7 @@ immediately after drawing it but within the enclosing block:
If this trick were to be used extensively, then the following custom wrapper
would save typing, add the labels, and pass all arguments to
{\tt nport}:
+\pagebreak
\begin{verbatim}
define(`nullor',`nport(`$1'
@@ -1523,9 +1530,9 @@ define(`nullor',`nport(`$1'
The above example and the related gyrator macro are illustrated in
\FR{NLG}.
- \ifpdf\vspace*{\baselineskip}\fi%
+% \ifpdf\vspace*{\baselineskip}\fi%
\begin{figure}[h!t]
- \input NLG
+ \input NLGMan
\caption{The {\tt nullor} example and the {\tt gyrator}
macro are customizations of the {\tt nport} macro.}
\label{NLG}
@@ -1535,9 +1542,9 @@ The double-throw switches shown in \FR{NPDT} are drawn in the
current drawing direction like the two-terminal elements, but are
composite elements that must be placed accordingly.
\begin{figure}[h!t]
- \ifpdf\vspace*{-0.5\baselineskip}\fi%
- \input NPDT
- \ifpdf\vspace*{-0.5\baselineskip}\fi%
+% \ifpdf\vspace*{-0.5\baselineskip}\fi%
+ \input NPDTMan
+% \ifpdf\vspace*{-0.5\baselineskip}\fi%
\caption{Multipole double-throw switches drawn by
{\tt NPDT({\sl npoles}, [R])}.}
\label{NPDT}
@@ -1549,8 +1556,8 @@ for the armature and normally closed and normally
open terminals.
An {\tt I} in the first argument draws open circles for contacts.
\begin{figure}[h!t]
- \ifpdf\vspace*{-\baselineskip}\else\vspace*{-0.5\baselineskip}\fi%
- \input Contact
+% \ifpdf\vspace*{-\baselineskip}\else\vspace*{-0.5\baselineskip}\fi%
+ \input ContactMan
\vspace{-1ex}
\caption{The {\tt contact({\sl chars})}
macro (default drawing direction right)
@@ -1558,11 +1565,12 @@ An {\tt I} in the first argument draws open circles for contacts.
\label{Contact}
\end{figure}
+\pagebreak
The {\tt contacts({\sl poles, chars})} macro in \FR{Contacts}
draws multiple contacts.
\begin{figure}[h!t]
- \ifpdf\vspace*{-\baselineskip}\else\vspace*{-0.5\baselineskip}\fi%
- \input Contacts
+% \ifpdf\vspace*{-\baselineskip}\else\vspace*{-0.5\baselineskip}\fi%
+ \input ContactsMan
\vspace{-1ex}
\caption{The {\tt contacts({\sl poles, chars})}
macro (drawing direction right).}
@@ -1574,8 +1582,8 @@ For drawing relays, the macro
shown in \FR{relaycoil} provides a choice of connection points and
actuator types.
\begin{figure}[h!t]
- \ifpdf\vspace*{-\baselineskip}\else\vspace*{-0.5\baselineskip}\fi%
- \input relaycoil
+% \ifpdf\vspace*{-\baselineskip}\else\vspace*{-0.5\baselineskip}\fi%
+ \input relaycoilMan
\vspace{-1ex}
\caption{The {\tt relaycoil} macro.}
\label{relaycoil}
@@ -1585,8 +1593,8 @@ The {\tt relay({\sl poles, chars})} macro in \FR{Relay}
defines coil terminals {\sl V1, V2} and contact
terminals {\sl P$_i$, C$_i$, O$_i$.}
\begin{figure}[h!t]
- \ifpdf\vspace*{-\baselineskip}\else\vspace*{-0.5\baselineskip}\fi%
- \input Relay
+% \ifpdf\vspace*{-\baselineskip}\else\vspace*{-0.5\baselineskip}\fi%
+ \input RelayMan
\vspace{-1ex}
\caption{The {\tt relay({\sl poles, chars})}
macro (drawing direction right).}
@@ -1597,7 +1605,7 @@ The {\tt jack} and {\tt plug} macros and their defined points are
illustrated in \FR{Jack}.
The first argument of both macros establishes the drawing direction.
\begin{figure}[h!t]
- \input Jack
+ \input JackMan
\vspace{-1ex}
\caption{The {\tt jack(U|D|L|R|{\sl degrees}, {\sl chars})}
and {\tt plug(U|D|L|R|{\sl degrees},[2|3][R])} components
@@ -1616,48 +1624,31 @@ The {\tt jack} and {\tt plug} macros and their defined points are
or {\tt S[M|B]} substrings add auxiliary contacts with
specified make or break points.
-A basic winding macro for magnetic-circuit sketches and similar figures
-is shown in \FR{Windings}.
-For simplicity, the complete spline
-is first drawn and then blanked in appropriate places using the background
-(core) color (\verb!lightgray! for example, default \verb!white!).
-\begin{figure}[h!t]
- \vspace*{-\baselineskip}%
-% \ifpdf\vspace*{-2\baselineskip}\else \vspace{-\baselineskip}\fi
- \input Windings
- \ifpdf\vspace*{-\baselineskip}\else\vspace*{-1ex}\fi
- \caption{The {\tt winding(L|R, diam, pitch, turns, core wid, core color)}
- macro draws a coil with axis along the current drawing direction.
- Terminals {\tt T1} and {\tt T2} are defined.
- Setting the first argument to {\tt R} draws a right-hand winding.}
- \label{Windings}
- \end{figure}
-
A macro for drawing headers is in \FR{Headers},
and some experimental connectors are shown in \FR{Conn} and \FR{Pconn}.
The {\tt tstrip} macro allows ``{\sl key}{\tt =}{\sl value}{\tt ;}'' arguments
+for width and height.
\begin{figure}[h!t]
- \ifpdf\vspace*{-0.5\baselineskip}\fi%
- \input Headers
- \ifpdf{\vspace*{-0.5ex}}\fi%
+% \ifpdf\vspace*{-0.5\baselineskip}\fi%
+ \input HeadersMan
+% \ifpdf{\vspace*{-0.5ex}}\fi%
\caption{Macro {\tt Header(1|2, {\sl rows, wid, ht, type})}.}
\label{Headers}
\end{figure}
-for width and height.
\begin{figure}[h!t]
- \input Conn
- \ifpdf{\vspace*{-0.5ex}}\fi%
+ \input ConnMan
+% \ifpdf{\vspace*{-0.5ex}}\fi%
\caption{Macros {\tt tstrip(R|L|U|D|{\sl degrees}, {\sl chars})},
{\tt ccoax(at} {\sl location}, {\tt M|F, {\sl diameter})},
{\tt tconn(\linespec, >|>>|<|<<|O[F], {\sl wid})}, and
{\tt tbox({\sl text, wid, ht}, <|>|<>,{\sl type})}. }
\label{Conn}
- \ifpdf{\vspace*{-1ex}}\fi%
+% \ifpdf{\vspace*{-1ex}}\fi%
\end{figure}
\begin{figure}[h!t]
- \ifpdf{\vspace*{-1ex}}\fi%
- \input Pconn
- \ifpdf{\vspace*{-0.5ex}}\fi%
+% \ifpdf{\vspace*{-1ex}}\fi%
+ \input PconnMan
+% \ifpdf{\vspace*{-0.5ex}}\fi%
\caption{A small set of power connectors drawn by
{\tt pconnex(R|L|U|D|}{\sl degrees, chars}{\tt)}. Each connector has
an internal {\tt H}, {\tt N}, and where applicable, a {\tt G} shape.}
@@ -1665,6 +1656,23 @@ for width and height.
\end{figure}
\pagebreak
+A basic winding macro for magnetic-circuit sketches and similar figures
+is shown in \FR{Windings}.
+For simplicity, the complete spline
+is first drawn and then blanked in appropriate places using the background
+(core) color (\verb!lightgray! for example, default \verb!white!).
+\begin{figure}[h!t]
+ \vspace*{-\baselineskip}%
+% \ifpdf\vspace*{-2\baselineskip}\else \vspace{-\baselineskip}\fi
+ \input WindingsMan
+% \ifpdf\vspace*{-\baselineskip}\else\vspace*{-1ex}\fi
+ \caption{The {\tt winding(L|R, diam, pitch, turns, core wid, core color)}
+ macro draws a coil with axis along the current drawing direction.
+ Terminals {\tt T1} and {\tt T2} are defined.
+ Setting the first argument to {\tt R} draws a right-hand winding.}
+ \label{Windings}
+ \end{figure}
+
\subsection{Semiconductors\label{Semiconductors:}}%
\FR{Bip} shows the variants of bipolar transistor macro
{\tt bi\_tr(\linespec,L|R,P,E)}
@@ -1672,9 +1680,9 @@ which contains predefined internal locations {\sl E},
{\sl B}, {\sl C}.
The first argument defines the distance and direction from {\sl E}
\begin{figure}[h!t]
- \ifpdf\vspace*{-0.5\baselineskip}\fi%
- \input Bip
- \ifpdf\vspace*{-0.5\baselineskip}\fi%
+% \ifpdf\vspace*{-0.5\baselineskip}\fi%
+ \input BipMan
+% \ifpdf\vspace*{-0.5\baselineskip}\fi%
\caption{Variants of bipolar transistor {\tt bi\_tr(\linespec,L|R,P,E)}
(current direction upward).}
\label{Bip}
@@ -1727,15 +1735,15 @@ and a thyristor macro with predefined internal locations
{\sl A,} {\sl K} is in \FR{thyristor}.
Except for the {\sl G} terminal, a thyristor (the {\tt IEC} variant excluded)
\begin{figure}[h!t]
- \ifpdf\vspace*{-\baselineskip}\else\vspace*{-0.5\baselineskip}\fi%
- \input ujt
- \ifpdf\vspace*{-0.5\baselineskip}\fi%
+% \ifpdf\vspace*{-\baselineskip}\else\vspace*{-0.5\baselineskip}\fi%
+ \input ujtMan
+% \ifpdf\vspace*{-0.5\baselineskip}\fi%
\caption{UJT devices, with current drawing direction {\tt up\_}. }
\label{ujt}
\end{figure}
\begin{figure}[h!t]
- \ifpdf\vspace*{-\baselineskip}\else\vspace*{-0.5\baselineskip}\fi%
- \input thyristor
+% \ifpdf\vspace*{-\baselineskip}\else\vspace*{-0.5\baselineskip}\fi%
+ \input thyristorMan
\vspace*{-1ex}
\caption{The top two rows illustrate use of the
{\tt thyristor({\sl linespec, chars})} macro,
@@ -1761,9 +1769,9 @@ Some FETs with predefined internal locations {\sl S,} {\sl D,} and {\sl G} are
also included, with similar arguments to those of {\tt bi\_tr,} as shown in
\FR{fet}.
\begin{figure}[h!t]
- \ifpdf\vspace*{-\baselineskip}\fi%
- \input fet
- \ifpdf\vspace*{-\baselineskip}\fi%
+% \ifpdf\vspace*{-\baselineskip}\fi%
+ \input fetMan
+% \ifpdf\vspace*{-\baselineskip}\fi%
\caption{JFET, insulated-gate enhancement and depletion MOSFETs,
and simplified versions.
These macros are wrappers that invoke the {\tt mosfet}
@@ -1791,7 +1799,6 @@ temporarily for compatibility.
This system allows considerable freedom in choosing or customizing components,
as illustrated in \FR{fet}.
-%\pagebreak
The number of possible semiconductor symbols is very
large, so these macros must be regarded as prototypes.
Often an element is a minor modification of existing elements. For example,
@@ -1800,8 +1807,8 @@ the {\tt thyristor(\linespec, {\sl chars})} macro illustrated in
Another example is the {\tt tgate} macro shown in \FR{Tgate}, which
also shows a pass transistor.
\begin{figure}[h!t]
- \ifpdf\vspace*{-\baselineskip}\fi%
- \input Tgate
+% \ifpdf\vspace*{-\baselineskip}\fi%
+ \input TgateMan
\caption{The {\tt tgate({\sl linespec,} [B][R|L])} element, derived from
a customized diode and {\tt ebox}, and the
{\tt ptrans(\linespec, [R|L])} macro.
@@ -1811,14 +1818,15 @@ also shows a pass transistor.
\label{Tgate}
\end{figure}
+\pagebreak
Some other non-two-terminal macros are {\tt dot}, which has an
optional argument ``{\tt at} {\sl location}'', the line-thickness
macros, the {\tt fill\_} macro, and {\tt crossover}, which is a useful if
archaic method to show non-touching conductor crossovers, as in
\FR{bistable}.
\begin{figure}[h!t]
- \input bistable
- \vspace{-1ex}
+ \input bistableMan
+% \vspace{-1ex}
\caption{Bipolar transistor circuit, illustrating {\tt crossover}
and colored elements.}
\label{bistable}
@@ -1826,13 +1834,12 @@ archaic method to show non-touching conductor crossovers, as in
This figure also illustrates how elements and labels can be colored
using the macro
-
+\par
{\tt rgbdraw({\sl r}, {\sl g}, {\sl b}, {\sl drawing commands})}
-
+\par
\noindent
where the {\sl r, g, b} values are in the range 0 to 1
-(integers from 0 to 255 for \SVG)
- to specify the rgb color.
+(integers from 0 to 255 for \SVG) to specify the rgb color.
This macro is a wrapper for the following, which may be more convenient
if many elements are to be given the same color:
@@ -1917,7 +1924,7 @@ which have one input {\tt In1} unless they are given a
first argument, which is treated as the line specification of a
two-terminal element.
\begin{figure}[h!]
- \input Logic
+ \input LogicMan
\caption{Basic logic gates. The input and output locations of
a three-input NOR gate are shown. Inputs are negated by
including an {\tt N} in the second argument letter sequence. A {\tt B}
@@ -1977,27 +1984,6 @@ If the fifth argument begins with {\tt sprintf} or a double quote then
the argument is copied literally; otherwise it is treated as scriptsize
mathematics.
-The macro {\tt BUFFER\_gate(\linespec,[N|B],{\sl wid},{\sl ht},%
- [N|P]\char42,[N|P]\char42)}
-is a wrapper for the composite element {\tt BUFFER\_gen}.
-If the second argument is {\tt B}, then a box gate is drawn; otherwise
-the gate is triangular. Arguments 5 and 6 determine the number of defined
-points along the northeast and southeast edges respectively, with an {\tt N}
-adding a NOT circle.
-If the first argument is non-blank however, then the buffer is drawn along
-an invisible line like a two-terminal element, which is convenient sometimes
-but requires internal locations of the block to be referenced using
-{\tt last []}, as shown in \FR{Buffer}.
-\begin{figure}[h!t]
- \input Buffer
- \caption{The {\tt BUFFER\_gate} and {\tt BUFFER\_gen} macros.
- The bottom two examples show how the gate can be drawn as a two-terminal
- macro but internal block locations must be referenced using
- {\tt last []}.}
- \label{Buffer}
- \end{figure}
-
-%\pagebreak
A good strategy for drawing complex logic circuits might be summarized
as follows:
\begin{itemize}\itemsep=0pt
@@ -2021,17 +2007,37 @@ as follows:
\end{itemize}
\end{itemize}
+The macro {\tt BUFFER\_gate(\linespec,[N|B],{\sl wid},{\sl ht},%
+ [N|P]\char42,[N|P]\char42)}
+is a wrapper for the composite element {\tt BUFFER\_gen}.
+If the second argument is {\tt B}, then a box gate is drawn; otherwise
+the gate is triangular. Arguments 5 and 6 determine the number of defined
+points along the northeast and southeast edges respectively, with an {\tt N}
+adding a NOT circle.
+If the first argument is non-blank however, then the buffer is drawn along
+an invisible line like a two-terminal element, which is convenient sometimes
+but requires internal locations of the block to be referenced using
+{\tt last []}, as shown in \FR{Buffer}.
+\begin{figure}[h!t]
+ \input Buffer
+ \caption{The {\tt BUFFER\_gate} and {\tt BUFFER\_gen} macros.
+ The bottom two examples show how the gate can be drawn as a two-terminal
+ macro but internal block locations must be referenced using
+ {\tt last []}.}
+ \label{Buffer}
+ \end{figure}
+
\FR{Multiplexer} shows a multiplexer block with variations, and
\FR{Demultiplexer} shows
the very similar demultiplexer.
\begin{figure}[h!t]
- \input Multiplexer
+ \input MultiplexerMan
\caption{The {\tt Mux({\sl input count}, {\sl label},
[L][B|H|X][N[$n$]|S[$n$]][[N]OE],{\sl wid},{\sl ht})} macro.}
\label{Multiplexer}
\end{figure}
\begin{figure}[h!t]
- \input Demultiplexer
+ \input DemultiplexerMan
\caption{The {\tt Demux({\sl input count}, {\sl label},
[L][B|H|X][N[$n$]|S[$n$]][[N]OE],{\sl wid},{\sl ht})} macro.}
\label{Demultiplexer}
@@ -2047,7 +2053,7 @@ leftpins, toppins, rightpins, bottompins, pinlength}{\tt )}.
\caption{The {\tt FlipFlop} and {\tt FlipFlopX} macros, with variations.}
\label{FlipFlops}
\end{figure}
-The first argument modifies the box (labelled Chip) default specification.
+The first argument modifies the box (labelled {\sl Chip}) default specification.
Each of arguments 3 to 6 is null or a string of {\sl pinspecs} separated
by semicolons ({\tt;}).
A {\sl pinspec} is either empty (null) or of the form
@@ -2062,13 +2068,12 @@ base. Semicolons are
not allowed in labels; use e.g., \verb|\char59{}| instead. To put a bar over
a label, use {\tt lg\_bartxt(}{\sl label}{\tt)}.
The {\sl pinopts} are {\tt [L|M|I|O][N][E]} as for the \verb|lg_pin| macro.
-Option argument 7 is the pin length in drawing units.
+Optional argument 7 is the pin length in drawing units.
-\pagebreak
Customized gates can be defined simply.
For example, the following code defines the custom flipflops in \FR{ShiftR}.
\begin{figure}[h!t]
- \input ShiftR
+ \input ShiftRMan
\caption{A 5-bit shift register.}
\label{ShiftR}
\end{figure}
@@ -2077,7 +2082,7 @@ define(`customFF',`FlipFlopX(wid 10*L_unit ht FF_ht*L_unit,,
:S;NE:CK;:R, N:PR, :Q;;ifelse(`$1',1,:lg_bartxt(Q)), N:CLR) ')
\end{verbatim}
This definition makes use of macros \verb|L_unit| and
-\verb|FF_ht| that predefine dimensions.
+\verb|FF_ht| that predefine default dimensions.
There are three pins on the right side; the centre pin is null and
the bottom is null if the first macro argument is 1.
@@ -2088,7 +2093,7 @@ of which can be specified as macro arguments.
\begin{figure}[h!t]
% \ifpdf\vspace*{-\baselineskip}\fi%
\input Dac
- \ifpdf\vspace*{-\baselineskip}\fi%
+% \ifpdf\vspace*{-\baselineskip}\fi%
\caption{The {\tt dac({\sl width,height},nIn,nN,nOut,nS)}
and {\tt adc({\sl width,height},nIn,nN,nOut,nS)} macros.}
\label{Dac}
@@ -2097,6 +2102,52 @@ of which can be specified as macro arguments.
In addition to the logic gates described here, some experimental
IC chip diagrams are included with the distributed example files.
+\xection{Integrated circuits\label{ICs:}}
+Developing a definitive library of integrated circuits is problematic
+because context may determine how they should be drawn. Logical clarity
+may require drawing a functional diagram in which the connection pins are
+not in the physical order of a terminal diagram, for example. Circuit
+boards and connectors are similar. Although the geometries are simple,
+managing lists of pin locations and labels can be tedious and repetitive.
+
+The many-argument macro
+ {\tt lg\_pin( {\sl location, label, Picname,} n|e|s|w [L|M|I|O][N][E],
+ {\sl pinno, optional length})}
+can be used to draw a variety of pins as illustrated in the \FR{sampleIC}.
+To draw the left-side pins, for example, one can write
+\begin{verbatim}
+ lg_pin( U.nw-(0,lg_pinsep), Vin, Pin1, w )
+ lg_pin( U.nw-(0,2*lg_pinsep),,, wL )
+\end{verbatim}
+\noindent
+and so on.
+\begin{figure}[h!]
+ \parbox{\textwidth}{\small\verbatiminput{sampleIC.m4}}%
+ \hfill\llap{\raise-0.15in\hbox{\input sampleIC }}%
+ \vspace*{-\baselineskip}%
+ \caption{ An imaginary 16-pin integrated circuit and its code.
+ Pin variations defined by the first {\tt Loopover\_}
+ are shown on the left; and text, pic labels, and pin
+ numbers are defined on the right.
+ The third and successive arguments of the second
+ {\tt Loopover\_}
+ are {\tt ;}-separated pin number, text, and pin type. The
+ semicolons are changed to commas by the {\tt patsubst} \Mfour\ macro
+ and the {\tt Upin} macro gives the resulting arguments to {\tt lg\_pin}.
+\label{sampleIC}}%
+ \end{figure}
+Each pin can also be given a \pic\ name, some text
+to indicate function, and a number.
+
+To reduce the tedium of adding the pins by hand, a list
+can be given to the
+{\tt Loopover\_(\char96{}variable\char39,
+\char96{}{\sl actions}\char39,
+{\sl value1, value2, $\ldots$})}
+which executes the given actions successively with
+ {\sl variable} = {\sl value1}, {\sl value2} $ldots$ and the
+ counter {\tt m4Lx} set to 1, 2, $\ldots$ as in the diagram.
+
\xection{Element and diagram scaling\label{Scaling:}}
There are several issues related to scale changes. You may wish to use
@@ -2217,6 +2268,7 @@ If you develop a library of custom macros in the installation
directory then the statement {\tt include(}{\sl mylibrary}{\tt.m4)}
can bring its definitions into play.
+\enlargethispage{\baselineskip}
It may not be necessary to define your own macro if all that is needed is
a small addition to an existing element that is defined in an enclosing
\verb|[ ]| block. After the element arguments are expanded,
@@ -2235,10 +2287,6 @@ to defer macro expansion. Macro arguments are referenced inside a
macro by number; thus {\tt \$1} refers to the first argument.
A few examples will be given.
-\pagebreak
-%\enlargethispage{\baselineskip}
-%\noindent\hbox{}\\ {\bf Example 1:}
-%\par\noindent {\bf Example 1:}
\Example{1}
Custom two-terminal elements can often be defined by writing a wrapper
for an existing element. For example, an enclosed thermal switch
@@ -2253,7 +2301,6 @@ can be defined as shown in \FR{Thermal}.
\label{Thermal}
\end{figure}
-%\par\noindent {\bf Example 2:}
\Example{2}
In the following,
two macros are defined to simplify the repeated drawing
@@ -2261,27 +2308,19 @@ of a series resistor and series inductor, and the macro {\tt tsection} defines
a subcircuit that is replicated several times to generate \FR{Tline}.
{\small \verbatiminput{Tline.m4}}
\begin{figure}[h!]
- \ifpdf\vspace*{-\baselineskip}\fi%
+% \ifpdf\vspace*{-\baselineskip}\fi%
\input Tline
\caption{A lumped model of a transmission line, illustrating the
use of custom macros.}
\label{Tline}
\end{figure}
-\pagebreak
\Example{3}
%\par\noindent {\bf Example 3:}
Composite elements containing several basic elements may be
required. \FR{HybridPi} shows a circuit that can be drawn in
any reference direction prespecified by {\tt Point\_({\sl degrees})},
containing labels that always appear in their natural horizontal orientation.
-\begin{figure}[h!t]
- \vspace*{-0.5ex}
- \input HybridPi
- \vspace*{-0.5ex}
- \caption{A composite element containing several basic elements}
- \label{HybridPi}
- \end{figure}
Two flags in the argument determine the circuit orientation with respect to
the current drawing direction and whether a mirrored circuit is drawn.
The key to writing such a macro is to observe that the \pic language
@@ -2321,10 +2360,15 @@ define(`hybrid_PI_BJT',
`"$\mathrm{r_o}$"' at Ro.c+vec_(hunit/4,0)
`$2' ] ')
\end{verbatim}
+\begin{figure}[h!t]
+ \vspace*{-0.5ex}
+ \input HybridPi
+ \vspace*{-0.5ex}
+ \caption{A composite element containing several basic elements}
+ \label{HybridPi}
+ \end{figure}
-\pagebreak
\Example{4}
-%\par\noindent {\bf Example 4:}
A number of elements have arguments meant explicitly for customization.
\FR{Sinus} customizes the {\tt source} macro to show a cycle of a horizontal
sinusoid with adjustable phase given by argument 2 in degrees,
@@ -2347,9 +2391,7 @@ $3,$4,$5)')
\end{figure}
\Example{5}
-%\par\noindent {\bf Example 5:}
Repeated subcircuits might have different orientations
-% but the potential orientations often
that
include only the element and its mirror image, for example, so the
power of the \verb|vec_()| and \verb|rvec_()| macros is not required.
@@ -2363,7 +2405,7 @@ orientation as shown in \FR{Opto}.
\end{figure}
The macro interface could be something like the following:
-
+\par
{\tt opto( [L|R][A|B] )},
\noindent where an {\tt R} in the argument string signifies a right-left
@@ -2372,7 +2414,7 @@ that is, there are two related elements that might be drawn in either
orientation, for a total of four possibilities.
Those who find such an interface to be too cryptic might prefer to
invoke the macro as
-
+\par
{\tt opto(orientation=Rightleft;type=B)},
\noindent
@@ -2588,9 +2630,11 @@ define(`Q\_d',0.0pt\_\_)dnl}
These definitions are required by the \verb|boxdim| macro
described below.
+\vbox{\strut
The \latex macro
-
+\par
\verb|\boxdimfile{|{\sl dimension file}\verb|}|
+}
\noindent is used to specify an alternative to {\sl jobname.}\verb|dim| as the
dimension file to be written. This simplifies cases where {\sl jobname}
@@ -2661,6 +2705,12 @@ libgen.m4}, to convert points to drawing coordinates.
Sometimes a label needs a plain background in order to blank
out previously drawn components overlapped by the label,
as shown on the left of \FR{fbox}.
+\begin{figure}[h!b]
+ \input woodchips
+ \vspace{-0.5\baselineskip}
+ \caption{Illustrating the {\tt f\_box} macro.}
+ \label{fbox}
+ \end{figure}
The technique illustrated in \FR{boxdims} is automated by the
macro
{\tt f\_box(}{\sl boxspecs}, {\sl label arguments}{\tt )}.
@@ -2675,15 +2725,8 @@ Otherwise, the first argument specifies the box characteristics
\noindent%
For example, the result of the following command
is shown on the right of \FR{fbox}.
-
+\par
\verb|f_box(color "lightgray" thickness 2 rad 2pt__,"\huge$n^{%g}$",4-1)|
-\begin{figure}[h!b]
-%\begin{figure}[b!]
- \input woodchips
- \vspace{-0.5\baselineskip}
- \caption{Illustrating the {\tt f\_box} macro.}
- \label{fbox}
- \end{figure}
More tricks can be played. The example
@@ -2699,6 +2742,7 @@ with {\tt boxcoord(}{\sl object name}{\tt,0,0)} at the lower left
corner of the object, and {\tt boxcoord(}{\sl object name}{\tt,1,1)} at
its upper right.
+\pagebreak
\xection{\PSTricks and other tricks\label{Pstricks:}}
This section applies only to a \pic processor (\dpic) that is
capable of producing output compatible with
@@ -2833,23 +2877,26 @@ to the desired output, whereas \dpic can generate several alternative
formats, as shown in \FR{Workflow}.
One of the easiest methods
for producing web documents is to generate postscript as usual and to
-convert the result to pdf format with Adobe
-Distiller
-%\Textregistered
-or equivalent.
+convert the result to pdf format with Adobe Distiller or equivalent.
+\begin{figure}[h!b]
+% \ifpdf\vspace*{-\baselineskip}\fi%
+ \input Workflow
+% \ifpdf\vspace*{-\baselineskip}\fi%
+ \caption{Output formats produced by \gpic {\tt -t} and \dpic.
+ SVG output can be read by Inkscape or used directly in web documents.}
+ \label{Workflow}
+ \end{figure}
PDFlatex produces pdf without first creating a postscript file
but does not handle \tpic \verb|\special|s, so \dpic must be
installed.
-%\enlargethispage{\baselineskip}
Most PDFLatex distributions are not directly compatible with \PSTricks, but
the \TPGF output of \dpic is compatible with both \latex and PDFLatex.
Several alternative \dpic output formats such as
\mfpic and \MetaPost also work well.
To test \MetaPost, create a file {\sl filename}{\tt .mp}
containing appropriate header lines, for example:
-%\pagebreak
\begin{verbatim}
verbatimtex
\documentclass[11pt]{article}
@@ -2890,14 +2937,6 @@ The \dpic processor is capable of other output formats, as illustrated in
\FR{Workflow} and in example files included with the distribution.
The \latex drawing commands alone or with {\tt eepic} or {\tt pict2e}
extensions are suitable only for simple diagrams.
-\begin{figure}[h!b]
-% \ifpdf\vspace*{-\baselineskip}\fi%
- \input Workflow
- \ifpdf\vspace*{-\baselineskip}\fi%
- \caption{Output formats produced by \gpic {\tt -t} and \dpic.
- SVG output can be read by Inkscape or used directly in web documents.}
- \label{Workflow}
- \end{figure}
\xection{Developer's notes\label{Developersnotes:}}
Years ago in the course of writing a book, I took a few days off to
diff --git a/graphics/circuit_macros/doc/defines.tex b/graphics/circuit_macros/doc/defines.tex
index 8e21bba0ec..cb3a1a5dae 100644
--- a/graphics/circuit_macros/doc/defines.tex
+++ b/graphics/circuit_macros/doc/defines.tex
@@ -34,6 +34,13 @@
\macrodef{abs\_}{abs_}{({\sl number})}
{gen}
{absolute value function}
+\macrodef{ACsymbol}{ACsymbol}{(at {\sl position, len, ht,}
+ [A]U|D|L|R|{\sl degrees}) }
+ {cct}
+ {draw an AC symbol ( 1-cycle sine wave); If arg 4 contains A, two arcs
+ are drawn. The current drawing direction is default, otherwise Up, Down,
+ Left, Right, or at {\sl degrees} slant; e.g.,
+ {\tt ebox; $\lbrace$ ACsymbol(at last [],{,}dimen\_/8) $\rbrace$} }
\macrodef{adc}{adc}{({\sl width,height,nIn,nN,nOut,nS})}
{cct}
{ADC with defined width, height, and number of inputs {\tt In$i$},
@@ -630,6 +637,7 @@ B|CR|D|G|L|LE[R]|P[R]|S|Sh|T|V|v|w|Z|chars,%
MMR = momentary contact on make and release,
O = hand operation button,
P = pushbutton,
+ Pr{\tt [T|M]} = proximity (touch-sensitive or magnetically controlled),
Th = thermal control linkage,
Tr = tripping,
Y = pull switch,
@@ -769,7 +777,7 @@ B|CR|D|G|L|LE[R]|P[R]|S|Sh|T|V|v|w|Z|chars,%
\macrodef{fuse}{fuse}{({\sl linespec, type, wid, ht})}
{cct}
{fuse symbol, type$=$
- {\tt A|B|C|D|S|HB|HC} or {\tt dA=D}\seesect{Twoterminal:}}
+ {\tt A|B|C|D|S|HB|HC|SB} or {\tt dA=D}\seesect{Twoterminal:}}
\macrodef{g\_}{g_}{}
{gen}
{green color value}
@@ -801,12 +809,14 @@ B|CR|D|G|L|LE[R]|P[R]|S|Sh|T|V|v|w|Z|chars,%
\macrodef{grid\_}{grid_}{({\sl x},{\sl y})}
{log}
{absolute grid location}
-\macrodef{ground}{ground}{(at {\sl location}, T, N|F|S|L|P|E, U|D|L|R|{\sl
+\macrodef{ground}{ground}{(at {\sl location}, T, N|F|S|L|P[A]|E, U|D|L|R|{\sl
degrees})}
{cct}
{ ground, without stem for nonblank 2nd arg;
{\tt N}=normal, {\tt F}=frame, {\tt S}=signal, {\tt L}=low-noise,
- {\tt P}=protective, {\tt E}=European; up, down, left, right, or angle
+ {\tt P}=protective,
+ {\tt PA}=protective alternate,
+ {\tt E}=European; up, down, left, right, or angle
from horizontal (default -90)
\seesect{Composite:}}
\macrodef{gshade}{gshade}{({\sl gray value},A,B,...,Z,A,B)}
@@ -821,9 +831,13 @@ B|CR|D|G|L|LE[R]|P[R]|S|Sh|T|V|v|w|Z|chars,%
\macrodef{H\_ht}{H_ht}{}
{log}
{hysteresis symbol dimension in {\tt L\_unit}s}
-\macrodef{Header}{Header}{(1|2,{\sl rows,wid,ht,type})}
+\macrodef{Header}{Header}{(1|2,{\sl rows,wid,ht,box attributes})}
{log}
- {Header block with 1 or 2 columns and square Pin 1
+ {Header block with 1 or 2 columns and square Pin 1:
+ arg1 = number of columns;
+ arg2 = pins per column;
+ arg3,4 = custom wid, ht;
+ arg5 = e.g., {\tt fill\_(0.9)}
\seesect{Composite:}}
\macrodef{HeaderPin}{HeaderPin}{({\sl location, type, Picname},%
n|e|s|w,{\sl length})}
@@ -981,13 +995,19 @@ n|e|s|w,{\sl length})}
\macrodef{lg\_bartxt}{lg_bartxt}{}
{log}
{draws an overline over logic-pin text (except for xfig)}
-\macrodef{lg\_pin}{lg_pin}{({\sl location, logical name, pin label},
+\macrodef{lg\_pin}{lg_pin}{({\sl location, label, Picname},
n|e|s|w[L|M|I|O][N][E], {\sl pinno, optlen})}
{log}
- {comprehensive logic pin; {\tt n|e|s|w}=direction,
- {\tt L}=active low out, {\tt M}=active low in,
- {\tt I}=inward arrow, {\tt O}=outward arrow,
- {\tt N}=negated, {\tt E}=edge trigger}
+ {comprehensive logic pin;
+ {\sl label}= text (indicating logical pin function, usually),
+ {\sl Picname}= pic label for referring to the pin (line),
+ {\tt n|e|s|w}=orientation (north, south, east, west),
+ {\tt L}=active low out,
+ {\tt M}=active low in,
+ {\tt I}=inward arrow,
+ {\tt O}=outward arrow,
+ {\tt N}=negated,
+ {\tt E}=edge trigger}
\macrodef{lg\_pintxt}{lg_pintxt}{}
{log}
{reduced-size text for logic pins}
@@ -1030,7 +1050,8 @@ n|e|s|w,{\sl length})}
value2, $\ldots$})}
{gen}
{Repeat {\sl actions} with {\sl variable} set successively to
- {\sl value1, value2, $\ldots$}, setting macro {\tt m4Lx} to 1, 2, $\ldots$}
+ {\sl value1, value2, $\ldots$}, setting macro {\tt m4Lx} to 1, 2, $\ldots$,
+ terminating if {\sl variable} is nul}
\macrodef{lp\_xy}{lp_xy}{}
{log}
{coordinates used by {\tt lg\_pin}}
@@ -1077,9 +1098,11 @@ n|e|s|w,{\sl length})}
\macrodef{memristor}{memristor}{({\sl linespec, wid, ht})}
{cct}
{memristor element\seesect{Twoterminal:}}
-\macrodef{microphone}{microphone}{( U|D|L|R|{\sl degrees, size})}
+\macrodef{microphone}{microphone}{( A|U|D|L|R|{\sl degrees, size})}
{cct}
- {microphone, {\sl In1} to {\sl In3} defined
+ {microphone; if arg1 = A: upright mic, otherwise arg1 sets direction
+ of standard microphone with
+ {\sl In1} to {\sl In3} defined
\seesect{Composite:}}
\macrodef{Min}{Min}{({\sl arg, arg, $\ldots$})}
{gen}
@@ -1114,6 +1137,7 @@ n|e|s|w,{\sl length})}
{\tt L:} G pin to channel (obsolete);
{\tt [u][d]M:} G pin to channel; u: at drain end; d: at source end
{\tt [u][d]M{\sl n}:} multiple gates G0 to G{\sl n}
+ {\tt Py:} parallel diode;
{\tt Pz:} parallel zener diode;
{\tt Q:} connect B pin to S pin;
{\tt R:} thick channel;
@@ -1278,6 +1302,9 @@ nw,nn,ne,ns,pin lgth,style, other commands})}
%\macrodef{par\_}{par_}{({\sl element},{\sl element},{\sl separation})}
% {cct}
% {two same-direction, same-length elements in parallel}
+\macrodef{proximity}{proximity}{(\sl linespec)}
+ {cct}
+ {proximity detector (= {\tt consource(,P)})}
\macrodef{pc\_\_}{pc__}{}
{gen}
{absolute points}
@@ -1659,15 +1686,22 @@ nw,nn,ne,ns,pin lgth,style, other commands})}
e.g., to draw a dashed sine curve, amplitude {\sl a}, of {\sl n} cycles
of length {\sl x} from {\sl A},
{\tt sinusoid(a,twopi\_*n/x,-pi\_/2,0,x,dashed) with .Start at A}}
-\macrodef{source}{source}{(\linespec,V|v|I|i|AC|B|F|G|H|Q|L|N|P|S|T|X|U|{\sl
- other},{\sl diameter},R)}
- {cct}
- {source, blank or voltage (2 types), current (2 types), AC,
- or type F, G, Q, B, L, N, X or labelled,
- H = step (Heaviside),
- P = pulse, U = square, R = ramp,
- S = sinusoid, T = triangle; other = custom interior label or waveform,
- R = reversed polarity \seesect{Twoterminal:}}
+\macrodef{source}{source}{(\linespec,
+ V|v|I|i|AC|B|F|G|H|J|Q|L|N|P|S[C[r]]|E[r]]|T|X|U|{\sl other},
+ {\sl diameter},R)}
+ {cct}
+ {source, blank or:
+ V = voltage source; v = alternate voltage source;
+ I = current source; i = alternate current source;
+ AC = AC source; B = bulb; F = fluorescent; G =
+ generator; H = step function; L = lamp;
+ N = neon; P = pulse; Q = charge; R = ramp; r = right
+ orientation; S = sinusoid; SC = quarter arc; SE =
+ arc; T = triangle; U = square-wave; X = interior X;
+ other = custom interior label or waveform;
+ arg 4: R = reversed polarity;
+ arg 5 modifies the circle with e.g., color or fill
+ \seesect{Twoterminal:}}
\macrodef{sourcerad\_}{sourcerad_}{}
{cct}
{default source radius}
@@ -1881,11 +1915,14 @@ nw,nn,ne,ns,pin lgth,style, other commands})}
{gen}
{set current direction up \seesect{Placing:}}
\macrodef{variable}{variable}{(`{\sl element}',
- {\tt [A|P|L|[u]N][C|S]},{\sl angle},{\sl length})}
+ {\tt [A|P|L|[u]N|[u]NN][C|S]},{\sl angle},{\sl length})}
{cct}
{overlaid arrow or line to indicate variable 2-terminal element:
{\tt A}=arrow, {\tt P}=preset,
- {\tt L}=linear, {\tt N}=nonlinear, {\tt C}=continuous, {\tt S}=setpwise
+ {\tt L}=linear,
+ {\tt N}= symmetric nonlinear,
+ {\tt C}=continuous, {\tt S}=setpwise; {\tt u} changes the
+ nonlinearity direction
\seesect{Twoterminal:}}
\macrodef{Vcoords\_}{Vcoords_}{({\sl position})}
{gen}
diff --git a/graphics/circuit_macros/doc/fet.tex b/graphics/circuit_macros/doc/fet.tex
new file mode 100644
index 0000000000..7fbd593d5a
--- /dev/null
+++ b/graphics/circuit_macros/doc/fet.tex
@@ -0,0 +1,513 @@
+\begin{tikzpicture}[scale=2.54]
+% dpic version 2020.03.01 option -g for TikZ and PGF 1.01
+\ifx\dpiclw\undefined\newdimen\dpiclw\fi
+\global\def\dpicdraw{\draw[line width=\dpiclw]}
+\global\def\dpicstop{;}
+\dpiclw=0.8bp
+\dpiclw=0.8bp
+\dpicdraw (0,-0.175)
+ --(0.15,-0.175)
+ --(0.15,-0.16393)\dpicstop
+\dpicdraw (0.5,-0.175)
+ --(0.35,-0.175)
+ --(0.35,-0.16393)\dpicstop
+\dpicdraw (0.35,-0.175)
+ --(0.35,0)\dpicstop
+\dpicdraw (0.125,0)
+ --(0.375,0)\dpicstop
+\filldraw[line width=0bp](0.122222,0.083333)
+ --(0.15,0)
+ --(0.177778,0.083333) --cycle\dpicstop
+\dpicdraw (0.15,0.175)
+ --(0.15,0.017568)\dpicstop
+\dpicdraw (0.15,-0.175)
+ --(0.15,0)\dpicstop
+\dpicdraw (0.25,0) circle (0.07874in)\dpicstop
+\draw (0.875,-0.5) node{{\tt j\_fet(right\_ dimen\_,{,},E)}};
+\draw (0.15,0.175) node[above left=-2bp]{$G$};
+\draw (0,-0.175) node[left=-2bp]{$S$};
+\draw (0.5,-0.175) node[right=-2bp]{$D$};
+\dpicdraw (1.127778,-0.175)
+ --(1.127778,0)\dpicstop
+\dpicdraw (0.902778,0)
+ --(1.152778,0)\dpicstop
+\dpicdraw (0.927778,0)
+ --(0.927778,0.175)\dpicstop
+\filldraw[line width=0bp](0.955556,0.066667)
+ --(0.927778,0.15)
+ --(0.9,0.066667) --cycle\dpicstop
+\dpicdraw (0.927778,0.066667)
+ --(0.927778,0.132432)\dpicstop
+\dpicdraw (0.927778,-0.175)
+ --(0.927778,0)\dpicstop
+\draw (1.026389,-0.225) node[below=-2bp]{{\tt j\_fet(,{,}P,)}};
+\draw (0.927778,0.175) node[left=-2bp]{$G$};
+\draw (0.927778,-0.175) node[left=-2bp]{$S$};
+\draw (1.127778,-0.175) node[right=-2bp]{$D$};
+\dpicdraw (1.925,0.175)
+ --(1.925,0)\dpicstop
+\filldraw[line width=0bp](1.897222,0.129167)
+ --(1.925,0.045833)
+ --(1.952778,0.129167) --cycle\dpicstop
+\dpicdraw (1.925,0.129167)
+ --(1.925,0.063402)\dpicstop
+\dpicdraw (2.025,0.175)
+ --(2.025,0)\dpicstop
+\dpicdraw (1.8,0)
+ --(1.875,0)\dpicstop
+\dpicdraw (1.9,0)
+ --(1.95,0)\dpicstop
+\dpicdraw (1.975,0)
+ --(2.05,0)\dpicstop
+\dpicdraw (2.025,-0.05)
+ --(1.825,-0.05)
+ --(1.825,-0.175)\dpicstop
+\dpicdraw (1.925,0.16393)
+ --(1.925,0.175)
+ --(1.825,0.175)
+ --(1.825,0.16393)\dpicstop
+\dpicdraw (1.825,0.175)
+ --(1.825,0)\dpicstop
+\draw (1.925,-0.225) node[below=-2bp]{{\tt e\_fet(,R,{,})}};
+\draw (1.825,-0.175) node[left=-2bp]{$G$};
+\draw (1.825,0.175) node[left=-2bp]{$S$};
+\draw (2.025,0.175) node[right=-2bp]{$D$};
+\dpicdraw (1.925,-1.175)
+ --(1.925,-1)\dpicstop
+\filldraw[line width=0bp](1.897222,-1.045833)
+ --(1.925,-1.129167)
+ --(1.952778,-1.045833) --cycle\dpicstop
+\dpicdraw (1.925,-1.111598)
+ --(1.925,-1.045833)\dpicstop
+\dpicdraw (2.025,-1.175)
+ --(2.025,-1)\dpicstop
+\dpicdraw (1.8,-1)
+ --(1.875,-1)\dpicstop
+\dpicdraw (1.9,-1)
+ --(1.95,-1)\dpicstop
+\dpicdraw (1.975,-1)
+ --(2.05,-1)\dpicstop
+\dpicdraw (2.025,-0.95)
+ --(1.825,-0.95)
+ --(1.825,-0.825)\dpicstop
+\dpicdraw (1.925,-1.16393)
+ --(1.925,-1.175)
+ --(1.825,-1.175)
+ --(1.825,-1.16393)\dpicstop
+\dpicdraw (1.825,-1.175)
+ --(1.825,-1)\dpicstop
+\draw (2.025,-1.375) node[below=-2bp]{{\tt e\_fet(,{,}P)}};
+\dpicdraw (2.825,-0.175)
+ --(2.825,0)\dpicstop
+\filldraw[line width=0bp](2.852778,-0.129167)
+ --(2.825,-0.045833)
+ --(2.797222,-0.129167) --cycle\dpicstop
+\dpicdraw (2.825,-0.129167)
+ --(2.825,-0.063402)\dpicstop
+\dpicdraw (2.925,-0.175)
+ --(2.925,0)\dpicstop
+\dpicdraw (2.7,0)
+ --(2.95,0)\dpicstop
+\dpicdraw (2.925,0.05)
+ --(2.725,0.05)
+ --(2.725,0.175)\dpicstop
+\dpicdraw (2.825,-0.16393)
+ --(2.825,-0.175)
+ --(2.725,-0.175)
+ --(2.725,-0.16393)\dpicstop
+\dpicdraw (2.725,-0.175)
+ --(2.725,0)\dpicstop
+\draw (2.825,-0.225) node[below=-2bp]{{\tt d\_fet(,{,},)}};
+\dpicdraw (2.825,-1.175)
+ --(2.825,-1)\dpicstop
+\filldraw[line width=0bp](2.797222,-1.045833)
+ --(2.825,-1.129167)
+ --(2.852778,-1.045833) --cycle\dpicstop
+\dpicdraw (2.825,-1.111598)
+ --(2.825,-1.045833)\dpicstop
+\dpicdraw (2.925,-1.175)
+ --(2.925,-1)\dpicstop
+\dpicdraw (2.7,-1)
+ --(2.95,-1)\dpicstop
+\dpicdraw (2.925,-0.95)
+ --(2.725,-0.95)
+ --(2.725,-0.825)\dpicstop
+\dpicdraw (2.825,-1.16393)
+ --(2.825,-1.175)
+ --(2.725,-1.175)
+ --(2.725,-1.16393)\dpicstop
+\dpicdraw (2.725,-1.175)
+ --(2.725,-1)\dpicstop
+\draw (2.825,-1.225) node[below=-2bp]{{\tt d\_fet(,{,}P)}};
+\dpicdraw (3.827778,-0.1875)
+ --(3.827778,-0.0125)\dpicstop
+\dpicdraw (3.602778,-0.0125)
+ --(3.852778,-0.0125)\dpicstop
+\dpicdraw (3.627778,-0.1875)
+ --(3.627778,-0.0125)\dpicstop
+\filldraw[line width=0bp](3.6,-0.058333)
+ --(3.627778,-0.141667)
+ --(3.655556,-0.058333) --cycle\dpicstop
+\dpicdraw (3.627778,-0.124098)
+ --(3.627778,-0.058333)\dpicstop
+\dpicdraw (3.627778,0.0375)
+ --(3.827778,0.0375)\dpicstop
+\dpicdraw (3.727778,0.0375)
+ --(3.727778,0.1875)\dpicstop
+\draw (3.726389,-0.2375) node[below=-2bp]{{\tt e\_fet(,{,},S)}};
+\dpicdraw (3.827778,-1.1875)
+ --(3.827778,-1.0125)\dpicstop
+\dpicdraw (3.602778,-1.0125)
+ --(3.852778,-1.0125)\dpicstop
+\dpicdraw (3.627778,-1.1875)
+ --(3.627778,-1.0125)\dpicstop
+\filldraw[line width=0bp](3.655556,-1.141667)
+ --(3.627778,-1.058333)
+ --(3.6,-1.141667) --cycle\dpicstop
+\dpicdraw (3.627778,-1.141667)
+ --(3.627778,-1.075902)\dpicstop
+\dpicdraw (3.627778,-0.9625)
+ --(3.827778,-0.9625)\dpicstop
+\dpicdraw (3.727778,-0.9625)
+ --(3.727778,-0.8125)\dpicstop
+\draw (3.726389,-1.3875) node[below=-2bp]{{\tt e\_fet(,{,}P,S)}};
+\dpicdraw (4.727778,-0.1875)
+ --(4.727778,-0.0125)\dpicstop
+\dpicdraw (4.502778,-0.0125)
+ --(4.752778,-0.0125)\dpicstop
+\dpicdraw[line width=1.6bp](4.527778,-0.029104)
+ --(4.727778,-0.029104)\dpicstop
+\dpicdraw (4.527778,-0.1875)
+ --(4.527778,-0.0125)\dpicstop
+\filldraw[line width=0bp](4.5,-0.058333)
+ --(4.527778,-0.141667)
+ --(4.555556,-0.058333) --cycle\dpicstop
+\dpicdraw (4.527778,-0.124098)
+ --(4.527778,-0.058333)\dpicstop
+\dpicdraw (4.527778,0.0375)
+ --(4.727778,0.0375)\dpicstop
+\dpicdraw (4.627778,0.0375)
+ --(4.627778,0.1875)\dpicstop
+\draw (4.626389,-0.3875) node[below=-2bp]{{\tt d\_fet(,{,},S)}};
+\dpicdraw (4.727778,-1.1875)
+ --(4.727778,-1.0125)\dpicstop
+\dpicdraw (4.502778,-1.0125)
+ --(4.752778,-1.0125)\dpicstop
+\dpicdraw[line width=1.6bp](4.527778,-1.029104)
+ --(4.727778,-1.029104)\dpicstop
+\dpicdraw (4.527778,-1.1875)
+ --(4.527778,-1.0125)\dpicstop
+\filldraw[line width=0bp](4.555556,-1.141667)
+ --(4.527778,-1.058333)
+ --(4.5,-1.141667) --cycle\dpicstop
+\dpicdraw (4.527778,-1.141667)
+ --(4.527778,-1.075902)\dpicstop
+\dpicdraw (4.527778,-0.9625)
+ --(4.727778,-0.9625)\dpicstop
+\dpicdraw (4.627778,-0.9625)
+ --(4.627778,-0.8125)\dpicstop
+\draw (4.626389,-1.2375) node[below=-2bp]{{\tt d\_fet(,{,}P,S)}};
+\dpicdraw (5.6,-0.1625)
+ --(5.6,-0.0375)\dpicstop
+\dpicdraw (5.4,-0.0375)
+ --(5.6,-0.0375)\dpicstop
+\dpicdraw (5.4,-0.1625)
+ --(5.4,-0.0375)\dpicstop
+\dpicdraw (5.4,0.0125)
+ --(5.6,0.0125)\dpicstop
+\dpicdraw (5.5,0.0125)
+ --(5.5,0.1625)\dpicstop
+\draw (5.5,-0.2125) node[below=-2bp]{{\tt c\_fet(,{,},)}};
+\dpicdraw (5.6,-1.1625)
+ --(5.6,-1.0375)\dpicstop
+\dpicdraw (5.4,-1.0375)
+ --(5.6,-1.0375)\dpicstop
+\dpicdraw (5.4,-1.1625)
+ --(5.4,-1.0375)\dpicstop
+\dpicdraw (5.4,-0.9875)
+ --(5.6,-0.9875)\dpicstop
+\dpicdraw (5.5,-0.954167) circle (0.013123in)\dpicstop
+\dpicdraw (5.5,-0.920833)
+ --(5.5,-0.8375)\dpicstop
+\draw (5.5,-1.3625) node[below=-2bp]{{\tt c\_fet(,{,}P)}};
+\dpicdraw (0.473333,-2.127778)
+ --(0.473333,-1.917778)\dpicstop
+\dpicdraw (0.203333,-1.917778)
+ --(0.503333,-1.917778)\dpicstop
+\filldraw[line width=0bp](0.2,-1.817778)
+ --(0.233333,-1.917778)
+ --(0.266667,-1.817778) --cycle\dpicstop
+\dpicdraw (0.233333,-1.707778)
+ --(0.233333,-1.90021)\dpicstop
+\dpicdraw (0.233333,-2.127778)
+ --(0.233333,-1.917778)\dpicstop
+\draw (0.625,-2.227778) node{\tt mosfet(,{,}dGSDF,)};
+\dpiclw=0.4bp
+\filldraw[line width=0bp](0.176412,-1.797833)
+ --(0.233333,-1.757778)
+ --(0.163763,-1.759886) --cycle\dpicstop
+\dpicdraw (0.214992,-1.763892)
+ --(0.083333,-1.807778)\dpicstop
+\draw (0.083333,-1.807778) node[left=-2bp]{\tt dG};
+\filldraw[line width=0bp](0.296412,-1.957833)
+ --(0.353333,-1.917778)
+ --(0.283763,-1.919886) --cycle\dpicstop
+\dpicdraw (0.334992,-1.923892)
+ --(0.053333,-2.017778)\dpicstop
+\draw (0.053333,-2.017778) node[left=-2bp]{\tt F};
+\filldraw[line width=0bp](0.176412,-2.117833)
+ --(0.233333,-2.077778)
+ --(0.163763,-2.079886) --cycle\dpicstop
+\dpicdraw (0.214992,-2.083892)
+ --(0.083333,-2.127778)\dpicstop
+\draw (0.083333,-2.127778) node[left=-2bp]{\tt S};
+\filldraw[line width=0bp](0.542903,-2.079886)
+ --(0.473333,-2.077778)
+ --(0.530254,-2.117833) --cycle\dpicstop
+\dpicdraw (0.491675,-2.083892)
+ --(0.623333,-2.127778)\dpicstop
+\draw (0.623333,-2.127778) node[right=-2bp]{\tt D};
+\dpiclw=0.8bp
+\dpicdraw (1.523333,-2.142778)
+ --(1.523333,-1.932778)\dpicstop
+\dpicdraw (1.253333,-1.932778)
+ --(1.553333,-1.932778)\dpicstop
+\dpicdraw (1.403333,-1.932778)
+ --(1.403333,-1.692778)\dpicstop
+\filldraw[line width=0bp](1.436667,-1.852778)
+ --(1.403333,-1.752778)
+ --(1.37,-1.852778) --cycle\dpicstop
+\dpicdraw (1.403333,-1.852778)
+ --(1.403333,-1.770346)\dpicstop
+\dpicdraw (1.283333,-2.142778)
+ --(1.283333,-1.932778)\dpicstop
+\draw (1.403333,-2.292778) node[below=-2bp]{\tt $\ldots$(,{,}uHSDF,)};
+\dpiclw=0.4bp
+\filldraw[line width=0bp](1.346412,-1.782833)
+ --(1.403333,-1.742778)
+ --(1.333763,-1.744886) --cycle\dpicstop
+\dpicdraw (1.384992,-1.748892)
+ --(1.253333,-1.792778)\dpicstop
+\draw (1.253333,-1.792778) node[left=-2bp]{\tt uH};
+\dpiclw=0.8bp
+\dpicdraw (2.453333,-2.127778)
+ --(2.453333,-1.917778)\dpicstop
+\filldraw[line width=0bp](2.486667,-2.072778)
+ --(2.453333,-1.972778)
+ --(2.42,-2.072778) --cycle\dpicstop
+\dpicdraw (2.453333,-2.072778)
+ --(2.453333,-1.990346)\dpicstop
+\dpicdraw (2.573333,-2.127778)
+ --(2.573333,-1.917778)\dpicstop
+\dpicdraw (2.303333,-1.917778)
+ --(2.393333,-1.917778)\dpicstop
+\dpicdraw (2.423333,-1.917778)
+ --(2.483333,-1.917778)\dpicstop
+\dpicdraw (2.513333,-1.917778)
+ --(2.603333,-1.917778)\dpicstop
+\dpicdraw (2.573333,-1.857778)
+ --(2.333333,-1.857778)
+ --(2.333333,-1.707778)\dpicstop
+\dpicdraw (2.453333,-2.116708)
+ --(2.453333,-2.127778)
+ --(2.333333,-2.127778)
+ --(2.333333,-2.116708)\dpicstop
+\dpicdraw (2.333333,-2.127778)
+ --(2.333333,-1.917778)\dpicstop
+\draw (2.453333,-2.177778) node[below=-2bp]{\tt $\ldots$(,{,}dMEDSQuB,)};
+\dpiclw=0.4bp
+\filldraw[line width=0bp](2.276412,-1.797833)
+ --(2.333333,-1.757778)
+ --(2.263763,-1.759886) --cycle\dpicstop
+\dpicdraw (2.314992,-1.763892)
+ --(2.183333,-1.807778)\dpicstop
+\draw (2.183333,-1.807778) node[left=-2bp]{\tt dM};
+\filldraw[line width=0bp](2.370115,-1.962636)
+ --(2.423333,-1.917778)
+ --(2.354211,-1.925934) --cycle\dpicstop
+\dpicdraw (2.405593,-1.925465)
+ --(2.123333,-2.047778)\dpicstop
+\draw (2.123333,-2.047778) node[left=-2bp]{\tt E};
+\filldraw[line width=0bp](2.342649,-2.175481)
+ --(2.393333,-2.127778)
+ --(2.324761,-2.139703) --cycle\dpicstop
+\dpicdraw (2.376041,-2.136424)
+ --(2.293333,-2.177778)\dpicstop
+\draw (2.293333,-2.177778) node[left=-2bp]{\tt Q};
+\filldraw[line width=0bp](2.522903,-1.954886)
+ --(2.453333,-1.952778)
+ --(2.510254,-1.992833) --cycle\dpicstop
+\dpicdraw (2.471675,-1.958892)
+ --(2.693333,-2.032778)\dpicstop
+\draw (2.693333,-2.032778) node[right=-2bp]{\tt uB};
+\dpiclw=0.8bp
+\dpicdraw (3.503333,-2.127778)
+ --(3.503333,-1.917778)\dpicstop
+\filldraw[line width=0bp](3.536667,-2.072778)
+ --(3.503333,-1.972778)
+ --(3.47,-2.072778) --cycle\dpicstop
+\dpicdraw (3.503333,-2.072778)
+ --(3.503333,-1.990346)\dpicstop
+\dpicdraw (3.623333,-2.127778)
+ --(3.623333,-1.917778)\dpicstop
+\dpicdraw (3.353333,-1.917778)
+ --(3.443333,-1.917778)\dpicstop
+\dpicdraw (3.473333,-1.917778)
+ --(3.533333,-1.917778)\dpicstop
+\dpicdraw (3.563333,-1.917778)
+ --(3.653333,-1.917778)\dpicstop
+\dpicdraw (3.383333,-1.857778)
+ --(3.623333,-1.857778)
+ --(3.623333,-1.707778)\dpicstop
+\dpicdraw (3.383333,-2.127778)
+ --(3.383333,-1.917778)\dpicstop
+\draw (3.503333,-2.277778) node[below=-2bp]{{\tt $\ldots$(,{,}uMEDSuB)}};
+\draw (3.623333,-1.707778) node[left=-2bp]{$G$};
+\draw (3.383333,-2.127778) node[left=-2bp]{$S$};
+\draw (3.623333,-2.127778) node[right=-2bp]{$D$};
+\draw (3.503333,-2.127778) node[below=-2bp]{$B$};
+\dpicdraw (4.643333,-2.112778)
+ --(4.643333,-1.962778)\dpicstop
+\dpicdraw (4.403333,-1.962778)
+ --(4.643333,-1.962778)\dpicstop
+\dpicdraw (4.403333,-2.112778)
+ --(4.403333,-1.962778)\dpicstop
+\dpicdraw (4.403333,-1.902778)
+ --(4.643333,-1.902778)\dpicstop
+\dpicdraw (4.523333,-1.862778) circle (0.015748in)\dpicstop
+\dpicdraw (4.523333,-1.822778)
+ --(4.523333,-1.722778)\dpicstop
+\draw (4.523333,-2.162778) node[below=-2bp]{\tt $\ldots$(,{,}ZSDFdT,)};
+\dpiclw=0.4bp
+\filldraw[line width=0bp](4.370335,-2.05406)
+ --(4.403333,-1.992778)
+ --(4.342051,-2.025776) --cycle\dpicstop
+\dpicdraw (4.389662,-2.006449)
+ --(4.323333,-2.072778)\dpicstop
+\draw (4.323333,-2.072778) node[left=-2bp]{\tt Z};
+\filldraw[line width=0bp](4.520367,-2.007933)
+ --(4.573333,-1.962778)
+ --(4.504258,-1.971321) --cycle\dpicstop
+\dpicdraw (4.323333,-2.072778)
+ --(4.555637,-1.970564)\dpicstop
+\filldraw[line width=0bp](4.577324,-2.08485)
+ --(4.643333,-2.062778)
+ --(4.576074,-2.04487) --cycle\dpicstop
+\dpicdraw (4.323333,-2.072778)
+ --(4.624009,-2.063382)\dpicstop
+\filldraw[line width=0bp](4.592903,-1.744886)
+ --(4.523333,-1.742778)
+ --(4.580254,-1.782833) --cycle\dpicstop
+\dpicdraw (4.541675,-1.748892)
+ --(4.763333,-1.822778)\dpicstop
+\draw (4.763333,-1.822778) node[right=-2bp]{\tt dT};
+\dpiclw=0.8bp
+\dpicdraw (5.483333,-1.917778)
+ --(5.273333,-1.917778)\dpicstop
+\filldraw[line width=0bp](5.328333,-1.951111)
+ --(5.428333,-1.917778)
+ --(5.328333,-1.884444) --cycle\dpicstop
+\dpicdraw (5.410765,-1.917778)
+ --(5.328333,-1.917778)\dpicstop
+\dpicdraw (5.483333,-1.797778)
+ --(5.273333,-1.797778)\dpicstop
+\dpicdraw (5.273333,-2.067778)
+ --(5.273333,-1.977778)\dpicstop
+\dpicdraw (5.273333,-1.947778)
+ --(5.273333,-1.887778)\dpicstop
+\dpicdraw (5.273333,-1.857778)
+ --(5.273333,-1.767778)\dpicstop
+\dpicdraw (5.213333,-1.797778)
+ --(5.213333,-2.037778)
+ --(5.063333,-2.037778)\dpicstop
+\dpicdraw (5.603333,-1.797778)
+ --(5.603333,-1.874477)\dpicstop
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (5.603333,-1.874477)
+ --(5.653333,-1.874477)
+ --(5.603333,-1.955544)
+ --(5.553333,-1.874477)
+ --(5.603333,-1.874477)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\dpicdraw (5.549282,-1.936079)
+ --(5.549282,-1.961079)
+ --(5.657385,-1.961079)
+ --(5.657385,-1.986079)\dpicstop
+\dpicdraw (5.603333,-1.961079)
+ --(5.603333,-2.037778)\dpicstop
+\dpicdraw (5.483333,-2.037778)
+ --(5.603333,-2.037778)
+ --(5.603333,-1.797778)
+ --(5.483333,-1.797778)\dpicstop
+\dpicdraw (5.472264,-1.917778)
+ --(5.483333,-1.917778)
+ --(5.483333,-2.037778)
+ --(5.472264,-2.037778)\dpicstop
+\dpicdraw (5.483333,-2.037778)
+ --(5.273333,-2.037778)\dpicstop
+\dpicdraw (5.603333,-2.037778)
+ --(5.603333,-2.157778)\dpicstop
+\dpicdraw (5.603333,-1.797778)
+ --(5.603333,-1.677778)\dpicstop
+\dpicdraw (5.423333,-1.917778) circle (0.11811in)\dpicstop
+\draw (5.393333,-2.367778) node[below=-2bp]{\tt IRF4905};
+\draw (5.063333,-2.037778) node[left=-2bp]{$G$};
+\draw (5.603333,-1.677778) node[above right=-2bp]{$D$};
+\draw (5.603333,-2.157778) node[below right=-2bp]{$S$};
+\dpicdraw (0.2,-1.175)
+ --(0.2,-1)\dpicstop
+\filldraw[line width=0bp](0.172222,-1.045833)
+ --(0.2,-1.129167)
+ --(0.227778,-1.045833) --cycle\dpicstop
+\dpicdraw (0.2,-1.111598)
+ --(0.2,-1.045833)\dpicstop
+\dpicdraw (0.3,-1.175)
+ --(0.3,-1)\dpicstop
+\dpicdraw (0.075,-1)
+ --(0.325,-1)\dpicstop
+\dpicdraw (0.075,-0.843875)
+ --(0.075,-0.95)
+ --(0.158333,-0.95)\dpicstop
+\dpicdraw (0.241667,-0.804388)
+ --(0.241667,-0.95)
+ --(0.325,-0.95)\dpicstop
+\dpicdraw (0.2,-1.16393)
+ --(0.2,-1.175)
+ --(0.1,-1.175)
+ --(0.1,-1.16393)\dpicstop
+\dpicdraw (0.1,-1.175)
+ --(0.1,-1)\dpicstop
+\dpicdraw (0.2,-1) circle (0.07874in)\dpicstop
+\draw (0.075,-0.843875) node[above left=-2bp]{$G0$};
+\draw (0.241667,-0.804388) node[above right=-2bp]{$G1$};
+\draw (0.725,-1.48) node{\tt mosfet(,{,}dBSDFQM1,E)};
+\dpicdraw (1.025,-1.175)
+ --(1.025,-1)\dpicstop
+\filldraw[line width=0bp](0.997222,-1.045833)
+ --(1.025,-1.129167)
+ --(1.052778,-1.045833) --cycle\dpicstop
+\dpicdraw (1.025,-1.111598)
+ --(1.025,-1.045833)\dpicstop
+\dpicdraw (1.125,-1.175)
+ --(1.125,-1)\dpicstop
+\dpicdraw (0.9,-1)
+ --(1.15,-1)\dpicstop
+\dpicdraw (1.15,-0.8)
+ --(1.15,-0.95)
+ --(1.066667,-0.95)\dpicstop
+\dpicdraw (0.983333,-0.8)
+ --(0.983333,-0.95)
+ --(0.9,-0.95)\dpicstop
+\dpicdraw (1.025,-1.16393)
+ --(1.025,-1.175)
+ --(0.925,-1.175)
+ --(0.925,-1.16393)\dpicstop
+\dpicdraw (0.925,-1.175)
+ --(0.925,-1)\dpicstop
+\draw (1.15,-0.8) node[above right=-2bp]{$G0$};
+\draw (0.983333,-0.8) node[above left=-2bp]{$G1$};
+\draw (1.025,-1.275) node{\tt ...(,{,}dBSDFQuM1)};
+\end{tikzpicture}
+\vspace*{-0.5\baselineskip}
diff --git a/graphics/circuit_macros/doc/fet.m4 b/graphics/circuit_macros/doc/fetMan.m4
index 08498ef83d..08498ef83d 100644
--- a/graphics/circuit_macros/doc/fet.m4
+++ b/graphics/circuit_macros/doc/fetMan.m4
diff --git a/graphics/circuit_macros/doc/relaycoil.m4 b/graphics/circuit_macros/doc/relaycoilMan.m4
index b3273794cd..b3273794cd 100644
--- a/graphics/circuit_macros/doc/relaycoil.m4
+++ b/graphics/circuit_macros/doc/relaycoilMan.m4
diff --git a/graphics/circuit_macros/doc/sampleIC.m4 b/graphics/circuit_macros/doc/sampleIC.m4
new file mode 100644
index 0000000000..bf2bb2358e
--- /dev/null
+++ b/graphics/circuit_macros/doc/sampleIC.m4
@@ -0,0 +1,16 @@
+.PS
+log_init
+command "\small\sf"
+
+ U: box wid 18*L_unit ht 9*lg_pinsep
+
+ Loopover_(`x',
+ `lg_pin(U.nw-(0,m4Lx*lg_pinsep),,,w`'x)',
+ nul,L,M,I,O,N,E,NE)
+
+ define(`Upin',
+ `lg_pin(U.ne-(0,(17-`$1')*lg_pinsep),`$2',Pin`$1',e`$3',`$1',8*L_unit)')
+ Loopover_(`x',
+ `Upin(patsubst(x,;,`,'))',
+ 16;Vin;, 15;D0;L, 14;D1;M, 13;D2;I, 12;D3;O, 11;D4;N, 10;D5;E, 9;D6;NE )
+.PE
diff --git a/graphics/circuit_macros/doc/thyristor.tex b/graphics/circuit_macros/doc/thyristor.tex
new file mode 100644
index 0000000000..33b2c5261c
--- /dev/null
+++ b/graphics/circuit_macros/doc/thyristor.tex
@@ -0,0 +1,561 @@
+\begin{tikzpicture}[scale=2.54]
+% dpic version 2020.03.01 option -g for TikZ and PGF 1.01
+\ifx\dpiclw\undefined\newdimen\dpiclw\fi
+\global\def\dpicdraw{\draw[line width=\dpiclw]}
+\global\def\dpicstop{;}
+\dpiclw=0.8bp
+\dpiclw=0.8bp
+\dpicdraw (-2.38478,-0.179985)
+ --(-2.38478,-0.3189)\dpicstop
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (-2.38478,-0.3189)
+ --(-2.343113,-0.3189)
+ --(-2.38478,-0.385534)
+ --(-2.426446,-0.3189)
+ --(-2.38478,-0.3189)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\dpicdraw (-2.430498,-0.391069)
+ --(-2.339061,-0.391069)\dpicstop
+\dpicdraw (-2.363946,-0.391069)
+ --(-2.32228,-0.463238)\dpicstop
+\dpicdraw (-2.38478,-0.391069)
+ --(-2.38478,-0.529985)\dpicstop
+\draw (-2.38478,-0.179985) node[above=-2bp]{\sl A};
+\draw (-2.38478,-0.529985) node[below=-2bp]{\sl K};
+\draw (-2.32228,-0.463238) node[right=-2bp]{\sl G};
+\draw (-2.376389,-0.779985) node{\tt thyristor};
+\dpicdraw (-1.876389,-0.179985)
+ --(-1.876389,-0.3189)\dpicstop
+\dpicdraw (-1.876389,-0.3189)
+ --(-1.813889,-0.427154)\dpicstop
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (-1.834722,-0.3189)
+ --(-1.793056,-0.3189)
+ --(-1.834722,-0.385534)
+ --(-1.876389,-0.3189)
+ --(-1.834722,-0.3189)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\dpicdraw (-1.963774,-0.391069)
+ --(-1.789004,-0.391069)\dpicstop
+\dpicdraw (-1.963774,-0.3189)
+ --(-1.789004,-0.3189)\dpicstop
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (-1.918056,-0.391069)
+ --(-1.876389,-0.391069)
+ --(-1.918056,-0.324435)
+ --(-1.959722,-0.391069)
+ --(-1.918056,-0.391069)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\dpicdraw (-1.876389,-0.391069)
+ --(-1.876389,-0.529985)\dpicstop
+\draw (-1.876389,-0.179985) node[above=-2bp]{\sl T1};
+\draw (-1.876389,-0.529985) node[below=-2bp]{\sl T2};
+\draw (-1.813889,-0.427154) node[below right=-2bp]{\sl G};
+\draw (-1.876389,-0.879985) node{\tt ...(,B)};
+\dpicdraw (-1.376389,-0.179985)
+ --(-1.376389,-0.3439)\dpicstop
+\dpicdraw (-1.376389,-0.3439)
+ --(-1.438889,-0.452154)\dpicstop
+\dpicdraw (-1.418056,-0.3439)
+ --(-1.376389,-0.3439)
+ --(-1.418056,-0.410534)
+ --(-1.459722,-0.3439)
+ --(-1.418056,-0.3439)\dpicstop
+\dpicdraw (-1.463774,-0.416069)
+ --(-1.289004,-0.416069)\dpicstop
+\dpicdraw (-1.463774,-0.3439)
+ --(-1.289004,-0.3439)\dpicstop
+\dpicdraw (-1.334722,-0.416069)
+ --(-1.293056,-0.416069)
+ --(-1.334722,-0.349435)
+ --(-1.376389,-0.416069)
+ --(-1.334722,-0.416069)\dpicstop
+\dpicdraw (-1.376389,-0.416069)
+ --(-1.376389,-0.579985)\dpicstop
+\draw (-1.376389,-0.179985) node[above=-2bp]{\sl T1};
+\draw (-1.376389,-0.579985) node[below=-2bp]{\sl T2};
+\draw (-1.438889,-0.452154) node[below left=-2bp]{\sl G};
+\draw (-1.376389,-0.799985) node{\tt ...(,BRK)};
+\dpicdraw (-0.776389,-0.179985)
+ --(-0.776389,-0.3189)\dpicstop
+\dpicdraw (-0.776389,-0.3189)
+ --(-0.693056,-0.463238)
+ --(-0.637945,-0.463238)\dpicstop
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (-0.734722,-0.3189)
+ --(-0.693056,-0.3189)
+ --(-0.734722,-0.385534)
+ --(-0.776389,-0.3189)
+ --(-0.734722,-0.3189)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\dpicdraw (-0.863774,-0.391069)
+ --(-0.689004,-0.391069)\dpicstop
+\dpicdraw (-0.863774,-0.3189)
+ --(-0.689004,-0.3189)\dpicstop
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (-0.818056,-0.391069)
+ --(-0.776389,-0.391069)
+ --(-0.818056,-0.324435)
+ --(-0.859722,-0.391069)
+ --(-0.818056,-0.391069)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\dpicdraw (-0.776389,-0.391069)
+ --(-0.776389,-0.529985)\dpicstop
+\dpicdraw (-0.776389,-0.354985) circle (0.068898in)\dpicstop
+\draw (-0.776389,-0.179985) node[above=-2bp]{\sl T1};
+\draw (-0.776389,-0.529985) node[below=-2bp]{\sl T2};
+\draw (-0.637945,-0.463238) node[below right=-2bp]{\sl G};
+\draw (-0.776389,-0.879985) node{\tt ...(,BE)};
+\dpicdraw (-0.28478,-0.179985)
+ --(-0.28478,-0.3189)\dpicstop
+\dpicdraw (-0.28478,-0.3189)
+ --(-0.243113,-0.3189)
+ --(-0.28478,-0.385534)
+ --(-0.326446,-0.3189)
+ --(-0.28478,-0.3189)\dpicstop
+\dpicdraw (-0.330498,-0.391069)
+ --(-0.239061,-0.391069)\dpicstop
+\dpicdraw (-0.263946,-0.391069)
+ --(-0.22228,-0.463238)\dpicstop
+\dpicdraw (-0.28478,-0.391069)
+ --(-0.28478,-0.529985)\dpicstop
+\draw (-0.28478,-0.179985) node[above=-2bp]{\sl A};
+\draw (-0.28478,-0.529985) node[below=-2bp]{\sl K};
+\draw (-0.22228,-0.463238) node[right=-2bp]{\sl G};
+\draw (-0.276389,-0.879985) node{\tt ...(,A)};
+\dpicdraw (0.21522,-0.179985)
+ --(0.21522,-0.3189)\dpicstop
+\dpicdraw (0.21522,-0.3189)
+ --(0.256887,-0.3189)
+ --(0.21522,-0.385534)
+ --(0.21522,-0.3189)\dpicstop
+\dpicdraw (0.21522,-0.3189)
+ --(0.173554,-0.3189)\dpicstop
+\dpicdraw (0.169502,-0.391069)
+ --(0.260939,-0.391069)\dpicstop
+\dpicdraw (0.236054,-0.391069)
+ --(0.27772,-0.463238)\dpicstop
+\dpicdraw (0.21522,-0.391069)
+ --(0.21522,-0.529985)\dpicstop
+\draw (0.21522,-0.179985) node[above=-2bp]{\sl A};
+\draw (0.21522,-0.529985) node[below=-2bp]{\sl K};
+\draw (0.27772,-0.463238) node[right=-2bp]{\sl G};
+\draw (0.223611,-0.749985) node{\tt ...(,F)};
+\dpicdraw (0.873611,-0.179985)
+ --(0.873611,-0.3189)\dpicstop
+\dpicdraw (0.873611,-0.3189)
+ --(0.790278,-0.463238)
+ --(0.735167,-0.463238)\dpicstop
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (0.831944,-0.3189)
+ --(0.873611,-0.3189)
+ --(0.831944,-0.385534)
+ --(0.790278,-0.3189)
+ --(0.831944,-0.3189)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\dpicdraw (0.786226,-0.391069)
+ --(0.960996,-0.391069)\dpicstop
+\dpicdraw (0.786226,-0.3189)
+ --(0.960996,-0.3189)\dpicstop
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (0.915278,-0.391069)
+ --(0.956944,-0.391069)
+ --(0.915278,-0.324435)
+ --(0.873611,-0.391069)
+ --(0.915278,-0.391069)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\dpicdraw (0.873611,-0.391069)
+ --(0.873611,-0.529985)\dpicstop
+\dpicdraw (0.873611,-0.354985) circle (0.068898in)\dpicstop
+\draw (0.873611,-0.179985) node[above=-2bp]{\sl T1};
+\draw (0.873611,-0.529985) node[below=-2bp]{\sl T2};
+\draw (0.735167,-0.463238) node[below left=-2bp]{\sl G};
+\draw (0.873611,-0.879985) node{\tt ...(,BRE)};
+\dpicdraw (1.623611,-0.179985)
+ --(1.623611,-0.3189)\dpicstop
+\dpicdraw (1.623611,-0.3189)
+ --(1.665278,-0.3189)
+ --(1.623611,-0.385534)
+ --(1.581944,-0.3189)
+ --(1.623611,-0.3189)\dpicstop
+\dpicdraw (1.623611,-0.3189)
+ --(1.623611,-0.391069)\dpicstop
+\dpicdraw (1.577893,-0.391069)
+ --(1.66933,-0.391069)\dpicstop
+\dpicdraw (1.602778,-0.391069)
+ --(1.561111,-0.463238)
+ --(1.486111,-0.463238)\dpicstop
+\dpicdraw (1.623611,-0.391069)
+ --(1.623611,-0.529985)\dpicstop
+\dpicdraw (1.623611,-0.354985) circle (0.068898in)\dpicstop
+\draw (1.623611,-0.179985) node[above=-2bp]{\sl A};
+\draw (1.623611,-0.529985) node[below=-2bp]{\sl K};
+\draw (1.486111,-0.463238) node[below left=-2bp]{\sl G};
+\draw (1.623611,-0.749985) node{\tt ...(,UARE)};
+\dpicdraw (2.123611,-0.179985)
+ --(2.123611,-0.3189)\dpicstop
+\dpicdraw (2.123611,-0.3189)
+ --(2.165278,-0.3189)
+ --(2.123611,-0.385534)
+ --(2.081944,-0.3189)
+ --(2.123611,-0.3189)\dpicstop
+\dpicdraw (2.077893,-0.354985)
+ --(2.16933,-0.354985)\dpicstop
+\dpicdraw (2.077893,-0.391069)
+ --(2.16933,-0.391069)\dpicstop
+\dpicdraw (2.123611,-0.391069)
+ --(2.123611,-0.529985)\dpicstop
+\dpiclw=0.4bp
+\filldraw[line width=0bp](2.135537,-0.286412)
+ --(2.123611,-0.354985)
+ --(2.171314,-0.304301) --cycle\dpicstop
+\dpicdraw (2.223611,-0.254985)
+ --(2.198611,-0.254985)
+ ..controls (2.181944,-0.254985) and (2.166719,-0.268769)
+ ..(2.152934,-0.296338)
+ --(2.132257,-0.337692)\dpicstop
+\dpiclw=0.8bp
+\draw (2.123611,-0.179985) node[above=-2bp]{\sl A};
+\draw (2.123611,-0.529985) node[below=-2bp]{\sl K};
+\draw (2.223611,-0.254985) node[right=-2bp]{\sl G};
+\draw (2.123611,-0.879985) node{\tt ...(,AV)};
+\dpicdraw (2.523611,-0.229985)
+ --(2.523611,-0.429985)\dpicstop
+\dpicdraw (2.723611,-0.179985)
+ --(2.523611,-0.269985)\dpicstop
+\filldraw[line width=0bp](2.638206,-0.187957)
+ --(2.573611,-0.247485)
+ --(2.661004,-0.238619) --cycle\dpicstop
+\dpicdraw (2.673611,-0.202485)
+ --(2.589632,-0.240275)\dpicstop
+\dpicdraw (2.723611,-0.479985)
+ --(2.523611,-0.389985)\dpicstop
+\filldraw[line width=0bp](2.586219,-0.448619)
+ --(2.673611,-0.457485)
+ --(2.609017,-0.397957) --cycle\dpicstop
+\dpicdraw (2.65759,-0.450275)
+ --(2.573611,-0.412485)\dpicstop
+\dpicdraw (2.523611,-0.329985)
+ --(2.597685,-0.363318)\dpicstop
+\draw (2.723611,-0.179985) node[above right=-2bp]{\sl A};
+\draw (2.723611,-0.479985) node[below right=-2bp]{\sl K};
+\draw (2.597685,-0.363318) node[right=-2bp]{\sl G};
+\draw (2.623611,-0.699985) node{\tt ...(,IEC)};
+\dpicdraw (-2.457639,-1.336073)
+ --(-2.457639,-1.474989)\dpicstop
+\dpicdraw (-2.457639,-1.474989)
+ --(-2.415972,-1.474989)
+ --(-2.457639,-1.541623)
+ --(-2.499306,-1.474989)
+ --(-2.457639,-1.474989)\dpicstop
+\dpicdraw (-2.457639,-1.474989)
+ --(-2.457639,-1.547157)\dpicstop
+\dpicdraw (-2.436806,-1.511073)
+ --(-2.34942,-1.511073)\dpicstop
+\dpicdraw (-2.503357,-1.547157)
+ --(-2.41192,-1.547157)\dpicstop
+\dpicdraw (-2.457639,-1.547157)
+ --(-2.457639,-1.686073)\dpicstop
+\draw (-2.457639,-1.336073) node[above left=-2bp]{\sl A};
+\draw (-2.457639,-1.686073) node[below left=-2bp]{\sl K};
+\draw (-2.34942,-1.511073) node[right=-2bp]{\sl G};
+\draw (-2.426389,-2.036073) node{\tt ...(,UAH)};
+\dpicdraw (-1.867998,-1.336073)
+ --(-1.867998,-1.474989)\dpicstop
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (-1.867998,-1.474989)
+ --(-1.826331,-1.474989)
+ --(-1.867998,-1.541623)
+ --(-1.909665,-1.474989)
+ --(-1.867998,-1.474989)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\dpicdraw (-1.913717,-1.547157)
+ --(-1.82228,-1.547157)\dpicstop
+\dpicdraw (-1.888831,-1.474989)
+ --(-1.930498,-1.40282)\dpicstop
+\dpicdraw (-1.867998,-1.547157)
+ --(-1.867998,-1.686073)\dpicstop
+\draw (-1.867998,-1.336073) node[above=-2bp]{\sl A};
+\draw (-1.867998,-1.686073) node[below=-2bp]{\sl K};
+\draw (-1.930498,-1.40282) node[left=-2bp]{\sl Ga};
+\draw (-1.876389,-1.906073) node{\tt ...(,N)};
+\dpicdraw (-1.326389,-1.336073)
+ --(-1.326389,-1.474989)\dpicstop
+\dpicdraw (-1.326389,-1.474989)
+ --(-1.284722,-1.474989)
+ --(-1.326389,-1.541623)
+ --(-1.368056,-1.474989)
+ --(-1.326389,-1.474989)\dpicstop
+\dpicdraw (-1.326389,-1.474989)
+ --(-1.326389,-1.547157)\dpicstop
+\dpicdraw (-1.372107,-1.547157)
+ --(-1.28067,-1.547157)\dpicstop
+\dpicdraw (-1.305556,-1.474989)
+ --(-1.263889,-1.40282)
+ --(-1.188889,-1.40282)\dpicstop
+\dpicdraw (-1.326389,-1.547157)
+ --(-1.326389,-1.686073)\dpicstop
+\dpicdraw (-1.326389,-1.511073) circle (0.068898in)\dpicstop
+\draw (-1.326389,-1.336073) node[above=-2bp]{\sl A};
+\draw (-1.326389,-1.686073) node[below=-2bp]{\sl K};
+\draw (-1.188889,-1.40282) node[above right=-2bp]{\sl Ga};
+\draw (-1.326389,-2.036073) node{\tt ...(,UANRE)};
+\dpicdraw (-0.78478,-1.336073)
+ --(-0.78478,-1.474989)\dpicstop
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (-0.78478,-1.474989)
+ --(-0.743113,-1.474989)
+ --(-0.78478,-1.541623)
+ --(-0.826446,-1.474989)
+ --(-0.78478,-1.474989)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\dpicdraw (-0.830498,-1.547157)
+ --(-0.739061,-1.547157)\dpicstop
+\dpicdraw (-0.763946,-1.547157)
+ --(-0.72228,-1.619326)\dpicstop
+\dpicdraw (-0.78478,-1.547157)
+ --(-0.78478,-1.686073)\dpicstop
+\draw (-0.78478,-1.336073) node[above=-2bp]{\sl A};
+\draw (-0.78478,-1.686073) node[below left=-2bp]{\sl K};
+\draw (-0.72228,-1.619326) node[below right=-2bp]{\sl G};
+\draw (-0.776389,-1.906073) node{\tt ...(,SCR)};
+\dpicdraw (-0.226389,-1.336073)
+ --(-0.226389,-1.474989)\dpicstop
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (-0.226389,-1.474989)
+ --(-0.184722,-1.474989)
+ --(-0.226389,-1.541623)
+ --(-0.268056,-1.474989)
+ --(-0.226389,-1.474989)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\dpicdraw (-0.272107,-1.547157)
+ --(-0.18067,-1.547157)\dpicstop
+\dpicdraw (-0.205556,-1.547157)
+ --(-0.163889,-1.619326)
+ --(-0.088889,-1.619326)\dpicstop
+\dpicdraw (-0.226389,-1.547157)
+ --(-0.226389,-1.686073)\dpicstop
+\dpicdraw (-0.226389,-1.511073) circle (0.068898in)\dpicstop
+\draw (-0.226389,-1.336073) node[above=-2bp]{\sl A};
+\draw (-0.226389,-1.686073) node[below=-2bp]{\sl K};
+\draw (-0.088889,-1.619326) node[below right=-2bp]{\sl G};
+\draw (-0.226389,-2.036073) node{\tt ...(SCRE)};
+\dpicdraw (0.423611,-1.336073)
+ --(0.423611,-1.474989)\dpicstop
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (0.423611,-1.474989)
+ --(0.465278,-1.474989)
+ --(0.423611,-1.541623)
+ --(0.381944,-1.474989)
+ --(0.423611,-1.474989)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\dpicdraw (0.377893,-1.547157)
+ --(0.46933,-1.547157)\dpicstop
+\dpicdraw (0.402778,-1.547157)
+ --(0.361111,-1.619326)
+ --(0.286111,-1.619326)\dpicstop
+\dpicdraw (0.423611,-1.547157)
+ --(0.423611,-1.686073)\dpicstop
+\dpicdraw (0.423611,-1.511073) circle (0.068898in)\dpicstop
+\draw (0.423611,-1.336073) node[above=-2bp]{\sl A};
+\draw (0.423611,-1.686073) node[below=-2bp]{\sl K};
+\draw (0.286111,-1.619326) node[below left=-2bp]{\sl G};
+\draw (0.423611,-1.906073) node{\tt ...(SCRRE)};
+\dpicdraw (0.973611,-1.336073)
+ --(0.973611,-1.474989)\dpicstop
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (0.973611,-1.474989)
+ --(1.015278,-1.474989)
+ --(0.973611,-1.541623)
+ --(0.931944,-1.474989)
+ --(0.973611,-1.474989)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\dpicdraw (0.927893,-1.547157)
+ --(1.01933,-1.547157)\dpicstop
+\dpicdraw (0.952778,-1.474989)
+ --(0.911111,-1.40282)\dpicstop
+\dpicdraw (0.994444,-1.547157)
+ --(1.036111,-1.619326)\dpicstop
+\dpicdraw (0.973611,-1.547157)
+ --(0.973611,-1.686073)\dpicstop
+\draw (0.973611,-1.336073) node[above=-2bp]{\sl A};
+\draw (0.973611,-1.686073) node[below=-2bp]{\sl K};
+\draw (1.036111,-1.619326) node[right=-2bp]{\sl G};
+\draw (0.973611,-2.036073) node{\tt ...(SCS)};
+\draw (0.911111,-1.40282) node[above left=-2bp]{\sl Ga};
+\dpicdraw (1.523611,-1.336073)
+ --(1.523611,-1.474989)\dpicstop
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (1.523611,-1.474989)
+ --(1.565278,-1.474989)
+ --(1.523611,-1.541623)
+ --(1.481944,-1.474989)
+ --(1.523611,-1.474989)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\dpicdraw (1.477893,-1.547157)
+ --(1.56933,-1.547157)\dpicstop
+\dpicdraw (1.502778,-1.474989)
+ --(1.461111,-1.40282)
+ --(1.386111,-1.40282)\dpicstop
+\dpicdraw (1.544444,-1.547157)
+ --(1.586111,-1.619326)
+ --(1.661111,-1.619326)\dpicstop
+\dpicdraw (1.523611,-1.547157)
+ --(1.523611,-1.686073)\dpicstop
+\dpicdraw (1.523611,-1.511073) circle (0.068898in)\dpicstop
+\draw (1.523611,-1.336073) node[above=-2bp]{\sl A};
+\draw (1.523611,-1.686073) node[below=-2bp]{\sl K};
+\draw (1.661111,-1.619326) node[below right=-2bp]{\sl G};
+\draw (1.523611,-1.906073) node{\tt ...(SCSE)};
+\draw (1.386111,-1.40282) node[above left=-2bp]{\sl Ga};
+\dpicdraw (2.173611,-1.336073)
+ --(2.173611,-1.474989)\dpicstop
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (2.173611,-1.474989)
+ --(2.215278,-1.474989)
+ --(2.173611,-1.541623)
+ --(2.173611,-1.474989)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\dpicdraw (2.173611,-1.474989)
+ --(2.002372,-1.474989)\dpicstop
+\dpicdraw (2.173611,-1.547157)
+ --(2.173611,-1.686073)\dpicstop
+\dpicdraw (2.173611,-1.511073) circle (0.068898in)\dpicstop
+\draw (2.173611,-1.336073) node[above=-2bp]{\sl A};
+\draw (2.173611,-1.686073) node[below=-2bp]{\sl K};
+\draw (2.002372,-1.474989) node[left=-2bp]{\sl G};
+\draw (2.173611,-2.036073) node{\tt ...(SUSE)};
+\dpicdraw (2.823611,-1.336073)
+ --(2.823611,-1.438904)\dpicstop
+\dpicdraw (2.781944,-1.438904)
+ --(2.823611,-1.438904)\dpicstop
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (2.823611,-1.438904)
+ --(2.865278,-1.438904)
+ --(2.823611,-1.583242)
+ --(2.781944,-1.583242)
+ --(2.823611,-1.438904)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\dpicdraw (2.865278,-1.583242)
+ --(2.823611,-1.583242)\dpicstop
+\dpicdraw (2.865278,-1.511073)
+ --(2.648611,-1.511073)\dpicstop
+\dpicdraw (2.823611,-1.583242)
+ --(2.823611,-1.686073)\dpicstop
+\dpicdraw (2.823611,-1.511073) circle (0.068898in)\dpicstop
+\draw (2.823611,-1.336073) node[above=-2bp]{\sl T1};
+\draw (2.823611,-1.686073) node[below=-2bp]{\sl T2};
+\draw (2.648611,-1.511073) node[left=-2bp]{\sl G};
+\draw (2.823611,-1.906073) node{\tt ...(SBSE)};
+\dpicdraw (-2.751389,-2.402454)
+ --(-2.412473,-2.402454)\dpicstop
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (-2.412473,-2.402454)
+ --(-2.412473,-2.360788)
+ --(-2.345839,-2.402454)
+ --(-2.412473,-2.444121)
+ --(-2.412473,-2.402454)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\dpicdraw (-2.340304,-2.448173)
+ --(-2.340304,-2.356736)\dpicstop
+\dpicdraw (-2.340304,-2.381621)
+ --(-2.268136,-2.339954)\dpicstop
+\dpicdraw (-2.340304,-2.402454)
+ --(-2.001389,-2.402454)\dpicstop
+\draw (-2.001389,-2.394064) node[right=-2bp]{\tt scr(,{,}Q)};
+\draw (-2.268136,-2.339954) node[above=-2bp]{\sl Q.G};
+\dpicdraw (-2.751389,-2.802454)
+ --(-2.412473,-2.802454)\dpicstop
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (-2.412473,-2.802454)
+ --(-2.412473,-2.760788)
+ --(-2.345839,-2.802454)
+ --(-2.412473,-2.844121)
+ --(-2.412473,-2.802454)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\dpicdraw (-2.340304,-2.848173)
+ --(-2.340304,-2.756736)\dpicstop
+\dpicdraw (-2.412473,-2.823288)
+ --(-2.484642,-2.864954)\dpicstop
+\dpicdraw (-2.340304,-2.781621)
+ --(-2.268136,-2.739954)\dpicstop
+\dpicdraw (-2.340304,-2.802454)
+ --(-2.001389,-2.802454)\dpicstop
+\draw (-2.001389,-2.802454) node[right=-2bp]{\tt scs(,{,}Q2)};
+\draw (-2.268136,-2.739954) node[above=-2bp]{\sl Q2.G};
+\draw (-2.484642,-2.864954) node[below=-2bp]{\sl Q2.Ga};
+\dpicdraw (-0.973611,-2.600574)
+ --(-0.634696,-2.600574)\dpicstop
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (-0.634696,-2.600574)
+ --(-0.634696,-2.642241)
+ --(-0.568062,-2.600574)
+ --(-0.634696,-2.600574)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\dpicdraw (-0.634696,-2.600574)
+ --(-0.634696,-2.429335)\dpicstop
+\dpicdraw (-0.562527,-2.600574)
+ --(-0.223611,-2.600574)\dpicstop
+\dpicdraw (-0.598611,-2.600574) circle (0.068898in)\dpicstop
+\draw (-0.223611,-2.600574) node[right=-2bp]{\tt sus(,RE,Q3)};
+\draw (-0.634696,-2.429335) node[above=-2bp]{\sl Q3.G};
+\dpicdraw (0.976389,-2.600574)
+ --(1.27922,-2.600574)\dpicstop
+\dpicdraw (1.27922,-2.642241)
+ --(1.27922,-2.600574)\dpicstop
+\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{}
+\global\def\dpicstop{--}
+\dpicshdraw[fill=white!0!black]
+\dpicdraw (1.27922,-2.600574)
+ --(1.27922,-2.558907)
+ --(1.423558,-2.600574)
+ --(1.423558,-2.642241)
+ --(1.27922,-2.600574)\dpicstop
+cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;}
+\dpicdraw (1.423558,-2.558907)
+ --(1.423558,-2.600574)\dpicstop
+\dpicdraw (1.351389,-2.558907)
+ --(1.351389,-2.775574)\dpicstop
+\dpicdraw (1.423558,-2.600574)
+ --(1.726389,-2.600574)\dpicstop
+\dpicdraw (1.351389,-2.600574) circle (0.068898in)\dpicstop
+\draw (1.726389,-2.600574) node[right=-2bp]{\tt sbs(,E,Q4)};
+\draw (1.351389,-2.775574) node[below=-2bp]{\sl Q4.G};
+\end{tikzpicture}
+\vspace*{-0.5\baselineskip}
diff --git a/graphics/circuit_macros/doc/thyristor.m4 b/graphics/circuit_macros/doc/thyristorMan.m4
index ecc6448bf3..ecc6448bf3 100644
--- a/graphics/circuit_macros/doc/thyristor.m4
+++ b/graphics/circuit_macros/doc/thyristorMan.m4
diff --git a/graphics/circuit_macros/doc/ujt.tex b/graphics/circuit_macros/doc/ujt.tex
new file mode 100644
index 0000000000..46a8566fe6
--- /dev/null
+++ b/graphics/circuit_macros/doc/ujt.tex
@@ -0,0 +1,81 @@
+\begin{tikzpicture}[scale=2.54]
+% dpic version 2020.03.01 option -g for TikZ and PGF 1.01
+\ifx\dpiclw\undefined\newdimen\dpiclw\fi
+\global\def\dpicdraw{\draw[line width=\dpiclw]}
+\global\def\dpicstop{;}
+\dpiclw=0.8bp
+\dpiclw=0.8bp
+\dpicdraw (0.9,-0.15)
+ --(0.9,0)\dpicstop
+\dpicdraw (0.9,0)
+ --(0.725,0)\dpicstop
+\dpicdraw (0.725,-0.025)
+ --(0.725,0.225)\dpicstop
+\dpicdraw (0.725,0.2)
+ --(0.9,0.2)
+ --(0.9,0.35)\dpicstop
+\dpicdraw (0.55,0.2)
+ --(0.725,0.1)\dpicstop
+\filldraw[line width=0bp](0.61699,0.129727)
+ --(0.703125,0.1125)
+ --(0.644553,0.177963) --cycle\dpicstop
+\dpicdraw (0.55,0.2)
+ --(0.687872,0.121216)\dpicstop
+\dpicdraw (0.725,0.1) circle (0.07874in)\dpicstop
+\draw (0.9,-0.15) node[right=-2bp]{\sl B1};
+\draw (0.4625,0.25) node{{\sl E}};
+\draw (0.9,0.35) node[right=-2bp]{\sl B2};
+\draw (0.725,-0.3) node{{\tt ujt(up\_ dimen\_,{,},E)}};
+\dpicdraw (2.125,0)
+ --(1.95,0)\dpicstop
+\dpicdraw (1.95,-0.025)
+ --(1.95,0.225)\dpicstop
+\dpicdraw (1.95,0.2)
+ --(2.125,0.2)\dpicstop
+\dpicdraw (1.775,0.2)
+ --(1.95,0.1)\dpicstop
+\filldraw[line width=0bp](1.88301,0.170273)
+ --(1.796875,0.1875)
+ --(1.855447,0.122037) --cycle\dpicstop
+\dpicdraw (1.95,0.1)
+ --(1.812128,0.178784)\dpicstop
+\draw (2.125,0) node[below=-2bp]{\sl B1};
+\draw (1.6875,0.25) node{{\sl E}};
+\draw (2.125,0.2) node[above=-2bp]{\sl B2};
+\draw (2.05,-0.175) node[below=-2bp]{{\tt ujt(,{,}P,)}};
+\dpicdraw (2.925,0)
+ --(3.1,0)\dpicstop
+\dpicdraw (3.1,-0.025)
+ --(3.1,0.225)\dpicstop
+\dpicdraw (3.1,0.2)
+ --(2.925,0.2)\dpicstop
+\dpicdraw (3.275,0.2)
+ --(3.1,0.1)\dpicstop
+\filldraw[line width=0bp](3.180447,0.177963)
+ --(3.121875,0.1125)
+ --(3.20801,0.129727) --cycle\dpicstop
+\dpicdraw (3.275,0.2)
+ --(3.137128,0.121216)\dpicstop
+\draw (2.925,0) node[below=-2bp]{\sl B1};
+\draw (3.3625,0.25) node{{\sl E}};
+\draw (2.925,0.2) node[above=-2bp]{\sl B2};
+\draw (3.1,-0.175) node[below=-2bp]{{\tt ujt(,R,{,})}};
+\dpicdraw (4.075,0)
+ --(4.25,0)\dpicstop
+\dpicdraw (4.25,-0.025)
+ --(4.25,0.225)\dpicstop
+\dpicdraw (4.25,0.2)
+ --(4.075,0.2)\dpicstop
+\dpicdraw (4.425,0.2)
+ --(4.25,0.1)\dpicstop
+\filldraw[line width=0bp](4.344553,0.122037)
+ --(4.403125,0.1875)
+ --(4.31699,0.170273) --cycle\dpicstop
+\dpicdraw (4.25,0.1)
+ --(4.387872,0.178784)\dpicstop
+\draw (4.075,0) node[below=-2bp]{\sl B1};
+\draw (4.5125,0.25) node{{\sl E}};
+\draw (4.075,0.2) node[above=-2bp]{\sl B2};
+\draw (4.25,-0.175) node[below=-2bp]{{\tt ujt(,R,P,)}};
+\end{tikzpicture}
+\vspace*{-0.5\baselineskip}
diff --git a/graphics/circuit_macros/doc/ujt.m4 b/graphics/circuit_macros/doc/ujtMan.m4
index aa4e708462..aa4e708462 100644
--- a/graphics/circuit_macros/doc/ujt.m4
+++ b/graphics/circuit_macros/doc/ujtMan.m4