summaryrefslogtreecommitdiff
path: root/graphics/lcircuit
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /graphics/lcircuit
Initial commit
Diffstat (limited to 'graphics/lcircuit')
l---------graphics/lcircuit/README1
-rw-r--r--graphics/lcircuit/ande.mac14
-rw-r--r--graphics/lcircuit/andn.mac14
-rw-r--r--graphics/lcircuit/ands.mac14
-rw-r--r--graphics/lcircuit/andw.mac14
-rw-r--r--graphics/lcircuit/capew.mac10
-rw-r--r--graphics/lcircuit/capns.mac10
-rw-r--r--graphics/lcircuit/exore.mac14
-rw-r--r--graphics/lcircuit/exorn.mac14
-rw-r--r--graphics/lcircuit/exors.mac14
-rw-r--r--graphics/lcircuit/exorw.mac14
-rw-r--r--graphics/lcircuit/lcircuit.pdfbin0 -> 76777 bytes
-rw-r--r--graphics/lcircuit/lcircuit.readme23
-rw-r--r--graphics/lcircuit/nande.mac15
-rw-r--r--graphics/lcircuit/nandn.mac15
-rw-r--r--graphics/lcircuit/nands.mac15
-rw-r--r--graphics/lcircuit/nandw.mac15
-rw-r--r--graphics/lcircuit/nexore.mac15
-rw-r--r--graphics/lcircuit/nexorn.mac15
-rw-r--r--graphics/lcircuit/nexors.mac15
-rw-r--r--graphics/lcircuit/nexorw.mac15
-rw-r--r--graphics/lcircuit/nfete.mac13
-rw-r--r--graphics/lcircuit/nfetn.mac13
-rw-r--r--graphics/lcircuit/nfets.mac13
-rw-r--r--graphics/lcircuit/nfetw.mac13
-rw-r--r--graphics/lcircuit/nore.mac14
-rw-r--r--graphics/lcircuit/norn.mac14
-rw-r--r--graphics/lcircuit/nors.mac14
-rw-r--r--graphics/lcircuit/norw.mac14
-rw-r--r--graphics/lcircuit/note.mac12
-rw-r--r--graphics/lcircuit/notn.mac12
-rw-r--r--graphics/lcircuit/nots.mac12
-rw-r--r--graphics/lcircuit/notw.mac12
-rw-r--r--graphics/lcircuit/ore.mac13
-rw-r--r--graphics/lcircuit/orn.mac13
-rw-r--r--graphics/lcircuit/ors.mac13
-rw-r--r--graphics/lcircuit/orw.mac13
-rw-r--r--graphics/lcircuit/ote.mac11
-rw-r--r--graphics/lcircuit/otn.mac11
-rw-r--r--graphics/lcircuit/ots.mac11
-rw-r--r--graphics/lcircuit/otw.mac11
-rw-r--r--graphics/lcircuit/palette.pic347
-rw-r--r--graphics/lcircuit/pfete.mac14
-rw-r--r--graphics/lcircuit/pfetn.mac14
-rw-r--r--graphics/lcircuit/pfets.mac14
-rw-r--r--graphics/lcircuit/pfetw.mac14
-rw-r--r--graphics/lcircuit/read.me23
-rw-r--r--graphics/lcircuit/resew.mac12
-rw-r--r--graphics/lcircuit/resns.mac12
-rw-r--r--graphics/lcircuit/tgateew.mac18
-rw-r--r--graphics/lcircuit/tgatens.mac21
-rw-r--r--graphics/lcircuit/tje.mac9
-rw-r--r--graphics/lcircuit/tjn.mac9
-rw-r--r--graphics/lcircuit/tjs.mac9
-rw-r--r--graphics/lcircuit/tjw.mac9
-rw-r--r--graphics/lcircuit/vddpin.mac8
-rw-r--r--graphics/lcircuit/vsspin.mac9
57 files changed, 1070 insertions, 0 deletions
diff --git a/graphics/lcircuit/README b/graphics/lcircuit/README
new file mode 120000
index 0000000000..48da464548
--- /dev/null
+++ b/graphics/lcircuit/README
@@ -0,0 +1 @@
+lcircuit.readme \ No newline at end of file
diff --git a/graphics/lcircuit/ande.mac b/graphics/lcircuit/ande.mac
new file mode 100644
index 0000000000..0ce06e413b
--- /dev/null
+++ b/graphics/lcircuit/ande.mac
@@ -0,0 +1,14 @@
+% AND-gate EAST
+\newsavebox{\ande}
+\savebox{\ande}(10,6){
+\begin{picture}(10,6)
+\put(0,1){\line(1,0){2}}
+\put(5,0){\line(-1,0){3}}
+\put(2,0){\line(0,1){6}}
+\put(2,6){\line(1,0){3}}
+\put(0,5){\line(1,0){2}}
+\bezier{30}(5,0)(8,0)(8,3)
+\bezier{30}(8,3)(8,6)(5,6)
+\put(8,3){\line(1,0){2}}
+\end{picture}
+}
diff --git a/graphics/lcircuit/andn.mac b/graphics/lcircuit/andn.mac
new file mode 100644
index 0000000000..5c70fda065
--- /dev/null
+++ b/graphics/lcircuit/andn.mac
@@ -0,0 +1,14 @@
+% AND-gate NORTH
+\newsavebox{\andn}
+\savebox{\andn}(6,10){
+\begin{picture}(6,10)
+\put(0,2){\line(0,1){3}}
+\put(0,2){\line(1,0){6}}
+\put(6,2){\line(0,1){3}}
+\put(1,0){\line(0,1){2}}
+\put(5,0){\line(0,1){2}}
+\bezier{30}(0,5)(0,8)(3,8)
+\bezier{30}(6,5)(6,8)(3,8)
+\put(3,8){\line(0,1){2}}
+\end{picture}
+}
diff --git a/graphics/lcircuit/ands.mac b/graphics/lcircuit/ands.mac
new file mode 100644
index 0000000000..1437b9c326
--- /dev/null
+++ b/graphics/lcircuit/ands.mac
@@ -0,0 +1,14 @@
+% AND-gate SOUTH
+\newsavebox{\ands}
+\savebox{\ands}(6,10){
+\begin{picture}(6,10)
+\put(6,8){\line(-1,0){6}}
+\put(0,8){\line(0,-1){3}}
+\put(6,8){\line(0,-1){3}}
+\put(1,8){\line(0,1){2}}
+\put(5,8){\line(0,1){2}}
+\bezier{30}(0,5)(0,2)(3,2)
+\bezier{30}(3,2)(6,2)(6,5)
+\put(3,0){\line(0,1){2}}
+\end{picture}
+}
diff --git a/graphics/lcircuit/andw.mac b/graphics/lcircuit/andw.mac
new file mode 100644
index 0000000000..86b91d3934
--- /dev/null
+++ b/graphics/lcircuit/andw.mac
@@ -0,0 +1,14 @@
+% AND-gate WEST
+\newsavebox{\andw}
+\savebox{\andw}(10,6){
+\begin{picture}(10,6)
+\put(8,1){\line(1,0){2}}
+\put(8,5){\line(1,0){2}}
+\put(8,0){\line(0,1){6}}
+\put(8,0){\line(-1,0){3}}
+\put(5,6){\line(1,0){3}}
+\bezier{30}(5,6)(2,6)(2,3)
+\bezier{30}(2,3)(2,0)(5,0)
+\put(0,3){\line(1,0){2}}
+\end{picture}
+}
diff --git a/graphics/lcircuit/capew.mac b/graphics/lcircuit/capew.mac
new file mode 100644
index 0000000000..f5ed2ffad2
--- /dev/null
+++ b/graphics/lcircuit/capew.mac
@@ -0,0 +1,10 @@
+% capacitor HORIZONTAL
+\newsavebox{\capew}
+\savebox{\capew}(5,5){
+\begin{picture}(5.00,5.00)
+\put(0.00,3.00){\line(1,0){2.00}}
+\put(3.00,3.00){\line(1,0){2.00}}
+\put(3.00,1.00){\line(0,1){4.00}}
+\put(2.00,1.00){\line(0,1){4.00}}
+\end{picture}
+}
diff --git a/graphics/lcircuit/capns.mac b/graphics/lcircuit/capns.mac
new file mode 100644
index 0000000000..13293369e9
--- /dev/null
+++ b/graphics/lcircuit/capns.mac
@@ -0,0 +1,10 @@
+% capacitor VERTICAL
+\newsavebox{\capns}
+\savebox{\capns}(5,5){
+\begin{picture}(5,5)
+\put(3.00,0.00){\line(0,1){2.00}}
+\put(3.00,3.00){\line(0,1){2.00}}
+\put(1.00,2.00){\line(1,0){4.00}}
+\put(1.00,3.00){\line(1,0){4.00}}
+\end{picture}
+}
diff --git a/graphics/lcircuit/exore.mac b/graphics/lcircuit/exore.mac
new file mode 100644
index 0000000000..66f2e44424
--- /dev/null
+++ b/graphics/lcircuit/exore.mac
@@ -0,0 +1,14 @@
+% EXOR-gate EAST
+\newsavebox{\exore}
+\savebox{\exore}(11,6){
+\begin{picture}(11,6)
+\bezier{60}(2,6)(7,6)( 9,3) % top section of pointed curve
+\bezier{60}(2,0)(7,0)( 9,3) % bottom section of pointed curve
+\bezier{40}(2,6)(4,3)(2,0) % inner back curve
+\bezier{40}(1,6)(3,3)(1,0) % outer back curve
+\put(9,3){\line(1,0){2}} % output line
+\put(0,5){\line(1,0){1.5}} % top input line
+\put(0,1){\line(1,0){1.5}} % bottom input line
+% NB intersection of input lines & back curve is estimated (not calculated)!
+\end{picture}
+}
diff --git a/graphics/lcircuit/exorn.mac b/graphics/lcircuit/exorn.mac
new file mode 100644
index 0000000000..31cf235b30
--- /dev/null
+++ b/graphics/lcircuit/exorn.mac
@@ -0,0 +1,14 @@
+% EXOR-gate NORTH
+\newsavebox{\exorn}
+\savebox{\exorn}(6,11){
+\begin{picture}(6,11)
+\bezier{60}(0,2)(0,7)(3,9) % western section of pointed curve
+\bezier{60}(6,2)(6,7)(3,9) % eastern section of pointed curve
+\bezier{40}(0,2)(3,4)(6,2) % bottom curve (inner)
+\bezier{40}(0,1)(3,3)(6,1) % bottom curve (outer)
+\put(3,9){\line(0,1){2}} % output line
+\put(1,0){\line(0,1){1.5}} % western input line
+\put(5,0){\line(0,1){1.5}} % eastern input line
+% NB intersection of input lines & back curve is estimated (not calculated)!
+\end{picture}
+}
diff --git a/graphics/lcircuit/exors.mac b/graphics/lcircuit/exors.mac
new file mode 100644
index 0000000000..24b84297dc
--- /dev/null
+++ b/graphics/lcircuit/exors.mac
@@ -0,0 +1,14 @@
+% EXOR-gate SOUTH
+\newsavebox{\exors}
+\savebox{\exors}(6,11){
+\begin{picture}(6,11)
+\bezier{60}(0,9)(0,4)(3,2) % western section of pointed curve
+\bezier{60}(6,9)(6,4)(3,2) % eastern section of pointed curve
+\bezier{40}(0,10)(3,8)(6,10) % top curve (outer)
+\bezier{40}(0,9)(3,7)(6,9) % top curve (inner)
+\put(3,0){\line(0,1){2}} % output line
+\put(1,11){\line(0,-1){1.5}} % western input line
+\put(5,11){\line(0,-1){1.5}} % eastern input line
+% NB intersection of input lines & back curve is estimated (not calculated)!
+\end{picture}
+}
diff --git a/graphics/lcircuit/exorw.mac b/graphics/lcircuit/exorw.mac
new file mode 100644
index 0000000000..d2803c148c
--- /dev/null
+++ b/graphics/lcircuit/exorw.mac
@@ -0,0 +1,14 @@
+% EXOR-gate WEST
+\newsavebox{\exorw}
+\savebox{\exorw}(11,6){
+\begin{picture}(11,6)
+\bezier{60}(9,6)(4,6)(2,3) % top section of pointed curve
+\bezier{60}(9,0)(4,0)(2,3) % bottom section of pointed curve
+\bezier{40}(9,6)(7,3)(9,0) % back curve (inner)
+\bezier{40}(10,6)(8,3)(10,0) % back curve (outer)
+\put(0,3){\line(1,0){2}} % output line
+\put(11,5){\line(-1,0){1.5}} % top input line
+\put(11,1){\line(-1,0){1.5}} % bottom input line
+% NB intersection of input lines & back curve is estimated (not calculated)!
+\end{picture}
+}
diff --git a/graphics/lcircuit/lcircuit.pdf b/graphics/lcircuit/lcircuit.pdf
new file mode 100644
index 0000000000..2c9ea8c439
--- /dev/null
+++ b/graphics/lcircuit/lcircuit.pdf
Binary files differ
diff --git a/graphics/lcircuit/lcircuit.readme b/graphics/lcircuit/lcircuit.readme
new file mode 100644
index 0000000000..3bafc1d04a
--- /dev/null
+++ b/graphics/lcircuit/lcircuit.readme
@@ -0,0 +1,23 @@
+Announcing...
+
+a set of circuit schematic symbols for LaTeX picture mode. The
+set includes all basic logic gates in four orientations, FETs,
+power supply pins, transmission gates, capacitors, resistors and
+wiring T-junctions. All pins are on a 1mm grid and the symbols
+are designed to be easily used with Georg Horn's TeXcad program:
+we even supply you with a palette picture file that displays all
+52 symbols in a compact grid that you can cut and paste from
+within TeXcad. Each symbol lives in its own .mac file and is defined
+as a \savebox so as to reduce memory consumption. You must add
+the [bezier] option to your \documentstyle command. A small
+manual is provided in both Postscript and .dvi forms.
+
+The files lcircuit.zip and lcircuit.tar may are available for
+anonymous ftp from cscx.cs.rhbnc.ac.uk (134.219.200.45) in directory
+pub/lcircuit. I will also be uploading them to various ftp
+servers in the coming week.
+
+Adrian Johnstone, CS Dept, Royal Holloway, University of London
+
+adrian@cs.rhbnc.ac.uk
+
diff --git a/graphics/lcircuit/nande.mac b/graphics/lcircuit/nande.mac
new file mode 100644
index 0000000000..df2682a9c4
--- /dev/null
+++ b/graphics/lcircuit/nande.mac
@@ -0,0 +1,15 @@
+% NAND-gate EAST
+\newsavebox{\nande}
+\savebox{\nande}(11,6){
+\begin{picture}(11,6)
+\put(0,1){\line(1,0){2}}
+\put(5,0){\line(-1,0){3}}
+\put(2,0){\line(0,1){6}}
+\put(2,6){\line(1,0){3}}
+\put(0,5){\line(1,0){2}}
+\bezier{30}(5,0)(8,0)(8,3)
+\bezier{30}(8,3)(8,6)(5,6)
+\put(9.5,3){\line(1,0){1.5}}
+\put(8.75,3){\circle{1.5}}
+\end{picture}
+}
diff --git a/graphics/lcircuit/nandn.mac b/graphics/lcircuit/nandn.mac
new file mode 100644
index 0000000000..909df2c3c1
--- /dev/null
+++ b/graphics/lcircuit/nandn.mac
@@ -0,0 +1,15 @@
+% NAND-gate NORTH
+\newsavebox{\nandn}
+\savebox{\nandn}(6,11){
+\begin{picture}(6,11)
+\put(0,2){\line(0,1){3}}
+\put(0,2){\line(1,0){6}}
+\put(6,2){\line(0,1){3}}
+\put(1,0){\line(0,1){2}}
+\put(5,0){\line(0,1){2}}
+\bezier{30}(0,5)(0,8)(3,8)
+\bezier{30}(6,5)(6,8)(3,8)
+\put(3,9.5){\line(0,1){1.5}}
+\put(3,8.75){\circle{1.5}}
+\end{picture}
+}
diff --git a/graphics/lcircuit/nands.mac b/graphics/lcircuit/nands.mac
new file mode 100644
index 0000000000..1d7612e5bf
--- /dev/null
+++ b/graphics/lcircuit/nands.mac
@@ -0,0 +1,15 @@
+% NAND-gate SOUTH
+\newsavebox{\nands}
+\savebox{\nands}(6,11){
+\begin{picture}(6,11)
+\put(6,9){\line(-1,0){6}}
+\put(0,9){\line(0,-1){3}}
+\put(6,9){\line(0,-1){3}}
+\put(1,9){\line(0,1){2}}
+\put(5,9){\line(0,1){2}}
+\bezier{30}(0,6)(0,3)(3,3)
+\bezier{30}(3,3)(6,3)(6,6)
+\put(3,0){\line(0,1){1.5}}
+\put(3,2.25){\circle{1.5}}
+\end{picture}
+}
diff --git a/graphics/lcircuit/nandw.mac b/graphics/lcircuit/nandw.mac
new file mode 100644
index 0000000000..cc56fec511
--- /dev/null
+++ b/graphics/lcircuit/nandw.mac
@@ -0,0 +1,15 @@
+% NAND-gate WEST
+\newsavebox{\nandw}
+\savebox{\nandw}(11,6){
+\begin{picture}(11,6)
+\put(9,1){\line(1,0){2}}
+\put(9,5){\line(1,0){2}}
+\put(9,0){\line(0,1){6}}
+\put(9,0){\line(-1,0){3}}
+\put(6,6){\line(1,0){3}}
+\bezier{30}(6,6)(3,6)(3,3)
+\bezier{30}(3,3)(3,0)(6,0)
+\put(0,3){\line(1,0){1.5}}
+\put(2.25,3){\circle{1.5}}
+\end{picture}
+}
diff --git a/graphics/lcircuit/nexore.mac b/graphics/lcircuit/nexore.mac
new file mode 100644
index 0000000000..df670c217d
--- /dev/null
+++ b/graphics/lcircuit/nexore.mac
@@ -0,0 +1,15 @@
+% NEXOR-gate EAST
+\newsavebox{\nexore}
+\savebox{\nexore}(12,6){
+\begin{picture}(12,6)
+\bezier{60}(2,6)(7,6)( 9,3) % top section of pointed curve
+\bezier{60}(2,0)(7,0)( 9,3) % bottom section of pointed curve
+\bezier{40}(2,6)(4,3)(2,0) % inner back curve
+\bezier{40}(1,6)(3,3)(1,0) % outer back curve
+\put( 9.75,3){\circle{1.5}} % bobble
+\put(10.5,3){\line(1,0){1.5}} % output line
+\put(0,5){\line(1,0){1.5}} % top input line
+\put(0,1){\line(1,0){1.5}} % bottom input line
+% NB intersection of input lines & back curve is estimated (not calculated)!
+\end{picture}
+}
diff --git a/graphics/lcircuit/nexorn.mac b/graphics/lcircuit/nexorn.mac
new file mode 100644
index 0000000000..4c01df4cc0
--- /dev/null
+++ b/graphics/lcircuit/nexorn.mac
@@ -0,0 +1,15 @@
+% NEXOR-gate NORTH
+\newsavebox{\nexorn}
+\savebox{\nexorn}(6,12){
+\begin{picture}(6,12)
+\bezier{60}(0,2)(0,7)(3,9) % western section of pointed curve
+\bezier{60}(6,2)(6,7)(3,9) % eastern section of pointed curve
+\bezier{40}(0,2)(3,4)(6,2) % bottom curve (inner)
+\bezier{40}(0,1)(3,3)(6,1) % bottom curve (outer)
+\put(3,10.5){\line(0,1){1.5}} % output line
+\put(3,9.75){\circle{1.5}} % bobble
+\put(1,0){\line(0,1){1.5}} % western input line
+\put(5,0){\line(0,1){1.5}} % eastern input line
+% NB intersection of input lines & back curve is estimated (not calculated)!
+\end{picture}
+}
diff --git a/graphics/lcircuit/nexors.mac b/graphics/lcircuit/nexors.mac
new file mode 100644
index 0000000000..9bb4d4bb72
--- /dev/null
+++ b/graphics/lcircuit/nexors.mac
@@ -0,0 +1,15 @@
+% NEXOR-gate SOUTH
+\newsavebox{\nexors}
+\savebox{\nexors}(6,12){
+\begin{picture}(6,12)
+\bezier{60}(0,10)(0,5)(3,3) % western section of pointed curve
+\bezier{60}(6,10)(6,5)(3,3) % eastern section of pointed curve
+\bezier{40}(0,11)(3,9)(6,11) % top curve (outer)
+\bezier{40}(0,10)(3,8)(6,10) % top curve (inner)
+\put(3,0){\line(0,1){1.5}} % output line
+\put(3,2.25){\circle{1.5}} % bobble
+\put(1,12){\line(0,-1){1.5}} % western input line
+\put(5,12){\line(0,-1){1.5}} % eastern input line
+% NB intersection of input lines & back curve is estimated (not calculated)!
+\end{picture}
+}
diff --git a/graphics/lcircuit/nexorw.mac b/graphics/lcircuit/nexorw.mac
new file mode 100644
index 0000000000..47d65cb40c
--- /dev/null
+++ b/graphics/lcircuit/nexorw.mac
@@ -0,0 +1,15 @@
+% NEXOR-gate WEST
+\newsavebox{\nexorw}
+\savebox{\nexorw}(12,6){
+\begin{picture}(12,6)
+\bezier{60}(10,6)(5,6)(3,3) % top section of pointed curve
+\bezier{60}(10,0)(5,0)(3,3) % bottom section of pointed curve
+\bezier{40}(10,6)(8,3)(10,0) % back curve (inner)
+\bezier{40}(11,6)(9,3)(11,0) % back curve (outer)
+\put(0,3){\line(1,0){1.5}} % output line
+\put(2.25,3){\circle{1.5}} % bobble
+\put(12,5){\line(-1,0){1.5}} % top input line
+\put(12,1){\line(-1,0){1.5}} % bottom input line
+% NB intersection of input lines & back curve is estimated (not calculated)!
+\end{picture}
+}
diff --git a/graphics/lcircuit/nfete.mac b/graphics/lcircuit/nfete.mac
new file mode 100644
index 0000000000..8fe6958a52
--- /dev/null
+++ b/graphics/lcircuit/nfete.mac
@@ -0,0 +1,13 @@
+% N-channel FET EAST
+\newsavebox{\nfete}
+\savebox{\nfete}(8,8){
+\begin{picture}(8,8)
+\put(4.00,0.00){\line(0,1){2.00}}
+\put(4.00,6.00){\line(0,1){2.00}}
+\put(6.00,2.00){\line(0,1){4.00}}
+\put(6.00,4.00){\line(1,0){2.00}}
+\put(4.00,2.00){\line(1,0){1.50}}
+\put(4.00,6.00){\line(1,0){1.50}}
+\put(5.50,2.00){\line(0,1){4.00}}
+\end{picture}
+}
diff --git a/graphics/lcircuit/nfetn.mac b/graphics/lcircuit/nfetn.mac
new file mode 100644
index 0000000000..130bbc7e73
--- /dev/null
+++ b/graphics/lcircuit/nfetn.mac
@@ -0,0 +1,13 @@
+% N-channel FET NORTH
+\newsavebox{\nfetn}
+\savebox{\nfetn}(8,8){
+\begin{picture}(8,8)
+\put(0.00,4.00){\line(1,0){2.00}}
+\put(6.00,4.00){\line(1,0){2.00}}
+\put(2.00,6.00){\line(1,0){4.00}}
+\put(4.00,6.00){\line(0,1){2.00}}
+\put(2.00,4.00){\line(0,1){1.5}}
+\put(2.00,5.5){\line(1,0){4.00}}
+\put(6.00,5.5){\line(0,-1){1.5}}
+\end{picture}
+}
diff --git a/graphics/lcircuit/nfets.mac b/graphics/lcircuit/nfets.mac
new file mode 100644
index 0000000000..74c75644af
--- /dev/null
+++ b/graphics/lcircuit/nfets.mac
@@ -0,0 +1,13 @@
+% N-channel FET SOUTH
+\newsavebox{\nfets}
+\savebox{\nfets}(8,8){
+\begin{picture}(8.00,8.00)
+\put(0.00,4.00){\line(1,0){2.00}}
+\put(2.00,2.00){\line(1,0){4.00}}
+\put(4.00,2.00){\line(0,-1){2.00}}
+\put(6.00,4.00){\line(1,0){2.00}}
+\put(2.00,2.50){\line(1,0){4.00}}
+\put(2.00,4.00){\line(0,-1){1.50}}
+\put(6.00,4.00){\line(0,-1){1.50}}
+\end{picture}
+}
diff --git a/graphics/lcircuit/nfetw.mac b/graphics/lcircuit/nfetw.mac
new file mode 100644
index 0000000000..fb1a415c89
--- /dev/null
+++ b/graphics/lcircuit/nfetw.mac
@@ -0,0 +1,13 @@
+% N-channel FET WEST
+\newsavebox{\nfetw}
+\savebox{\nfetw}(8,8){
+\begin{picture}(8.00,8.00)
+\put(4.00,0.00){\line(0,1){2.00}}
+\put(2.00,2.00){\line(0,1){4.00}}
+\put(4.00,6.00){\line(0,1){2.00}}
+\put(2.00,4.00){\line(-1,0){2.00}}
+\put(4.00,2.00){\line(-1,0){1.50}}
+\put(4.00,6.00){\line(-1,0){1.50}}
+\put(2.50,2.00){\line(0,1){4.00}}
+\end{picture}
+}
diff --git a/graphics/lcircuit/nore.mac b/graphics/lcircuit/nore.mac
new file mode 100644
index 0000000000..2c3d331e42
--- /dev/null
+++ b/graphics/lcircuit/nore.mac
@@ -0,0 +1,14 @@
+% NOR-gate EAST
+\newsavebox{\nore}
+\savebox{\nore}(12,6){
+\begin{picture}(12,6)
+\bezier{60}(2,6)(7,6)(9,3) % top section of pointed curve
+\bezier{60}(2,0)(7,0)(9,3) % bottom section of pointed curve
+\bezier{50}(2,6)(4,3)(2,0) % back curve
+\put(10.5,3){\line(1,0){1.5}} % output line
+\put(9.75,3){\circle{1.5}} % bobble
+\put(0,5){\line(1,0){2.5}} % top input line
+\put(0,1){\line(1,0){2.5}} % bottom input line
+% NB intersection of input lines & back curve is estimated (not calculated)!
+\end{picture}
+}
diff --git a/graphics/lcircuit/norn.mac b/graphics/lcircuit/norn.mac
new file mode 100644
index 0000000000..725ffd323a
--- /dev/null
+++ b/graphics/lcircuit/norn.mac
@@ -0,0 +1,14 @@
+% NOR-gate NORTH
+\newsavebox{\norn}
+\savebox{\norn}(6,12){
+\begin{picture}(6,12)
+\bezier{60}(0,2)(0,7)(3,9) % western section of pointed curve
+\bezier{60}(6,2)(6,7)(3,9) % eastern section of pointed curve
+\bezier{40}(0,2)(3,4)(6,2) % bottom curve
+\put(3,10.5){\line(0,1){1.5}} % output line
+\put(3,9.75){\circle{1.5}} % bobble
+\put(1,0){\line(0,1){2.5}} % western input line
+\put(5,0){\line(0,1){2.5}} % eastern input line
+% NB intersection of input lines & back curve is estimated (not calculated)!
+\end{picture}
+}
diff --git a/graphics/lcircuit/nors.mac b/graphics/lcircuit/nors.mac
new file mode 100644
index 0000000000..a0e3253450
--- /dev/null
+++ b/graphics/lcircuit/nors.mac
@@ -0,0 +1,14 @@
+% NOR-gate SOUTH
+\newsavebox{\nors}
+\savebox{\nors}(6,12){
+\begin{picture}(6,12)
+\bezier{60}(0,10)(0,5)(3,3) % western section of pointed curve
+\bezier{60}(6,10)(6,5)(3,3) % eastern section of pointed curve
+\bezier{40}(0,10)(3,8)(6,10) % top curve
+\put(3,0){\line(0,1){1.5}} % output line
+\put(3,2.25){\circle{1.5}} % bobble
+\put(1,12){\line(0,-1){2.5}} % western input line
+\put(5,12){\line(0,-1){2.5}} % eastern input line
+% NB intersection of input lines & back curve is estimated (not calculated)!
+\end{picture}
+}
diff --git a/graphics/lcircuit/norw.mac b/graphics/lcircuit/norw.mac
new file mode 100644
index 0000000000..6f7d309126
--- /dev/null
+++ b/graphics/lcircuit/norw.mac
@@ -0,0 +1,14 @@
+% NOR-gate WEST
+\newsavebox{\norw}
+\savebox{\norw}(12,6){
+\begin{picture}(12,6)
+\bezier{60}(10,6)(5,6)(3,3) % top section of pointed curve
+\bezier{60}(10,0)(5,0)(3,3) % bottom section of pointed curve
+\bezier{40}(10,6)(8,3)(10,0) % back curve
+\put(0,3){\line(1,0){1.5}} % output line
+\put(2.25,3){\circle{1.5}} % bobble
+\put(12,5){\line(-1,0){2.5}} % top input line
+\put(12,1){\line(-1,0){2.5}} % bottom input line
+% NB intersection of input lines & back curve is estimated (not calculated)!
+\end{picture}
+}
diff --git a/graphics/lcircuit/note.mac b/graphics/lcircuit/note.mac
new file mode 100644
index 0000000000..1521f127d3
--- /dev/null
+++ b/graphics/lcircuit/note.mac
@@ -0,0 +1,12 @@
+% NOT-gate EAST
+\newsavebox{\note}
+\savebox{\note}(10,6){
+\begin{picture}(10,6)
+\put(0,3){\line(1,0){2}} % input
+\put(2,0){\line(0,1){6}}
+\put(7.75,3){\circle{1.5}}
+\put(2,6){\line(5,-3){5}}
+\put(7,3){\line(-5,-3){5}}
+\put(8.5,3){\line(1,0){1.5}} % output
+\end{picture}
+}
diff --git a/graphics/lcircuit/notn.mac b/graphics/lcircuit/notn.mac
new file mode 100644
index 0000000000..699270b360
--- /dev/null
+++ b/graphics/lcircuit/notn.mac
@@ -0,0 +1,12 @@
+% NOT-gate NORTH
+\newsavebox{\notn}
+\savebox{\notn}(6,10){
+\begin{picture}(6,10)
+\put(3,0){\line(0,1){2}} % input
+\put(0,2){\line(1,0){6}}
+\put(3,7.75){\circle{1.5}}
+\put(0,2){\line(3,5){3}}
+\put(3,7){\line(3,-5){3}}
+\put(3,8.5){\line(0,1){1.5}}
+\end{picture}
+}
diff --git a/graphics/lcircuit/nots.mac b/graphics/lcircuit/nots.mac
new file mode 100644
index 0000000000..2486cb3800
--- /dev/null
+++ b/graphics/lcircuit/nots.mac
@@ -0,0 +1,12 @@
+% NOT-gate SOUTH
+\newsavebox{\nots}
+\savebox{\nots}(6,10){
+\begin{picture}(6,10)
+\put(3,10){\line(0,-1){2}}
+\put(0,8){\line(1,0){6}}
+\put(0,8){\line(3,-5){3}}
+\put(3,3){\line(3,5){3}}
+\put(3,0){\line(0,1){1.5}}
+\put(3,2.25){\circle{1.5}}
+\end{picture}
+}
diff --git a/graphics/lcircuit/notw.mac b/graphics/lcircuit/notw.mac
new file mode 100644
index 0000000000..70a6835881
--- /dev/null
+++ b/graphics/lcircuit/notw.mac
@@ -0,0 +1,12 @@
+% NOT-gate WEST
+\newsavebox{\notw}
+\savebox{\notw}(10,6){
+\begin{picture}(10,6)
+\put(8,3){\line(1,0){2}}
+\put(2.25,3){\circle{1.5}}
+\put(8,0){\line(0,1){6}}
+\put(8,6){\line(-5,-3){5}}
+\put(3,3){\line(5,-3){5}}
+\put(0,3){\line(1,0){1.5}}
+\end{picture}
+}
diff --git a/graphics/lcircuit/ore.mac b/graphics/lcircuit/ore.mac
new file mode 100644
index 0000000000..812a0facd9
--- /dev/null
+++ b/graphics/lcircuit/ore.mac
@@ -0,0 +1,13 @@
+% OR-gate EAST
+\newsavebox{\ore}
+\savebox{\ore}(11,6){
+\begin{picture}(11,6)
+\bezier{60}(2,6)(7,6)(9,3) % top section of pointed curve
+\bezier{60}(2,0)(7,0)(9,3) % bottom section of pointed curve
+\bezier{50}(2,6)(4,3)(2,0) % back curve
+\put(9,3){\line(1,0){2}} % output line
+\put(0,5){\line(1,0){2.5}} % top input line
+\put(0,1){\line(1,0){2.5}} % bottom input line
+% NB intersection of input lines & back curve is estimated (not calculated)!
+\end{picture}
+}
diff --git a/graphics/lcircuit/orn.mac b/graphics/lcircuit/orn.mac
new file mode 100644
index 0000000000..789791f488
--- /dev/null
+++ b/graphics/lcircuit/orn.mac
@@ -0,0 +1,13 @@
+% OR-gate NORTH
+\newsavebox{\orn}
+\savebox{\orn}(6,11){
+\begin{picture}(6,11)
+\bezier{60}(0,2)(0,7)(3,9) % western section of pointed curve
+\bezier{60}(6,2)(6,7)(3,9) % eastern section of pointed curve
+\bezier{40}(0,2)(3,4)(6,2) % bottom curve
+\put(3,9){\line(0,1){2}} % output line
+\put(1,0){\line(0,1){2.5}} % western input line
+\put(5,0){\line(0,1){2.5}} % eastern input line
+% NB intersection of input lines & back curve is estimated (not calculated)!
+\end{picture}
+}
diff --git a/graphics/lcircuit/ors.mac b/graphics/lcircuit/ors.mac
new file mode 100644
index 0000000000..db56672353
--- /dev/null
+++ b/graphics/lcircuit/ors.mac
@@ -0,0 +1,13 @@
+% OR-gate SOUTH
+\newsavebox{\ors}
+\savebox{\ors}(6,11){
+\begin{picture}(6,11)
+\bezier{60}(0,9)(0,4)(3,2) % western section of pointed curve
+\bezier{60}(6,9)(6,4)(3,2) % eastern section of pointed curve
+\bezier{40}(0,9)(3,7)(6,9) % top curve
+\put(3,0){\line(0,1){2}} % output line
+\put(1,11){\line(0,-1){2.5}} % western input line
+\put(5,11){\line(0,-1){2.5}} % eastern input line
+% NB intersection of input lines & back curve is estimated (not calculated)!
+\end{picture}
+}
diff --git a/graphics/lcircuit/orw.mac b/graphics/lcircuit/orw.mac
new file mode 100644
index 0000000000..8eb3808283
--- /dev/null
+++ b/graphics/lcircuit/orw.mac
@@ -0,0 +1,13 @@
+% OR-gate WEST
+\newsavebox{\orw}
+\savebox{\orw}(11,6){
+\begin{picture}(11,6)
+\bezier{60}(9,6)(4,6)(2,3) % top section of pointed curve
+\bezier{60}(9,0)(4,0)(2,3) % bottom section of pointed curve
+\bezier{40}(9,6)(7,3)(9,0) % back curve
+\put(0,3){\line(1,0){2}} % output line
+\put(11,5){\line(-1,0){2.5}} % top input line
+\put(11,1){\line(-1,0){2.5}} % bottom input line
+% NB intersection of input lines & back curve is estimated (not calculated)!
+\end{picture}
+}
diff --git a/graphics/lcircuit/ote.mac b/graphics/lcircuit/ote.mac
new file mode 100644
index 0000000000..0d2e0d67f7
--- /dev/null
+++ b/graphics/lcircuit/ote.mac
@@ -0,0 +1,11 @@
+% buffer EAST
+\newsavebox{\ote}
+\savebox{\ote}(9,6){
+\begin{picture}(9,6)
+\put(0,3){\line(1,0){2}} % input
+\put(2,0){\line(0,1){6}}
+\put(2,6){\line(5,-3){5}}
+\put(7,3){\line(-5,-3){5}}
+\put(7,3){\line(1,0){2}} % output
+\end{picture}
+}
diff --git a/graphics/lcircuit/otn.mac b/graphics/lcircuit/otn.mac
new file mode 100644
index 0000000000..89d094985b
--- /dev/null
+++ b/graphics/lcircuit/otn.mac
@@ -0,0 +1,11 @@
+% buffer NORTH
+\newsavebox{\otn}
+\savebox{\otn}(6,9){
+\begin{picture}(6,9)
+\put(3,0){\line(0,1){2}} % input
+\put(0,2){\line(1,0){6}}
+\put(0,2){\line(3,5){3}}
+\put(3,7){\line(3,-5){3}}
+\put(3,7){\line(0,1){2}}
+\end{picture}
+}
diff --git a/graphics/lcircuit/ots.mac b/graphics/lcircuit/ots.mac
new file mode 100644
index 0000000000..0c14760884
--- /dev/null
+++ b/graphics/lcircuit/ots.mac
@@ -0,0 +1,11 @@
+% buffer SOUTH
+\newsavebox{\ots}
+\savebox{\ots}(6,9){
+\begin{picture}(6,9)
+\put(3,9){\line(0,-1){2}}
+\put(0,7){\line(1,0){6}}
+\put(0,7){\line(3,-5){3}}
+\put(3,2){\line(3,5){3}}
+\put(3,0){\line(0,1){2}}
+\end{picture}
+}
diff --git a/graphics/lcircuit/otw.mac b/graphics/lcircuit/otw.mac
new file mode 100644
index 0000000000..f4e10defe1
--- /dev/null
+++ b/graphics/lcircuit/otw.mac
@@ -0,0 +1,11 @@
+% buffer WEST
+\newsavebox{\otw}
+\savebox{\otw}(9,6){
+\begin{picture}(9,6)
+\put(7,3){\line(1,0){2}}
+\put(7,0){\line(0,1){6}}
+\put(7,6){\line(-5,-3){5}}
+\put(2,3){\line(5,-3){5}}
+\put(0,3){\line(1,0){2}}
+\end{picture}
+}
diff --git a/graphics/lcircuit/palette.pic b/graphics/lcircuit/palette.pic
new file mode 100644
index 0000000000..9e8de5f544
--- /dev/null
+++ b/graphics/lcircuit/palette.pic
@@ -0,0 +1,347 @@
+\unitlength=1.00mm
+\special{em:linewidth 0.4pt}
+\linethickness{0.4pt}
+\begin{picture}(149.00,156.00)
+\put(0.00,146.00){\line(1,0){2.00}}
+\put(5.00,145.00){\line(-1,0){3.00}}
+\put(2.00,145.00){\line(0,1){6.00}}
+\put(2.00,151.00){\line(1,0){3.00}}
+\put(0.00,150.00){\line(1,0){2.00}}
+\bezier{30}(5.00,145.00)(8.00,145.00)(8.00,148.00)
+\bezier{30}(8.00,148.00)(8.00,151.00)(5.00,151.00)
+\put(8.00,148.00){\line(1,0){2.00}}
+\put(23.00,146.00){\line(1,0){2.00}}
+\put(23.00,150.00){\line(1,0){2.00}}
+\put(23.00,145.00){\line(0,1){6.00}}
+\put(23.00,145.00){\line(-1,0){3.00}}
+\put(20.00,151.00){\line(1,0){3.00}}
+\bezier{30}(20.00,151.00)(17.00,151.00)(17.00,148.00)
+\bezier{30}(17.00,148.00)(17.00,145.00)(20.00,145.00)
+\put(15.00,148.00){\line(1,0){2.00}}
+\put(30.00,147.00){\line(0,1){3.00}}
+\put(30.00,147.00){\line(1,0){6.00}}
+\put(36.00,147.00){\line(0,1){3.00}}
+\put(31.00,145.00){\line(0,1){2.00}}
+\put(35.00,145.00){\line(0,1){2.00}}
+\bezier{30}(30.00,150.00)(30.00,153.00)(33.00,153.00)
+\bezier{30}(36.00,150.00)(36.00,153.00)(33.00,153.00)
+\put(33.00,153.00){\line(0,1){2.00}}
+\put(46.00,153.00){\line(-1,0){6.00}}
+\put(40.00,153.00){\line(0,-1){3.00}}
+\put(46.00,153.00){\line(0,-1){3.00}}
+\put(41.00,153.00){\line(0,1){2.00}}
+\put(45.00,153.00){\line(0,1){2.00}}
+\bezier{30}(40.00,150.00)(40.00,147.00)(43.00,147.00)
+\bezier{30}(43.00,147.00)(46.00,147.00)(46.00,150.00)
+\put(43.00,145.00){\line(0,1){2.00}}
+\put(50.00,146.00){\line(1,0){2.00}}
+\put(55.00,145.00){\line(-1,0){3.00}}
+\put(52.00,145.00){\line(0,1){6.00}}
+\put(52.00,151.00){\line(1,0){3.00}}
+\put(50.00,150.00){\line(1,0){2.00}}
+\bezier{30}(55.00,145.00)(58.00,145.00)(58.00,148.00)
+\bezier{30}(58.00,148.00)(58.00,151.00)(55.00,151.00)
+\put(59.50,148.00){\line(1,0){1.50}}
+\put(58.75,148.00){\circle{1.50}}
+\put(74.00,146.00){\line(1,0){2.00}}
+\put(74.00,150.00){\line(1,0){2.00}}
+\put(74.00,145.00){\line(0,1){6.00}}
+\put(74.00,145.00){\line(-1,0){3.00}}
+\put(71.00,151.00){\line(1,0){3.00}}
+\bezier{30}(71.00,151.00)(68.00,151.00)(68.00,148.00)
+\bezier{30}(68.00,148.00)(68.00,145.00)(71.00,145.00)
+\put(65.00,148.00){\line(1,0){1.50}}
+\put(67.25,148.00){\circle{1.50}}
+\put(80.00,147.00){\line(0,1){3.00}}
+\put(80.00,147.00){\line(1,0){6.00}}
+\put(86.00,147.00){\line(0,1){3.00}}
+\put(81.00,145.00){\line(0,1){2.00}}
+\put(85.00,145.00){\line(0,1){2.00}}
+\bezier{30}(80.00,150.00)(80.00,153.00)(83.00,153.00)
+\bezier{30}(86.00,150.00)(86.00,153.00)(83.00,153.00)
+\put(83.00,154.50){\line(0,1){1.50}}
+\put(83.00,153.75){\circle{1.50}}
+\put(96.00,154.00){\line(-1,0){6.00}}
+\put(90.00,154.00){\line(0,-1){3.00}}
+\put(96.00,154.00){\line(0,-1){3.00}}
+\put(91.00,154.00){\line(0,1){2.00}}
+\put(95.00,154.00){\line(0,1){2.00}}
+\bezier{30}(90.00,151.00)(90.00,148.00)(93.00,148.00)
+\bezier{30}(93.00,148.00)(96.00,148.00)(96.00,151.00)
+\put(93.00,145.00){\line(0,1){1.50}}
+\put(93.00,147.25){\circle{1.50}}
+\bezier{60}(2.00,136.00)(7.00,136.00)(9.00,133.00)
+\bezier{60}(2.00,130.00)(7.00,130.00)(9.00,133.00)
+\bezier{50}(2.00,136.00)(4.00,133.00)(2.00,130.00)
+\put(9.00,133.00){\line(1,0){2.00}}
+\put(0.00,135.00){\line(1,0){2.50}}
+\put(0.00,131.00){\line(1,0){2.50}}
+\bezier{60}(24.00,136.00)(19.00,136.00)(17.00,133.00)
+\bezier{60}(24.00,130.00)(19.00,130.00)(17.00,133.00)
+\bezier{40}(24.00,136.00)(22.00,133.00)(24.00,130.00)
+\put(15.00,133.00){\line(1,0){2.00}}
+\put(26.00,135.00){\line(-1,0){2.50}}
+\put(26.00,131.00){\line(-1,0){2.50}}
+\bezier{60}(30.00,132.00)(30.00,137.00)(33.00,139.00)
+\bezier{60}(36.00,132.00)(36.00,137.00)(33.00,139.00)
+\bezier{40}(30.00,132.00)(33.00,134.00)(36.00,132.00)
+\put(33.00,139.00){\line(0,1){2.00}}
+\put(31.00,130.00){\line(0,1){2.50}}
+\put(35.00,130.00){\line(0,1){2.50}}
+\bezier{60}(40.00,139.00)(40.00,134.00)(43.00,132.00)
+\bezier{60}(46.00,139.00)(46.00,134.00)(43.00,132.00)
+\bezier{40}(40.00,139.00)(43.00,137.00)(46.00,139.00)
+\put(43.00,130.00){\line(0,1){2.00}}
+\put(41.00,141.00){\line(0,-1){2.50}}
+\put(45.00,141.00){\line(0,-1){2.50}}
+\bezier{60}(52.00,136.00)(57.00,136.00)(59.00,133.00)
+\bezier{60}(52.00,130.00)(57.00,130.00)(59.00,133.00)
+\bezier{50}(52.00,136.00)(54.00,133.00)(52.00,130.00)
+\put(60.50,133.00){\line(1,0){1.50}}
+\put(59.75,133.00){\circle{1.50}}
+\put(50.00,135.00){\line(1,0){2.50}}
+\put(50.00,131.00){\line(1,0){2.50}}
+\bezier{60}(75.00,136.00)(70.00,136.00)(68.00,133.00)
+\bezier{60}(75.00,130.00)(70.00,130.00)(68.00,133.00)
+\bezier{40}(75.00,136.00)(73.00,133.00)(75.00,130.00)
+\put(65.00,133.00){\line(1,0){1.50}}
+\put(67.25,133.00){\circle{1.50}}
+\put(77.00,135.00){\line(-1,0){2.50}}
+\put(77.00,131.00){\line(-1,0){2.50}}
+\bezier{60}(80.00,132.00)(80.00,137.00)(83.00,139.00)
+\bezier{60}(86.00,132.00)(86.00,137.00)(83.00,139.00)
+\bezier{40}(80.00,132.00)(83.00,134.00)(86.00,132.00)
+\put(83.00,140.50){\line(0,1){1.50}}
+\put(83.00,139.75){\circle{1.50}}
+\put(81.00,130.00){\line(0,1){2.50}}
+\put(85.00,130.00){\line(0,1){2.50}}
+\bezier{60}(90.00,140.00)(90.00,135.00)(93.00,133.00)
+\bezier{60}(96.00,140.00)(96.00,135.00)(93.00,133.00)
+\bezier{40}(90.00,140.00)(93.00,138.00)(96.00,140.00)
+\put(93.00,130.00){\line(0,1){1.50}}
+\put(93.00,132.25){\circle{1.50}}
+\put(91.00,142.00){\line(0,-1){2.50}}
+\put(95.00,142.00){\line(0,-1){2.50}}
+\bezier{60}(2.00,121.00)(7.00,121.00)(9.00,118.00)
+\bezier{60}(2.00,115.00)(7.00,115.00)(9.00,118.00)
+\bezier{40}(2.00,121.00)(4.00,118.00)(2.00,115.00)
+\bezier{40}(1.00,121.00)(3.00,118.00)(1.00,115.00)
+\put(9.00,118.00){\line(1,0){2.00}}
+\put(0.00,120.00){\line(1,0){1.50}}
+\put(0.00,116.00){\line(1,0){1.50}}
+\bezier{60}(24.00,121.00)(19.00,121.00)(17.00,118.00)
+\bezier{60}(24.00,115.00)(19.00,115.00)(17.00,118.00)
+\bezier{40}(24.00,121.00)(22.00,118.00)(24.00,115.00)
+\bezier{40}(25.00,121.00)(23.00,118.00)(25.00,115.00)
+\put(15.00,118.00){\line(1,0){2.00}}
+\put(26.00,120.00){\line(-1,0){1.50}}
+\put(26.00,116.00){\line(-1,0){1.50}}
+\bezier{60}(30.00,117.00)(30.00,122.00)(33.00,124.00)
+\bezier{60}(36.00,117.00)(36.00,122.00)(33.00,124.00)
+\bezier{40}(30.00,117.00)(33.00,119.00)(36.00,117.00)
+\bezier{40}(30.00,116.00)(33.00,118.00)(36.00,116.00)
+\put(33.00,124.00){\line(0,1){2.00}}
+\put(31.00,115.00){\line(0,1){1.50}}
+\put(35.00,115.00){\line(0,1){1.50}}
+\bezier{60}(40.00,124.00)(40.00,119.00)(43.00,117.00)
+\bezier{60}(46.00,124.00)(46.00,119.00)(43.00,117.00)
+\bezier{40}(40.00,125.00)(43.00,123.00)(46.00,125.00)
+\bezier{40}(40.00,124.00)(43.00,122.00)(46.00,124.00)
+\put(43.00,115.00){\line(0,1){2.00}}
+\put(41.00,126.00){\line(0,-1){1.50}}
+\put(45.00,126.00){\line(0,-1){1.50}}
+\bezier{60}(52.00,121.00)(57.00,121.00)(59.00,118.00)
+\bezier{60}(52.00,115.00)(57.00,115.00)(59.00,118.00)
+\bezier{40}(52.00,121.00)(54.00,118.00)(52.00,115.00)
+\bezier{40}(51.00,121.00)(53.00,118.00)(51.00,115.00)
+\put(59.75,118.00){\circle{1.50}}
+\put(60.50,118.00){\line(1,0){1.50}}
+\put(50.00,120.00){\line(1,0){1.50}}
+\put(50.00,116.00){\line(1,0){1.50}}
+\bezier{60}(75.00,121.00)(70.00,121.00)(68.00,118.00)
+\bezier{60}(75.00,115.00)(70.00,115.00)(68.00,118.00)
+\bezier{40}(75.00,121.00)(73.00,118.00)(75.00,115.00)
+\bezier{40}(76.00,121.00)(74.00,118.00)(76.00,115.00)
+\put(65.00,118.00){\line(1,0){1.50}}
+\put(67.25,118.00){\circle{1.50}}
+\put(77.00,120.00){\line(-1,0){1.50}}
+\put(77.00,116.00){\line(-1,0){1.50}}
+\bezier{60}(80.00,117.00)(80.00,122.00)(83.00,124.00)
+\bezier{60}(86.00,117.00)(86.00,122.00)(83.00,124.00)
+\bezier{40}(80.00,117.00)(83.00,119.00)(86.00,117.00)
+\bezier{40}(80.00,116.00)(83.00,118.00)(86.00,116.00)
+\put(83.00,125.50){\line(0,1){1.50}}
+\put(83.00,124.75){\circle{1.50}}
+\put(81.00,115.00){\line(0,1){1.50}}
+\put(85.00,115.00){\line(0,1){1.50}}
+\bezier{60}(90.00,125.00)(90.00,120.00)(93.00,118.00)
+\bezier{60}(96.00,125.00)(96.00,120.00)(93.00,118.00)
+\bezier{40}(90.00,126.00)(93.00,124.00)(96.00,126.00)
+\bezier{40}(90.00,125.00)(93.00,123.00)(96.00,125.00)
+\put(93.00,115.00){\line(0,1){1.50}}
+\put(93.00,117.25){\circle{1.50}}
+\put(91.00,127.00){\line(0,-1){1.50}}
+\put(95.00,127.00){\line(0,-1){1.50}}
+\put(0.00,103.00){\line(1,0){2.00}}
+\put(2.00,100.00){\line(0,1){6.00}}
+\put(2.00,106.00){\line(5,-3){5.00}}
+\put(7.00,103.00){\line(-5,-3){5.00}}
+\put(7.00,103.00){\line(1,0){2.00}}
+\put(22.00,103.00){\line(1,0){2.00}}
+\put(22.00,100.00){\line(0,1){6.00}}
+\put(22.00,106.00){\line(-5,-3){5.00}}
+\put(17.00,103.00){\line(5,-3){5.00}}
+\put(15.00,103.00){\line(1,0){2.00}}
+\put(33.00,100.00){\line(0,1){2.00}}
+\put(30.00,102.00){\line(1,0){6.00}}
+\put(30.00,102.00){\line(3,5){3.00}}
+\put(33.00,107.00){\line(3,-5){3.00}}
+\put(33.00,107.00){\line(0,1){2.00}}
+\put(43.00,109.00){\line(0,-1){2.00}}
+\put(40.00,107.00){\line(1,0){6.00}}
+\put(40.00,107.00){\line(3,-5){3.00}}
+\put(43.00,102.00){\line(3,5){3.00}}
+\put(43.00,100.00){\line(0,1){2.00}}
+\put(50.00,103.00){\line(1,0){2.00}}
+\put(52.00,100.00){\line(0,1){6.00}}
+\put(57.75,103.00){\circle{1.50}}
+\put(52.00,106.00){\line(5,-3){5.00}}
+\put(57.00,103.00){\line(-5,-3){5.00}}
+\put(58.50,103.00){\line(1,0){1.50}}
+\put(73.00,103.00){\line(1,0){2.00}}
+\put(67.25,103.00){\circle{1.50}}
+\put(73.00,100.00){\line(0,1){6.00}}
+\put(73.00,106.00){\line(-5,-3){5.00}}
+\put(68.00,103.00){\line(5,-3){5.00}}
+\put(65.00,103.00){\line(1,0){1.50}}
+\put(83.00,100.00){\line(0,1){2.00}}
+\put(80.00,102.00){\line(1,0){6.00}}
+\put(83.00,107.75){\circle{1.50}}
+\put(80.00,102.00){\line(3,5){3.00}}
+\put(83.00,107.00){\line(3,-5){3.00}}
+\put(83.00,108.50){\line(0,1){1.50}}
+\put(93.00,110.00){\line(0,-1){2.00}}
+\put(90.00,108.00){\line(1,0){6.00}}
+\put(90.00,108.00){\line(3,-5){3.00}}
+\put(93.00,103.00){\line(3,5){3.00}}
+\put(93.00,100.00){\line(0,1){1.50}}
+\put(93.00,102.25){\circle{1.50}}
+\put(100.00,148.00){\line(1,0){2.00}}
+\put(102.00,145.00){\line(0,1){6.00}}
+\put(102.00,151.00){\line(5,-3){5.00}}
+\put(107.00,148.00){\line(-5,-3){5.00}}
+\put(107.00,145.00){\line(0,1){6.00}}
+\put(107.00,151.00){\line(-5,-3){5.00}}
+\put(102.00,148.00){\line(5,-3){5.00}}
+\put(107.00,148.00){\line(1,0){2.00}}
+\put(104.50,145.00){\line(0,1){1.50}}
+\put(104.50,150.40){\line(0,1){0.60}}
+\put(104.50,150.00){\circle{0.80}}
+\put(118.00,145.00){\line(0,1){2.00}}
+\put(115.00,147.00){\line(1,0){6.00}}
+\put(115.00,147.00){\line(3,5){3.00}}
+\put(118.00,152.00){\line(3,-5){3.00}}
+\put(115.00,152.00){\line(1,0){6.00}}
+\put(115.00,152.00){\line(3,-5){3.00}}
+\put(118.00,147.00){\line(3,5){3.00}}
+\put(118.00,152.00){\line(0,1){2.00}}
+\put(115.00,149.50){\line(1,0){1.50}}
+\put(120.40,149.50){\line(1,0){0.60}}
+\put(120.00,149.50){\circle{0.80}}
+\put(100.00,133.00){\line(1,0){2.00}}
+\put(103.00,133.00){\line(1,0){2.00}}
+\put(103.00,131.00){\line(0,1){4.00}}
+\put(102.00,131.00){\line(0,1){4.00}}
+\put(118.00,130.00){\line(0,1){2.00}}
+\put(118.00,133.00){\line(0,1){2.00}}
+\put(116.00,132.00){\line(1,0){4.00}}
+\put(116.00,133.00){\line(1,0){4.00}}
+\put(100.00,118.00){\line(1,0){2.00}}
+\put(110.00,118.00){\line(1,0){2.00}}
+\put(102.00,119.50){\line(1,0){8.00}}
+\put(102.00,116.50){\line(1,0){8.00}}
+\put(102.00,116.50){\line(0,1){3.00}}
+\put(110.00,116.50){\line(0,1){3.00}}
+\put(118.00,115.00){\line(0,1){2.00}}
+\put(118.00,125.00){\line(0,1){2.00}}
+\put(116.50,117.00){\line(0,1){8.00}}
+\put(119.50,117.00){\line(0,1){8.00}}
+\put(116.50,117.00){\line(1,0){3.00}}
+\put(116.50,125.00){\line(1,0){3.00}}
+\put(147.00,145.00){\line(0,1){4.00}}
+\put(145.00,147.00){\line(1,0){2.00}}
+\put(147.00,147.00){\circle*{1.00}}
+\put(147.00,130.00){\line(0,1){4.00}}
+\put(147.00,132.00){\line(1,0){2.00}}
+\put(147.00,132.00){\circle*{1.00}}
+\put(147.00,117.00){\line(0,1){2.00}}
+\put(145.00,117.00){\line(1,0){4.00}}
+\put(147.00,117.00){\circle*{1.00}}
+\put(147.00,100.00){\line(0,1){2.00}}
+\put(145.00,102.00){\line(1,0){4.00}}
+\put(147.00,102.00){\circle*{1.00}}
+\put(106.00,100.00){\line(0,1){3.00}}
+\put(106.00,103.75){\circle{1.50}}
+\put(116.00,105.00){\line(0,-1){3.00}}
+\put(116.00,101.50){\makebox(0,0)[cc]{{\cmsymbol\symbol{53}}}}
+\put(129.00,145.00){\line(0,1){2.00}}
+\put(129.00,151.00){\line(0,1){2.00}}
+\put(131.00,147.00){\line(0,1){4.00}}
+\put(131.00,149.00){\line(1,0){2.00}}
+\put(129.00,147.00){\line(1,0){1.50}}
+\put(129.00,151.00){\line(1,0){1.50}}
+\put(130.50,147.00){\line(0,1){4.00}}
+\put(139.00,145.00){\line(0,1){2.00}}
+\put(139.00,151.00){\line(0,1){2.00}}
+\put(141.00,147.00){\line(0,1){4.00}}
+\put(142.00,149.00){\line(1,0){1.00}}
+\put(141.50,149.00){\circle{1.00}}
+\put(139.00,147.00){\line(1,0){1.50}}
+\put(139.00,151.00){\line(1,0){1.50}}
+\put(140.50,147.00){\line(0,1){4.00}}
+\put(125.00,119.00){\line(1,0){2.00}}
+\put(127.00,117.00){\line(1,0){4.00}}
+\put(129.00,117.00){\line(0,-1){2.00}}
+\put(131.00,119.00){\line(1,0){2.00}}
+\put(127.00,117.50){\line(1,0){4.00}}
+\put(127.00,119.00){\line(0,-1){1.50}}
+\put(131.00,119.00){\line(0,-1){1.50}}
+\put(135.00,119.00){\line(1,0){2.00}}
+\put(137.00,117.00){\line(1,0){4.00}}
+\put(139.00,116.00){\line(0,-1){1.00}}
+\put(139.00,116.50){\circle{1.00}}
+\put(141.00,119.00){\line(1,0){2.00}}
+\put(137.00,117.50){\line(1,0){4.00}}
+\put(137.00,119.00){\line(0,-1){1.50}}
+\put(141.00,119.00){\line(0,-1){1.50}}
+\put(125.00,104.00){\line(1,0){2.00}}
+\put(131.00,104.00){\line(1,0){2.00}}
+\put(127.00,106.00){\line(1,0){4.00}}
+\put(129.00,106.00){\line(0,1){2.00}}
+\put(127.00,104.00){\line(0,1){1.50}}
+\put(127.00,105.50){\line(1,0){4.00}}
+\put(131.00,105.50){\line(0,-1){1.50}}
+\put(135.00,104.00){\line(1,0){2.00}}
+\put(141.00,104.00){\line(1,0){2.00}}
+\put(137.00,106.00){\line(1,0){4.00}}
+\put(139.00,107.00){\line(0,1){1.00}}
+\put(139.00,106.50){\circle{1.00}}
+\put(137.00,104.00){\line(0,1){1.50}}
+\put(137.00,105.50){\line(1,0){4.00}}
+\put(141.00,105.50){\line(0,-1){1.50}}
+\put(129.00,130.00){\line(0,1){2.00}}
+\put(127.00,132.00){\line(0,1){4.00}}
+\put(129.00,136.00){\line(0,1){2.00}}
+\put(127.00,134.00){\line(-1,0){2.00}}
+\put(129.00,132.00){\line(-1,0){1.50}}
+\put(129.00,136.00){\line(-1,0){1.50}}
+\put(127.50,132.00){\line(0,1){4.00}}
+\put(139.00,130.00){\line(0,1){2.00}}
+\put(137.00,132.00){\line(0,1){4.00}}
+\put(139.00,136.00){\line(0,1){2.00}}
+\put(136.00,134.00){\line(-1,0){1.00}}
+\put(136.50,134.00){\circle{1.00}}
+\put(139.00,132.00){\line(-1,0){1.50}}
+\put(139.00,136.00){\line(-1,0){1.50}}
+\put(137.50,132.00){\line(0,1){4.00}}
+\end{picture}
diff --git a/graphics/lcircuit/pfete.mac b/graphics/lcircuit/pfete.mac
new file mode 100644
index 0000000000..f94b1dfa54
--- /dev/null
+++ b/graphics/lcircuit/pfete.mac
@@ -0,0 +1,14 @@
+% P-channel FET EAST
+\newsavebox{\pfete}
+\savebox{\pfete}(8,8){
+\begin{picture}(8,8)
+\put(4.00,0.00){\line(0,1){2.00}}
+\put(4.00,6.00){\line(0,1){2.00}}
+\put(6.00,2.00){\line(0,1){4.00}}
+\put(7.00,4.00){\line(1,0){1.00}}
+\put(6.50,4.00){\circle{1.00}}
+\put(4.00,2.00){\line(1,0){1.50}}
+\put(4.00,6.00){\line(1,0){1.50}}
+\put(5.50,2.00){\line(0,1){4.00}}
+\end{picture}
+}
diff --git a/graphics/lcircuit/pfetn.mac b/graphics/lcircuit/pfetn.mac
new file mode 100644
index 0000000000..0398c0ee38
--- /dev/null
+++ b/graphics/lcircuit/pfetn.mac
@@ -0,0 +1,14 @@
+% P-channel FET NORTH
+\newsavebox{\pfetn}
+\savebox{\pfetn}(8,8){
+\begin{picture}(8,8)
+\put(0.00,4.00){\line(1,0){2.00}}
+\put(6.00,4.00){\line(1,0){2.00}}
+\put(2.00,6.00){\line(1,0){4.00}}
+\put(4.00,7.00){\line(0,1){1.00}}
+\put(4.00,6.50){\circle{1.00}}
+\put(2.00,4.00){\line(0,1){1.5}}
+\put(2.00,5.5){\line(1,0){4.00}}
+\put(6.00,5.5){\line(0,-1){1.5}}
+\end{picture}
+}
diff --git a/graphics/lcircuit/pfets.mac b/graphics/lcircuit/pfets.mac
new file mode 100644
index 0000000000..9c2ced2cb7
--- /dev/null
+++ b/graphics/lcircuit/pfets.mac
@@ -0,0 +1,14 @@
+% P-channel FET SOUTH
+\newsavebox{\pfets}
+\savebox{\pfets}(8,8){
+\begin{picture}(8.00,8.00)
+\put(0.00,4.00){\line(1,0){2.00}}
+\put(2.00,2.00){\line(1,0){4.00}}
+\put(4.00,1.00){\line(0,-1){1.00}}
+\put(4.00,1.50){\circle{1.0}}
+\put(6.00,4.00){\line(1,0){2.00}}
+\put(2.00,2.50){\line(1,0){4.00}}
+\put(2.00,4.00){\line(0,-1){1.50}}
+\put(6.00,4.00){\line(0,-1){1.50}}
+\end{picture}
+}
diff --git a/graphics/lcircuit/pfetw.mac b/graphics/lcircuit/pfetw.mac
new file mode 100644
index 0000000000..077ec5e9cd
--- /dev/null
+++ b/graphics/lcircuit/pfetw.mac
@@ -0,0 +1,14 @@
+% P-channel FET WEST
+\newsavebox{\pfetw}
+\savebox{\pfetw}(8,8){
+\begin{picture}(8.00,8.00)
+\put(4.00,0.00){\line(0,1){2.00}}
+\put(2.00,2.00){\line(0,1){4.00}}
+\put(4.00,6.00){\line(0,1){2.00}}
+\put(1.00,4.00){\line(-1,0){1.00}}
+\put(1.50,4.00){\circle{1.00}}
+\put(4.00,2.00){\line(-1,0){1.50}}
+\put(4.00,6.00){\line(-1,0){1.50}}
+\put(2.50,2.00){\line(0,1){4.00}}
+\end{picture}
+}
diff --git a/graphics/lcircuit/read.me b/graphics/lcircuit/read.me
new file mode 100644
index 0000000000..3bafc1d04a
--- /dev/null
+++ b/graphics/lcircuit/read.me
@@ -0,0 +1,23 @@
+Announcing...
+
+a set of circuit schematic symbols for LaTeX picture mode. The
+set includes all basic logic gates in four orientations, FETs,
+power supply pins, transmission gates, capacitors, resistors and
+wiring T-junctions. All pins are on a 1mm grid and the symbols
+are designed to be easily used with Georg Horn's TeXcad program:
+we even supply you with a palette picture file that displays all
+52 symbols in a compact grid that you can cut and paste from
+within TeXcad. Each symbol lives in its own .mac file and is defined
+as a \savebox so as to reduce memory consumption. You must add
+the [bezier] option to your \documentstyle command. A small
+manual is provided in both Postscript and .dvi forms.
+
+The files lcircuit.zip and lcircuit.tar may are available for
+anonymous ftp from cscx.cs.rhbnc.ac.uk (134.219.200.45) in directory
+pub/lcircuit. I will also be uploading them to various ftp
+servers in the coming week.
+
+Adrian Johnstone, CS Dept, Royal Holloway, University of London
+
+adrian@cs.rhbnc.ac.uk
+
diff --git a/graphics/lcircuit/resew.mac b/graphics/lcircuit/resew.mac
new file mode 100644
index 0000000000..784a6aa335
--- /dev/null
+++ b/graphics/lcircuit/resew.mac
@@ -0,0 +1,12 @@
+% resistor HORIZONTAL
+\newsavebox{\resew}
+\savebox{\resew}(12.00,6.00){
+\begin{picture}(12.00,6.00)
+\put(0.00,3.00){\line(1,0){2.00}}
+\put(10.00,3.00){\line(1,0){2.00}}
+\put(2.00,4.50){\line(1,0){8.00}}
+\put(2.00,1.50){\line(1,0){8.00}}
+\put(2.00,1.50){\line(0,1){3.00}}
+\put(10.00,1.50){\line(0,1){3.00}}
+\end{picture}
+}
diff --git a/graphics/lcircuit/resns.mac b/graphics/lcircuit/resns.mac
new file mode 100644
index 0000000000..b376f8a529
--- /dev/null
+++ b/graphics/lcircuit/resns.mac
@@ -0,0 +1,12 @@
+% resistor VERTICAL
+\newsavebox{\resns}
+\savebox{\resns}(6.00,12.00){
+\begin{picture}(6.00,12.00)
+\put(3.00,0.00){\line(0,1){2.00}}
+\put(3.00,10.00){\line(0,1){2.00}}
+\put(1.50,2.00){\line(0,1){8.00}}
+\put(4.50,2.00){\line(0,1){8.00}}
+\put(1.50,2.00){\line(1,0){3.00}}
+\put(1.50,10.00){\line(1,0){3.00}}
+\end{picture}
+}
diff --git a/graphics/lcircuit/tgateew.mac b/graphics/lcircuit/tgateew.mac
new file mode 100644
index 0000000000..1997e65636
--- /dev/null
+++ b/graphics/lcircuit/tgateew.mac
@@ -0,0 +1,18 @@
+% transmission gate EAST-WEST
+\newsavebox{\tgateew}
+\savebox{\tgateew}(9,6){
+\begin{picture}(9,6)
+\put(0,3){\line(1,0){2}}
+\put(2,0){\line(0,1){6}}
+\put(2,6){\line(5,-3){5}}
+\put(7,3){\line(-5,-3){5}}
+\put(7,0){\line(0,1){6}}
+\put(7,6){\line(-5,-3){5}}
+\put(2,3){\line(5,-3){5}}
+\put(7,3){\line(1,0){2}}
+\put(4.5,0){\line(0,1){1.5}}
+\put(4.5,5.4){\line(0,1){0.6}}
+\put(4.5,5){\circle{0.8}}
+\end{picture}
+}
+
diff --git a/graphics/lcircuit/tgatens.mac b/graphics/lcircuit/tgatens.mac
new file mode 100644
index 0000000000..5c5b6d678b
--- /dev/null
+++ b/graphics/lcircuit/tgatens.mac
@@ -0,0 +1,21 @@
+% transmission gate NORTH-SOUTH
+\newsavebox{\tgatens}
+\savebox{\tgatens}(6,9){
+\begin{picture}(6,9)
+\put(3,0){\line(0,1){2}} % input
+\put(0,2){\line(1,0){6}}
+\put(0,2){\line(3,5){3}}
+\put(3,7){\line(3,-5){3}}
+\put(0,7){\line(1,0){6}}
+\put(0,7){\line(3,-5){3}}
+\put(3,2){\line(3,5){3}}
+\put(3,7){\line(0,1){2}}
+\put(0,4.5){\line(1,0){1.5}}
+\put(5.4,4.5){\line(1,0){0.6}}
+\put(5,4.5){\circle{0.8}}
+\end{picture}
+}
+
+
+
+
diff --git a/graphics/lcircuit/tje.mac b/graphics/lcircuit/tje.mac
new file mode 100644
index 0000000000..22da2982a7
--- /dev/null
+++ b/graphics/lcircuit/tje.mac
@@ -0,0 +1,9 @@
+% T junction EAST
+\newsavebox{\tje}
+\savebox{\tje}(4,4){
+\begin{picture}(4.00,4.00)
+\put(2.00,0.00){\line(0,1){4.00}}
+\put(0.00,2.00){\line(1,0){2.00}}
+\put(2.00,2.00){\circle*{1.0}}
+\end{picture}
+}
diff --git a/graphics/lcircuit/tjn.mac b/graphics/lcircuit/tjn.mac
new file mode 100644
index 0000000000..79fca5e0e3
--- /dev/null
+++ b/graphics/lcircuit/tjn.mac
@@ -0,0 +1,9 @@
+% T junction NORTH
+\newsavebox{\tjn}
+\savebox{\tjn}(4,4){
+\begin{picture}(4.00,4.00)
+\put(2.00,2.00){\line(0,1){2.00}}
+\put(0.00,2.00){\line(1,0){4.00}}
+\put(2.00,2.00){\circle*{1.0}}
+\end{picture}
+}
diff --git a/graphics/lcircuit/tjs.mac b/graphics/lcircuit/tjs.mac
new file mode 100644
index 0000000000..bc0cf8019b
--- /dev/null
+++ b/graphics/lcircuit/tjs.mac
@@ -0,0 +1,9 @@
+% T-junction SOUTH
+\newsavebox{\tjs}
+\savebox{\tjs}(4,4){
+\begin{picture}(4.00,4.00)
+\put(2.00,0.00){\line(0,1){2.00}}
+\put(0.00,2.00){\line(1,0){4.00}}
+\put(2.00,2.00){\circle*{1.0}}
+\end{picture}
+}
diff --git a/graphics/lcircuit/tjw.mac b/graphics/lcircuit/tjw.mac
new file mode 100644
index 0000000000..5b101d3bbe
--- /dev/null
+++ b/graphics/lcircuit/tjw.mac
@@ -0,0 +1,9 @@
+% T junction WEST
+\newsavebox{\tjw}
+\savebox{\tjw}(4,4){
+\begin{picture}(4.00,4.00)
+\put(2.00,0.00){\line(0,1){4.00}}
+\put(2.00,2.00){\line(1,0){2.00}}
+\put(2.00,2.00){\circle*{1.0}}
+\end{picture}
+}
diff --git a/graphics/lcircuit/vddpin.mac b/graphics/lcircuit/vddpin.mac
new file mode 100644
index 0000000000..f5b72f4052
--- /dev/null
+++ b/graphics/lcircuit/vddpin.mac
@@ -0,0 +1,8 @@
+% Vdd pin
+\newsavebox{\vddpin}
+\savebox{\vddpin}(2,5){
+\begin{picture}(2,5)
+\put(1.00,0.00){\line(0,1){3.00}}
+\put(1.00,3.75){\circle{1.5}}
+\end{picture}
+}
diff --git a/graphics/lcircuit/vsspin.mac b/graphics/lcircuit/vsspin.mac
new file mode 100644
index 0000000000..3d9bc0028c
--- /dev/null
+++ b/graphics/lcircuit/vsspin.mac
@@ -0,0 +1,9 @@
+% Vss pin
+\newfont{\cmsymbol}{cmsy8}
+\newsavebox{\vsspin}
+\savebox{\vsspin}(2,5){
+\begin{picture}(2,5)
+\put(1.00,5.00){\line(0,-1){3.00}}
+\put(1.00,1.5){\makebox(0,0)[cc]{{\cmsymbol\symbol{53}}}}
+\end{picture}
+}