summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/pst-circ
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2011-01-28 23:15:25 +0000
committerKarl Berry <karl@freefriends.org>2011-01-28 23:15:25 +0000
commit033261fcba44fbe6578315c2ffa0064ce6339ff9 (patch)
tree0dd12cbfacc9d17b7dbfd031b04711f2ca732788 /Master/texmf-dist/tex/generic/pst-circ
parent2b533fb231e8b4119c77af37d548345bd3970697 (diff)
pst-circ 2.0 (29jan11)
git-svn-id: svn://tug.org/texlive/trunk@21213 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic/pst-circ')
-rw-r--r--Master/texmf-dist/tex/generic/pst-circ/pst-circ.tex2853
1 files changed, 2848 insertions, 5 deletions
diff --git a/Master/texmf-dist/tex/generic/pst-circ/pst-circ.tex b/Master/texmf-dist/tex/generic/pst-circ/pst-circ.tex
index 2bd5869e4d8..eae2fdf771d 100644
--- a/Master/texmf-dist/tex/generic/pst-circ/pst-circ.tex
+++ b/Master/texmf-dist/tex/generic/pst-circ/pst-circ.tex
@@ -5,7 +5,6 @@
%%
%% Package `pst-circ.tex'
%%
-%% Christophe Jorssen
%% Herbert Voss <hvoss@tug.org>
%%
%% This program can be redistributed and/or modified under the terms
@@ -27,9 +26,9 @@
\ifx\PSTXKeyLoaded\endinput \else\input pst-xkey \fi
\ifx\PSTMultidoLoaded\endinput\else\input multido.tex\fi
%
-\def\fileversion{1.57}
-\def\filedate{2010/11/06}
-\message{`pst-circ' v\fileversion (CJ,hv,pd)}
+\def\fileversion{2.00}
+\def\filedate{2011/01/28}
+\message{`pst-circ' v\fileversion (hv)}
%
\edef\PstAtCode{\the\catcode`\@}
\catcode`\@=11\relax
@@ -177,6 +176,652 @@
\def\pst@logic@type@RS{RS}
\def\pst@logic@type@D{D}
\def\pst@logic@type@JK{JK}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Logic If Statements
+\newif\ifPst@iec
+\newif\ifPst@iecinvert
+\newif\ifPst@input
+\newif\ifPst@invertinput
+\newif\ifPst@inputa
+\newif\ifPst@invertinputa
+\newif\ifPst@inputb
+\newif\ifPst@invertinputb
+\newif\ifPst@inputc
+\newif\ifPst@invertinputc
+\newif\ifPst@inputd
+\newif\ifPst@invertinputd
+\newif\ifPst@enable
+\newif\ifPst@invertenable
+\newif\ifPst@clock
+\newif\ifPst@invertclock
+\newif\ifPst@set
+\newif\ifPst@invertset
+\newif\ifPst@reset
+\newif\ifPst@invertreset
+
+\newif\ifPst@output
+\newif\ifPst@invertoutput
+\newif\ifPst@outputa
+\newif\ifPst@invertoutputa
+\newif\ifPst@outputb
+\newif\ifPst@invertoutputb
+
+\newif\ifPst@segmentlabels
+
+% IC If Statements
+\newif\ifPst@pina
+\newif\ifPst@invertpina
+\newif\ifPst@pinb
+\newif\ifPst@invertpinb
+\newif\ifPst@pinc
+\newif\ifPst@invertpinc
+\newif\ifPst@pind
+\newif\ifPst@invertpind
+\newif\ifPst@pine
+\newif\ifPst@invertpine
+\newif\ifPst@pinf
+\newif\ifPst@invertpinf
+\newif\ifPst@ping
+\newif\ifPst@invertping
+\newif\ifPst@pinh
+\newif\ifPst@invertpinh
+\newif\ifPst@pini
+\newif\ifPst@invertpini
+\newif\ifPst@pinj
+\newif\ifPst@invertpinj
+\newif\ifPst@pink
+\newif\ifPst@invertpink
+\newif\ifPst@pinl
+\newif\ifPst@invertpinl
+\newif\ifPst@pinm
+\newif\ifPst@invertpinm
+\newif\ifPst@pinn
+\newif\ifPst@invertpinn
+\newif\ifPst@pino
+\newif\ifPst@invertpino
+\newif\ifPst@pinp
+\newif\ifPst@invertpinp
+\newif\ifPst@pinq
+\newif\ifPst@invertpinq
+\newif\ifPst@pinr
+\newif\ifPst@invertpinr
+\newif\ifPst@pins
+\newif\ifPst@invertpins
+\newif\ifPst@pint
+\newif\ifPst@invertpint
+\newif\ifPst@pinu
+\newif\ifPst@invertpinu
+\newif\ifPst@pinv
+\newif\ifPst@invertpinv
+\newif\ifPst@pinw
+\newif\ifPst@invertpinw
+\newif\ifPst@pinx
+\newif\ifPst@invertpinx
+\newif\ifPst@piny
+\newif\ifPst@invertpiny
+\newif\ifPst@pinz
+\newif\ifPst@invertpinz
+\newif\ifPst@pinaa
+\newif\ifPst@invertpinaa
+\newif\ifPst@pinab
+\newif\ifPst@invertpinab
+\newif\ifPst@pinac
+\newif\ifPst@invertpinac
+\newif\ifPst@pinad
+\newif\ifPst@invertpinad
+\newif\ifPst@pinae
+\newif\ifPst@invertpinae
+\newif\ifPst@pinaf
+\newif\ifPst@invertpinaf
+
+
+\newif\ifPst@pinla
+\newif\ifPst@invertpinla
+\newif\ifPst@pinlb
+\newif\ifPst@invertpinlb
+\newif\ifPst@pinlc
+\newif\ifPst@invertpinlc
+\newif\ifPst@pinld
+\newif\ifPst@invertpinld
+\newif\ifPst@pinle
+\newif\ifPst@invertpinle
+\newif\ifPst@pinlf
+\newif\ifPst@invertpinlf
+\newif\ifPst@pinlg
+\newif\ifPst@invertpinlg
+\newif\ifPst@pinlh
+\newif\ifPst@invertpinlh
+\newif\ifPst@pinli
+\newif\ifPst@invertpinli
+\newif\ifPst@pinlj
+\newif\ifPst@invertpinlj
+\newif\ifPst@pinlk
+\newif\ifPst@invertpinlk
+\newif\ifPst@pinll
+\newif\ifPst@invertpinll
+\newif\ifPst@pinlm
+\newif\ifPst@invertpinlm
+\newif\ifPst@pinln
+\newif\ifPst@invertpinln
+\newif\ifPst@pinlo
+\newif\ifPst@invertpinlo
+\newif\ifPst@pinlp
+\newif\ifPst@invertpinlp
+
+\newif\ifPst@pinra
+\newif\ifPst@invertpinra
+\newif\ifPst@pinrb
+\newif\ifPst@invertpinrb
+\newif\ifPst@pinrc
+\newif\ifPst@invertpinrc
+\newif\ifPst@pinrd
+\newif\ifPst@invertpinrd
+\newif\ifPst@pinre
+\newif\ifPst@invertpinre
+\newif\ifPst@pinrf
+\newif\ifPst@invertpinrf
+\newif\ifPst@pinrg
+\newif\ifPst@invertpinrg
+\newif\ifPst@pinrh
+\newif\ifPst@invertpinrh
+\newif\ifPst@pinri
+\newif\ifPst@invertpinri
+\newif\ifPst@pinrj
+\newif\ifPst@invertpinrj
+\newif\ifPst@pinrk
+\newif\ifPst@invertpinrl
+\newif\ifPst@pinrl
+\newif\ifPst@invertpinrl
+\newif\ifPst@pinrm
+\newif\ifPst@invertpinrm
+\newif\ifPst@pinrn
+\newif\ifPst@invertpinrn
+\newif\ifPst@pinro
+\newif\ifPst@invertpinro
+\newif\ifPst@pinrp
+\newif\ifPst@invertpinrp
+
+
+\newif\ifPst@pintl
+\newif\ifPst@invertpintl
+\newif\ifPst@pintc
+\newif\ifPst@invertpintc
+\newif\ifPst@pintr
+\newif\ifPst@invertpintr
+
+\newif\ifPst@pinbl
+\newif\ifPst@invertpinbl
+\newif\ifPst@pinbc
+\newif\ifPst@invertpinbc
+\newif\ifPst@pinbr
+\newif\ifPst@invertpinbr
+
+\newif\ifPst@pinta
+\newif\ifPst@invertpinta
+\newif\ifPst@pintb
+\newif\ifPst@invertpintb
+\newif\ifPst@pintc
+\newif\ifPst@invertpintc
+\newif\ifPst@pintd
+\newif\ifPst@invertpintd
+\newif\ifPst@pinte
+\newif\ifPst@invertpinte
+
+\newif\ifPst@pinba
+\newif\ifPst@invertpinba
+\newif\ifPst@pinbb
+\newif\ifPst@invertpinbb
+\newif\ifPst@pinbc
+\newif\ifPst@invertpinbc
+\newif\ifPst@pinbd
+\newif\ifPst@invertpinbd
+\newif\ifPst@pinbe
+\newif\ifPst@invertpinbe
+
+\newif\ifPst@dpright
+\newif\ifPst@dpleft
+
+% Ladder Logic If Statements
+\newif\ifPst@latch
+\newif\ifPst@unlatch
+\newif\ifPst@contactclosed
+
+% Bipole If Statements
+\newif\ifPst@polarized
+
+% Define Integer Keys
+\define@choicekey[psset]{pst-circ}{ninputs}{0,1,2,3,4}[2]{\def\psk@ninputs{#1}}
+\define@choicekey[psset]{pst-circ}{segmentdisplay}{0,1,2,3,4,5,6,7,8,9,10}[10]{\def\psk@segmentdisplay{#1}}
+\define@choicekey[psset]{pst-circ}{nicpins}[\val\nr]{8,14,16,20,32}[8]{
+ \ifcase\nr\relax
+ \def\psk@nicpins{0}
+ \or
+ \def\psk@nicpins{1}
+ \or
+ \def\psk@nicpins{2}
+ \or
+ \def\psk@nicpins{3}
+ \or
+ \def\psk@nicpins{4}
+ \fi
+}
+\define@choicekey[psset]{pst-circ}{bubblesize}{0.05,0.1,0.15,0.2}[0.15]{\def\psk@bubblesize{#1}}
+
+%
+\define@key[psset]{pst-circ}{segmentcolor}[black]{\def\psk@segmentcolor{#1}}
+
+% Define Logic String Keys
+\define@key[psset]{pst-circ}{inputalabel}[]{\def\psk@inputalabel{#1}}
+\define@key[psset]{pst-circ}{inputblabel}[]{\def\psk@inputblabel{#1}}
+\define@key[psset]{pst-circ}{inputclabel}[]{\def\psk@inputclabel{#1}}
+\define@key[psset]{pst-circ}{inputenlabel}[]{\def\psk@inputenlabel{#1}}
+\define@key[psset]{pst-circ}{inputcllabel}[]{\def\psk@inputcllabel{#1}}
+\define@key[psset]{pst-circ}{outputalabel}[]{\def\psk@outputalabel{#1}}
+\define@key[psset]{pst-circ}{outputblabel}[]{\def\psk@outputblabel{#1}}
+\define@key[psset]{pst-circ}{outputclabel}[]{\def\psk@outputclabel{#1}}
+
+% Define IC String Keys
+\define@key[psset]{pst-circ}{pinalabel}[]{\def\psk@pinalabel{#1}}
+\define@key[psset]{pst-circ}{pinanumber}[]{\def\psk@pinanumber{#1}}
+\define@key[psset]{pst-circ}{pinblabel}[]{\def\psk@pinblabel{#1}}
+\define@key[psset]{pst-circ}{pinbnumber}[]{\def\psk@pinbnumber{#1}}
+\define@key[psset]{pst-circ}{pinclabel}[]{\def\psk@pinclabel{#1}}
+\define@key[psset]{pst-circ}{pincnumber}[]{\def\psk@pincnumber{#1}}
+\define@key[psset]{pst-circ}{pindlabel}[]{\def\psk@pindlabel{#1}}
+\define@key[psset]{pst-circ}{pindnumber}[]{\def\psk@pindnumber{#1}}
+\define@key[psset]{pst-circ}{pinelabel}[]{\def\psk@pinelabel{#1}}
+\define@key[psset]{pst-circ}{pinenumber}[]{\def\psk@pinenumber{#1}}
+\define@key[psset]{pst-circ}{pinflabel}[]{\def\psk@pinflabel{#1}}
+\define@key[psset]{pst-circ}{pinfnumber}[]{\def\psk@pinfnumber{#1}}
+\define@key[psset]{pst-circ}{pinglabel}[]{\def\psk@pinglabel{#1}}
+\define@key[psset]{pst-circ}{pingnumber}[]{\def\psk@pingnumber{#1}}
+\define@key[psset]{pst-circ}{pinhlabel}[]{\def\psk@pinhlabel{#1}}
+\define@key[psset]{pst-circ}{pinhnumber}[]{\def\psk@pinhnumber{#1}}
+\define@key[psset]{pst-circ}{pinilabel}[]{\def\psk@pinilabel{#1}}
+\define@key[psset]{pst-circ}{pininumber}[]{\def\psk@pininumber{#1}}
+\define@key[psset]{pst-circ}{pinjlabel}[]{\def\psk@pinjlabel{#1}}
+\define@key[psset]{pst-circ}{pinjnumber}[]{\def\psk@pinjnumber{#1}}
+\define@key[psset]{pst-circ}{pinklabel}[]{\def\psk@pinklabel{#1}}
+\define@key[psset]{pst-circ}{pinknumber}[]{\def\psk@pinknumber{#1}}
+\define@key[psset]{pst-circ}{pinllabel}[]{\def\psk@pinllabel{#1}}
+\define@key[psset]{pst-circ}{pinlnumber}[]{\def\psk@pinlnumber{#1}}
+\define@key[psset]{pst-circ}{pinmlabel}[]{\def\psk@pinmlabel{#1}}
+\define@key[psset]{pst-circ}{pinmnumber}[]{\def\psk@pinmnumber{#1}}
+\define@key[psset]{pst-circ}{pinnlabel}[]{\def\psk@pinnlabel{#1}}
+\define@key[psset]{pst-circ}{pinnnumber}[]{\def\psk@pinnnumber{#1}}
+\define@key[psset]{pst-circ}{pinolabel}[]{\def\psk@pinolabel{#1}}
+\define@key[psset]{pst-circ}{pinonumber}[]{\def\psk@pinonumber{#1}}
+\define@key[psset]{pst-circ}{pinplabel}[]{\def\psk@pinplabel{#1}}
+\define@key[psset]{pst-circ}{pinpnumber}[]{\def\psk@pinpnumber{#1}}
+\define@key[psset]{pst-circ}{pinqlabel}[]{\def\psk@pinqlabel{#1}}
+\define@key[psset]{pst-circ}{pinqnumber}[]{\def\psk@pinqnumber{#1}}
+\define@key[psset]{pst-circ}{pinrlabel}[]{\def\psk@pinrlabel{#1}}
+\define@key[psset]{pst-circ}{pinrnumber}[]{\def\psk@pinrnumber{#1}}
+\define@key[psset]{pst-circ}{pinslabel}[]{\def\psk@pinslabel{#1}}
+\define@key[psset]{pst-circ}{pinsnumber}[]{\def\psk@pinsnumber{#1}}
+\define@key[psset]{pst-circ}{pintlabel}[]{\def\psk@pintlabel{#1}}
+\define@key[psset]{pst-circ}{pintnumber}[]{\def\psk@pintnumber{#1}}
+\define@key[psset]{pst-circ}{pinulabel}[]{\def\psk@pinulabel{#1}}
+\define@key[psset]{pst-circ}{pinunumber}[]{\def\psk@pinunumber{#1}}
+\define@key[psset]{pst-circ}{pinvlabel}[]{\def\psk@pinvlabel{#1}}
+\define@key[psset]{pst-circ}{pinvnumber}[]{\def\psk@pinvnumber{#1}}
+\define@key[psset]{pst-circ}{pinwlabel}[]{\def\psk@pinwlabel{#1}}
+\define@key[psset]{pst-circ}{pinwnumber}[]{\def\psk@pinwnumber{#1}}
+\define@key[psset]{pst-circ}{pinxlabel}[]{\def\psk@pinxlabel{#1}}
+\define@key[psset]{pst-circ}{pinxnumber}[]{\def\psk@pinxnumber{#1}}
+\define@key[psset]{pst-circ}{pinylabel}[]{\def\psk@pinylabel{#1}}
+\define@key[psset]{pst-circ}{pinynumber}[]{\def\psk@pinynumber{#1}}
+\define@key[psset]{pst-circ}{pinzlabel}[]{\def\psk@pinzlabel{#1}}
+\define@key[psset]{pst-circ}{pinznumber}[]{\def\psk@pinznumber{#1}}
+\define@key[psset]{pst-circ}{pinaalabel}[]{\def\psk@pinaalabel{#1}}
+\define@key[psset]{pst-circ}{pinaanumber}[]{\def\psk@pinaanumber{#1}}
+\define@key[psset]{pst-circ}{pinablabel}[]{\def\psk@pinablabel{#1}}
+\define@key[psset]{pst-circ}{pinabnumber}[]{\def\psk@pinabnumber{#1}}
+\define@key[psset]{pst-circ}{pinaclabel}[]{\def\psk@pinaclabel{#1}}
+\define@key[psset]{pst-circ}{pinacnumber}[]{\def\psk@pinacnumber{#1}}
+\define@key[psset]{pst-circ}{pinadlabel}[]{\def\psk@pinadlabel{#1}}
+\define@key[psset]{pst-circ}{pinadnumber}[]{\def\psk@pinadnumber{#1}}
+\define@key[psset]{pst-circ}{pinaelabel}[]{\def\psk@pinaelabel{#1}}
+\define@key[psset]{pst-circ}{pinaenumber}[]{\def\psk@pinaenumber{#1}}
+\define@key[psset]{pst-circ}{pinaflabel}[]{\def\psk@pinaflabel{#1}}
+\define@key[psset]{pst-circ}{pinafnumber}[]{\def\psk@pinafnumber{#1}}
+
+
+
+\define@key[psset]{pst-circ}{pinralabel}[]{\def\psk@pinralabel{#1}}
+\define@key[psset]{pst-circ}{pinranumber}[]{\def\psk@pinranumber{#1}}
+\define@key[psset]{pst-circ}{pinrblabel}[]{\def\psk@pinrblabel{#1}}
+\define@key[psset]{pst-circ}{pinrbnumber}[]{\def\psk@pinrbnumber{#1}}
+\define@key[psset]{pst-circ}{pinrclabel}[]{\def\psk@pinrclabel{#1}}
+\define@key[psset]{pst-circ}{pinrcnumber}[]{\def\psk@pinrcnumber{#1}}
+\define@key[psset]{pst-circ}{pinrdlabel}[]{\def\psk@pinrdlabel{#1}}
+\define@key[psset]{pst-circ}{pinrdnumber}[]{\def\psk@pinrdnumber{#1}}
+\define@key[psset]{pst-circ}{pinrelabel}[]{\def\psk@pinrelabel{#1}}
+\define@key[psset]{pst-circ}{pinrenumber}[]{\def\psk@pinrenumber{#1}}
+\define@key[psset]{pst-circ}{pinrflabel}[]{\def\psk@pinrflabel{#1}}
+\define@key[psset]{pst-circ}{pinrfnumber}[]{\def\psk@pinrfnumber{#1}}
+\define@key[psset]{pst-circ}{pinrglabel}[]{\def\psk@pinrglabel{#1}}
+\define@key[psset]{pst-circ}{pinrgnumber}[]{\def\psk@pinrgnumber{#1}}
+\define@key[psset]{pst-circ}{pinrhlabel}[]{\def\psk@pinrhlabel{#1}}
+\define@key[psset]{pst-circ}{pinrhnumber}[]{\def\psk@pinrhnumber{#1}}
+\define@key[psset]{pst-circ}{pinrilabel}[]{\def\psk@pinrilabel{#1}}
+\define@key[psset]{pst-circ}{pinrinumber}[]{\def\psk@pinrinumber{#1}}
+\define@key[psset]{pst-circ}{pinrjlabel}[]{\def\psk@pinrjlabel{#1}}
+\define@key[psset]{pst-circ}{pinrjnumber}[]{\def\psk@pinrjnumber{#1}}
+\define@key[psset]{pst-circ}{pinrklabel}[]{\def\psk@pinrklabel{#1}}
+\define@key[psset]{pst-circ}{pinrknumber}[]{\def\psk@pinrknumber{#1}}
+\define@key[psset]{pst-circ}{pinrllabel}[]{\def\psk@pinrllabel{#1}}
+\define@key[psset]{pst-circ}{pinrlnumber}[]{\def\psk@pinrlnumber{#1}}
+\define@key[psset]{pst-circ}{pinrmlabel}[]{\def\psk@pinrmlabel{#1}}
+\define@key[psset]{pst-circ}{pinrmnumber}[]{\def\psk@pinrmnumber{#1}}
+\define@key[psset]{pst-circ}{pinrnlabel}[]{\def\psk@pinrnlabel{#1}}
+\define@key[psset]{pst-circ}{pinrnnumber}[]{\def\psk@pinrnnumber{#1}}
+\define@key[psset]{pst-circ}{pinrolabel}[]{\def\psk@pinrolabel{#1}}
+\define@key[psset]{pst-circ}{pinronumber}[]{\def\psk@pinronumber{#1}}
+\define@key[psset]{pst-circ}{pinrplabel}[]{\def\psk@pinrplabel{#1}}
+\define@key[psset]{pst-circ}{pinrpnumber}[]{\def\psk@pinrpnumber{#1}}
+
+\define@key[psset]{pst-circ}{pinlalabel}[]{\def\psk@pinlalabel{#1}}
+\define@key[psset]{pst-circ}{pinlanumber}[]{\def\psk@pinlanumber{#1}}
+\define@key[psset]{pst-circ}{pinlblabel}[]{\def\psk@pinlblabel{#1}}
+\define@key[psset]{pst-circ}{pinlbnumber}[]{\def\psk@pinlbnumber{#1}}
+\define@key[psset]{pst-circ}{pinlclabel}[]{\def\psk@pinlclabel{#1}}
+\define@key[psset]{pst-circ}{pinlcnumber}[]{\def\psk@pinlcnumber{#1}}
+\define@key[psset]{pst-circ}{pinldlabel}[]{\def\psk@pinldlabel{#1}}
+\define@key[psset]{pst-circ}{pinldnumber}[]{\def\psk@pinldnumber{#1}}
+\define@key[psset]{pst-circ}{pinlelabel}[]{\def\psk@pinlelabel{#1}}
+\define@key[psset]{pst-circ}{pinlenumber}[]{\def\psk@pinlenumber{#1}}
+\define@key[psset]{pst-circ}{pinlflabel}[]{\def\psk@pinlflabel{#1}}
+\define@key[psset]{pst-circ}{pinlfnumber}[]{\def\psk@pinlfnumber{#1}}
+\define@key[psset]{pst-circ}{pinlglabel}[]{\def\psk@pinlglabel{#1}}
+\define@key[psset]{pst-circ}{pinlgnumber}[]{\def\psk@pinlgnumber{#1}}
+\define@key[psset]{pst-circ}{pinlhlabel}[]{\def\psk@pinlhlabel{#1}}
+\define@key[psset]{pst-circ}{pinlhnumber}[]{\def\psk@pinlhnumber{#1}}
+\define@key[psset]{pst-circ}{pinlilabel}[]{\def\psk@pinlilabel{#1}}
+\define@key[psset]{pst-circ}{pinlinumber}[]{\def\psk@pinlinumber{#1}}
+\define@key[psset]{pst-circ}{pinljlabel}[]{\def\psk@pinljlabel{#1}}
+\define@key[psset]{pst-circ}{pinljnumber}[]{\def\psk@pinljnumber{#1}}
+\define@key[psset]{pst-circ}{pinlklabel}[]{\def\psk@pinlklabel{#1}}
+\define@key[psset]{pst-circ}{pinlknumber}[]{\def\psk@pinlknumber{#1}}
+\define@key[psset]{pst-circ}{pinlllabel}[]{\def\psk@pinlllabel{#1}}
+\define@key[psset]{pst-circ}{pinllnumber}[]{\def\psk@pinllnumber{#1}}
+\define@key[psset]{pst-circ}{pinlmlabel}[]{\def\psk@pinlmlabel{#1}}
+\define@key[psset]{pst-circ}{pinlmnumber}[]{\def\psk@pinlmnumber{#1}}
+\define@key[psset]{pst-circ}{pinlnlabel}[]{\def\psk@pinlnlabel{#1}}
+\define@key[psset]{pst-circ}{pinlnnumber}[]{\def\psk@pinlnnumber{#1}}
+\define@key[psset]{pst-circ}{pinlolabel}[]{\def\psk@pinlolabel{#1}}
+\define@key[psset]{pst-circ}{pinlonumber}[]{\def\psk@pinlonumber{#1}}
+\define@key[psset]{pst-circ}{pinlplabel}[]{\def\psk@pinlplabel{#1}}
+\define@key[psset]{pst-circ}{pinlpnumber}[]{\def\psk@pinlpnumber{#1}}
+
+
+
+
+
+\define@key[psset]{pst-circ}{pintllabel}[]{\def\psk@pintllabel{#1}}
+\define@key[psset]{pst-circ}{pintlnumber}[]{\def\psk@pintlnumber{#1}}
+\define@key[psset]{pst-circ}{pintclabel}[]{\def\psk@pintclabel{#1}}
+\define@key[psset]{pst-circ}{pintcnumber}[]{\def\psk@pintcnumber{#1}}
+\define@key[psset]{pst-circ}{pintrlabel}[]{\def\psk@pintrlabel{#1}}
+\define@key[psset]{pst-circ}{pintrnumber}[]{\def\psk@pintrnumber{#1}}
+
+\define@key[psset]{pst-circ}{pinbllabel}[]{\def\psk@pinbllabel{#1}}
+\define@key[psset]{pst-circ}{pinblnumber}[]{\def\psk@pinblnumber{#1}}
+\define@key[psset]{pst-circ}{pinbclabel}[]{\def\psk@pinbclabel{#1}}
+\define@key[psset]{pst-circ}{pinbcnumber}[]{\def\psk@pinbcnumber{#1}}
+\define@key[psset]{pst-circ}{pinbrlabel}[]{\def\psk@pinbrlabel{#1}}
+\define@key[psset]{pst-circ}{pinbrnumber}[]{\def\psk@pinbrnumber{#1}}
+
+\define@key[psset]{pst-circ}{pintalabel}[]{\def\psk@pintalabel{#1}}
+\define@key[psset]{pst-circ}{pintanumber}[]{\def\psk@pintanumber{#1}}
+\define@key[psset]{pst-circ}{pintblabel}[]{\def\psk@pintblabel{#1}}
+\define@key[psset]{pst-circ}{pintbnumber}[]{\def\psk@pintbnumber{#1}}
+\define@key[psset]{pst-circ}{pintclabel}[]{\def\psk@pintclabel{#1}}
+\define@key[psset]{pst-circ}{pintcnumber}[]{\def\psk@pintcnumber{#1}}
+\define@key[psset]{pst-circ}{pintdlabel}[]{\def\psk@pintdlabel{#1}}
+\define@key[psset]{pst-circ}{pintdnumber}[]{\def\psk@pintdnumber{#1}}
+\define@key[psset]{pst-circ}{pintelabel}[]{\def\psk@pintelabel{#1}}
+\define@key[psset]{pst-circ}{pintenumber}[]{\def\psk@pintenumber{#1}}
+
+\define@key[psset]{pst-circ}{pinbalabel}[]{\def\psk@pinbalabel{#1}}
+\define@key[psset]{pst-circ}{pinbanumber}[]{\def\psk@pinbanumber{#1}}
+\define@key[psset]{pst-circ}{pinbblabel}[]{\def\psk@pinbblabel{#1}}
+\define@key[psset]{pst-circ}{pinbbnumber}[]{\def\psk@pinbbnumber{#1}}
+\define@key[psset]{pst-circ}{pinbclabel}[]{\def\psk@pinbclabel{#1}}
+\define@key[psset]{pst-circ}{pinbcnumber}[]{\def\psk@pinbcnumber{#1}}
+\define@key[psset]{pst-circ}{pinbdlabel}[]{\def\psk@pinbdlabel{#1}}
+\define@key[psset]{pst-circ}{pinbdnumber}[]{\def\psk@pinbdnumber{#1}}
+\define@key[psset]{pst-circ}{pinbelabel}[]{\def\psk@pinbelabel{#1}}
+\define@key[psset]{pst-circ}{pinbenumber}[]{\def\psk@pinbenumber{#1}}
+
+% Define Ladder logic String Keys
+\define@key[psset]{pst-circ}{plcaddress}[]{\def\psk@plcaddress{#1}}
+\define@key[psset]{pst-circ}{plcsymbol}[]{\def\psk@plcsymbol{#1}}
+
+% Define Logic Boolean Keys
+\define@key[psset]{pst-circ}{iec}[false]{\@nameuse{Pst@iec#1}}
+\define@key[psset]{pst-circ}{iecinvert}[false]{\@nameuse{Pst@iecinvert#1}}
+\define@key[psset]{pst-circ}{input}[true]{\@nameuse{Pst@input#1}}
+\define@key[psset]{pst-circ}{invertinput}[false]{\@nameuse{Pst@invertinput#1}}
+\define@key[psset]{pst-circ}{inputa}[true]{\@nameuse{Pst@inputa#1}}
+\define@key[psset]{pst-circ}{invertinputa}[false]{\@nameuse{Pst@invertinputa#1}}
+\define@key[psset]{pst-circ}{inputb}[true]{\@nameuse{Pst@inputb#1}}
+\define@key[psset]{pst-circ}{invertinputb}[false]{\@nameuse{Pst@invertinputb#1}}
+\define@key[psset]{pst-circ}{inputc}[true]{\@nameuse{Pst@inputc#1}}
+\define@key[psset]{pst-circ}{invertinputc}[false]{\@nameuse{Pst@invertinputc#1}}
+\define@key[psset]{pst-circ}{inputd}[true]{\@nameuse{Pst@inputd#1}}
+\define@key[psset]{pst-circ}{invertinputd}[false]{\@nameuse{Pst@invertinputd#1}}
+\define@key[psset]{pst-circ}{enable}[false]{\@nameuse{Pst@enable#1}}
+\define@key[psset]{pst-circ}{invertenable}[false]{\@nameuse{Pst@invertenable#1}}
+\define@key[psset]{pst-circ}{clock}[false]{\@nameuse{Pst@clock#1}}
+\define@key[psset]{pst-circ}{invertclock}[false]{\@nameuse{Pst@invertclock#1}}
+\define@key[psset]{pst-circ}{set}[false]{\@nameuse{Pst@set#1}}
+\define@key[psset]{pst-circ}{invertset}[false]{\@nameuse{Pst@invertset#1}}
+\define@key[psset]{pst-circ}{reset}[false]{\@nameuse{Pst@reset#1}}
+\define@key[psset]{pst-circ}{invertreset}[false]{\@nameuse{Pst@invertreset#1}}
+
+\define@key[psset]{pst-circ}{output}[true]{\@nameuse{Pst@output#1}}
+\define@key[psset]{pst-circ}{invertoutput}[false]{\@nameuse{Pst@invertoutput#1}}
+\define@key[psset]{pst-circ}{outputa}[true]{\@nameuse{Pst@outputa#1}}
+\define@key[psset]{pst-circ}{invertoutputa}[false]{\@nameuse{Pst@invertoutputa#1}}
+\define@key[psset]{pst-circ}{outputb}[true]{\@nameuse{Pst@outputb#1}}
+\define@key[psset]{pst-circ}{invertoutputb}[true]{\@nameuse{Pst@invertoutputb#1}}
+%\define@key[psset]{pst-circ}{outputc}[true]{\@nameuse{Pst@outputc#1}}
+%\define@key[psset]{pst-circ}{invertoutputc}[false]{\@nameuse{Pst@invertoutputc#1}}
+\define@key[psset]{pst-circ}{segmentlabels}[true]{\@nameuse{Pst@segmentlabels#1}}
+
+% Define IC Boolean Keys
+\define@key[psset]{pst-circ}{pina}[true]{\@nameuse{Pst@pina#1}}
+\define@key[psset]{pst-circ}{invertpina}[false]{\@nameuse{Pst@invertpina#1}}
+\define@key[psset]{pst-circ}{pinb}[true]{\@nameuse{Pst@pinb#1}}
+\define@key[psset]{pst-circ}{invertpinb}[false]{\@nameuse{Pst@invertpinb#1}}
+\define@key[psset]{pst-circ}{pinc}[true]{\@nameuse{Pst@pinc#1}}
+\define@key[psset]{pst-circ}{invertpinc}[false]{\@nameuse{Pst@invertpinc#1}}
+\define@key[psset]{pst-circ}{pind}[true]{\@nameuse{Pst@pind#1}}
+\define@key[psset]{pst-circ}{invertpind}[false]{\@nameuse{Pst@invertpind#1}}
+\define@key[psset]{pst-circ}{pine}[true]{\@nameuse{Pst@pine#1}}
+\define@key[psset]{pst-circ}{invertpine}[false]{\@nameuse{Pst@invertpine#1}}
+\define@key[psset]{pst-circ}{pinf}[true]{\@nameuse{Pst@pinf#1}}
+\define@key[psset]{pst-circ}{invertpinf}[false]{\@nameuse{Pst@invertpinf#1}}
+\define@key[psset]{pst-circ}{ping}[true]{\@nameuse{Pst@ping#1}}
+\define@key[psset]{pst-circ}{invertping}[false]{\@nameuse{Pst@invertping#1}}
+\define@key[psset]{pst-circ}{pinh}[true]{\@nameuse{Pst@pinh#1}}
+\define@key[psset]{pst-circ}{invertpinh}[false]{\@nameuse{Pst@invertpinh#1}}
+\define@key[psset]{pst-circ}{pini}[true]{\@nameuse{Pst@pini#1}}
+\define@key[psset]{pst-circ}{invertpini}[false]{\@nameuse{Pst@invertpini#1}}
+\define@key[psset]{pst-circ}{pinj}[true]{\@nameuse{Pst@pinj#1}}
+\define@key[psset]{pst-circ}{invertpinj}[false]{\@nameuse{Pst@invertpinj#1}}
+\define@key[psset]{pst-circ}{pink}[true]{\@nameuse{Pst@pink#1}}
+\define@key[psset]{pst-circ}{invertpink}[false]{\@nameuse{Pst@invertpink#1}}
+\define@key[psset]{pst-circ}{pinl}[true]{\@nameuse{Pst@pinl#1}}
+\define@key[psset]{pst-circ}{invertpinl}[false]{\@nameuse{Pst@invertpinl#1}}
+\define@key[psset]{pst-circ}{pinm}[true]{\@nameuse{Pst@pinm#1}}
+\define@key[psset]{pst-circ}{invertpinm}[false]{\@nameuse{Pst@invertpinm#1}}
+\define@key[psset]{pst-circ}{pinn}[true]{\@nameuse{Pst@pinn#1}}
+\define@key[psset]{pst-circ}{invertpinn}[false]{\@nameuse{Pst@invertpinn#1}}
+\define@key[psset]{pst-circ}{pino}[true]{\@nameuse{Pst@pino#1}}
+\define@key[psset]{pst-circ}{invertpino}[false]{\@nameuse{Pst@invertpino#1}}
+\define@key[psset]{pst-circ}{pinp}[true]{\@nameuse{Pst@pinp#1}}
+\define@key[psset]{pst-circ}{invertpinp}[false]{\@nameuse{Pst@invertpinp#1}}
+\define@key[psset]{pst-circ}{pinq}[true]{\@nameuse{Pst@pinq#1}}
+\define@key[psset]{pst-circ}{invertpinq}[false]{\@nameuse{Pst@invertpinq#1}}
+\define@key[psset]{pst-circ}{pinr}[true]{\@nameuse{Pst@pinr#1}}
+\define@key[psset]{pst-circ}{invertpinr}[false]{\@nameuse{Pst@invertpinr#1}}
+\define@key[psset]{pst-circ}{pins}[true]{\@nameuse{Pst@pins#1}}
+\define@key[psset]{pst-circ}{invertpins}[false]{\@nameuse{Pst@invertpins#1}}
+\define@key[psset]{pst-circ}{pint}[true]{\@nameuse{Pst@pint#1}}
+\define@key[psset]{pst-circ}{invertpint}[false]{\@nameuse{Pst@invertpint#1}}
+\define@key[psset]{pst-circ}{pinu}[true]{\@nameuse{Pst@pinu#1}}
+\define@key[psset]{pst-circ}{invertpinu}[false]{\@nameuse{Pst@invertpinu#1}}
+\define@key[psset]{pst-circ}{pinv}[true]{\@nameuse{Pst@pinv#1}}
+\define@key[psset]{pst-circ}{invertpinv}[false]{\@nameuse{Pst@invertpinv#1}}
+\define@key[psset]{pst-circ}{pinw}[true]{\@nameuse{Pst@pinw#1}}
+\define@key[psset]{pst-circ}{invertpinw}[false]{\@nameuse{Pst@invertpinw#1}}
+\define@key[psset]{pst-circ}{pinx}[true]{\@nameuse{Pst@pinx#1}}
+\define@key[psset]{pst-circ}{invertpinx}[false]{\@nameuse{Pst@invertpinx#1}}
+\define@key[psset]{pst-circ}{piny}[true]{\@nameuse{Pst@piny#1}}
+\define@key[psset]{pst-circ}{invertpiny}[false]{\@nameuse{Pst@invertpiny#1}}
+\define@key[psset]{pst-circ}{pinz}[true]{\@nameuse{Pst@pinz#1}}
+\define@key[psset]{pst-circ}{invertpinz}[false]{\@nameuse{Pst@invertpinz#1}}
+\define@key[psset]{pst-circ}{pinaa}[true]{\@nameuse{Pst@pinaa#1}}
+\define@key[psset]{pst-circ}{invertpinaa}[false]{\@nameuse{Pst@invertpinaa#1}}
+\define@key[psset]{pst-circ}{pinab}[true]{\@nameuse{Pst@pinab#1}}
+\define@key[psset]{pst-circ}{invertpinab}[false]{\@nameuse{Pst@invertpinab#1}}
+\define@key[psset]{pst-circ}{pinac}[true]{\@nameuse{Pst@pinac#1}}
+\define@key[psset]{pst-circ}{invertpinac}[false]{\@nameuse{Pst@invertpinac#1}}
+\define@key[psset]{pst-circ}{pinad}[true]{\@nameuse{Pst@pinad#1}}
+\define@key[psset]{pst-circ}{invertpinad}[false]{\@nameuse{Pst@invertpinad#1}}
+\define@key[psset]{pst-circ}{pinae}[true]{\@nameuse{Pst@pinae#1}}
+\define@key[psset]{pst-circ}{invertpinae}[false]{\@nameuse{Pst@invertpinae#1}}
+\define@key[psset]{pst-circ}{pinaf}[true]{\@nameuse{Pst@pinaf#1}}
+\define@key[psset]{pst-circ}{invertpinaf}[false]{\@nameuse{Pst@invertpinaf#1}}
+
+
+
+
+
+\define@key[psset]{pst-circ}{pinla}[true]{\@nameuse{Pst@pinla#1}}
+\define@key[psset]{pst-circ}{invertpinla}[false]{\@nameuse{Pst@invertpinla#1}}
+\define@key[psset]{pst-circ}{pinlb}[true]{\@nameuse{Pst@pinlb#1}}
+\define@key[psset]{pst-circ}{invertpinlb}[false]{\@nameuse{Pst@invertpinlb#1}}
+\define@key[psset]{pst-circ}{pinlc}[true]{\@nameuse{Pst@pinlc#1}}
+\define@key[psset]{pst-circ}{invertpinlc}[false]{\@nameuse{Pst@invertpinlc#1}}
+\define@key[psset]{pst-circ}{pinld}[true]{\@nameuse{Pst@pinld#1}}
+\define@key[psset]{pst-circ}{invertpinld}[false]{\@nameuse{Pst@invertpinld#1}}
+\define@key[psset]{pst-circ}{pinle}[true]{\@nameuse{Pst@pinle#1}}
+\define@key[psset]{pst-circ}{invertpinle}[false]{\@nameuse{Pst@invertpinle#1}}
+\define@key[psset]{pst-circ}{pinlf}[true]{\@nameuse{Pst@pinlf#1}}
+\define@key[psset]{pst-circ}{invertpinlf}[false]{\@nameuse{Pst@invertpinlf#1}}
+\define@key[psset]{pst-circ}{pinlg}[true]{\@nameuse{Pst@pinlg#1}}
+\define@key[psset]{pst-circ}{invertpinlg}[false]{\@nameuse{Pst@invertpinlg#1}}
+\define@key[psset]{pst-circ}{pinlh}[true]{\@nameuse{Pst@pinlh#1}}
+\define@key[psset]{pst-circ}{invertpinlh}[false]{\@nameuse{Pst@invertpinlh#1}}
+\define@key[psset]{pst-circ}{pinli}[true]{\@nameuse{Pst@pinli#1}}
+\define@key[psset]{pst-circ}{invertpinli}[false]{\@nameuse{Pst@invertpinli#1}}
+\define@key[psset]{pst-circ}{pinlj}[true]{\@nameuse{Pst@pinlj#1}}
+\define@key[psset]{pst-circ}{invertpinlj}[false]{\@nameuse{Pst@invertpinlj#1}}
+\define@key[psset]{pst-circ}{pinlk}[true]{\@nameuse{Pst@pinlk#1}}
+\define@key[psset]{pst-circ}{invertpinlk}[false]{\@nameuse{Pst@invertpinlk#1}}
+\define@key[psset]{pst-circ}{pinll}[true]{\@nameuse{Pst@pinll#1}}
+\define@key[psset]{pst-circ}{invertpinll}[false]{\@nameuse{Pst@invertpinll#1}}
+\define@key[psset]{pst-circ}{pinlm}[true]{\@nameuse{Pst@pinlm#1}}
+\define@key[psset]{pst-circ}{invertpinlm}[false]{\@nameuse{Pst@invertpinlm#1}}
+\define@key[psset]{pst-circ}{pinln}[true]{\@nameuse{Pst@pinln#1}}
+\define@key[psset]{pst-circ}{invertpinln}[false]{\@nameuse{Pst@invertpinln#1}}
+\define@key[psset]{pst-circ}{pinlo}[true]{\@nameuse{Pst@pinlo#1}}
+\define@key[psset]{pst-circ}{invertpinlo}[false]{\@nameuse{Pst@invertpinlo#1}}
+\define@key[psset]{pst-circ}{pinlp}[true]{\@nameuse{Pst@pinlp#1}}
+\define@key[psset]{pst-circ}{invertpinlp}[false]{\@nameuse{Pst@invertpinlp#1}}
+
+
+
+\define@key[psset]{pst-circ}{pinra}[true]{\@nameuse{Pst@pinra#1}}
+\define@key[psset]{pst-circ}{invertpinra}[false]{\@nameuse{Pst@invertpinra#1}}
+\define@key[psset]{pst-circ}{pinrb}[true]{\@nameuse{Pst@pinrb#1}}
+\define@key[psset]{pst-circ}{invertpinrb}[false]{\@nameuse{Pst@invertpinrb#1}}
+\define@key[psset]{pst-circ}{pinrc}[true]{\@nameuse{Pst@pinrc#1}}
+\define@key[psset]{pst-circ}{invertpinrc}[false]{\@nameuse{Pst@invertpinrc#1}}
+\define@key[psset]{pst-circ}{pinrd}[true]{\@nameuse{Pst@pinrd#1}}
+\define@key[psset]{pst-circ}{invertpinrd}[false]{\@nameuse{Pst@invertpinrd#1}}
+\define@key[psset]{pst-circ}{pinre}[true]{\@nameuse{Pst@pinre#1}}
+\define@key[psset]{pst-circ}{invertpinre}[false]{\@nameuse{Pst@invertpinre#1}}
+\define@key[psset]{pst-circ}{pinrf}[true]{\@nameuse{Pst@pinrf#1}}
+\define@key[psset]{pst-circ}{invertpinrf}[false]{\@nameuse{Pst@invertpinrf#1}}
+\define@key[psset]{pst-circ}{pinrg}[true]{\@nameuse{Pst@pinrg#1}}
+\define@key[psset]{pst-circ}{invertpinrg}[false]{\@nameuse{Pst@invertpinrg#1}}
+\define@key[psset]{pst-circ}{pinrh}[true]{\@nameuse{Pst@pinrh#1}}
+\define@key[psset]{pst-circ}{invertpinrh}[false]{\@nameuse{Pst@invertpinrh#1}}
+\define@key[psset]{pst-circ}{pinri}[true]{\@nameuse{Pst@pinri#1}}
+\define@key[psset]{pst-circ}{invertpinri}[false]{\@nameuse{Pst@invertpinri#1}}
+\define@key[psset]{pst-circ}{pinrj}[true]{\@nameuse{Pst@pinrj#1}}
+\define@key[psset]{pst-circ}{invertpinrj}[false]{\@nameuse{Pst@invertpinrj#1}}
+\define@key[psset]{pst-circ}{pinrk}[true]{\@nameuse{Pst@pinrk#1}}
+\define@key[psset]{pst-circ}{invertpinrk}[false]{\@nameuse{Pst@invertpinrk#1}}
+\define@key[psset]{pst-circ}{pinrl}[true]{\@nameuse{Pst@pinrl#1}}
+\define@key[psset]{pst-circ}{invertpinrl}[false]{\@nameuse{Pst@invertpinrl#1}}
+\define@key[psset]{pst-circ}{pinrm}[true]{\@nameuse{Pst@pinrm#1}}
+\define@key[psset]{pst-circ}{invertpinrm}[false]{\@nameuse{Pst@invertpinrm#1}}
+\define@key[psset]{pst-circ}{pinrn}[true]{\@nameuse{Pst@pinrn#1}}
+\define@key[psset]{pst-circ}{invertpinrn}[false]{\@nameuse{Pst@invertpinrn#1}}
+\define@key[psset]{pst-circ}{pinro}[true]{\@nameuse{Pst@pinro#1}}
+\define@key[psset]{pst-circ}{invertpinro}[false]{\@nameuse{Pst@invertpinro#1}}
+\define@key[psset]{pst-circ}{pinrp}[true]{\@nameuse{Pst@pinrp#1}}
+\define@key[psset]{pst-circ}{invertpinrp}[false]{\@nameuse{Pst@invertpinrp#1}}
+
+
+
+
+
+\define@key[psset]{pst-circ}{pintl}[false]{\@nameuse{Pst@pintl#1}}
+\define@key[psset]{pst-circ}{invertpintl}[false]{\@nameuse{Pst@invertpintl#1}}
+\define@key[psset]{pst-circ}{pintc}[false]{\@nameuse{Pst@pintc#1}}
+\define@key[psset]{pst-circ}{invertpintc}[false]{\@nameuse{Pst@invertpintc#1}}
+\define@key[psset]{pst-circ}{pintr}[false]{\@nameuse{Pst@pintr#1}}
+\define@key[psset]{pst-circ}{invertpintr}[false]{\@nameuse{Pst@invertpintr#1}}
+
+\define@key[psset]{pst-circ}{pinbl}[false]{\@nameuse{Pst@pinbl#1}}
+\define@key[psset]{pst-circ}{invertpinbl}[false]{\@nameuse{Pst@invertpinbl#1}}
+\define@key[psset]{pst-circ}{pinbc}[false]{\@nameuse{Pst@pinbc#1}}
+\define@key[psset]{pst-circ}{invertpinbc}[false]{\@nameuse{Pst@invertpinbc#1}}
+\define@key[psset]{pst-circ}{pinbr}[false]{\@nameuse{Pst@pinbr#1}}
+\define@key[psset]{pst-circ}{invertpinbr}[false]{\@nameuse{Pst@invertpinbr#1}}
+
+\define@key[psset]{pst-circ}{pinta}[false]{\@nameuse{Pst@pinta#1}}
+\define@key[psset]{pst-circ}{invertpinta}[false]{\@nameuse{Pst@invertpinta#1}}
+\define@key[psset]{pst-circ}{pintb}[false]{\@nameuse{Pst@pintb#1}}
+\define@key[psset]{pst-circ}{invertpintb}[false]{\@nameuse{Pst@invertpintb#1}}
+\define@key[psset]{pst-circ}{pintc}[false]{\@nameuse{Pst@pintc#1}}
+\define@key[psset]{pst-circ}{invertpintc}[false]{\@nameuse{Pst@invertpintc#1}}
+\define@key[psset]{pst-circ}{pintd}[false]{\@nameuse{Pst@pintd#1}}
+\define@key[psset]{pst-circ}{invertpintd}[false]{\@nameuse{Pst@invertpintd#1}}
+\define@key[psset]{pst-circ}{pinte}[false]{\@nameuse{Pst@pinte#1}}
+\define@key[psset]{pst-circ}{invertpinte}[false]{\@nameuse{Pst@invertpinte#1}}
+
+\define@key[psset]{pst-circ}{pinba}[false]{\@nameuse{Pst@pinba#1}}
+\define@key[psset]{pst-circ}{invertpinba}[false]{\@nameuse{Pst@invertpinba#1}}
+\define@key[psset]{pst-circ}{pinbb}[false]{\@nameuse{Pst@pinbb#1}}
+\define@key[psset]{pst-circ}{invertpinbb}[false]{\@nameuse{Pst@invertpinbb#1}}
+\define@key[psset]{pst-circ}{pinbc}[false]{\@nameuse{Pst@pinbc#1}}
+\define@key[psset]{pst-circ}{invertpinbc}[false]{\@nameuse{Pst@invertpinbc#1}}
+\define@key[psset]{pst-circ}{pinbd}[false]{\@nameuse{Pst@pinbd#1}}
+\define@key[psset]{pst-circ}{invertpinbd}[false]{\@nameuse{Pst@invertpinbd#1}}
+\define@key[psset]{pst-circ}{pinbe}[false]{\@nameuse{Pst@pinbe#1}}
+\define@key[psset]{pst-circ}{invertpinbe}[false]{\@nameuse{Pst@invertpinbe#1}}
+
+\define@key[psset]{pst-circ}{dpleft}[false]{\@nameuse{Pst@dpleft#1}}
+\define@key[psset]{pst-circ}{dpright}[true]{\@nameuse{Pst@dpright#1}}
+
+% Define Ladder Boolean Keys
+\define@key[psset]{pst-circ}{latch}[false]{\@nameuse{Pst@latch#1}}
+\define@key[psset]{pst-circ}{unlatch}[false]{\@nameuse{Pst@unlatch#1}}
+\define@key[psset]{pst-circ}{contactclosed}[false]{\@nameuse{Pst@contactclosed#1}}
+
+% Define Ladder Bipole Keys
+\define@key[psset]{pst-circ}{polarized}[false]{\@nameuse{Pst@polarized#1}}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
\psset[pst-circ]{%
labelInside=0,circedge=\pcangle,
@@ -203,7 +848,69 @@
logicWireLength=0.5, logicWidth=1.5, logicHeight=2.5, % hv
logicNInput=2, logicJInput=2, logicKInput=2, logicType=and, % hv
logicLabelstyle=\small, logicSymbolstyle=\large,
- logicSymbolpos=0.5,logicNodestyle=\footnotesize
+ logicSymbolpos=0.5,logicNodestyle=\footnotesize,
+ segmentcolor=black,ninputs=2,segmentdisplay=10,nicpins=8,bubblesize=0.15,
+ plcaddress={},plcsymbol={},inputalabel={},inputblabel={},inputclabel={},
+ inputenlabel={$EN$},inputcllabel={$CL$},outputalabel={$Q$},outputblabel={$\bar{Q}$},
+ pinalabel={},pinanumber={},pinblabel={},pinbnumber={},pinclabel={},pincnumber={},
+ pindlabel={},pindnumber={},pinelabel={},pinenumber={},pinflabel={},pinfnumber={},
+ pinglabel={},pingnumber={},pinhlabel={},pinhnumber={},pinilabel={},pininumber={},
+ pinjlabel={},pinjnumber={},pinklabel={},pinknumber={},pinllabel={},pinlnumber={},
+ pinmlabel={},pinmnumber={},pinnlabel={},pinnnumber={},pinolabel={},pinonumber={},
+ pinplabel={},pinpnumber={},pinqlabel={},pinqnumber={},pinrlabel={},pinrnumber={},
+ pinslabel={},pinsnumber={},pintlabel={},pintnumber={},pinulabel={},pinunumber={},
+ pinvlabel={},pinvnumber={},pinwlabel={},pinwnumber={},pinxlabel={},pinxnumber={},
+ pinylabel={},pinynumber={},pinzlabel={},pinznumber={},pinaalabel={},pinaanumber={},
+ pinablabel={},pinabnumber={},pinaclabel={},pinacnumber={},pinadlabel={},pinadnumber={},
+ pinaelabel={},pinaenumber={},pinaflabel={},pinafnumber={},pinlalabel={},pinlanumber={},
+ pinlblabel={},pinlbnumber={},pinlclabel={},pinlcnumber={},pinldlabel={},pinldnumber={},
+ pinlelabel={},pinlenumber={},pinlflabel={},pinlfnumber={},pinlglabel={},pinlgnumber={},
+ pinlhlabel={},pinlhnumber={},pinlilabel={},pinlinumber={},pinljlabel={},pinljnumber={},
+ pinlklabel={},pinlknumber={},pinlllabel={},pinllnumber={},pinlmlabel={},pinlmnumber={},
+ pinlnlabel={},pinlnnumber={},pinlolabel={},pinlonumber={},pinlplabel={},pinlpnumber={},
+ pinralabel={},pinranumber={},pinrblabel={},pinrbnumber={},pinrclabel={},pinrcnumber={},
+ pinrdlabel={},pinrdnumber={},pinrelabel={},pinrenumber={},pinrflabel={},pinrfnumber={},
+ pinrglabel={},pinrgnumber={},pinrhlabel={},pinrhnumber={},pinrilabel={},pinrinumber={},
+ pinrjlabel={},pinrjnumber={},pinrklabel={},pinrknumber={},pinrllabel={},pinrlnumber={},
+ pinrmlabel={},pinrmnumber={},pinrnlabel={},pinrnnumber={},pinrolabel={},pinronumber={},
+ pinrplabel={},pinrpnumber={},pintllabel={},pintlnumber={},pintclabel={},pintcnumber={},
+ pintrlabel={},pintrnumber={},pinbllabel={},pinblnumber={},pinbclabel={},pinbcnumber={},
+ pinbrlabel={},pinbrnumber={},pintalabel={},pintanumber={},pintblabel={},pintbnumber={},
+ pintclabel={},pintcnumber={},pintdlabel={},pintdnumber={},pintelabel={},pintenumber={},
+ pinbalabel={},pinbanumber={},pinbblabel={},pinbbnumber={},pinbclabel={},pinbcnumber={},
+ pinbdlabel={},pinbdnumber={},pinbelabel={},pinbenumber={},
+ iec=false,iecinvert=false,input=true,invertinput=false,inputa=true,invertinputa=false,
+ inputb=true,invertinputb=false,inputc=true,invertinputc=false,inputd=true,invertinputd=false,
+ enable=false,invertenable=false,clock=false,invertclock=false,set=false,invertset=false,
+ reset=false,invertreset=false,invertoutput=false,outputa=true,invertoutputa=false,outputb=true,
+ invertoutputb=true,segmentlabels=true,pina=true,invertpina=false,pinb=true,invertpinb=false,
+ pinc=true,invertpinc=false,pind=true,invertpind=false,pine=true,invertpine=false,
+ pinf=true,invertpinf=false,ping=true,invertping=false,pinh=true,invertpinh=false,
+ pini=true,invertpini=false,pinj=true,invertpinj=false,pink=true,invertpink=false,
+ pinl=true,invertpinl=false,pinm=true,invertpinm=false,pinn=true,invertpinn=false,
+ pino=true,invertpino=false,pinp=true,invertpinp=false,pinq=true,invertpinq=false,
+ pinr=true,invertpinr=false,pins=true,invertpins=false,pint=true,invertpint=false,
+ pinu=true,invertpinu=false,pinv=true,invertpinv=false,pinw=true,invertpinw=false,
+ pinx=true,invertpinx=false,piny=true,invertpiny=false,pinz=true,invertpinz=false,
+ pinaa=true,invertpinaa=false,pinab=true,invertpinab=false,pinac=true,invertpinac=false,
+ pinad=true,invertpinad=false,pinae=true,invertpinae=false,pinaf=true,invertpinaf=false,
+ pinla=true,invertpinla=false,pinlb=true,invertpinlb=false,pinlc=true,invertpinlc=false,
+ pinld=true,invertpinld=false,pinle=true,invertpinle=false,pinlf=true,invertpinlf=false,
+ pinlg=true,invertpinlg=false,pinlh=true,invertpinlh=false,pinli=true,invertpinli=false,
+ pinlj=true,invertpinlj=false,pinlk=true,invertpinlk=false,pinll=true,invertpinll=false,
+ pinlm=true,invertpinlm=false,pinln=true,invertpinln=false,pinlo=true,invertpinlo=false,
+ pinlp=true,invertpinlp=false,pinra=true,invertpinra=false,pinrb=true,invertpinrb=false,
+ pinrc=true,invertpinrc=false,pinrd=true,invertpinrd=false,pinre=true,invertpinre=false,
+ pinrf=true,invertpinrf=false,pinrg=true,invertpinrg=false,pinrh=true,invertpinrh=false,
+ pinri=true,invertpinri=false,pinrj=true,invertpinrj=false,pinrk=true,invertpinrk=false,
+ pinrl=true,invertpinrl=false,pinrm=true,invertpinrm=false,pinrn=true,invertpinrn=false,
+ pinro=true,invertpinro=false,pinrp=true,invertpinrp=false,pintl=false,invertpintl=false,
+ pintc=false,invertpintc=false,pintr=false,invertpintr=false,pinbl=false,invertpinbl=false,
+ pinbc=false,invertpinbc=false,pinbr=false,invertpinbr=false,pinta=false,invertpinta=false,
+ pintb=false,invertpintb=false,pintc=false,invertpintc=false,pintd=false,invertpintd=false,
+ pinte=false,invertpinte=false,pinba=false,invertpinba=false,pinbb=false,invertpinbb=false,
+ pinbc=false,invertpinbc=false,pinbd=false,invertpinbd=false,pinbe=false,invertpinbe=false,
+ dpleft=false,dpright=true,latch=false,unlatch=false,contactclosed=false,polarized=false
}% hv
%\psset[pstricks]{radius=0.5}
@@ -2269,6 +2976,2142 @@
\fi%
}
%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\def\logicic{\@ifnextchar[{\pst@intcirc}{\pst@intcirc[]}}
+\def\pst@intcirc[#1]{\@ifnextchar({\pst@intcirci[#1]{0}}{\pst@intcirci[#1]}}
+\def\pst@intcirci[#1]#2(#3)#4{{%
+ \psset{#1}%
+ \rput{#2}(#3){
+ % IC Styles
+ \ifcase\psk@nicpins
+ %
+ % 8-Pin DIP IC
+ %
+ \def\icheight{2.5}
+ \def\icwidth{3.5}
+ \def\icleft{1.75}
+ \def\icmid{2.25}
+ \def\icright{2.75}
+ % a
+ \ifPst@pina
+ \psline(0,2)(1,2) % Input a
+ \uput[r](1,2){\small{\psk@pinalabel}} % Name a
+ \uput[u](0.5,1.9){\small{\psk@pinanumber}} % Number a
+ \ifPst@invertpina
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 2){{\psk@bubblesize}} % Invert Input a
+ \fi
+ \fi
+ % b
+ \ifPst@pinb
+ \psline(0,1.5)(1,1.5) % Input b
+ \uput[r](1,1.5){{\psk@pinblabel}} % Name b
+ \uput[u](0.5,1.4){{\psk@pinbnumber}} % Number b
+ \ifPst@invertpinb
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 1.5){{\psk@bubblesize}} % Invert Input b
+ \fi
+ \fi
+ % c
+ \ifPst@pinc
+ \psline(0,1)(1,1) % Input c
+ \uput[r](1,1){{\psk@pinclabel}} % Name c
+ \uput[u](0.5,0.9){{\psk@pincnumber}} % Number c
+ \ifPst@invertpinc
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 1){{\psk@bubblesize}} % Invert Input c
+ \fi
+ \fi
+ % d
+ \ifPst@pind
+ \psline(0,0.5)(1,0.5) % Input d
+ \uput[r](1,0.5){{\psk@pindlabel}} % Name d
+ \uput[u](0.5,0.4){{\psk@pindnumber}} % Number d
+ \ifPst@invertpind
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 0.5){{\psk@bubblesize}} % Invert Input d
+ \fi
+ \fi
+ % e
+ \ifPst@pine
+ \psline(3.5,0.5)(4.5,0.5) % Input e
+ \uput[l](3.5,0.5){{\psk@pinelabel}} % Name e
+ \uput[u](4,0.4){{\psk@pinenumber}} % Number e
+ \ifPst@invertpine
+ \pscircle[fillstyle=solid](! 3.5 \space\psk@bubblesize\space add 0.5){{\psk@bubblesize}} % Invert Input e
+ \fi
+ \fi
+ % f
+ \ifPst@pinf
+ \psline(3.5,1)(4.5,1) % Input f
+ \uput[l](3.5,1){{\psk@pinflabel}} % Name f
+ \uput[u](4,0.9){{\psk@pinfnumber}} % Number f
+ \ifPst@invertpinf
+ \pscircle[fillstyle=solid](! 3.5 \space\psk@bubblesize\space add 1){{\psk@bubblesize}} % Invert Input f
+ \fi
+ \fi
+ % g
+ \ifPst@ping
+ \psline(3.5,1.5)(4.5,1.5) % Input g
+ \uput[l](3.5,1.5){{\psk@pinglabel}} % Name g
+ \uput[u](4,1.4){{\psk@pingnumber}} % Number g
+ \ifPst@invertping
+ \pscircle[fillstyle=solid](! 3.5 \space\psk@bubblesize\space add 1.5){{\psk@bubblesize}} % Invert Input g
+ \fi
+ \fi
+ % h
+ \ifPst@pinh
+ \psline(3.5,2)(4.5,2) % Input h
+ \uput[l](3.5,2){{\psk@pinhlabel}} % Name h
+ \uput[u](4,1.9){{\psk@pinhnumber}} % Number h
+ \ifPst@invertpinh
+ \pscircle[fillstyle=solid](! 3.5 \space\psk@bubblesize\space add 2){{\psk@bubblesize}} % Invert Input h
+ \fi
+ \fi
+ % Body
+ \psline[linewidth=1.5\pslinewidth](1,0)(1,2.5)(3.5,2.5)(3.5,0)(1,0)
+ \or
+ %
+ % 14-Pin DIP IC
+ %
+ \def\icheight{4}
+ \def\icwidth{3.5}
+ \def\icleft{1.75}
+ \def\icmid{2.25}
+ \def\icright{2.75}
+ % a
+ \ifPst@pina
+ \psline(0,3.5)(1,3.5) % Input a
+ \uput[r](1,3.5){{\psk@pinalabel}} % Name a
+ \uput[u](0.5,3.4){{\psk@pinanumber}} % Number a
+ \ifPst@invertpina
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 3.5){{\psk@bubblesize}} % Invert Input a
+ \fi
+ \fi
+ % b
+ \ifPst@pinb
+ \psline(0,3)(1,3) % Input b
+ \uput[r](1,3){{\psk@pinblabel}} % Name b
+ \uput[u](0.5,2.9){{\psk@pinbnumber}} % Number b
+ \ifPst@invertpinb
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 3){{\psk@bubblesize}} % Invert Input b
+ \fi
+ \fi
+ % c
+ \ifPst@pinc
+ \psline(0,2.5)(1,2.5) % Input c
+ \uput[r](1,2.5){{\psk@pinclabel}} % Name c
+ \uput[u](0.5,2.4){{\psk@pincnumber}} % Number c
+ \ifPst@invertpinc
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 2.5){{\psk@bubblesize}} % Invert Input c
+ \fi
+ \fi
+ % d
+ \ifPst@pind
+ \psline(0,2)(1,2) % Input d
+ \uput[r](1,2){{\psk@pindlabel}} % Name d
+ \uput[u](0.5,1.9){{\psk@pindnumber}} % Number d
+ \ifPst@invertpind
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 2){{\psk@bubblesize}} % Invert Input d
+ \fi
+ \fi
+ % e
+ \ifPst@pine
+ \psline(0,1.5)(1,1.5) % Input e
+ \uput[r](1,1.5){{\psk@pinelabel}} % Name e
+ \uput[u](0.5,1.4){{\psk@pinenumber}} % Number e
+ \ifPst@invertpine
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 1.5){{\psk@bubblesize}} % Invert Input e
+ \fi
+ \fi
+ % f
+ \ifPst@pinf
+ \psline(0,1)(1,1) % Input f
+ \uput[r](1,1){{\psk@pinflabel}} % Name f
+ \uput[u](0.5,0.9){{\psk@pinfnumber}} % Number f
+ \ifPst@invertpinf
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 1){{\psk@bubblesize}} % Invert Input f
+ \fi
+ \fi
+ % g
+ \ifPst@ping
+ \psline(0,0.5)(1,0.5) % Input g
+ \uput[r](1,0.5){{\psk@pinglabel}} % Name g
+ \uput[u](0.5,0.4){{\psk@pingnumber}} % Number g
+ \ifPst@invertping
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 0.5){{\psk@bubblesize}} % Invert Input g
+ \fi
+ \fi
+ % h
+ \ifPst@pinh
+ \psline(3.5,0.5)(4.5,0.5) % Input h
+ \uput[l](3.5,0.5){{\psk@pinhlabel}} % Name h
+ \uput[u](4,0.4){{\psk@pinhnumber}} % Number h
+ \ifPst@invertpinh
+ \pscircle[fillstyle=solid](! 3.5 \space\psk@bubblesize\space add 0.5){{\psk@bubblesize}} % Invert Input h
+ \fi
+ \fi
+ % i
+ \ifPst@pini
+ \psline(3.5,1)(4.5,1) % Input i
+ \uput[l](3.5,1){{\psk@pinilabel}} % Name i
+ \uput[u](4,0.9){{\psk@pininumber}} % Number i
+ \ifPst@invertpini
+ \pscircle[fillstyle=solid](! 3.5 \space\psk@bubblesize\space add 1){{\psk@bubblesize}} % Invert Input i
+ \fi
+ \fi
+ % j
+ \ifPst@pinj
+ \psline(3.5,1.5)(4.5,1.5) % Input j
+ \uput[l](3.5,1.5){{\psk@pinjlabel}} % Name j
+ \uput[u](4,1.4){{\psk@pinjnumber}} % Number j
+ \ifPst@invertpinj
+ \pscircle[fillstyle=solid](! 3.5 \space\psk@bubblesize\space add 1.5){{\psk@bubblesize}} % Invert Input j
+ \fi
+ \fi
+ % k
+ \ifPst@pink
+ \psline(3.5,2)(4.5,2) % Input k
+ \uput[l](3.5,2){{\psk@pinklabel}} % Name k
+ \uput[u](4,1.9){{\psk@pinknumber}} % Number k
+ \ifPst@invertpink
+ \pscircle[fillstyle=solid](! 3.5 \space\psk@bubblesize\space add 2){{\psk@bubblesize}} % Invert Input k
+ \fi
+ \fi
+ % l
+ \ifPst@pinl
+ \psline(3.5,2.5)(4.5,2.5) % Input l
+ \uput[l](3.5,2.5){{\psk@pinllabel}} % Name l
+ \uput[u](4,2.4){{\psk@pinlnumber}} % Number l
+ \ifPst@invertpinl
+ \pscircle[fillstyle=solid](! 3.5 \space\psk@bubblesize\space add 2.5){{\psk@bubblesize}} % Invert Input l
+ \fi
+ \fi
+ % m
+ \ifPst@pinm
+ \psline(3.5,3)(4.5,3) % Input m
+ \uput[l](3.5,3){{\psk@pinmlabel}} % Name m
+ \uput[u](4,2.9){{\psk@pinmnumber}} % Number m
+ \ifPst@invertpinm
+ \pscircle[fillstyle=solid](! 3.5 \space\psk@bubblesize\space add 3){{\psk@bubblesize}} % Invert Input m
+ \fi
+ \fi
+ % n
+ \ifPst@pinn
+ \psline(3.5,3.5)(4.5,3.5) % Input n
+ \uput[l](3.5,3.5){{\psk@pinnlabel}} % Name n
+ \uput[u](4,3.4){{\psk@pinnnumber}} % Number n
+ \ifPst@invertpinn
+ \pscircle[fillstyle=solid](! 3.5 \space\psk@bubblesize\space add 3.5){{\psk@bubblesize}} % Invert Input n
+ \fi
+ \fi
+ % Body
+ \psline[linewidth=1.5\pslinewidth](1,0)(1,4)(3.5,4)(3.5,0)(1,0)
+ \or
+ %
+ % 16-Pin DIP IC
+ %
+ \def\icheight{4.5}
+ \def\icwidth{3.5}
+ \def\icleft{1.75}
+ \def\icmid{2.25}
+ \def\icright{2.75}
+ % a
+ \ifPst@pina
+ \psline(0,4)(1,4) % Input a
+ \uput[r](1,4){{\psk@pinalabel}} % Name a
+ \uput[u](0.5,3.9){{\psk@pinanumber}} % Number a
+ \ifPst@invertpina
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 4){{\psk@bubblesize}} % Invert Input a
+ \fi
+ \fi
+ % b
+ \ifPst@pinb
+ \psline(0,3.5)(1,3.5) % Input b
+ \uput[r](1,3.5){{\psk@pinblabel}} % Name b
+ \uput[u](0.5,3.4){{\psk@pinbnumber}} % Number b
+ \ifPst@invertpinb
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 3.5){{\psk@bubblesize}} % Invert Input b
+ \fi
+ \fi
+ % c
+ \ifPst@pinc
+ \psline(0,3)(1,3) % Input c
+ \uput[r](1,3){{\psk@pinclabel}} % Name c
+ \uput[u](0.5,2.9){{\psk@pincnumber}} % Number c
+ \ifPst@invertpinc
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 3){{\psk@bubblesize}} % Invert Input c
+ \fi
+ \fi
+ % d
+ \ifPst@pind
+ \psline(0,2.5)(1,2.5) % Input d
+ \uput[r](1,2.5){{\psk@pindlabel}} % Name d
+ \uput[u](0.5,2.4){{\psk@pindnumber}} % Number d
+ \ifPst@invertpind
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 2.5){{\psk@bubblesize}} % Invert Input d
+ \fi
+ \fi
+ % e
+ \ifPst@pine
+ \psline(0,2)(1,2) % Input e
+ \uput[r](1,2){{\psk@pinelabel}} % Name e
+ \uput[u](0.5,1.9){{\psk@pinenumber}} % Number e
+ \ifPst@invertpine
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 2){{\psk@bubblesize}} % Invert Input e
+ \fi
+ \fi
+ % f
+ \ifPst@pinf
+ \psline(0,1.5)(1,1.5) % Input f
+ \uput[r](1,1.5){{\psk@pinflabel}} % Name f
+ \uput[u](0.5,1.4){{\psk@pinfnumber}} % Number f
+ \ifPst@invertpinf
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 1.5){{\psk@bubblesize}} % Invert Input f
+ \fi
+ \fi
+ % g
+ \ifPst@ping
+ \psline(0,1)(1,1) % Input g
+ \uput[r](1,1){{\psk@pinglabel}} % Name g
+ \uput[u](0.5,0.9){{\psk@pingnumber}} % Number g
+ \ifPst@invertping
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 1){{\psk@bubblesize}} % Invert Input g
+ \fi
+ \fi
+ % h
+ \ifPst@pinh
+ \psline(0,0.5)(1,0.5) % Input h
+ \uput[r](1,0.5){{\psk@pinhlabel}} % Name h
+ \uput[u](0.5,0.4){{\psk@pinhnumber}} % Number h
+ \ifPst@invertpinh
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 0.5){{\psk@bubblesize}} % Invert Input h
+ \fi
+ \fi
+ % i
+ \ifPst@pini
+ \psline(3.5,0.5)(4.5,0.5) % Input i
+ \uput[l](3.5,0.5){{\psk@pinilabel}} % Name i
+ \uput[u](4,0.4){{\psk@pininumber}} % Number i
+ \ifPst@invertpini
+ \pscircle[fillstyle=solid](! 3.5 \space\psk@bubblesize\space add 0.5){{\psk@bubblesize}} % Invert Input i
+ \fi
+ \fi
+ % j
+ \ifPst@pinj
+ \psline(3.5,1)(4.5,1) % Input j
+ \uput[l](3.5,1){{\psk@pinjlabel}} % Name j
+ \uput[u](4,0.9){{\psk@pinjnumber}} % Number j
+ \ifPst@invertpinj
+ \pscircle[fillstyle=solid](! 3.5 \space\psk@bubblesize\space add 1){{\psk@bubblesize}} % Invert Input j
+ \fi
+ \fi
+ % k
+ \ifPst@pink
+ \psline(3.5,1.5)(4.5,1.5) % Input k
+ \uput[l](3.5,1.5){{\psk@pinklabel}} % Name k
+ \uput[u](4,1.4){{\psk@pinknumber}} % Number k
+ \ifPst@invertpink
+ \pscircle[fillstyle=solid](! 3.5 \space\psk@bubblesize\space add 1.5){{\psk@bubblesize}} % Invert Input k
+ \fi
+ \fi
+ % l
+ \ifPst@pinl
+ \psline(3.5,2)(4.5,2) % Input l
+ \uput[l](3.5,2){{\psk@pinllabel}} % Name l
+ \uput[u](4,1.9){{\psk@pinlnumber}} % Number l
+ \ifPst@invertpinl
+ \pscircle[fillstyle=solid](! 3.5 \space\psk@bubblesize\space add 2){{\psk@bubblesize}} % Invert Input l
+ \fi
+ \fi
+ % m
+ \ifPst@pinm
+ \psline(3.5,2.5)(4.5,2.5) % Input m
+ \uput[l](3.5,2.5){{\psk@pinmlabel}} % Name m
+ \uput[u](4,2.4){{\psk@pinmnumber}} % Number m
+ \ifPst@invertpinm
+ \pscircle[fillstyle=solid](! 3.5 \space\psk@bubblesize\space add 2.5){{\psk@bubblesize}} % Invert Input m
+ \fi
+ \fi
+ % n
+ \ifPst@pinn
+ \psline(3.5,3)(4.5,3) % Input n
+ \uput[l](3.5,3){{\psk@pinnlabel}} % Name n
+ \uput[u](4,2.9){{\psk@pinnnumber}} % Number n
+ \ifPst@invertpinn
+ \pscircle[fillstyle=solid](! 3.5 \space\psk@bubblesize\space add 3){{\psk@bubblesize}} % Invert Input n
+ \fi
+ \fi
+ % o
+ \ifPst@pino
+ \psline(3.5,3.5)(4.5,3.5) % Input o
+ \uput[l](3.5,3.5){{\psk@pinolabel}} % Name o
+ \uput[u](4,3.4){{\psk@pinonumber}} % Number o
+ \ifPst@invertpino
+ \pscircle[fillstyle=solid](! 3.5 \space\psk@bubblesize\space add 3.5){{\psk@bubblesize}} % Invert Input o
+ \fi
+ \fi
+ % p
+ \ifPst@pinp
+ \psline(3.5,4)(4.5,4) % Input p
+ \uput[l](3.5,4){{\psk@pinplabel}} % Name p
+ \uput[u](4,3.9){{\psk@pinpnumber}} % Number p
+ \ifPst@invertpinp
+ \pscircle[fillstyle=solid](! 3.5 \space\psk@bubblesize\space add 4){{\psk@bubblesize}} % Invert Input p
+ \fi
+ \fi
+ % Body
+ \psline[linewidth=1.5\pslinewidth](1,0)(1,4.5)(3.5,4.5)(3.5,0)(1,0)
+ \or
+ %
+ % 20-Pin DIP IC
+ %
+ \def\icheight{5.5}
+ \def\icwidth{3.5}
+ \def\icleft{1.75}
+ \def\icmid{2.25}
+ \def\icright{2.75}
+ % a
+ \ifPst@pina
+ \psline(0,5)(1,5) % Input a
+ \uput[r](1,5){{\psk@pinalabel}} % Name a
+ \uput[u](0.5,4.9){{\psk@pinanumber}} % Number a
+ \ifPst@invertpina
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 5){{\psk@bubblesize}} % Invert Input a
+ \fi
+ \fi
+ % b
+ \ifPst@pinb
+ \psline(0,4.5)(1,4.5) % Input b
+ \uput[r](1,4.5){{\psk@pinblabel}} % Name b
+ \uput[u](0.5,4.4){{\psk@pinbnumber}} % Number b
+ \ifPst@invertpinb
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 4.5){{\psk@bubblesize}} % Invert Input b
+ \fi
+ \fi
+ % c
+ \ifPst@pinc
+ \psline(0,4)(1,4) % Input c
+ \uput[r](1,4){{\psk@pinclabel}} % Name c
+ \uput[u](0.5,3.9){{\psk@pincnumber}} % Number c
+ \ifPst@invertpinc
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 4){{\psk@bubblesize}} % Invert Input c
+ \fi
+ \fi
+ % d
+ \ifPst@pind
+ \psline(0,3.5)(1,3.5) % Input d
+ \uput[r](1,3.5){{\psk@pindlabel}} % Name d
+ \uput[u](0.5,3.4){{\psk@pindnumber}} % Number d
+ \ifPst@invertpind
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 3.5){{\psk@bubblesize}} % Invert Input d
+ \fi
+ \fi
+ % e
+ \ifPst@pine
+ \psline(0,3)(1,3) % Input e
+ \uput[r](1,3){{\psk@pinelabel}} % Name e
+ \uput[u](0.5,2.9){{\psk@pinenumber}} % Number e
+ \ifPst@invertpine
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 3){{\psk@bubblesize}} % Invert Input e
+ \fi
+ \fi
+ % f
+ \ifPst@pinf
+ \psline(0,2.5)(1,2.5) % Input f
+ \uput[r](1,2.5){{\psk@pinflabel}} % Name f
+ \uput[u](0.5,2.4){{\psk@pinfnumber}} % Number f
+ \ifPst@invertpinf
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 2.5){{\psk@bubblesize}} % Invert Input f
+ \fi
+ \fi
+ % g
+ \ifPst@ping
+ \psline(0,2)(1,2) % Input g
+ \uput[r](1,2){{\psk@pinglabel}} % Name g
+ \uput[u](0.5,1.9){{\psk@pingnumber}} % Number g
+ \ifPst@invertping
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 2){{\psk@bubblesize}} % Invert Input g
+ \fi
+ \fi
+ % h
+ \ifPst@pinh
+ \psline(0,1.5)(1,1.5) % Input h
+ \uput[r](1,1.5){{\psk@pinhlabel}} % Name h
+ \uput[u](0.5,1.4){{\psk@pinhnumber}} % Number h
+ \ifPst@invertpinh
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 1.5){{\psk@bubblesize}} % Invert Input h
+ \fi
+ \fi
+ % i
+ \ifPst@pini
+ \psline(0,1)(1,1) % Input i
+ \uput[r](1,1){{\psk@pinilabel}} % Name i
+ \uput[u](0.5,0.9){{\psk@pininumber}} % Number i
+ \ifPst@invertpini
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 1){{\psk@bubblesize}} % Invert Input i
+ \fi
+ \fi
+ % j
+ \ifPst@pinj
+ \psline(0,0.5)(1,0.5) % Input j
+ \uput[r](1,0.5){{\psk@pinjlabel}} % Name j
+ \uput[u](0.5,0.4){{\psk@pinjnumber}} % Number j
+ \ifPst@invertpinj
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 0.5){{\psk@bubblesize}} % Invert Input j
+ \fi
+ \fi
+ % k
+ \ifPst@pink
+ \psline(3.5,0.5)(4.5,0.5) % Input k
+ \uput[l](3.5,0.5){{\psk@pinklabel}} % Name k
+ \uput[u](4,0.4){{\psk@pinknumber}} % Number k
+ \ifPst@invertpink
+ \pscircle[fillstyle=solid](! 3.5 \space\psk@bubblesize\space add 0.5){{\psk@bubblesize}} % Invert Input k
+ \fi
+ \fi
+ % l
+ \ifPst@pinl
+ \psline(3.5,1)(4.5,1) % Input l
+ \uput[l](3.5,1){{\psk@pinllabel}} % Name l
+ \uput[u](4,0.9){{\psk@pinlnumber}} % Number l
+ \ifPst@invertpinl
+ \pscircle[fillstyle=solid](! 3.5 \space\psk@bubblesize\space add 1){{\psk@bubblesize}} % Invert Input l
+ \fi
+ \fi
+ % m
+ \ifPst@pinm
+ \psline(3.5,1.5)(4.5,1.5) % Input m
+ \uput[l](3.5,1.5){{\psk@pinmlabel}} % Name m
+ \uput[u](4,1.4){{\psk@pinmnumber}} % Number m
+ \ifPst@invertpinm
+ \pscircle[fillstyle=solid](! 3.5 \space\psk@bubblesize\space add 1.5){{\psk@bubblesize}} % Invert Input m
+ \fi
+ \fi
+ % n
+ \ifPst@pinn
+ \psline(3.5,2)(4.5,2) % Input n
+ \uput[l](3.5,2){{\psk@pinnlabel}} % Name n
+ \uput[u](4,1.9){{\psk@pinnnumber}} % Number n
+ \ifPst@invertpinn
+ \pscircle[fillstyle=solid](! 3.5 \space\psk@bubblesize\space add 2){{\psk@bubblesize}} % Invert Input n
+ \fi
+ \fi
+ % o
+ \ifPst@pino
+ \psline(3.5,2.5)(4.5,2.5) % Input o
+ \uput[l](3.5,2.5){{\psk@pinolabel}} % Name o
+ \uput[u](4,2.4){{\psk@pinonumber}} % Number o
+ \ifPst@invertpino
+ \pscircle[fillstyle=solid](! 3.5 \space\psk@bubblesize\space add 2.5){{\psk@bubblesize}} % Invert Input o
+ \fi
+ \fi
+ % p
+ \ifPst@pinp
+ \psline(3.5,3)(4.5,3) % Input p
+ \uput[l](3.5,3){{\psk@pinplabel}} % Name p
+ \uput[u](4,2.9){{\psk@pinpnumber}} % Number p
+ \ifPst@invertpinp
+ \pscircle[fillstyle=solid](! 3.5 \space\psk@bubblesize\space add 3){{\psk@bubblesize}} % Invert Input p
+ \fi
+ \fi
+ % q
+ \ifPst@pinq
+ \psline(3.5,3.5)(4.5,3.5) % Input q
+ \uput[l](3.5,3.5){{\psk@pinqlabel}} % Name q
+ \uput[u](4,3.4){{\psk@pinqnumber}} % Number q
+ \ifPst@invertpinq
+ \pscircle[fillstyle=solid](! 3.5 \space\psk@bubblesize\space add 3.5){{\psk@bubblesize}} % Invert Input q
+ \fi
+ \fi
+ % r
+ \ifPst@pinr
+ \psline(3.5,4)(4.5,4) % Input r
+ \uput[l](3.5,4){{\psk@pinrlabel}} % Name r
+ \uput[u](4,3.9){{\psk@pinrnumber}} % Number r
+ \ifPst@invertpinr
+ \pscircle[fillstyle=solid](! 3.5 \space\psk@bubblesize\space add 4){{\psk@bubblesize}} % Invert Input r
+ \fi
+ \fi
+ % s
+ \ifPst@pins
+ \psline(3.5,4.5)(4.5,4.5) % Input s
+ \uput[l](3.5,4.5){{\psk@pinslabel}} % Name s
+ \uput[u](4,4.4){{\psk@pinsnumber}} % Number s
+ \ifPst@invertpins
+ \pscircle[fillstyle=solid](! 3.5 \space\psk@bubblesize\space add 4.5){{\psk@bubblesize}} % Invert Input s
+ \fi
+ \fi
+ % t
+ \ifPst@pint
+ \psline(3.5,5)(4.5,5) % Input t
+ \uput[l](3.5,5){{\psk@pintlabel}} % Name t
+ \uput[u](4,4.9){{\psk@pintnumber}} % Number t
+ \ifPst@invertpint
+ \pscircle[fillstyle=solid](! 3.5 \space\psk@bubblesize\space add 5){{\psk@bubblesize}} % Invert Input t
+ \fi
+ \fi
+ % Body
+ \psline[linewidth=1.5\pslinewidth](1,0)(1,5.5)(3.5,5.5)(3.5,0)(1,0)
+ \or
+ %
+ % 32-Pin DIP IC
+ %
+ \def\icheight{8.5}
+ \def\icwidth{4}
+ \def\icleft{2}
+ \def\icmid{2.5}
+ \def\icright{3}
+ % a
+ \ifPst@pina
+ \psline(0,8)(1,8) % Input a
+ \uput[r](1,8){{\psk@pinalabel}} % Name a
+ \uput[u](0.5,7.9){{\psk@pinanumber}} % Number a
+ \ifPst@invertpina
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 8){{\psk@bubblesize}} % Invert Input a
+ \fi
+ \fi
+ % b
+ \ifPst@pinb
+ \psline(0,7.5)(1,7.5) % Input b
+ \uput[r](1,7.5){{\psk@pinblabel}} % Name b
+ \uput[u](0.5,7.4){{\psk@pinbnumber}} % Number b
+ \ifPst@invertpinb
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 7.5){{\psk@bubblesize}} % Invert Input b
+ \fi
+ \fi
+ % c
+ \ifPst@pinc
+ \psline(0,7)(1,7) % Input c
+ \uput[r](1,7){{\psk@pinclabel}} % Name c
+ \uput[u](0.5,6.9){{\psk@pincnumber}} % Number c
+ \ifPst@invertpinc
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 7){{\psk@bubblesize}} % Invert Input c
+ \fi
+ \fi
+ % d
+ \ifPst@pind
+ \psline(0,6.5)(1,6.5) % Input d
+ \uput[r](1,6.5){{\psk@pindlabel}} % Name d
+ \uput[u](0.5,6.4){{\psk@pindnumber}} % Number d
+ \ifPst@invertpind
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 6.5){{\psk@bubblesize}} % Invert Input d
+ \fi
+ \fi
+ % e
+ \ifPst@pine
+ \psline(0,6)(1,6) % Input e
+ \uput[r](1,6){{\psk@pinelabel}} % Name e
+ \uput[u](0.5,5.9){{\psk@pinenumber}} % Number e
+ \ifPst@invertpine
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 6){{\psk@bubblesize}} % Invert Input e
+ \fi
+ \fi
+ % f
+ \ifPst@pinf
+ \psline(0,5.5)(1,5.5) % Input f
+ \uput[r](1,5.5){{\psk@pinflabel}} % Name f
+ \uput[u](0.5,5.4){{\psk@pinfnumber}} % Number f
+ \ifPst@invertpinf
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 5.5){{\psk@bubblesize}} % Invert Input f
+ \fi
+ \fi
+ % g
+ \ifPst@ping
+ \psline(0,5)(1,5) % Input g
+ \uput[r](1,5){{\psk@pinglabel}} % Name g
+ \uput[u](0.5,4.9){{\psk@pingnumber}} % Number g
+ \ifPst@invertping
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 5){{\psk@bubblesize}} % Invert Input g
+ \fi
+ \fi
+ % h
+ \ifPst@pinh
+ \psline(0,4.5)(1,4.5) % Input h
+ \uput[r](1,4.5){{\psk@pinhlabel}} % Name h
+ \uput[u](0.5,4.4){{\psk@pinhnumber}} % Number h
+ \ifPst@invertpinh
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 4.5){{\psk@bubblesize}} % Invert Input h
+ \fi
+ \fi
+ % i
+ \ifPst@pini
+ \psline(0,4)(1,4) % Input i
+ \uput[r](1,4){{\psk@pinilabel}} % Name i
+ \uput[u](0.5,3.9){{\psk@pininumber}} % Number i
+ \ifPst@invertpini
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 4){{\psk@bubblesize}} % Invert Input i
+ \fi
+ \fi
+ % j
+ \ifPst@pinj
+ \psline(0,3.5)(1,3.5) % Input j
+ \uput[r](1,3.5){{\psk@pinjlabel}} % Name j
+ \uput[u](0.5,3.4){{\psk@pinjnumber}} % Number j
+ \ifPst@invertpinj
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 3.5){{\psk@bubblesize}} % Invert Input j
+ \fi
+ \fi
+ % k
+ \ifPst@pink
+ \psline(0,3)(1,3) % Input k
+ \uput[r](1,3){{\psk@pinklabel}} % Name k
+ \uput[u](0.5,2.9){{\psk@pinknumber}} % Number k
+ \ifPst@invertpink
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 3){{\psk@bubblesize}} % Invert Input k
+ \fi
+ \fi
+ % l
+ \ifPst@pinl
+ \psline(0,2.5)(1,2.5) % Input l
+ \uput[r](1,2.5){{\psk@pinllabel}} % Name l
+ \uput[u](0.5,2.4){{\psk@pinlnumber}} % Number l
+ \ifPst@invertpinl
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 2.5){{\psk@bubblesize}} % Invert Input l
+ \fi
+ \fi
+ % m
+ \ifPst@pinm
+ \psline(0,2)(1,2) % Input m
+ \uput[r](1,2){{\psk@pinmlabel}} % Name m
+ \uput[u](0.5,1.9){{\psk@pinmnumber}} % Number m
+ \ifPst@invertpinm
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 2){{\psk@bubblesize}} % Invert Input m
+ \fi
+ \fi
+ % n
+ \ifPst@pinn
+ \psline(0,1.5)(1,1.5) % Input n
+ \uput[r](1,1.5){{\psk@pinnlabel}} % Name n
+ \uput[u](0.5,1.4){{\psk@pinnnumber}} % Number n
+ \ifPst@invertpinn
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 1.5){{\psk@bubblesize}} % Invert Input n
+ \fi
+ \fi
+ % o
+ \ifPst@pino
+ \psline(0,1)(1,1) % Input o
+ \uput[r](1,1){{\psk@pinolabel}} % Name o
+ \uput[u](0.5,0.9){{\psk@pinonumber}} % Number o
+ \ifPst@invertpino
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 1){{\psk@bubblesize}} % Invert Input o
+ \fi
+ \fi
+ % p
+ \ifPst@pinp
+ \psline(0,0.5)(1,0.5) % Input p
+ \uput[r](1,0.5){{\psk@pinplabel}} % Name p
+ \uput[u](0.5,0.4){{\psk@pinpnumber}} % Number p
+ \ifPst@invertpinp
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 0.5){{\psk@bubblesize}} % Invert Input p
+ \fi
+ \fi
+ % q
+ \ifPst@pinq
+ \psline(4,0.5)(5,0.5) % Input q
+ \uput[l](4,0.5){{\psk@pinqlabel}} % Name q
+ \uput[u](4.5,0.4){{\psk@pinqnumber}} % Number q
+ \ifPst@invertpinq
+ \pscircle[fillstyle=solid](! 4 \space\psk@bubblesize\space add 0.5){{\psk@bubblesize}} % Invert Input q
+ \fi
+ \fi
+ % r
+ \ifPst@pinr
+ \psline(4,1)(5,1) % Input r
+ \uput[l](4,1){{\psk@pinrlabel}} % Name r
+ \uput[u](4.5,0.9){{\psk@pinrnumber}} % Number r
+ \ifPst@invertpinr
+ \pscircle[fillstyle=solid](! 4 \space\psk@bubblesize\space add 1){{\psk@bubblesize}} % Invert Input r
+ \fi
+ \fi
+ % s
+ \ifPst@pins
+ \psline(4,1.5)(5,1.5) % Input s
+ \uput[l](4,1.5){{\psk@pinslabel}} % Name s
+ \uput[u](4.5,1.4){{\psk@pinsnumber}} % Number s
+ \ifPst@invertpins
+ \pscircle[fillstyle=solid](! 4 \space\psk@bubblesize\space add 1.5){{\psk@bubblesize}} % Invert Input s
+ \fi
+ \fi
+ % t
+ \ifPst@pint
+ \psline(4,2)(5,2) % Input t
+ \uput[l](4,2){{\psk@pintlabel}} % Name t
+ \uput[u](4.5,1.9){{\psk@pintnumber}} % Number t
+ \ifPst@invertpint
+ \pscircle[fillstyle=solid](! 4 \space\psk@bubblesize\space add 2){{\psk@bubblesize}} % Invert Input t
+ \fi
+ \fi
+ % u
+ \ifPst@pinu
+ \psline(4,2.5)(5,2.5) % Input u
+ \uput[l](4,2.5){{\psk@pinulabel}} % Name u
+ \uput[u](4.5,2.4){{\psk@pinunumber}} % Number u
+ \ifPst@invertpinu
+ \pscircle[fillstyle=solid](! 4 \space\psk@bubblesize\space add 2.5){{\psk@bubblesize}} % Invert Input u
+ \fi
+ \fi
+ % v
+ \ifPst@pinv
+ \psline(4,3)(5,3) % Input v
+ \uput[l](4,3){{\psk@pinvlabel}} % Name v
+ \uput[u](4.5,2.9){{\psk@pinvnumber}} % Number v
+ \ifPst@invertpinv
+ \pscircle[fillstyle=solid](! 4 \space\psk@bubblesize\space add 3){{\psk@bubblesize}} % Invert Input v
+ \fi
+ \fi
+ % w
+ \ifPst@pinw
+ \psline(4,3.5)(5,3.5) % Input w
+ \uput[l](4,3.5){{\psk@pinwlabel}} % Name w
+ \uput[u](4.5,3.4){{\psk@pinwnumber}} % Number w
+ \ifPst@invertpinw
+ \pscircle[fillstyle=solid](! 4 \space\psk@bubblesize\space add 3.5){{\psk@bubblesize}} % Invert Input w
+ \fi
+ \fi
+ % x
+ \ifPst@pinx
+ \psline(4,4)(5,4) % Input x
+ \uput[l](4,4){{\psk@pinxlabel}} % Name x
+ \uput[u](4.5,3.9){{\psk@pinxnumber}} % Number x
+ \ifPst@invertpinx
+ \pscircle[fillstyle=solid](! 4 \space\psk@bubblesize\space add 4){{\psk@bubblesize}} % Invert Input x
+ \fi
+ \fi
+ % y
+ \ifPst@piny
+ \psline(4,4.5)(5,4.5) % Input y
+ \uput[l](4,4.5){{\psk@pinylabel}} % Name y
+ \uput[u](4.5,4.4){{\psk@pinynumber}} % Number y
+ \ifPst@invertpiny
+ \pscircle[fillstyle=solid](! 4 \space\psk@bubblesize\space add 4.5){{\psk@bubblesize}} % Invert Input y
+ \fi
+ \fi
+ % z
+ \ifPst@pinz
+ \psline(4,5)(5,5) % Input z
+ \uput[l](4,5){{\psk@pinzlabel}} % Name z
+ \uput[u](4.5,4.9){{\psk@pinznumber}} % Number z
+ \ifPst@invertpinz
+ \pscircle[fillstyle=solid](! 4 \space\psk@bubblesize\space add 5){{\psk@bubblesize}} % Invert Input z
+ \fi
+ \fi
+ % aa
+ \ifPst@pinaa
+ \psline(4,5.5)(5,5.5) % Input aa
+ \uput[l](4,5.5){{\psk@pinaalabel}} % Name aa
+ \uput[u](4.5,5.4){{\psk@pinaanumber}} % Number aa
+ \ifPst@invertpinaa
+ \pscircle[fillstyle=solid](! 4 \space\psk@bubblesize\space add 5.5){{\psk@bubblesize}} % Invert Input aa
+ \fi
+ \fi
+ % ab
+ \ifPst@pinab
+ \psline(4,6)(5,6) % Input ab
+ \uput[l](4,6){{\psk@pinablabel}} % Name ab
+ \uput[u](4.5,5.9){{\psk@pinabnumber}} % Number ab
+ \ifPst@invertpinab
+ \pscircle[fillstyle=solid](! 4 \space\psk@bubblesize\space add 6){{\psk@bubblesize}} % Invert Input ab
+ \fi
+ \fi
+ % ac
+ \ifPst@pinac
+ \psline(4,6.5)(5,6.5) % Input ac
+ \uput[l](4,6.5){{\psk@pinaclabel}} % Name ac
+ \uput[u](4.5,6.4){{\psk@pinacnumber}} % Number ac
+ \ifPst@invertpinac
+ \pscircle[fillstyle=solid](! 4 \space\psk@bubblesize\space add 6.5){{\psk@bubblesize}} % Invert Input ac
+ \fi
+ \fi
+ % ad
+ \ifPst@pinad
+ \psline(4,7)(5,7) % Input ad
+ \uput[l](4,7){{\psk@pinadlabel}} % Name ad
+ \uput[u](4.5,6.9){{\psk@pinadnumber}} % Number ad
+ \ifPst@invertpinad
+ \pscircle[fillstyle=solid](! 4 \space\psk@bubblesize\space add 7){{\psk@bubblesize}} % Invert Input ad
+ \fi
+ \fi
+ % ae
+ \ifPst@pinae
+ \psline(4,7.5)(5,7.5) % Input ae
+ \uput[l](4,7.5){{\psk@pinaelabel}} % Name ae
+ \uput[u](4.5,7.4){{\psk@pinaenumber}} % Number ae
+ \ifPst@invertpinae
+ \pscircle[fillstyle=solid](! 4 \space\psk@bubblesize\space add 7.5){{\psk@bubblesize}} % Invert Input ae
+ \fi
+ \fi
+ % af
+ \ifPst@pinaf
+ \psline(4,8)(5,8) % Input af
+ \uput[l](4,8){{\psk@pinaflabel}} % Name af
+ \uput[u](4.5,7.9){{\psk@pinafnumber}} % Number af
+ \ifPst@invertpinaf
+ \pscircle[fillstyle=solid](! 4 \space\psk@bubblesize\space add 8){{\psk@bubblesize}} % Invert Input af
+ \fi
+ \fi
+ % Body
+ \psline[linewidth=1.5\pslinewidth](1,0)(1,8.5)(4,8.5)(4,0)(1,0)
+ \fi
+ %
+ % Top Pins
+ %
+ % tl
+ \ifPst@pintl
+ \pnode(\icleft,\icheight){A}
+ \pnode([angle=90,offset=-0.1]A){B}
+ \psline(A)([angle=0,offset=1]A) % Input tl
+ \uput[d](A){{\psk@pintllabel}} % Name tl
+ \uput[l]([angle=0,offset=0.55]B){{\psk@pintlnumber}} % Number tl
+ \ifPst@invertpintl
+ \pscircle[fillstyle=solid]([angle=0,offset=\psk@bubblesize]A){{\psk@bubblesize}} % Invert Input tl
+ \fi
+ \fi
+ % tc
+ \ifPst@pintc
+ \pnode(\icmid,\icheight){A}
+ \pnode([angle=90,offset=-0.1]A){B}
+ \psline(A)([angle=0,offset=1]A) % Input tc
+ \uput[d](A){{\psk@pintclabel}} % Name tc
+ \uput[l]([angle=0,offset=0.55]B){{\psk@pintcnumber}} % Number tc
+ \ifPst@invertpintc
+ \pscircle[fillstyle=solid]([angle=0,offset=\psk@bubblesize]A){{\psk@bubblesize}} % Invert Input tc
+ \fi
+ \fi
+ % tr
+ \ifPst@pintr
+ \pnode(\icright,\icheight){A}
+ \pnode([angle=90,offset=-0.1]A){B}
+ \psline(A)([angle=0,offset=1]A) % Input tr
+ \uput[d](A){{\psk@pintrlabel}} % Name tr
+ \uput[l]([angle=0,offset=0.55]B){{\psk@pintrnumber}} % Number tr
+ \ifPst@invertpintc
+ \pscircle[fillstyle=solid]([angle=0,offset=\psk@bubblesize]A){{\psk@bubblesize}} % Invert Input tr
+ \fi
+ \fi
+ %
+ % Bottom Pins
+ %
+ % bl
+ \ifPst@pinbl
+ \pnode(\icleft,0){A}
+ \pnode([angle=-90,offset=0.1]A){B}
+ \psline(A)([angle=0,offset=-1]A) % Input bl
+ \uput[u](A){{\psk@pinbllabel}} % Name bl
+ \uput[l]([angle=0,offset=-0.55]B){{\psk@pinblnumber}} % Number bl
+ \ifPst@invertpinbl
+ \pscircle[fillstyle=solid]([angle=0,offset=-\psk@bubblesize]A){{\psk@bubblesize}} % Invert Input bl
+ \fi
+ \fi
+ % bc
+ \ifPst@pinbc
+ \pnode(\icmid,0){A}
+ \pnode([angle=-90,offset=0.1]A){B}
+ \psline(A)([angle=0,offset=-1]A) % Input bc
+ \uput[u](A){{\psk@pinbclabel}} % Name bc
+ \uput[l]([angle=0,offset=-0.55]B){{\psk@pinbcnumber}} % Number bc
+ \ifPst@invertpinbc
+ \pscircle[fillstyle=solid]([angle=0,offset=-\psk@bubblesize]A){{\psk@bubblesize}} % Invert Input bc
+ \fi
+ \fi
+ % br
+ \ifPst@pinbr
+ \pnode(\icright,0){A}
+ \pnode([angle=-90,offset=0.1]A){B}
+ \psline(A)([angle=0,offset=-1]A) % Input br
+ \uput[u](A){{\psk@pinbrlabel}} % Name br
+ \uput[l]([angle=0,offset=-0.55]B){{\psk@pinbrnumber}} % Number br
+ \ifPst@invertpinbc
+ \pscircle[fillstyle=solid]([angle=0,offset=-\psk@bubblesize]A){{\psk@bubblesize}} % Invert Input br
+ \fi
+ \fi
+ % Name
+ \uput[r](\icwidth,0){#4}
+ }}%
+\ignorespaces
+}
+
+% NOT Gate \logicnot
+%
+% Input at (+0,+1)
+% Output at (+3.5,+1)
+%
+\def\logicnot{\@ifnextchar[{\pst@logicnot}{\pst@logicnot[]}}
+\def\pst@logicnot[#1]{\@ifnextchar({\pst@logicnoti[#1]{0}}{\pst@logicnoti[#1]}}
+\def\pst@logicnoti[#1]#2(#3)#4{{%
+ \psset{#1}%
+ \rput{#2}(#3){
+ % Input
+ \psline(0,1)(1,1) % Input
+ \ifPst@invertinput
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 1){{\psk@bubblesize}} % Invert Input
+ \fi
+ % Body
+ \ifPst@iec
+ \psline[linewidth=1.5\pslinewidth](1,0)(2.5,0)(2.5,2)(1,2)(1,0)
+ \uput[u](1.75,1.25){1}
+ \else
+ \psline[linewidth=1.5\pslinewidth](1,0)(1,2)(2.5,1)(1,0)
+ \fi
+ % Output
+ \psline(2.5,1)(3.5,1)
+ \ifPst@invertoutput
+ \ifPst@iecinvert
+ \psline(2.5,1.25)(3,1)
+ \else
+ \pscircle[fillstyle=solid](! 2.5 \space\psk@bubblesize\space add 1){{\psk@bubblesize}} % Invert Output
+ \fi
+ \fi
+ % Name
+ \uput[r](2.5,0){#4}
+ \psset{}
+ }}%
+\ignorespaces
+}
+
+% AND Gate (NAND Gate) \logicand
+%
+% 2-Input
+% Input A at (+0,+1)
+% Input B at ()
+% Output at (+3.5,+1)
+%
+% 3-Input
+% Input A at (+0,+1)
+% Input B at ()
+% Input C at ()
+% Output at (+3.5,+1)
+%
+% 4-Input
+% Input A at (+0,+1)
+% Input B at ()
+% Input C at ()
+% Input D at ()
+% Output at (+3.5,+1)
+%
+
+\def\logicand{\@ifnextchar[{\pst@logicand}{\pst@logicand[]}}
+\def\pst@logicand[#1]{\@ifnextchar({\pst@logicandi[#1]{0}}{\pst@logicandi[#1]}}
+\def\pst@logicandi[#1]#2(#3)#4{{%
+ \psset{#1}
+ \rput{#2}(#3){
+ % Inputs
+ \ifcase\psk@ninputs\or
+ \ifPst@inputa
+ \psline(0,1)(1,1) % Input A
+ \ifPst@invertinputa
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 1){{\psk@bubblesize}} % Invert Input A
+ \fi
+ \fi
+ \or
+ \ifPst@inputa
+ \psline(0,1.5)(1,1.5) % Input A
+ \ifPst@invertinputa
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 1.5){{\psk@bubblesize}} % Invert Input A
+ \fi
+ \fi
+ \ifPst@inputb
+ \psline(0,0.5)(1,0.5) % Input B
+ \ifPst@invertinputb
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 0.5){{\psk@bubblesize}} % Invert Input B
+ \fi
+ \fi
+ \or
+ \ifPst@inputa
+ \psline(0,1.5)(1,1.5) % Input A
+ \ifPst@invertinputa
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 1.5){{\psk@bubblesize}} % Invert Input A
+ \fi
+ \fi
+ \ifPst@inputb
+ \psline(0,1)(1,1) % Input B
+ \ifPst@invertinputb
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 1){{\psk@bubblesize}} % Invert Input B
+ \fi
+ \fi
+ \ifPst@inputc
+ \psline(0,0.5)(1,0.5) % Input C
+ \ifPst@invertinputc
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 0.5){{\psk@bubblesize}} % Invert Input C
+ \fi
+ \fi
+ \or
+ \ifPst@inputa
+ \psline(0,1.75)(1,1.75) % Input A
+ \ifPst@invertinputa
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 1.75){{\psk@bubblesize}} % Invert Input A
+ \fi
+ \fi
+ \ifPst@inputb
+ \psline(0,1.25)(1,1.25) % Input B
+ \ifPst@invertinputb
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 1.25){{\psk@bubblesize}} % Invert Input B
+ \fi
+ \fi
+ \ifPst@inputc
+ \psline(0,0.75)(1,0.75) % Input C
+ \ifPst@invertinputc
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 0.75){{\psk@bubblesize}} % Invert Input C
+ \fi
+ \fi
+ \ifPst@inputd
+ \psline(0,0.25)(1,0.25) % Input D
+ \ifPst@invertinputd
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 0.25){{\psk@bubblesize}} % Invert Input D
+ \fi
+ \fi
+ \fi
+ % Body
+ \ifPst@iec
+ \psline[linewidth=1.5\pslinewidth](1,0)(2.5,0)(2.5,2)(1,2)(1,0)
+ \uput[u](1.75,1.25){\&}
+ \else
+ \psline[linewidth=1.5\pslinewidth](1,0)(1,2)
+ \psline[linewidth=1.5\pslinewidth](1,0)(2.5,0)
+ \psline[linewidth=1.5\pslinewidth](1,2)(2.5,2)
+ \psbezier[linewidth=1.5\pslinewidth](2.5,0)(3.5,0)(3.5,1)(3.5,1)
+ \psbezier[linewidth=1.5\pslinewidth](3.5,1)(3.5,1)(3.5,2)(2.5,2)
+ \fi
+ % Output
+ \ifPst@iec
+ \psline(2.5,1)(3.5,1)
+ \else
+ \psline(3.5,1)(4.5,1)
+ \fi
+ \ifPst@invertoutput
+ \ifPst@iecinvert
+ \psline(2.5,1.25)(3,1)
+ \else
+ \ifPst@iec
+ \pscircle[fillstyle=solid](! 2.5 \space\psk@bubblesize\space add 1){{\psk@bubblesize}} % Invert Output
+ \else
+ \pscircle[fillstyle=solid](! 3.5 \space\psk@bubblesize\space add 1){{\psk@bubblesize}} % Invert Output
+ \fi
+ \fi
+ \fi
+ % Name
+ \ifPst@iec
+ \uput[r](2.5,0){#4}
+ \else
+ \uput[r](3.25,0){#4}
+ \fi
+ }}%
+\ignorespaces
+}
+
+% OR Gate (NOR Gate) \logicor
+%
+% Input at (+0,+1)
+% Output at (+3.5,+1)
+%
+\def\logicor{\@ifnextchar[{\pst@logicor}{\pst@logicor[]}}
+\def\pst@logicor[#1]{\@ifnextchar({\pst@logicori[#1]{0}}{\pst@logicori[#1]}}
+\def\pst@logicori[#1]#2(#3)#4{{%
+ \psset{#1}%
+ \rput{#2}(#3){
+ % Inputs
+ \ifcase\psk@ninputs\or
+ \ifPst@inputa
+ \psline(0,1)(1.08,1) % Input A
+ \ifPst@invertinputa
+ \pscircle[fillstyle=solid](! 1.08 \space\psk@bubblesize\space sub 1){{\psk@bubblesize}} % Invert Input A
+ \fi
+ \fi
+ \or
+ \ifPst@inputa
+ \psline(0,1.5)(1,1.5) % Input A
+ \ifPst@invertinputa
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 1.5){{\psk@bubblesize}} % Invert Input A
+ \fi
+ \fi
+ \ifPst@inputb
+ \psline(0,0.5)(1,0.5) % Input B
+ \ifPst@invertinputb
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 0.5){{\psk@bubblesize}} % Invert Input B
+ \fi
+ \fi
+ \or
+ \ifPst@inputa
+ \psline(0,1.5)(1,1.5) % Input A
+ \ifPst@invertinputa
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 1.5){{\psk@bubblesize}} % Invert Input A
+ \fi
+ \fi
+ \ifPst@inputb
+ \psline(0,1)(1.06,1) % Input B
+ \ifPst@invertinputb
+ \pscircle[fillstyle=solid](! 1.09 \space\psk@bubblesize\space sub 1){{\psk@bubblesize}} % Invert Input B
+ \fi
+ \fi
+ \ifPst@inputc
+ \psline(0,0.5)(1,0.5) % Input C
+ \ifPst@invertinputc
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 0.5){{\psk@bubblesize}} % Invert Input C
+ \fi
+ \fi
+ \or
+ \ifPst@inputa
+ \psline(0,1.75)(0.88,1.75) % Input A
+ \ifPst@invertinputa
+ \pscircle[fillstyle=solid](! 0.87 \space\psk@bubblesize\space sub 1.75){{\psk@bubblesize}} % Invert Input A
+ \fi
+ \fi
+ \ifPst@inputb
+ \psline(0,1.25)(1.05,1.25) % Input B
+ \ifPst@invertinputb
+ \pscircle[fillstyle=solid](! 1.07 \space\psk@bubblesize\space sub 1.25){{\psk@bubblesize}} % Invert Input B
+ \fi
+ \fi
+ \ifPst@inputc
+ \psline(0,0.75)(1.05,0.75) % Input C
+ \ifPst@invertinputc
+ \pscircle[fillstyle=solid](! 1.07 \space\psk@bubblesize\space sub 0.75){{\psk@bubblesize}} % Invert Input C
+ \fi
+ \fi
+ \ifPst@inputc
+ \psline(0,0.25)(0.88,0.25) % Input D
+ \ifPst@invertinputd
+ \pscircle[fillstyle=solid](! 0.87 \space\psk@bubblesize\space sub 0.25){{\psk@bubblesize}} % Invert Input D
+ \fi
+ \fi
+ \fi
+ % Body
+ \ifPst@iec
+ \psline[linewidth=1.5\pslinewidth](1,0)(2.5,0)(2.5,2)(1,2)(1,0)
+ \uput[u](1.75,1.25){$\geq 1$}
+ \else
+ \psbezier[linewidth=1.5\pslinewidth](0.7,0)(1.2,0.5)(1.2,1.5)(0.7,2)
+ \psline[linewidth=1.5\pslinewidth](0.7,0)(2,0)
+ \psline[linewidth=1.5\pslinewidth](0.7,2)(2,2)
+ \psbezier[linewidth=1.5\pslinewidth](2,0)(3,0)(3.5,1)(3.5,1)
+ \psbezier[linewidth=1.5\pslinewidth](3.5,1)(3.5,1)(3,2)(2,2)
+ \fi
+ % Output
+ \ifPst@iec
+ \psline(2.5,1)(3.5,1)
+ \else
+ \psline(3.5,1)(4.5,1)
+ \fi
+ \ifPst@invertoutput
+ \ifPst@iecinvert
+ \psline(2.5,1.25)(3,1)
+ \else
+ \ifPst@iec
+ \pscircle[fillstyle=solid](! 2.5 \space\psk@bubblesize\space add 1){{\psk@bubblesize}} % Invert Output
+ \else
+ \pscircle[fillstyle=solid](! 3.5 \space\psk@bubblesize\space add 1){{\psk@bubblesize}} % Invert Output
+ \fi
+ \fi
+ \fi
+ % Name
+ \ifPst@iec
+ \uput[r](2.5,0){#4}
+ \else
+ \uput[r](3.25,0){#4}
+ \fi
+ }}%
+\ignorespaces
+}
+
+% Exclusive-OR Gate (Exclusive NOR Gate) \logicxor
+%
+% Input at (+0,+1)
+% Output at (+3.5,+1)
+%
+\def\logicxor{\@ifnextchar[{\pst@logicxor}{\pst@logicxor[]}}
+\def\pst@logicxor[#1]{\@ifnextchar({\pst@logicxori[#1]{0}}{\pst@logicxori[#1]}}
+\def\pst@logicxori[#1]#2(#3)#4{{%
+ \psset{#1}%
+ \rput{#2}(#3){
+ % Inputs
+ \ifcase\psk@ninputs\or
+ \ifPst@inputa
+ \psline(0,1)(1.08,1) % Input A
+ \ifPst@invertinputa
+ \pscircle[fillstyle=solid](! 1.08 \space\psk@bubblesize\space sub 1.5){{\psk@bubblesize}} % Invert Input A
+ \fi
+ \fi
+ \or
+ \ifPst@inputa
+ \psline(0,1.5)(1,1.5) % Input A
+ \ifPst@invertinputa
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 1.5){{\psk@bubblesize}} % Invert Input A
+ \fi
+ \fi
+ \ifPst@inputb
+ \psline(0,0.5)(1,0.5) % Input B
+ \ifPst@invertinputb
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 0.5){{\psk@bubblesize}} % Invert Input B
+ \fi
+ \fi
+ \or
+ \ifPst@inputa
+ \psline(0,1.5)(1,1.5) % Input A
+ \ifPst@invertinputa
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 1.5){{\psk@bubblesize}} % Invert Input A
+ \fi
+ \fi
+ \ifPst@inputb
+ \psline(0,1)(1.06,1) % Input B
+ \ifPst@invertinputb
+ \pscircle[fillstyle=solid](! 1.09 \space\psk@bubblesize\space sub 1){{\psk@bubblesize}} % Invert Input B
+ \fi
+ \fi
+ \ifPst@inputc
+ \psline(0,0.5)(1,0.5) % Input C
+ \ifPst@invertinputc
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 0.5){{\psk@bubblesize}} % Invert Input C
+ \fi
+ \fi
+ \or
+ \ifPst@inputa
+ \psline(0,1.75)(0.88,1.75) % Input A
+ \ifPst@invertinputa
+ \pscircle[fillstyle=solid](! 0.87 \space\psk@bubblesize\space sub 1.75){{\psk@bubblesize}} % Invert Input A
+ \fi
+ \fi
+ \ifPst@inputb
+ \psline(0,1.25)(1.05,1.25) % Input B
+ \ifPst@invertinputb
+ \pscircle[fillstyle=solid](! 1.07 \space\psk@bubblesize\space sub 1.25){{\psk@bubblesize}} % Invert Input B
+ \fi
+ \fi
+ \ifPst@inputc
+ \psline(0,0.75)(1.05,0.75) % Input C
+ \ifPst@invertinputc
+ \pscircle[fillstyle=solid](! 1.07 \space\psk@bubblesize\space sub 0.75){{\psk@bubblesize}} % Invert Input C
+ \fi
+ \fi
+ \ifPst@inputd
+ \psline(0,0.25)(0.88,0.25) % Input D
+ \ifPst@invertinputd
+ \pscircle[fillstyle=solid](! 0.87 \space\psk@bubblesize\space sub 0.25){{\psk@bubblesize}} % Invert Input D
+ \fi
+ \fi
+ \fi
+ % Body
+ \ifPst@iec
+ \psline[linewidth=1.5\pslinewidth](1,0)(2.5,0)(2.5,2)(1,2)(1,0)
+ \uput[u](1.75,1.25){$= 1$}
+ \else
+ \psbezier[linewidth=1.5\pslinewidth](0.7,0)(1.2,0.5)(1.2,1.5)(0.7,2)
+ \psbezier[linewidth=1.5\pslinewidth](1,0)(1.5,0.5)(1.5,1.5)(1,2)
+ \psline[linewidth=1.5\pslinewidth](1,0)(2,0)
+ \psline[linewidth=1.5\pslinewidth](1,2)(2,2)
+ \psbezier[linewidth=1.5\pslinewidth](2,0)(3,0)(3.5,1)(3.5,1)
+ \psbezier[linewidth=1.5\pslinewidth](3.5,1)(3.5,1)(3,2)(2,2)
+ \fi
+ % Output
+ \ifPst@iec
+ \psline(2.5,1)(3.5,1)
+ \else
+ \psline(3.5,1)(4.5,1)
+ \fi
+ \ifPst@invertoutput
+ \ifPst@iecinvert
+ \psline(2.5,1.25)(3,1)
+ \else
+ \ifPst@iec
+ \pscircle[fillstyle=solid](! 2.5 \space\psk@bubblesize\space add 1){{\psk@bubblesize}} % Invert Output
+ \else
+ \pscircle[fillstyle=solid](! 3.5 \space\psk@bubblesize\space add 1){{\psk@bubblesize}} % Invert Output
+ \fi
+ \fi
+ \fi
+ % Name
+ \ifPst@iec
+ \uput[r](2.5,0){#4}
+ \else
+ \uput[r](3.25,0){#4}
+ \fi
+ }}%
+\ignorespaces
+}
+
+% Flip-Flop
+%
+% Input A at (+0,+2.25)
+% Input B at (+0,+0.75)
+% Output Q at (+3.5,+2.25)
+% Output Not Q at (+3.5,+0.75)
+%
+\def\logicff{\@ifnextchar[{\pst@logicff}{\pst@logicff[]}}
+\def\pst@logicff[#1]{\@ifnextchar({\pst@logicffi[#1]{0}}{\pst@logicffi[#1]}}
+\def\pst@logicffi[#1]#2(#3)#4{{%
+ \psset{#1}%
+ \rput{#2}(#3){%
+ % Inputs
+ \ifPst@inputa
+ \psline(0,2.25)(1,2.25) % Input A
+ \uput[r](1,2.25){\psk@inputalabel} % Input A Label
+ \ifPst@invertinputa
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 2.25){{\psk@bubblesize}} % Invert Input A
+ \fi
+ \fi
+ \ifPst@inputb
+ \psline(0,0.75)(1,0.75) % Input B
+ \uput[r](1,0.75){\psk@inputblabel} % Input B Label
+ \ifPst@invertinputb
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 0.75){{\psk@bubblesize}} % Invert Input B
+ \fi
+ \fi
+ \ifPst@enable
+ \psline(0,1.5)(1,1.5) % Enable
+ \uput[r](1,1.5){\psk@inputenlabel} % Enable Label
+ \ifPst@invertenable
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 1.5){{\psk@bubblesize}} % Invert Enable
+ \fi
+ \fi
+ \ifPst@clock
+ \psline(0,1.5)(1,1.5) % Clock
+ \psline(1,1.7)(1.4,1.5)(1,1.3)
+ \uput[r](1.4,1.5){\psk@inputcllabel} % Clock Label
+ \ifPst@invertclock
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 1.5){{\psk@bubblesize}} % Invert Clock
+ \fi
+ \fi
+ \ifPst@set
+ \psline(2,4)(2,3) % Set
+ \uput[d](2,3){$S$} % Set Label
+ \ifPst@invertset
+ \pscircle[fillstyle=solid](! 2 3 \space\psk@bubblesize\space add){{\psk@bubblesize}} % Invert Set
+ \fi
+ \fi
+ \ifPst@reset
+ \psline(2,-1)(2,0) % Reset
+ \uput[u](2,0){$R$} % Reset Label
+ \ifPst@invertreset
+ \pscircle[fillstyle=solid](2,-\psk@bubblesize){{\psk@bubblesize}} % Invert Reset
+ \fi
+ \fi
+ % Body
+ \psline[linewidth=1.5\pslinewidth](1,0)(1,3)(3,3)(3,0)(1,0)
+ % Outputs
+ \ifPst@outputa
+ \psline(3,2.25)(4,2.25) % Output Q
+ \uput[l](3,2.25){\psk@outputalabel}
+ \ifPst@invertoutputa
+ \pscircle[fillstyle=solid](! 3 \space\psk@bubblesize\space add 2.25){{\psk@bubblesize}} % Invert Q
+ \fi
+ \fi
+ \ifPst@outputb
+ \psline(3,0.75)(4,0.75) % Output Not Q
+ \uput[l](3,0.75){\psk@outputblabel}
+ \ifPst@invertoutputb
+ \pscircle[fillstyle=solid](! 3 \space\psk@bubblesize\space add 0.75){{\psk@bubblesize}}
+ \fi
+ \fi
+ % Name
+ \uput[r](3,0){#4}
+ }}%
+\ignorespaces
+}
+
+
+%
+% 7-Segment Display \sevensegmentdisplay
+%
+
+\def\sevensegmentdisplay{\@ifnextchar[{\pst@sevensegmentdisplay}{\pst@sevensegmentdisplay[]}}
+\def\pst@sevensegmentdisplay[#1]{\@ifnextchar({\pst@sevensegmentdisplayi[#1]{0}}{\pst@sevensegmentdisplayi[#1]}}
+\def\pst@sevensegmentdisplayi[#1]#2(#3)#4{{%
+ \psset{#1}%
+ \rput{#2}(#3){%
+ % Left Side Pins
+ % la
+ \ifPst@pinla
+ \psline(0,3.75)(1,3.75) % Input la
+ \uput[r](1,3.75){{\psk@pinlalabel}} % Name la
+ \uput[u](0.5,3.65){{\psk@pinlanumber}} % Number la
+ \ifPst@invertpinla
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 3.75){{\psk@bubblesize}} % Invert Input la
+ \fi
+ \fi
+ % lb
+ \ifPst@pinlb
+ \psline(0,3.25)(1,3.25) % Input lb
+ \uput[r](1,3.25){{\psk@pinlblabel}} % Name lb
+ \uput[u](0.5,3.15){{\psk@pinlbnumber}} % Number lb
+ \ifPst@invertpinlb
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 3.25){{\psk@bubblesize}} % Invert Input lb
+ \fi
+ \fi
+ % lc
+ \ifPst@pinlc
+ \psline(0,2.75)(1,2.75) % Input lc
+ \uput[r](1,2.75){{\psk@pinlclabel}} % Name lc
+ \uput[u](0.5,2.65){{\psk@pinlcnumber}} % Number lc
+ \ifPst@invertpinlc
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 2.75){{\psk@bubblesize}} % Invert Input lc
+ \fi
+ \fi
+ % ld
+ \ifPst@pinld
+ \psline(0,2.25)(1,2.25) % Input ld
+ \uput[r](1,2.25){{\psk@pinldlabel}} % Name ld
+ \uput[u](0.5,2.15){{\psk@pinldnumber}} % Number ld
+ \ifPst@invertpinld
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 2.25){{\psk@bubblesize}} % Invert Input ld
+ \fi
+ \fi
+ % le
+ \ifPst@pinle
+ \psline(0,1.75)(1,1.75) % Input le
+ \uput[r](1,1.75){{\psk@pinlelabel}} % Name le
+ \uput[u](0.5,1.65){{\psk@pinlenumber}} % Number le
+ \ifPst@invertpinle
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 1.75){{\psk@bubblesize}} % Invert Input le
+ \fi
+ \fi
+ % lf
+ \ifPst@pinlf
+ \psline(0,1.25)(1,1.25) % Input lf
+ \uput[r](1,1.25){{\psk@pinlflabel}} % Name lf
+ \uput[u](0.5,1.15){{\psk@pinlfnumber}} % Number lf
+ \ifPst@invertpinlf
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 1.25){{\psk@bubblesize}} % Invert Input lf
+ \fi
+ \fi
+ % lg
+ \ifPst@pinlg
+ \psline(0,0.75)(1,0.75) % Input lg
+ \uput[r](1,0.75){{\psk@pinlglabel}} % Name lg
+ \uput[u](0.5,0.65){{\psk@pinlgnumber}} % Number lg
+ \ifPst@invertpinlg
+ \pscircle[fillstyle=solid](! 1 \space\psk@bubblesize\space sub 0.75){{\psk@bubblesize}} % Invert Input lg
+ \fi
+ \fi
+ % Right Side Pins
+ % rg
+ \ifPst@pinrg
+ \psline(4.5,0.75)(5.5,0.75) % Input rg
+ \uput[l](4.5,0.75){{\psk@pinrglabel}} % Name rg
+ \uput[u](5,0.65){{\psk@pinrgnumber}} % Number rg
+ \ifPst@invertpinrg
+ \pscircle[fillstyle=solid](! 4 \space\psk@bubblesize\space add 0.75){{\psk@bubblesize}} % Invert Input rg
+ \fi
+ \fi
+ % rf
+ \ifPst@pinrf
+ \psline(4.5,1.25)(5.5,1.25) % Input rf
+ \uput[l](4.5,1.25){{\psk@pinrflabel}} % Name rf
+ \uput[u](5,1.15){{\psk@pinrfnumber}} % Number rf
+ \ifPst@invertpinf
+ \pscircle[fillstyle=solid](! 4 \space\psk@bubblesize\space add 1.25){{\psk@bubblesize}} % Invert Input rf
+ \fi
+ \fi
+ % re
+ \ifPst@pinre
+ \psline(4.5,1.75)(5.5,1.75) % Input re
+ \uput[l](4.5,1.75){{\psk@pinrelabel}} % Name re
+ \uput[u](5,1.65){{\psk@pinrenumber}} % Number re
+ \ifPst@invertpinre
+ \pscircle[fillstyle=solid](! 4 \space\psk@bubblesize\space add 1.75){{\psk@bubblesize}} % Invert Input re
+ \fi
+ \fi
+ % rd
+ \ifPst@pinrd
+ \psline(4.5,2.25)(5.5,2.25) % Input rd
+ \uput[l](4.5,2.25){{\psk@pinrdlabel}} % Name rd
+ \uput[u](5,2.15){{\psk@pinrdnumber}} % Number rd
+ \ifPst@invertpinrd
+ \pscircle[fillstyle=solid](! 4 \space\psk@bubblesize\space add 2.25){{\psk@bubblesize}} % Invert Input rd
+ \fi
+ \fi
+ % rc
+ \ifPst@pinrc
+ \psline(4.5,2.75)(5.5,2.75) % Input rc
+ \uput[l](4.5,2.75){{\psk@pinrclabel}} % Name rc
+ \uput[u](5,2.65){{\psk@pinrcnumber}} % Number rc
+ \ifPst@invertpinrc
+ \pscircle[fillstyle=solid](! 4 \space\psk@bubblesize\space add 2.75){{\psk@bubblesize}} % Invert Input rc
+ \fi
+ \fi
+ % rb
+ \ifPst@pinrb
+ \psline(4.5,3.25)(5.5,3.25) % Input rb
+ \uput[l](4.5,3.25){{\psk@pinrblabel}} % Name rb
+ \uput[u](5,3.15){{\psk@pinrbnumber}} % Number rb
+ \ifPst@invertpinrb
+ \pscircle[fillstyle=solid](! 4 \space\psk@bubblesize\space add 3.25){{\psk@bubblesize}} % Invert Input rb
+ \fi
+ \fi
+ % ra
+ \ifPst@pinra
+ \psline(4.5,3.75)(5.5,3.75) % Input ra
+ \uput[l](4.5,3.75){{\psk@pinralabel}} % Name ra
+ \uput[u](5,3.65){{\psk@pinranumber}} % Number ra
+ \ifPst@invertpinra
+ \pscircle[fillstyle=solid](! 4 \space\psk@bubblesize\space add 3.75){{\psk@bubblesize}} % Invert Input ra
+ \fi
+ \fi
+ % Top Pins
+ % ta
+ \ifPst@pinta
+ \psline(1.75,4.5)(1.75,5.5) % Input ta
+ \uput[d](1.75,4.5){{\psk@pintalabel}} % Name ta
+ \uput[l](1.75,5.05){{\psk@pintanumber}} % Number ta
+ \ifPst@invertpinta
+ \pscircle[fillstyle=solid](1.75,4.5){{\psk@bubblesize}} % Invert Input ta
+ \fi
+ \fi
+ % tb
+ \ifPst@pintb
+ \psline(2.25,4.5)(2.25,5.5) % Input tb
+ \uput[d](2.25,4.5){{\psk@pintblabel}} % Name tb
+ \uput[l](2.25,5.05){{\psk@pintbnumber}} % Number tb
+ \ifPst@invertpintb
+ \pscircle[fillstyle=solid](2.25,4.5){{\psk@bubblesize}} % Invert Input tb
+ \fi
+ \fi
+ % tc
+ \ifPst@pintc
+ \psline(2.75,4.5)(2.75,5.5) % Input tc
+ \uput[d](2.75,4.5){{\psk@pintclabel}} % Name tc
+ \uput[l](2.75,5.05){{\psk@pintcnumber}} % Number tc
+ \ifPst@invertpintc
+ \pscircle[fillstyle=solid](2.75,4.5){{\psk@bubblesize}} % Invert Input tc
+ \fi
+ \fi
+ % td
+ \ifPst@pintd
+ \psline(3.25,4.5)(3.25,5.5) % Input td
+ \uput[d](3.25,4.5){{\psk@pintdlabel}} % Name td
+ \uput[l](3.25,5.05){{\psk@pintdnumber}} % Number td
+ \ifPst@invertpintd
+ \pscircle[fillstyle=solid](3.25,4.5){{\psk@bubblesize}} % Invert Input td
+ \fi
+ \fi
+ % te
+ \ifPst@pinte
+ \psline(3.75,4.5)(3.75,5.5) % Input te
+ \uput[d](3.75,4.5){{\psk@pintelabel}} % Name te
+ \uput[l](3.75,5.05){{\psk@pintenumber}} % Number te
+ \ifPst@invertpinte
+ \pscircle[fillstyle=solid](3.75,4.5){{\psk@bubblesize}} % Invert Input te
+ \fi
+ \fi
+ % Bottom Pins
+ % ba
+ \ifPst@pinba
+ \psline(1.75,0)(1.75,-1) % Input ba
+ \uput[u](1.75,0){{\psk@pinbalabel}} % Name ba
+ \uput[l](1.75,-0.55){{\psk@pinbanumber}} % Number ba
+ \ifPst@invertpinba
+ \pscircle[fillstyle=solid](1.75,0){{\psk@bubblesize}} % Invert Input ba
+ \fi
+ \fi
+ % bb
+ \ifPst@pinbb
+ \psline(2.25,0)(2.25,-1) % Input bb
+ \uput[u](2.25,0){{\psk@pinbblabel}} % Name bb
+ \uput[l](2.25,-0.55){{\psk@pinbbnumber}} % Number bb
+ \ifPst@invertpinbb
+ \pscircle[fillstyle=solid](2.25,0){{\psk@bubblesize}} % Invert Input bb
+ \fi
+ \fi
+ % bc
+ \ifPst@pinbc
+ \psline(2.75,0)(2.75,-1) % Input bc
+ \uput[u](2.75,0){{\psk@pinbclabel}} % Name bc
+ \uput[l](2.75,-0.55){{\psk@pinbcnumber}} % Number bc
+ \ifPst@invertpinbc
+ \pscircle[fillstyle=solid](2.75,0){{\psk@bubblesize}} % Invert Input bc
+ \fi
+ \fi
+ % bd
+ \ifPst@pinbd
+ \psline(3.25,0)(3.25,-1) % Input bd
+ \uput[u](3.25,0){{\psk@pinbdlabel}} % Name bd
+ \uput[l](3.25,-0.55){{\psk@pinbdnumber}} % Number bd
+ \ifPst@invertpinbd
+ \pscircle[fillstyle=solid](3.25,0){{\psk@bubblesize}} % Invert Input bd
+ \fi
+ \fi
+ % be
+ \ifPst@pinbe
+ \psline(3.75,0)(3.75,-1) % Input be
+ \uput[u](3.75,0){{\psk@pinbelabel}} % Name be
+ \uput[l](3.75,-0.55){{\psk@pinbenumber}} % Number be
+ \ifPst@invertpinbe
+ \pscircle[fillstyle=solid](3.75,0){{\psk@bubblesize}} % Invert Input be
+ \fi
+ \fi
+ % Right Decimal Point
+ \ifPst@dpright
+ \pscircle[linewidth=0.5\pslinewidth](3.75,0.75){0.1}
+ \fi
+ % Left Decimal Point
+ \ifPst@dpleft
+ \pscircle[linewidth=0.5\pslinewidth](1.75,0.75){0.1}
+ \fi
+ % Body
+ \psline[linewidth=1.5\pslinewidth](1,0)(1,4.5)(4.5,4.5)(4.5,0)(1,0)
+ % Segments
+ \ifcase\psk@segmentdisplay
+ % Display 0
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9,fillstyle=solid,fillcolor=\psk@segmentcolor](2.05,3.65)(3.45,3.85) % a
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9,fillstyle=solid,fillcolor=\psk@segmentcolor](3.45,2.35)(3.65,3.65) % b
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9,fillstyle=solid,fillcolor=\psk@segmentcolor](3.45,0.85)(3.65,2.15) % c
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9,fillstyle=solid,fillcolor=\psk@segmentcolor](2.05,0.65)(3.45,0.85) % d
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9,fillstyle=solid,fillcolor=\psk@segmentcolor](1.85,0.85)(2.05,2.15) % e
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9,fillstyle=solid,fillcolor=\psk@segmentcolor](1.85,2.35)(2.05,3.65) % f
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9](2.05,2.15)(3.45,2.35) % g
+ \or
+ % Display 1
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9](2.05,3.65)(3.45,3.85) % a
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9,fillstyle=solid,fillcolor=\psk@segmentcolor](3.45,2.35)(3.65,3.65) % b
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9,fillstyle=solid,fillcolor=\psk@segmentcolor](3.45,0.85)(3.65,2.15) % c
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9](2.05,0.65)(3.45,0.85) % d
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9](1.85,0.85)(2.05,2.15) % e
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9](1.85,2.25)(2.05,3.65) % f
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9](2.05,2.15)(3.45,2.35) % g
+ \or
+ % Display 2
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9,fillstyle=solid,fillcolor=\psk@segmentcolor](2.05,3.65)(3.45,3.85) % a
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9,fillstyle=solid,fillcolor=\psk@segmentcolor](3.45,2.35)(3.65,3.65) % b
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9](3.45,0.85)(3.65,2.15) % c
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9,fillstyle=solid,fillcolor=\psk@segmentcolor](2.05,0.65)(3.45,0.85) % d
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9,fillstyle=solid,fillcolor=\psk@segmentcolor](1.85,0.85)(2.05,2.15) % e
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9](1.85,2.35)(2.05,3.65) % f
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9,fillstyle=solid,fillcolor=\psk@segmentcolor](2.05,2.15)(3.45,2.35) % g
+ \or
+ % Display 3
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9,fillstyle=solid,fillcolor=\psk@segmentcolor](2.05,3.65)(3.45,3.85) % a
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9,fillstyle=solid,fillcolor=\psk@segmentcolor](3.45,2.35)(3.65,3.65) % b
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9,fillstyle=solid,fillcolor=\psk@segmentcolor](3.45,0.85)(3.65,2.15) % c
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9,fillstyle=solid,fillcolor=\psk@segmentcolor](2.05,0.65)(3.45,0.85) % d
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9](1.85,0.85)(2.05,2.15) % e
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9](1.85,2.35)(2.05,3.65) % f
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9,fillstyle=solid,fillcolor=\psk@segmentcolor](2.05,2.15)(3.45,2.35) % g
+ \or
+ % Display 4
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9](2.05,3.65)(3.45,3.85) % a
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9,fillstyle=solid,fillcolor=\psk@segmentcolor](3.45,2.25)(3.65,3.65) % b
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9,fillstyle=solid,fillcolor=\psk@segmentcolor](3.45,0.85)(3.65,2.15) % c
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9](2.05,0.65)(3.45,0.85) % d
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9](1.85,0.85)(2.05,2.15) % e
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9,fillstyle=solid,fillcolor=\psk@segmentcolor](1.85,2.35)(2.05,3.65) % f
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9,fillstyle=solid,fillcolor=\psk@segmentcolor](2.05,2.15)(3.45,2.35) % g
+ \or
+ % Display 5
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9,fillstyle=solid,fillcolor=\psk@segmentcolor](2.05,3.65)(3.45,3.85) % a
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9](3.45,2.35)(3.65,3.65) % b
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9,fillstyle=solid,fillcolor=\psk@segmentcolor](3.45,0.85)(3.65,2.15) % c
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9,fillstyle=solid,fillcolor=\psk@segmentcolor](2.05,0.65)(3.45,0.85) % d
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9](1.85,0.85)(2.05,2.15) % e
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9,fillstyle=solid,fillcolor=\psk@segmentcolor](1.85,2.35)(2.05,3.65) % f
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9,fillstyle=solid,fillcolor=\psk@segmentcolor](2.05,2.15)(3.45,2.35) % g
+ \or
+ % Display 6
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9](2.05,3.65)(3.45,3.85) % a
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9](3.45,2.35)(3.65,3.65) % b
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9,fillstyle=solid,fillcolor=\psk@segmentcolor](3.45,0.85)(3.65,2.15) % c
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9,fillstyle=solid,fillcolor=\psk@segmentcolor](2.05,0.65)(3.45,0.85) % d
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9,fillstyle=solid,fillcolor=\psk@segmentcolor](1.85,0.85)(2.05,2.15) % e
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9,fillstyle=solid,fillcolor=\psk@segmentcolor](1.85,2.35)(2.05,3.65) % f
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9,fillstyle=solid,fillcolor=\psk@segmentcolor](2.05,2.15)(3.45,2.35) % g
+ \or
+ % Display 7
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9,fillstyle=solid,fillcolor=\psk@segmentcolor](2.05,3.65)(3.45,3.85) % a
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9,fillstyle=solid,fillcolor=\psk@segmentcolor](3.45,2.35)(3.65,3.65) % b
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9,fillstyle=solid,fillcolor=\psk@segmentcolor](3.45,0.85)(3.65,2.15) % c
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9](2.05,0.65)(3.45,0.85) % d
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9](1.85,0.85)(2.05,2.15) % e
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9](1.85,2.35)(2.05,3.65) % f
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9](2.05,2.15)(3.45,2.35) % g
+ \or
+ % Display 8
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9,fillstyle=solid,fillcolor=\psk@segmentcolor](2.05,3.65)(3.45,3.85) % a
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9,fillstyle=solid,fillcolor=\psk@segmentcolor](3.45,2.35)(3.65,3.65) % b
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9,fillstyle=solid,fillcolor=\psk@segmentcolor](3.45,0.85)(3.65,2.15) % c
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9,fillstyle=solid,fillcolor=\psk@segmentcolor](2.05,0.65)(3.45,0.85) % d
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9,fillstyle=solid,fillcolor=\psk@segmentcolor](1.85,0.85)(2.05,2.15) % e
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9,fillstyle=solid,fillcolor=\psk@segmentcolor](1.85,2.35)(2.05,3.65) % f
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9,fillstyle=solid,fillcolor=\psk@segmentcolor](2.05,2.15)(3.45,2.35) % g
+ \or
+ % Display 9
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9,fillstyle=solid,fillcolor=\psk@segmentcolor](2.05,3.65)(3.45,3.85) % a
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9,fillstyle=solid,fillcolor=\psk@segmentcolor](3.45,2.35)(3.65,3.65) % b
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9,fillstyle=solid,fillcolor=\psk@segmentcolor](3.45,0.85)(3.65,2.15) % c
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9](2.05,0.65)(3.45,0.85) % d
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9](1.85,0.85)(2.05,2.15) % e
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9,fillstyle=solid,fillcolor=\psk@segmentcolor](1.85,2.35)(2.05,3.65) % f
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9,fillstyle=solid,fillcolor=\psk@segmentcolor](2.05,2.15)(3.45,2.35) % g
+ \or
+ % Display Blank
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9](2.05,3.65)(3.45,3.85) % a
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9](3.45,2.35)(3.65,3.65) % b
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9](3.45,0.85)(3.65,2.15) % c
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9](2.05,0.65)(3.45,0.85) % d
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9](1.85,0.85)(2.05,2.15) % e
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9](1.85,2.35)(2.05,3.65) % f
+ \psframe[linewidth=0.5\pslinewidth,framearc=.9](2.05,2.15)(3.45,2.35) % g
+ \fi
+ % Segment Labels
+ \ifPst@segmentlabels
+ \uput[d](2.75,3.75){\footnotesize{a}}
+ \uput[l](3.55,3.05){\footnotesize{b}}
+ \uput[l](3.55,1.55){\footnotesize{c}}
+ \uput[u](2.75,0.75){\footnotesize{d}}
+ \uput[r](1.95,1.55){\footnotesize{e}}
+ \uput[r](1.95,3.05){\footnotesize{f}}
+ \uput[u](2.75,2.35){\footnotesize{g}}
+ \fi
+ % Name
+ \uput[r](4.5,0){#4}%
+ }}%
+\ignorespaces
+}
+
+%
+% PLC Ladder Logic
+%
+
+%
+% \xic (XIC)
+%
+\def\xic{\@ifnextchar[{\pst@xic}{\pst@xic[]}}
+\def\pst@xic[#1](#2){{%
+ \psset{#1}%
+ \rput(#2){
+ % Input
+ \psline(-1,0)(-0.25,0) % Input
+ % Body
+ \psline(-0.6,-0.35)(-0.25,-0.35)(-0.25,0.35)(-0.6,0.35)
+ \psline(0.6,-0.35)(0.25,-0.35)(0.25,0.35)(0.6,0.35)
+ % Output
+ \psline(1,0)(0.25,0)
+ % Names
+ \uput[u](0,0.3){\psk@plcaddress}
+ \uput[d](0,-0.35){\psk@plcsymbol}
+ \psset{}
+ }}%
+\ignorespaces
+}
+
+%
+% \xio (XIO)
+%
+\def\xio{\@ifnextchar[{\pst@xio}{\pst@xio[]}}
+\def\pst@xio[#1](#2){{%
+ \psset{#1}%
+ \rput(#2){
+ % Input
+ \psline(-1,0)(-0.25,0) % Input
+ % Body
+ \psline(-0.6,-0.35)(-0.25,-0.35)(-0.25,0.35)(-0.6,0.35)
+ \psline(0.6,-0.35)(0.25,-0.35)(0.25,0.35)(0.6,0.35)
+ \psline(-0.6,-0.35)(0.6,0.35)
+ % Output
+ \psline(1,0)(0.25,0)
+ % Name
+ \uput[u](0,0.3){\psk@plcaddress}
+ \uput[d](0,-0.35){\psk@plcsymbol}
+ }}%
+\ignorespaces
+}
+
+%
+% \ote (OTE)
+%
+\def\ote{\@ifnextchar[{\pst@ote}{\pst@ote[]}}
+\def\pst@ote[#1](#2){{%
+ \psset{#1}%
+ \rput(#2){%
+ % Input
+ \psline(-1,0)(-0.6,0) % Input
+ % Body
+ \psline(-0.2,-0.35)(-0.6,-0.1)(-0.6,0.1)(-0.2,0.35)
+ \psline(0.2,-0.35)(0.6,-0.1)(0.6,0.1)(0.2,0.35)
+ % Output
+ \psline(1,0)(0.6,0)
+ % Name
+ \ifPst@latch
+ \uput[u](0,-0.3){L} % Latch
+ \fi
+ \ifPst@unlatch
+ \uput[u](0,-0.3){U} % Unlatch
+ \fi
+ \uput[u](0,0.3){\psk@plcaddress}
+ \uput[d](0,-0.35){\psk@plcsymbol}
+ }}%
+\ignorespaces
+}
+%
+% \osr (OSR)
+%
+\def\osr{\@ifnextchar[{\pst@osr}{\pst@osr[]}}
+\def\pst@osr[#1](#2){{%
+ \psset{#1}%
+ \rput(#2){%
+ % Input
+ \psline(-1,0)(-0.7,0) % Input
+ % Body
+ \psline(-0.4,-0.35)(-0.7,-0.35)(-0.7,0.35)(-0.4,0.35)
+ \psline(0.4,-0.35)(0.7,-0.35)(0.7,0.35)(0.4,0.35)
+ % Output
+ \psline(1,0)(0.7,0)
+ % Name
+ \uput[u](0,-0.3){OSR} % OSR
+ \uput[u](0,0.3){\psk@plcaddress}
+ \uput[d](0,-0.35){\psk@plcsymbol}
+ }}%
+\ignorespaces
+}
+
+%
+% \res (RES)
+%
+\def\res{\@ifnextchar[{\pst@res}{\pst@res[]}}
+\def\pst@res[#1](#2){{%
+ \psset{#1}%
+ \rput(#2){%
+ % Input
+ \psline(-1,0)(-0.7,0) % Input
+ % Body
+ \psline(-0.4,-0.35)(-0.7,-0.1)(-0.7,0.1)(-0.4,0.35)
+ \psline(0.4,-0.35)(0.7,-0.1)(0.7,0.1)(0.4,0.35)
+ % Output
+ \psline(1,0)(0.7,0)
+ % Name
+ \uput[u](0,-0.3){RES} % RES
+ \uput[u](0,0.3){\psk@plcaddress}
+ \uput[d](0,-0.35){\psk@plcsymbol}
+ }}%
+\ignorespaces
+}
+
+%
+% Relay Ladder Logic
+%
+
+%
+% \swpb (Switch PB)
+%
+\def\swpb{\@ifnextchar[{\pst@swpb}{\pst@swpb[]}}
+\def\pst@swpb[#1](#2){{%
+ \psset{#1}%
+ \rput(#2){%
+ % Input
+ \psline(-1,0)(-0.5,0) % Input
+ % Body
+ \pscircle[fillstyle=solid](-0.4,0){0.1}
+ \pscircle[fillstyle=solid](0.4,0){0.1}
+ \ifPst@contactclosed
+ \psline[linewidth=1.5\pslinewidth](-0.4,-0.1)(0.4,-0.1)
+ \psline[linewidth=1.5\pslinewidth](0,-0.1)(0,0.4)
+ \else
+ \psline[linewidth=1.5\pslinewidth](-0.4,0.3)(0.4,0.3)
+ \psline[linewidth=1.5\pslinewidth](0,0.3)(0,0.7)
+ \fi
+ % Output
+ \psline(1,0)(0.5,0)
+ }}%
+\ignorespaces
+}
+
+%
+% \swtog (Switch NO Toggle)
+%
+\def\swtog{\@ifnextchar[{\pst@swtog}{\pst@swtog[]}}
+\def\pst@swtog[#1](#2){{%
+ \psset{#1}%
+ \rput(#2){%
+ % Input
+ \psline(-1,0)(-0.5,0) % Input
+ % Body
+ \pscircle[fillstyle=solid](-0.4,0){0.1}
+ \pscircle[fillstyle=solid](0.4,0){0.1}
+ \ifPst@contactclosed
+ \psline[linewidth=1.5\pslinewidth](-0.3,0)(0.4,0.1)
+ \else
+ \psline[linewidth=1.5\pslinewidth](-0.3,0)(0.3,0.4)
+ \fi
+ % Output
+ \psline(1,0)(0.5,0)
+ }}%
+\ignorespaces
+}
+
+%
+% \contact (Contact)
+%
+\def\contact{\@ifnextchar[{\pst@contact}{\pst@contact[]}}
+\def\pst@contact[#1](#2){{%
+ \psset{#1}%
+ \rput(#2){%
+ % Input
+ \psline(-1,0)(-0.2,0) % Input
+ % Body
+ \psline(-0.2,-0.35)(-0.2,0.35)
+ \psline(0.2,-0.35)(0.2,0.35)
+ \ifPst@contactclosed
+ \psline(-0.6,-0.35)(0.6,0.35)
+ \fi
+ % Output
+ \psline(1,0)(0.2,0)
+ % Name
+ \uput[u](0,0.3){\psk@plcaddress}
+ \uput[d](0,-0.35){\psk@plcsymbol}
+ }}%
+\ignorespaces
+}
+
+%
+% \motor (Motor Armature)
+%
+\def\armature{\@ifnextchar[{\pst@armature}{\pst@armature[]}}
+\def\pst@armature[#1](#2){{%
+ \psset{#1}%
+ \rput(#2){%
+ % Input
+ \psline(-1,0)(-0.7,0)
+ %\psline[linewidth=8pt](-0.75,0)(-0.5,0)
+ % Body
+ \psline(-0.7,0.2)(0.7,0.2)(0.7,-0.2)(-0.7,-0.2)(-0.7,0.2)
+ \pscircle[fillstyle=solid](0,0){0.5}
+ % Output
+ \psline(1,0)(0.7,0)
+ %\psline[linewidth=8pt](0.75,0)(0.5,0)
+ % Name
+ \uput[u](0,0.3){\psk@plcaddress}
+ \uput[d](0,-0.35){\psk@plcsymbol}
+ }}%
+\ignorespaces
+}
+
+%
+% Modified pst-circ Components
+%
+%
+% \newcapacitor
+%
+\def\newcapacitor{\@ifnextchar[{\pst@newcapacitor}{\pst@newcapacitor[]}}
+\def\pst@newcapacitor[#1](#2)(#3)#4{{%
+ \pst@draw@dipole{#1}{#2}{#3}{#4}\pst@draw@newcapacitor}\ignorespaces}
+%
+\def\pst@draw@newcapacitor{{%
+ \psset{linewidth=1.5\pslinewidth}%
+ \psline[arrows=-](-0.1,-0.3)(-0.1,0.3)
+ \psline[arrows=-](0.1,-0.3)(0.1,0.3)
+ \pnode(-0.1,0){dipole@1}
+ \pnode(0.1,0){dipole@2}
+ \ifPst@variable%
+ \psline[arrows=->](-0.5,-0.55)(0.5,0.55)%
+ \fi
+ \ifPst@polarized%
+ \rput[u](0,0){$+$}%
+ \fi
+}}
+
+%
+% \newDiode
+%
+\def\newdiode{\@ifnextchar[{\pst@newdiode}{\pst@newdiode[]}}
+\def\pst@newdiode[#1](#2)(#3)#4{{%
+ \pst@draw@dipole{#1}{#2}{#3}{#4}\pst@draw@newdiode}
+ \ignorespaces}
+%
+\def\pst@draw@newdiode{{%
+ \ifx\psk@Dstyle\pst@Dstyle@triac
+ \pspolygon[linewidth=1.5\pslinewidth](-0.25,-0.4)(-0.25,0)(0.25,-0.2)
+ \pspolygon[linewidth=1.5\pslinewidth](0.25,0)(-0.25,0.2)(0.25,0.4)
+ \psline[arrows=-,linewidth=1.5\pslinewidth](-0.25,-0.4)(-0.25,0.4)
+ \psline[arrows=-,linewidth=1.5\pslinewidth](0.25,-0.4)(0.25,0.4)
+ \psline[arrows=-,linewidth=\pslinewidth](0.25,-0.2)(0.5,-0.3)(0.5,-0.6)
+ \else
+ \pspolygon[arrows=-,linewidth=1.5\pslinewidth,%
+ fillstyle=solid,fillcolor=black](-0.25,-0.3)(-0.25,0.3)(0.25,0)
+ \psline[arrows=-,linewidth=1.5\pslinewidth](0.25,0.3)(0.25,-0.3)
+ \ifx\psk@Dstyle\pst@Dstyle@thyristor
+ \psline[arrows=-,linewidth=1.5\pslinewidth](0,-0.1)(0,-0.35)
+ \fi
+ \ifx\psk@Dstyle\pst@Dstyle@GTO
+ \psline[arrows=-,linewidth=1.5\pslinewidth](-0.1,-0.12)(-0.1,-0.35)
+ \psline[arrows=-,linewidth=1.5\pslinewidth](0,-0.1)(0,-0.35)
+ \fi
+ \fi
+ \pnode(-0.25,0){dipole@1}
+ \pnode(0.25,0){dipole@2}
+}}
+
+%
+% \newZener
+%
+\def\newZener{\@ifnextchar[{\pst@newZener}{\pst@newZener[]}}
+\def\pst@newZener[#1](#2)(#3)#4{{%
+ \pst@draw@dipole{#1}{#2}{#3}{#4}\pst@draw@newZener}
+ \ignorespaces}
+%
+\def\pst@draw@newZener{{%
+ \pspolygon[arrows=-,linewidth=1.5\pslinewidth,%
+ fillstyle=solid,fillcolor=black](-0.25,-0.3)(-0.25,0.3)(0.25,0)
+ \psline[arrows=-,linewidth=1.5\pslinewidth](0.1,0.4)(0.25,0.3)(0.25,-0.3)(0.4,-0.4)
+ \pnode(-0.25,0){dipole@1}
+ \pnode(0.25,0){dipole@2}
+}}
+
+%
+% \newLED
+%
+\def\newLED{\@ifnextchar[{\pst@newLED}{\pst@newLED[]}}
+\def\pst@newLED[#1](#2)(#3)#4{{%
+ \pst@draw@dipole{#1}{#2}{#3}{#4}\pst@draw@newLED}
+ \pst@getcoor{#2}\pst@tempa
+ \pst@getcoor{#3}\pst@tempb
+ \ignorespaces}
+%
+\def\pst@draw@newLED{{%
+ \pspolygon[arrows=-,linewidth=1.5\pslinewidth,%
+ fillstyle=solid,fillcolor=black](-0.25,-0.3)(-0.25,0.3)(0.25,0)
+ \psline[arrows=-,linewidth=1.5\pslinewidth](0.25,0.3)(0.25,-0.3)
+ \multips(-0.15,0.35)(0.2,0){2}{\psline[arrows=->](0,0)(0.2,0.25)}
+ \pnode(-0.25,0){dipole@1}
+ \pnode(0.25,0){dipole@2}
+}}
+
+%
+% \vdc
+%
+\def\vdc{\@ifnextchar[{\pst@vdc}{\pst@vdc[]}}
+\def\pst@vdc[#1](#2)(#3)#4{{%
+ \pst@draw@dipole{#1}{#2}{#3}{#4}\pst@draw@vdc}\ignorespaces}
+%
+\def\pst@draw@vdc{{%
+ \psline[arrows=-,linewidth=1.5\pslinewidth](-0.30,-0.5)(-0.30,0.5)
+ \psline[arrows=-,linewidth=3\pslinewidth](-0.10,-0.25)(-0.10,0.25)
+ \psline[arrows=-,linewidth=1.5\pslinewidth](0.10,-0.5)(0.10,0.5)
+ \psline[arrows=-,linewidth=3\pslinewidth](0.30,-0.25)(0.30,0.25)
+ \pnode(-0.3,0){dipole@1}
+ \pnode(0.3,0){dipole@2}
+ \ifPst@variable%
+ \psline{->}(-0.75,-0.5)(0.75,0.5)%
+ \fi
+}}
+
+%
+% \vac
+%
+\def\vac{\@ifnextchar[{\pst@vac}{\pst@vac[]}}
+\def\pst@vac[#1](#2)(#3)#4{{%
+ \pst@draw@dipole{#1}{#2}{#3}{#4}\pst@draw@vac
+ \pst@getcoor{#2}\pst@tempa
+ \pst@getcoor{#3}\pst@tempb
+ \rput(! %
+ \pst@tempa \pst@number{\psyunit} div /YA ED
+ \pst@number{\psxunit} div /XA ED
+ \pst@tempb \pst@number{\psyunit} div /YB ED
+ \pst@number{\psxunit} div /XB ED
+ XA XB add 2 div
+ YA YB add 2 div
+ ){\pscurve(-0.25,0)(-0.125,0.25)(0,0)(0.125,-0.25)(0.25,0)}}\ignorespaces}
+%
+\def\pst@draw@vac{{%
+ \pnode(-0.5,0){dipole@1}
+ \pnode(0.5,0){dipole@2}
+ \pscircle[linewidth=1.5\pslinewidth](0,0){0.5}
+}}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\catcode`\@=\PstAtCode\relax
%
\endinput