From 7ac40f0e6332cede8098803712911982c68b4974 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 16 Oct 2007 17:34:02 +0000 Subject: pst-circ update (15oct07) git-svn-id: svn://tug.org/texlive/trunk@5205 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/tex/generic/pst-circ/pst-circ.tex | 1837 +++++++++++--------- 1 file changed, 992 insertions(+), 845 deletions(-) (limited to 'Master/texmf-dist/tex/generic') 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 c7fe66cdb48..c1693b566de 100644 --- a/Master/texmf-dist/tex/generic/pst-circ/pst-circ.tex +++ b/Master/texmf-dist/tex/generic/pst-circ/pst-circ.tex @@ -5,8 +5,10 @@ %% %% Package `pst-circ.tex' %% -%% Christophe Jorssen -%% Herbert Voss +%% Original idea: A.Premoli I.Maio, M.Luque, +%% +%% Christophe Jorssen +%% Herbert Voss %% %% This program can be redistributed and/or modified under the terms %% of the LaTeX Project Public License Distributed from CTAN archives @@ -17,286 +19,294 @@ %% %% For a ChangeLog go the the end %% -\def\fileversion{1.21} -\def\filedate{2004/06/10} -\message{`pst-circ' v\fileversion,% - (Original idea: A.Premoli I.Maio,% - Design: M.Luque, - Code: C.Jorssen, H.Voss)} -% \csname PSTcircLoaded\endcsname \let\PSTcircLoaded\endinput % % Require PSTricks and pst-node packages % +\ifx\PSTMultidoLoaded\endinput\else\input multido.tex\fi \ifx\PSTricksLoaded\endinput\else\input pstricks.tex\fi -% \ifx\PSTnodeLoaded\endinput\else\input pst-node.tex\fi +\ifx\PSTXKeyLoaded\endinput\else\input pst-xkey \fi % -% DPC interface to the `keyval' package -% -\input pst-key.tex -\input multido.tex +\def\fileversion{1.42} +\def\filedate{2007/10/15} +\message{`pst-circ' v\fileversion (CJ,hv,pd)} % \edef\PstAtCode{\the\catcode`\@} \catcode`\@=11\relax +\pst@addfams{pst-circ} % \pstheader{pst-circ.pro} -% \SpecialCoor % -\newdimen\Pst@circ@position -% -\newcount\pst@circ@count@i -\newcount\pst@circ@count@ii -\newcount\pst@circ@count@iii -% -\newif\ifPst@circ@intensity -\newif\ifPst@circ@tension -\newif\ifPst@circ@dipole@convention -\newif\ifPst@circ@direct@convention -\newif\ifPst@circ@parallel -\newif\ifPst@circ@parallel@node -\newif\ifPst@circ@wire@intersect -\newif\ifPst@circ@OA@perfect -\newif\ifPst@circ@OA@invert -\newif\ifPst@circ@OA@iplus -\newif\ifPst@circ@OA@iminus -\newif\ifPst@circ@OA@iout -\newif\ifPst@circ@transistor@circle% hv 2003-07-23 -\newif\ifPst@circ@transistor@invert -\newif\ifPst@circ@transistor@ibase -\newif\ifPst@circ@transistor@icollector -\newif\ifPst@circ@transistor@iemitter -\newif\ifPst@circ@transistor@type -\newif\ifPst@circ@transformer@iprimary -\newif\ifPst@circ@transformer@isecondary -\newif\ifPst@circ@variable -% -\newif\ifPst@circ@logic@showDot % hv -\newif\ifPst@circ@logic@showNode % hv -\newif\ifPst@circ@logic@changeLR % hv -% -\def\pst@string@dipole@convention@receptor{receptor} -\def\pst@string@dipole@convention@generator{generator} -\def\pst@string@transistor@type@PNP{PNP} -\def\pst@string@transistor@type@NPN{NPN} +\newdimen\Pst@position +% +\newcount\pst@count@i +\newcount\pst@count@ii +\newcount\pst@count@iii +% +\newif\ifPst@intensity +\newif\ifPst@tension +\newif\ifPst@Dconvention +\newif\ifPst@direct@convention +\newif\ifPst@parallel +\newif\ifPst@parallel@node +\newif\ifPst@wire@intersect +\newif\ifPst@OA@perfect +\newif\ifPst@OA@power +\newif\ifPst@OA@invert +\newif\ifPst@OA@iplus +\newif\ifPst@OA@iminus +\newif\ifPst@OA@iout +\newif\ifPst@T@circle% hv 2003-07-23 +\newif\ifPst@T@invert +\newif\ifPst@T@iB +\newif\ifPst@T@iC +\newif\ifPst@T@iE +\newif\ifPst@T@changeLR +\newif\ifPst@Ttype +\newif\ifPst@FETchanneltype% Ted +\newif\ifPst@Trafo@iprimary +\newif\ifPst@Trafo@isecondary +\newif\ifPst@variable +% +\newif\ifPst@logic@showDot % hv +\newif\ifPst@logic@showNode % hv +\newif\ifPst@logic@changeLR % hv +% +\def\pst@Dconvention@receptor{receptor} +\def\pst@Dconvention@generator{generator} +\def\pst@Ttype@PNP{PNP} +\def\pst@Ttype@NPN{NPN} +\def\pst@Ttype@FET{FET} +\def\pst@FETchanneltype@P{P}% Ted +\def\pst@FETchanneltype@N{N}% Ted % start Herbert 2003-07-17 -\def\pst@string@dipole@style@thyristor{thyristor} -\def\pst@string@dipole@style@GTO{GTO} -\def\pst@string@dipole@style@triac{triac} +\def\pst@Dstyle@varistor{varistor} +\def\pst@Dstyle@thyristor{thyristor} +\def\pst@Dstyle@GTO{GTO} +\def\pst@Dstyle@triac{triac} +\def\pst@Dstyle@Z{Z} % end Herbert 2003-07-17 -\def\pst@string@dipole@style@normal{normal} -\def\pst@string@dipole@style@chemical{chemical} -\def\pst@string@dipole@style@elektor{elektor} -\def\pst@string@dipole@style@elektorchemical{elektorchemical} -\def\pst@string@dipole@style@elektorcurved{elektorcurved} -\def\pst@string@dipole@style@curved{curved} -\def\pst@string@dipole@style@rectangle{rectangle} -\def\pst@string@dipole@style@open{open} -\def\pst@string@dipole@style@close{close} -\def\pst@string@dipole@style@zigzag{zigzag} -\def\pst@string@tripole@style@left{left} -\def\pst@string@tripole@style@right{right} -\def\pst@string@tripole@style@center{center} -\def\pst@string@tripole@style@french{french} -% -\define@key{psset}{intensity}[true]{\@nameuse{Pst@circ@intensity#1}} -\define@key{psset}{intensitylabel}{\edef\psk@circ@intensity@label{#1}} -\define@key{psset}{intensitylabelcolor}{\edef\psk@circ@intensity@labelcolor{#1}} -\define@key{psset}{intensitylabeloffset}{\edef\psk@circ@intensity@label@offset{#1}} -\define@key{psset}{intensitycolor}{\edef\psk@circ@intensity@color{#1}} -\define@key{psset}{intensitywidth}{\edef\psk@circ@intensity@width{#1}} -\define@key{psset}{tension}[true]{\@nameuse{Pst@circ@tension#1}} -\define@key{psset}{tensionlabel}{\edef\psk@circ@tension@label{#1}} -\define@key{psset}{tensionlabelcolor}{\edef\psk@circ@tension@labelcolor{#1}} -\define@key{psset}{tensionoffset}{\edef\psk@circ@tension@offset{#1}} -\define@key{psset}{tensionlabeloffset}{\edef\psk@circ@tension@label@offset{#1}} -\define@key{psset}{tensioncolor}{\def\psk@circ@tension@color{#1}} -\define@key{psset}{tensionwidth}{\edef\psk@circ@tension@width{#1}} -\define@key{psset}{labeloffset}{\edef\psk@circ@label@offset{#1}} -\define@key{psset}{labelangle}{\edef\psk@circ@label@angle{#1}} -\define@key{psset}{dipoleconvention}{\edef\psk@circ@dipole@convention{#1}} -\define@key{psset}{directconvention}[true]{\@nameuse{Pst@circ@direct@convention#1}} -\define@key{psset}{dipolestyle}{\edef\psk@circ@dipole@style{#1}} -\define@key{psset}{parallel}[true]{\@nameuse{Pst@circ@parallel#1}} -\define@key{psset}{parallelarm}{\edef\psk@circ@parallel@arm{#1}} -\define@key{psset}{parallelsep}{\edef\psk@circ@parallel@sep{#1}} -\define@key{psset}{parallelnode}[true]{\@nameuse{Pst@circ@parallel@node#1}} -\define@key{psset}{intersect}[true]{\@nameuse{Pst@circ@wire@intersect#1}} -\define@key{psset}{intersectA}{\edef\psk@circ@wire@intersectA{#1}} -\define@key{psset}{intersectB}{\edef\psk@circ@wire@intersectB{#1}} -\define@key{psset}{OAperfect}[true]{\@nameuse{Pst@circ@OA@perfect#1}} -\define@key{psset}{OAinvert}[true]{\@nameuse{Pst@circ@OA@invert#1}} -\define@key{psset}{OAiplus}[true]{\@nameuse{Pst@circ@OA@iplus#1}} -\define@key{psset}{OAiminus}[true]{\@nameuse{Pst@circ@OA@iminus#1}} -\define@key{psset}{OAiout}[true]{\@nameuse{Pst@circ@OA@iout#1}} -\define@key{psset}{OAipluslabel}{\edef\psk@circ@label@OA@iplus{#1}} -\define@key{psset}{OAiminuslabel}{\edef\psk@circ@label@OA@iminus{#1}} -\define@key{psset}{OAioutlabel}{\edef\psk@circ@label@OA@iout{#1}} -\define@key{psset}{transistorcircle}[true]{\@nameuse{Pst@circ@transistor@circle#1}}% hv 2003-07-23 -\define@key{psset}{transistorinvert}[true]{\@nameuse{Pst@circ@transistor@invert#1}} -\define@key{psset}{transistoribase}[true]{\@nameuse{Pst@circ@transistor@ibase#1}} -\define@key{psset}{transistoricollector}[true]{\@nameuse{Pst@circ@transistor@icollector#1}} -\define@key{psset}{transistoriemitter}[true]{\@nameuse{Pst@circ@transistor@iemitter#1}} -\define@key{psset}{transistoribaselabel}{\edef\psk@circ@label@transistor@ibase{#1}} -\define@key{psset}{transistoricollectorlabel}{\edef\psk@circ@label@transistor@icollector{#1}} -\define@key{psset}{transistoriemitterlabel}{\edef\psk@circ@label@transistor@iemitter{#1}} -\define@key{psset}{transistortype}{\edef\psk@circ@transistor@type{#1}} -\define@key{psset}{primarylabel}{\edef\psk@circ@transformer@primary@label{#1}} -\define@key{psset}{secondarylabel}{\edef\psk@circ@transformer@secondary@label{#1}} -\define@key{psset}{transformeriprimary}[true]{\@nameuse{Pst@circ@transformer@iprimary#1}} -\define@key{psset}{transformerisecondary}[true]{\@nameuse{Pst@circ@transformer@isecondary#1}} -\define@key{psset}{transformeriprimarylabel}{\edef\psk@circ@transformer@iprimary@label{#1}} -\define@key{psset}{transformerisecondarylabel}{\edef\psk@circ@transformer@isecondary@label{#1}} -\define@key{psset}{tripolestyle}{\edef\psk@circ@tripole@style{#1}} -\define@key{psset}{variable}[true]{\@nameuse{Pst@circ@variable#1}} -% -\define@key{psset}{logicChangeLR}[false]{\@nameuse{Pst@circ@logic@changeLR#1}}% hv -\define@key{psset}{logicShowDot}[false]{\@nameuse{Pst@circ@logic@showDot#1}}% hv -\define@key{psset}{logicShowNode}[false]{\@nameuse{Pst@circ@logic@showNode#1}}% hv -%\define@key{psset}{logicOrigin}{\edef\psk@circ@logic@origin{#1}}% hv -\define@key{psset}{logicWidth}{\edef\psk@circ@logic@width{#1}}% hv -\define@key{psset}{logicHeight}{\edef\psk@circ@logic@height{#1}}% hv -\define@key{psset}{logicType}{\edef\psk@circ@logic@type{#1}}% hv -\define@key{psset}{logicNInput}{\edef\psk@circ@logic@nInput{#1}}% hv -\define@key{psset}{logicJInput}{\edef\psk@circ@logic@JInput{#1}}% hv -\define@key{psset}{logicKInput}{\edef\psk@circ@logic@KInput{#1}}% hv -\define@key{psset}{logicWireLength}{\edef\psk@circ@logic@wireLength{#1}}% hv -\define@key{psset}{logicLabelstyle}{\edef\psk@circ@logic@labelstyle{\noexpand #1}}% hv -\define@key{psset}{logicSymbolstyle}{\edef\psk@circ@logic@symbolstyle{\noexpand #1}}% hv -\define@key{psset}{logicSymbolpos}{\edef\psk@circ@logic@symbolpos{#1}}% hv -\define@key{psset}{logicNodestyle}{\edef\psk@circ@logic@nodestyle{\noexpand #1}}% hv -% -\def\pst@string@logic@type@and{and} -\def\pst@string@logic@type@or{or} -\def\pst@string@logic@type@nand{nand} -\def\pst@string@logic@type@nor{nor} -\def\pst@string@logic@type@not{not} -\def\pst@string@logic@type@exor{exor} -\def\pst@string@logic@type@exnor{exnor} -% -\def\pst@string@logic@type@RS{RS} -\def\pst@string@logic@type@D{D} -\def\pst@string@logic@type@JK{JK} -% -\setkeys{psset}{% - intensity=false,intensitylabel=\empty,intensitylabeloffset=0.5, +\def\pst@Dstyle@normal{normal} +\def\pst@Dstyle@chemical{chemical} +\def\pst@Dstyle@elektor{elektor} +\def\pst@Dstyle@elektorchemical{elektorchemical} +\def\pst@Dstyle@elektorcurved{elektorcurved} +\def\pst@Dstyle@curved{curved} +\def\pst@Dstyle@rectangle{rectangle} +\def\pst@Dstyle@open{open} +\def\pst@Dstyle@close{close} +\def\pst@Dstyle@zigzag{zigzag} +\def\pst@Dstyle@diamond{diamond} +\def\pst@tripole@style@left{left} +\def\pst@tripole@style@right{right} +\def\pst@tripole@style@center{center} +\def\pst@tripole@style@french{french} +% +\define@key[psset]{pst-circ}{intensity}[true]{\@nameuse{Pst@intensity#1}} +\define@key[psset]{pst-circ}{intensitylabel}{\def\psk@I@label{#1}} +\define@key[psset]{pst-circ}{intensitylabelcolor}{\def\psk@I@labelcolor{#1}} +\define@key[psset]{pst-circ}{intensitylabeloffset}{\def\psk@I@label@offset{#1}} +\define@key[psset]{pst-circ}{intensitycolor}{\def\psk@I@color{#1}} +\define@key[psset]{pst-circ}{intensitywidth}{\def\psk@I@width{#1}} +\define@key[psset]{pst-circ}{tension}[true]{\@nameuse{Pst@tension#1}} +\define@key[psset]{pst-circ}{tensionlabel}{\def\psk@tension@label{#1}} +\define@key[psset]{pst-circ}{tensionlabelcolor}{\def\psk@tension@labelcolor{#1}} +\define@key[psset]{pst-circ}{tensionoffset}{\def\psk@tension@offset{#1}} +\define@key[psset]{pst-circ}{tensionlabeloffset}{\def\psk@tension@label@offset{#1}} +\define@key[psset]{pst-circ}{tensioncolor}{\def\psk@tension@color{#1}} +\define@key[psset]{pst-circ}{tensionwidth}{\def\psk@tension@width{#1}} +\define@key[psset]{pst-circ}{labeloffset}{\def\psk@label@offset{#1}} +\define@key[psset]{pst-circ}{labelangle}{\def\psk@label@angle{#1}} +\define@key[psset]{pst-circ}{labelInside}{\def\psk@labelInside{#1}} +\define@key[psset]{pst-circ}{dipoleconvention}{\def\psk@Dconvention{#1}} +\define@key[psset]{pst-circ}{directconvention}[true]{\@nameuse{Pst@direct@convention#1}} +\define@key[psset]{pst-circ}{dipolestyle}{\def\psk@Dstyle{#1}} +\define@key[psset]{pst-circ}{parallel}[true]{\@nameuse{Pst@parallel#1}} +\define@key[psset]{pst-circ}{parallelarm}{\def\psk@parallel@arm{#1}} +\define@key[psset]{pst-circ}{parallelsep}{\def\psk@parallel@sep{#1}} +\define@key[psset]{pst-circ}{parallelnode}[true]{\@nameuse{Pst@parallel@node#1}} +\define@key[psset]{pst-circ}{intersect}[true]{\@nameuse{Pst@wire@intersect#1}} +\define@key[psset]{pst-circ}{intersectA}{\def\psk@wire@intersectA{#1}} +\define@key[psset]{pst-circ}{intersectB}{\def\psk@wire@intersectB{#1}} +\define@key[psset]{pst-circ}{OAperfect}[true]{\@nameuse{Pst@OA@perfect#1}} +\define@key[psset]{pst-circ}{OApower}[true]{\@nameuse{Pst@OA@power#1}} +\define@key[psset]{pst-circ}{OAinvert}[true]{\@nameuse{Pst@OA@invert#1}} +\define@key[psset]{pst-circ}{OAiplus}[true]{\@nameuse{Pst@OA@iplus#1}} +\define@key[psset]{pst-circ}{OAiminus}[true]{\@nameuse{Pst@OA@iminus#1}} +\define@key[psset]{pst-circ}{OAiout}[true]{\@nameuse{Pst@OA@iout#1}} +\define@key[psset]{pst-circ}{OAipluslabel}{\def\psk@label@OA@iplus{#1}} +\define@key[psset]{pst-circ}{OAiminuslabel}{\def\psk@label@OA@iminus{#1}} +\define@key[psset]{pst-circ}{OAioutlabel}{\def\psk@label@OA@iout{#1}} +\define@key[psset]{pst-circ}{transistorcircle}[true]{\@nameuse{Pst@T@circle#1}}% hv 2003-07-23 +\define@key[psset]{pst-circ}{transistorinvert}[true]{\@nameuse{Pst@T@invert#1}} +\define@key[psset]{pst-circ}{transistoribase}[true]{\@nameuse{Pst@T@iB#1}} +\define@key[psset]{pst-circ}{transistoricollector}[true]{\@nameuse{Pst@T@iC#1}} +\define@key[psset]{pst-circ}{transistoriemitter}[true]{\@nameuse{Pst@T@iE#1}} +\define@key[psset]{pst-circ}{transistoribaselabel}{\def\psk@labelT@iB{#1}} +\define@key[psset]{pst-circ}{transistoricollectorlabel}{\def\psk@labelT@iC{#1}} +\define@key[psset]{pst-circ}{transistoriemitterlabel}{\def\psk@labelT@iE{#1}} +\define@key[psset]{pst-circ}{FETchanneltype}{\def\psk@FETchanneltype{#1}}% Ted 2007-10-15 +\define@key[psset]{pst-circ}{transistortype}{% + \def\psk@Ttype{#1}% + \ifx\psk@Ttype\pst@Ttype@FET\relax\@nameuse{Pst@T@circlefalse}\fi} +\newdimen\Pst@basesep +\define@key[psset]{pst-circ}{basesep}{\pst@getlength{#1}\Pst@basesep} +\define@key[psset]{pst-circ}{TRot}{\pst@checknum{#1}\Pst@TRot} +\define@key[psset]{pst-circ}{edge}{% + \def\psedge{#1}% + \ifx\psedge\@none\def\psedge##1##2{}\fi% +} +% +\define@key[psset]{pst-circ}{primarylabel}{\def\psk@Trafo@primary@label{#1}} +\define@key[psset]{pst-circ}{secondarylabel}{\def\psk@Trafo@secondary@label{#1}} +\define@key[psset]{pst-circ}{transformeriprimary}[true]{\@nameuse{Pst@Trafo@iprimary#1}} +\define@key[psset]{pst-circ}{transformerisecondary}[true]{\@nameuse{Pst@Trafo@isecondary#1}} +\define@key[psset]{pst-circ}{transformeriprimarylabel}{\def\psk@Trafo@iprimary@label{#1}} +\define@key[psset]{pst-circ}{transformerisecondarylabel}{\def\psk@Trafo@isecondary@label{#1}} +\define@key[psset]{pst-circ}{tripolestyle}{\def\psk@tripole@style{#1}} +\define@key[psset]{pst-circ}{variable}[true]{\@nameuse{Pst@variable#1}} +% +\define@key[psset]{pst-circ}{logicChangeLR}[false]{\@nameuse{Pst@logic@changeLR#1}}% hv +\define@key[psset]{pst-circ}{logicShowDot}[false]{\@nameuse{Pst@logic@showDot#1}}% hv +\define@key[psset]{pst-circ}{logicShowNode}[false]{\@nameuse{Pst@logic@showNode#1}}% hv +%\define@key[psset]{pst-circ}{logicOrigin}{\def\psk@logic@origin{#1}}% hv +\define@key[psset]{pst-circ}{logicWidth}{\def\psk@logic@width{#1}}% hv +\define@key[psset]{pst-circ}{logicHeight}{\def\psk@logic@height{#1}}% hv +\define@key[psset]{pst-circ}{logicType}{\def\psk@logic@type{#1}}% hv +\define@key[psset]{pst-circ}{logicNInput}{\def\psk@logic@nInput{#1}}% hv +\define@key[psset]{pst-circ}{logicJInput}{\def\psk@logic@JInput{#1}}% hv +\define@key[psset]{pst-circ}{logicKInput}{\def\psk@logic@KInput{#1}}% hv +\define@key[psset]{pst-circ}{logicWireLength}{\def\psk@logic@wireLength{#1}}% hv +\define@key[psset]{pst-circ}{logicLabelstyle}{\def\psk@logic@labelstyle{#1}}% hv +\define@key[psset]{pst-circ}{logicSymbolstyle}{\def\psk@logic@symbolstyle{#1}}% hv +\define@key[psset]{pst-circ}{logicSymbolpos}{\def\psk@logic@symbolpos{#1}}% hv +\define@key[psset]{pst-circ}{logicNodestyle}{\def\psk@logic@nodestyle{#1}}% hv +% +\def\pst@logic@type@and{and} +\def\pst@logic@type@or{or} +\def\pst@logic@type@nand{nand} +\def\pst@logic@type@nor{nor} +\def\pst@logic@type@not{not} +\def\pst@logic@type@exor{exor} +\def\pst@logic@type@exnor{exnor} +% +\def\pst@logic@type@RS{RS} +\def\pst@logic@type@D{D} +\def\pst@logic@type@JK{JK} +% +\psset{% + labelInside=0,% + intensity=false,intensitylabel=\@empty,intensitylabeloffset=0.5, intensitycolor=black,intensitylabelcolor=black,intensitywidth=\pslinewidth, - tension=false,tensionlabel=\empty,tensionoffset=1,tensionlabeloffset=1.2, + tension=false,tensionlabel=\@empty,tensionoffset=1,tensionlabeloffset=1.2, tensioncolor=black,tensionlabelcolor=black,tensionwidth=\pslinewidth, labeloffset=0.7,labelangle=0,dipoleconvention=receptor,directconvention=true,dipolestyle=normal parallel=false,parallelarm=1.5,parallelsep=0,parallelnode=false, intersect=false,OAperfect=true,OAinvert=true, - OAiplus=false,OAiminus=false,OAiout=false,OAipluslabel=\empty, - OAiminuslabel=\empty,OAioutlabel=\empty, + OAiplus=false,OAiminus=false,OAiout=false,OAipluslabel=\@empty, + OAiminuslabel=\@empty,OAioutlabel=\@empty,OApower=false,% transistorcircle=true, transistorinvert=false, % hv 2003-07-23 - transistoribase=false,transistoricollector=false,transistoriemitter=false,transistoribaselabel=\empty, - transistoricollectorlabel=\empty,transistoriemitterlabel=\empty, - transistortype=PNP, - primarylabel=\empty,secondarylabel=\empty,transformeriprimary=false,transformerisecondary=false, - transformeriprimarylabel=\empty,transformerisecondarylabel=\empty, - tripolestyle=normal,variable=false,% + transistoribase=false,transistoricollector=false,transistoriemitter=false,% + transistoribaselabel=\@empty,basesep=0pt,edge=\pcangle,% + transistoricollectorlabel=\@empty,transistoriemitterlabel=\@empty, + transistortype=NPN,TRot=0,% + primarylabel=\@empty,secondarylabel=\@empty,transformeriprimary=false,transformerisecondary=false, + transformeriprimarylabel=\@empty,transformerisecondarylabel=\@empty, + tripolestyle=normal,variable=false,% logicShowDot=false, logicShowNode=false, logicChangeLR=false,% hv logicWireLength=0.5, logicWidth=1.5, logicHeight=2.5, % hv logicNInput=2, logicJInput=2, logicKInput=2, logicType=and,% hv - logicLabelstyle=\small, logicSymbolstyle=\large, + logicLabelstyle=\small, logicSymbolstyle=\large, logicSymbolpos=0.5,logicNodestyle=\footnotesize}% hv % +\newpsstyle{baseOpt}{edge=\pcline,arrows=-,arm=.5,angleA=0,angleB=180} +\newpsstyle{emitterOpt}{arrows=-,arm=.5,angleA=180,angleB=-90}% +\newpsstyle{collectorOpt}{arrows=-,arm=.5,angleA=180,angleB=90} +% \def\wire{\@ifnextchar[{\pst@draw@wire}{\pst@draw@wire[]}} % \def\tension{\@ifnextchar[{\pst@draw@tension@}{\pst@draw@tension@[]}} % \def\resistor{\@ifnextchar[{\pst@resistor}{\pst@resistor[]}} -% \def\pst@resistor[#1](#2)(#3)#4{{% - \pst@draw@dipole{#1}{#2}{#3}{#4}\pst@draw@resistor + \pst@draw@dipole{#1}{#2}{#3}{#4}\pst@draw@resistor% }\ignorespaces} % \def\capacitor{\@ifnextchar[{\pst@capacitor}{\pst@capacitor[]}} -% \def\pst@capacitor[#1](#2)(#3)#4{{% - \pst@draw@dipole{#1}{#2}{#3}{#4}\pst@draw@capacitor + \pst@draw@dipole{#1}{#2}{#3}{#4}\pst@draw@capacitor% }\ignorespaces} % \def\battery{\@ifnextchar[{\pst@battery}{\pst@battery[]}} -% \def\pst@battery[#1](#2)(#3)#4{{% - \pst@draw@dipole{#1}{#2}{#3}{#4}\pst@draw@battery + \pst@draw@dipole{#1}{#2}{#3}{#4}\pst@draw@battery% }\ignorespaces} % \def\coil{\@ifnextchar[{\pst@coil}{\pst@coil[]}} -% \def\pst@coil[#1](#2)(#3)#4{{% - \pst@draw@dipole{#1}{#2}{#3}{#4}\pst@draw@coil + \pst@draw@dipole{#1}{#2}{#3}{#4}\pst@draw@coil% }\ignorespaces} % \def\Ucc{\@ifnextchar[{\pst@Ucc}{\pst@Ucc[]}} -% \def\pst@Ucc[#1](#2)(#3)#4{{% \pst@draw@dipole{#1}{#2}{#3}{#4}\pst@draw@Ucc }\ignorespaces} % \def\Icc{\@ifnextchar[{\pst@Icc}{\pst@Icc[]}} -% \def\pst@Icc[#1](#2)(#3)#4{{% \pst@draw@dipole{#1}{#2}{#3}{#4}\pst@draw@Icc }\ignorespaces} % \def\switch{\@ifnextchar[{\pst@switch}{\pst@switch[]}} -% \def\pst@switch[#1](#2)(#3)#4{{% \pst@draw@dipole{#1}{#2}{#3}{#4}\pst@draw@switch }\ignorespaces} % \def\diode{\@ifnextchar[{\pst@diode}{\pst@diode[]}} -% \def\pst@diode[#1](#2)(#3)#4{{% \pst@draw@dipole{#1}{#2}{#3}{#4}\pst@draw@diode }\ignorespaces} % \def\Zener{\@ifnextchar[{\pst@Zener}{\pst@Zener[]}} -% \def\pst@Zener[#1](#2)(#3)#4{{% \pst@draw@dipole{#1}{#2}{#3}{#4}\pst@draw@Zener }\ignorespaces} % \def\lamp{\@ifnextchar[{\pst@lamp}{\pst@lamp[]}} -% \def\pst@lamp[#1](#2)(#3)#4{{% \pst@draw@dipole{#1}{#2}{#3}{#4}\pst@draw@lamp }\ignorespaces} % \def\circledipole{\@ifnextchar[{\pst@circledipole}{\pst@circledipole[]}} -% \def\pst@circledipole[#1](#2)(#3)#4{{% \pst@draw@dipole{#1}{#2}{#3}{#4}\pst@draw@circledipole }\ignorespaces} % \def\LED{\@ifnextchar[{\pst@LED}{\pst@LED[]}} -% \def\pst@LED[#1](#2)(#3)#4{{% \pst@draw@dipole{#1}{#2}{#3}{#4}\pst@draw@LED }\ignorespaces} % -\def\OA{\@ifnextchar[{\pst@OA}{\pst@OA[]}} -% -\def\pst@OA[#1](#2)(#3)(#4){{% - \setkeys{psset}{#1,dimen=middle}% - \if\psk@circ@label@OA@iplus\@empty\else - \setkeys{psset}{OAiplus=true}% - \fi - \if\psk@circ@label@OA@iminus\@empty\else - \setkeys{psset}{OAiminus=true}% - \fi - \if\psk@circ@label@OA@iout\@empty\else - \setkeys{psset}{OAiout=true}% - \fi - \ifPst@circ@intensity - \setkeys{psset}{OAiplus=true,OAiminus=true,OAiout=true}% - \fi - \pst@getcoor{#2}\pst@tempa - \pst@getcoor{#3}\pst@tempb - \pst@getcoor{#4}\pst@tempc +% pd start ==================================================== +\def\dashpot{\@ifnextchar[{\pst@dashpot}{\pst@dashpot[]}} +\def\pst@dashpot[#1](#2)(#3)#4{{% + \pst@draw@dipole{#1}{#2}{#3}{#4}\pst@draw@dashpot + }\ignorespaces} +% pd end ====================================================== +% +\def\OA{\pst@object{OA}} +\def\OA@i(#1)(#2)(#3){% + \addbefore@par{dimen=middle}% + \begin@ClosedObj% + \if\psk@label@OA@iplus\@empty\else\psset{OAiplus=true}\fi% + \if\psk@label@OA@iminus\@empty\else\psset{OAiminus=true}\fi% + \if\psk@label@OA@iout\@empty\else\psset{OAiout=true}\fi% + \ifPst@intensity\psset{OAiplus=true,OAiminus=true,OAiout=true}\fi% + \pst@getcoor{#1}\pst@tempa + \pst@getcoor{#2}\pst@tempb + \pst@getcoor{#3}\pst@tempc \pnode(!% \pst@tempa /Y1 exch \pst@number\psyunit div def /X1 exch \pst@number\psxunit div def @@ -308,77 +318,127 @@ /YC Y1 Y2 add 2 div def XC YC){C@} \rput(C@){\pst@draw@OA} - \ncangle[arm=.5,angleA=0,angleB=180]{#2}{\ifPst@circ@OA@invert Minus@\else Plus@\fi} - \ncput[npos=2]{\pnode{\ifPst@circ@OA@invert Minus@@\else Plus@@\fi}} - \ifPst@circ@OA@iplus - \ifPst@circ@OA@invert\else + \ncangle[arrows=-,arm=.5,angleA=0,angleB=180]{#1}{\ifPst@OA@invert Minus@\else Plus@\fi} + \ncput[npos=2]{\pnode{\ifPst@OA@invert Minus@@\else Plus@@\fi}} + \ifPst@OA@iplus + \ifPst@OA@invert\else \ncput[npos=2.5]{% - \psline[linecolor=\psk@circ@intensity@color, - linewidth=\psk@circ@intensity@width,arrowinset=0]{->}(-.1,0)(.1,0)} - \naput[npos=2.5]{\csname\psk@circ@intensity@labelcolor\endcsname\psk@circ@label@OA@iplus} + \psline[linecolor=\psk@I@color, + linewidth=\psk@I@width,arrowinset=0]{->}(-.1,0)(.1,0)} + \naput[npos=2.5]{\csname\psk@I@labelcolor\endcsname\psk@label@OA@iplus} \fi \fi - \ifPst@circ@OA@iminus - \ifPst@circ@OA@invert + \ifPst@OA@iminus + \ifPst@OA@invert \ncput[npos=2.5]{% - \psline[linecolor=\psk@circ@intensity@color, - linewidth=\psk@circ@intensity@width,arrowinset=0]{->}(-.1,0)(.1,0)} - \naput[npos=2.5]{\csname\psk@circ@intensity@labelcolor\endcsname\psk@circ@label@OA@iminus} + \psline[linecolor=\psk@I@color, + linewidth=\psk@I@width,arrowinset=0]{->}(-.1,0)(.1,0)} + \naput[npos=2.5]{\csname\psk@I@labelcolor\endcsname\psk@label@OA@iminus} \fi \fi - \ncangle[arm=.5,angleA=0,angleB=180]{#3}{\ifPst@circ@OA@invert Plus@\else Minus@\fi} - \ncput[npos=2]{\pnode{\ifPst@circ@OA@invert Plus@@\else Minus@@\fi}} - \ifPst@circ@OA@iplus - \ifPst@circ@OA@invert + \ncangle[arrows=-,arm=.5,angleA=0,angleB=180]{#2}{\ifPst@OA@invert Plus@\else Minus@\fi} + \ncput[npos=2]{\pnode{\ifPst@OA@invert Plus@@\else Minus@@\fi}} + \ifPst@OA@iplus + \ifPst@OA@invert \ncput[npos=2.5]{% - \psline[linecolor=\psk@circ@intensity@color, - linewidth=\psk@circ@intensity@width,arrowinset=0]{->}(-.1,0)(.1,0)} - \nbput[npos=2.5]{\csname\psk@circ@intensity@labelcolor\endcsname\psk@circ@label@OA@iplus} + \psline[linecolor=\psk@I@color, + linewidth=\psk@I@width,arrowinset=0]{->}(-.1,0)(.1,0)} + \nbput[npos=2.5]{\csname\psk@I@labelcolor\endcsname\psk@label@OA@iplus} \fi \fi - \ifPst@circ@OA@iminus - \ifPst@circ@OA@invert\else + \ifPst@OA@iminus + \ifPst@OA@invert\else \ncput[npos=2.5]{% - \psline[linecolor=\psk@circ@intensity@color, - linewidth=\psk@circ@intensity@width,arrowinset=0]{->}(-.1,0)(.1,0)} - \nbput[npos=2.5]{\csname\psk@circ@intensity@labelcolor\endcsname\psk@circ@label@OA@iminus} + \psline[linecolor=\psk@I@color, + linewidth=\psk@I@width,arrowinset=0]{->}(-.1,0)(.1,0)} + \nbput[npos=2.5]{\csname\psk@I@labelcolor\endcsname\psk@label@OA@iminus} \fi \fi - \ncangle[arm=.5,angleA=180,angleB=0]{#4}{S@} + \ncangle[arrows=-,arm=.5,angleA=180,angleB=0]{#3}{S@} \ncput[npos=2]{\pnode{S@@}} - \ifPst@circ@OA@iout + \ifPst@OA@iout \ncput[npos=2.5]{% - \psline[linecolor=\psk@circ@intensity@color, - linewidth=\psk@circ@intensity@width,arrowinset=0]{->}(-.1,0)(.1,0)} - \naput[npos=2.5]{\csname\psk@circ@intensity@labelcolor\endcsname\psk@circ@label@OA@iout} + \psline[linecolor=\psk@I@color, + linewidth=\psk@I@width,arrowinset=0]{->}(-.1,0)(.1,0)} + \naput[npos=2.5]{\csname\psk@I@labelcolor\endcsname\psk@label@OA@iout} \fi - }\ignorespaces} -% -\def\transistor{\@ifnextchar[{\pst@transistor}{\pst@transistor[]}} + \psline[linestyle=none](#1)(#2)% for the end arrows + \psline[linestyle=none](#1)(#3)% for the end arrows + \end@ClosedObj + \ignorespaces% +} % -\def\pst@transistor[#1](#2)(#3)(#4){{% - \setkeys{psset}{#1,dimen=middle}% - \ifx\psk@circ@transistor@type\pst@string@transistor@type@PNP - \Pst@circ@transistor@typetrue +\newif\ifPst@temp +\def\transistor{\@ifnextchar[{\transistor@i}{\transistor@i[]}} +\def\transistor@i[#1](#2){% + \begingroup + \psset{#1} + \@ifnextchar({\transistor@iii(#2)}{\Pst@tempfalse\transistor@ii(#2)}} +% +\def\transistor@ii(#1)#2#3{% with one node, the base + \pst@killglue% + \ifPst@temp\pnode(#1){TBaseNode}% + \else% + \pst@getcoor{#1}\pst@tempa% + \pnode(! + \pst@tempa /YB exch \pst@number\psyunit div def + /XB exch \pst@number\psxunit div def + /basesep \Pst@basesep\space \pst@number\psxunit div def + XB basesep \Pst@TRot\space cos mul add + YB basesep \Pst@TRot\space sin mul add){TBaseNode}% base node + \fi% + \rput{\Pst@TRot}(TBaseNode){% + \ifPst@T@circle\pscircle(0.3,0){0.7}\fi + \ifx\psk@Ttype\pst@Ttype@FET\relax% + \psline[arrows=-,linewidth=\psk@I@width](0,0.5)(0,-0.5) + \else + \psline[arrows=-,linewidth=4\pslinewidth](0,0.4)(0,-0.4) + \fi + \ifnum180=\Pst@TRot\relax% + \ifx\psk@Ttype\pst@Ttype@FET\relax% + \ifPst@T@invert\pnode(0.65,-0.5){#2}\else\pnode(0.65,-0.5){#3}\fi% + \ifPst@T@invert\pnode(0.65,0.5){#3}\else\pnode(0.65,0.5){#2}\fi% + \else + \ifPst@T@invert\pnode(0.5,-0.5){#2}\else\pnode(0.5,-0.5){#3}\fi% + \ifPst@T@invert\pnode(0.5,0.5){#3}\else\pnode(0.5,0.5){#2}\fi% + \fi + \else% + \ifx\psk@Ttype\pst@Ttype@FET\relax% + \ifPst@T@invert\pnode(0.65,0.5){#2}\else\pnode(0.65,0.5){#3}\fi% + \ifPst@T@invert\pnode(0.65,-0.5){#3}\else\pnode(0.65,-0.5){#2}\fi% + \else + \ifPst@T@invert\pnode(0.5,0.5){#2}\else\pnode(0.5,0.5){#3}\fi% + \ifPst@T@invert\pnode(0.5,-0.5){#3}\else\pnode(0.5,-0.5){#2}\fi% + \fi + \fi% + \ifx\psk@Ttype\pst@Ttype@FET\relax% + \psline[arrows=-](0.65,0.5)(0.15,0.5)(0.15,-0.5)(0.65,-0.5) + \else + \psline[arrows=-](0.5,0.5)(0,0)(0.5,-0.5) + \fi + }% + \ifx\psk@Ttype\pst@Ttype@FET\relax% +% \ifx\psk@Ttype\pst@Ttype@PNP\relax% + \ifx\psk@FETchanneltype\pst@FETchanneltype@P\relax% Ted 2007-10-15 + \psline[origin={#3},arrowinset=0,arrowsize=8\pslinewidth]{->}(-0.5,0) + \else% + \psline[origin={#2},arrowinset=0,arrowsize=8\pslinewidth]{<-}(-0.5,0) + \fi% \else - \Pst@circ@transistor@typefalse - \fi - \if\psk@circ@label@transistor@ibase\@empty\else - \setkeys{psset}{transistoribase=true}% - \fi - \if\psk@circ@label@transistor@iemitter\@empty\else - \setkeys{psset}{transistoriemitter=true}% - \fi - \if\psk@circ@label@transistor@icollector\@empty\else - \setkeys{psset}{transistoricollector=true}% + \ifx\psk@Ttype\pst@Ttype@PNP\relax% + \psline[arrowinset=0,arrowsize=8\pslinewidth]{->}(#3)(TBaseNode) + \else% + \psline[arrowinset=0,arrowsize=8\pslinewidth]{->}(TBaseNode)(#2) + \fi% \fi - \ifPst@circ@intensity - \setkeys{psset}{transistoribase=true, - transistoriemitter=true,transistoricollector=true}% - \fi - \pst@getcoor{#2}\pst@tempa - \pst@getcoor{#3}\pst@tempb - \pst@getcoor{#4}\pst@tempc + \ifPst@temp\else\endgroup\fi% + \ignorespaces% +} +% +\def\transistor@iii(#1)(#2)(#3){% with three nodes + \pst@getcoor{#1}\pst@tempa% + \pst@getcoor{#2}\pst@tempb% + \pst@getcoor{#3}\pst@tempc% \pnode(!% \pst@tempa /Y1 exch \pst@number\psyunit div def /X1 exch \pst@number\psxunit div def @@ -386,63 +446,78 @@ /X2 exch \pst@number\psxunit div def \pst@tempc /Y3 exch \pst@number\psyunit div def /X3 exch \pst@number\psxunit div def - /XC X2 X3 lt {X1 X2} {X1 X3} ifelse add 2 div def - /YC Y2 Y3 add 2 div def - XC YC){C@} - \rput(C@){\pst@draw@transistor} - \ncangle[arm=.5,angleA=0,angleB=180]{#2}{base@} - \ncput[npos=2]{\pnode{base@@}} - \ifPst@circ@transistor@ibase - \ncput[npos=2.5]{% - \psline[linecolor=\psk@circ@intensity@color, - linewidth=\psk@circ@intensity@width,arrowinset=0]{->}(-.1,0)(.1,0)} - \naput[npos=2.5]{\csname\psk@circ@intensity@labelcolor\endcsname\psk@circ@label@transistor@ibase} - \fi - \ncangle[arm=.5,angleA=0,angleB=90]{#3}{\ifPst@circ@transistor@invert emitter@\else collector@\fi} - \ncput[npos=2]{\pnode{\ifPst@circ@transistor@invert emitter@@\else collector@@\fi}} - \ifPst@circ@transistor@iemitter - \ifPst@circ@transistor@invert - \ncput[npos=2.5,nrot=:U]{% - \psline[linecolor=\psk@circ@intensity@color, - linewidth=\psk@circ@intensity@width,arrowinset=0]{->}(-.1,0)(.1,0)} - \nbput[npos=2.5]{\csname\psk@circ@intensity@labelcolor\endcsname\psk@circ@label@transistor@iemitter} - \fi - \fi - \ifPst@circ@transistor@icollector - \ifPst@circ@transistor@invert\else - \ncput[npos=2.5,nrot=:U]{% - \psline[linecolor=\psk@circ@intensity@color, - linewidth=\psk@circ@intensity@width,arrowinset=0]{->}(-.1,0)(.1,0)} - \nbput[npos=2.5]{\csname\psk@circ@intensity@labelcolor\endcsname\psk@circ@label@transistor@icollector} - \fi - \fi - \ncangle[arm=.5,angleA=0,angleB=-90]{#4}{\ifPst@circ@transistor@invert collector@\else emitter@\fi} - \ncput[npos=2]{\pnode{\ifPst@circ@transistor@invert collector@@\else emitter@@\fi}} - \ifPst@circ@transistor@iemitter - \ifPst@circ@transistor@invert\else - \ncput[npos=2.5,nrot=:U]{% - \psline[linecolor=\psk@circ@intensity@color, - linewidth=\psk@circ@intensity@width,arrowinset=0]{->}(-.1,0)(.1,0)} - \naput[npos=2.5]{\csname\psk@circ@intensity@labelcolor\endcsname\psk@circ@label@transistor@iemitter} - \fi - \fi - \ifPst@circ@transistor@icollector - \ifPst@circ@transistor@invert - \ncput[npos=2.5,nrot=:U]{% - \psline[linecolor=\psk@circ@intensity@color, - linewidth=\psk@circ@intensity@width,arrowinset=0]{->}(-.1,0)(.1,0)} - \naput[npos=2.5]{\csname\psk@circ@intensity@labelcolor\endcsname\psk@circ@label@transistor@icollector} - \fi - \fi - }\ignorespaces} -% -\def\Tswitch{\@ifnextchar[{\pst@Tswitch}{\pst@Tswitch[]}} + /LR X1 X2 lt { false }{ true } ifelse def % change left-right + /basesep \Pst@basesep\space \pst@number\psxunit div def + /XBase X1 basesep \Pst@TRot\space cos mul add def + /YBase Y1 basesep \Pst@TRot\space sin mul add def + XBase YBase ){@@base}% base node +% + \Pst@temptrue% + \transistor@ii(@@base){@@emitter}{@@collector}% +% + \if\psk@labelT@iB\@empty\else\psset{transistoribase=true}\fi% + \if\psk@labelT@iE\@empty\else\psset{transistoriemitter=true}\fi% + \if\psk@labelT@iC\@empty\else\psset{transistoricollector=true}\fi% + \ifPst@intensity\psset{transistoribase=true,transistoriemitter=true,transistoricollector=true}\fi% +% + \bgroup\psset{style=baseOpt}\psedge(#1)(TBaseNode)\egroup% + \ifPst@T@iB% base current? + \ncput[npos=0.5,nrot=\Pst@TRot]{% + \psline[linecolor=\psk@I@color,linewidth=\psk@I@width,% + arrowsize=6\pslinewidth,arrowinset=0]{->}(-.1,0)(.1,0)}% + \naput[npos=0.5]{\csname\psk@I@labelcolor\endcsname\psk@labelT@iB}% + \fi% + \bgroup% + \psset{style=collectorOpt}% + \ifPst@T@invert\psedge(#3)(@@emitter)\else\psedge(#3)(@@collector)\fi% + \egroup% + \ncput[npos=2]{\pnode{\ifPst@T@invert @@emitter\else @@collector\fi}}% + \ifPst@T@iE% emitter current? + \ifPst@T@invert% emitter/collector changed? + \ncput[npos=1.5,nrot=:U]{% + \psline[linecolor=\psk@I@color,linewidth=\psk@I@width,% + arrowsize=6\pslinewidth,arrowinset=0]{->}(-0.1,0)(0.1,0)} + \nbput[npos=1.5]{\csname\psk@I@labelcolor\endcsname\psk@labelT@iE} + \fi\fi% + \ifPst@T@iC% collector current? + \ifPst@T@invert\else% emitter/collector changed? + \ncput[npos=1.5,nrot=:U]{% + \psline[linecolor=\psk@I@color,linewidth=\psk@I@width,% + arrowsize=6\pslinewidth,arrowinset=0]{->}(-.1,0)(.1,0)} + \nbput[npos=1.5]{\csname\psk@I@labelcolor\endcsname\psk@labelT@iC} + \fi\fi% + \bgroup + \psset{style=emitterOpt} + \ifPst@T@invert\psedge(#2)(@@collector)\else\psedge(#2)(@@emitter)\fi + \egroup + \ncput[npos=2]{\pnode{\ifPst@T@invert @@collector\else @@emitter\fi}} + \ifPst@T@iE + \ifPst@T@invert\else + \ncput[npos=1.5,nrot=:U]{% + \psline[linecolor=\psk@I@color,linewidth=\psk@I@width, + arrowsize=6\pslinewidth,arrowinset=0]{<-}(-.1,0)(.1,0)} + \naput[npos=1.5]{\csname\psk@I@labelcolor\endcsname\psk@labelT@iE} + \fi\fi% + \ifPst@T@iC% collector current? + \ifPst@T@invert% emitter/collector changed? + \ncput[npos=1.5,nrot=:U]{% + \psline[linecolor=\psk@I@color,linewidth=\psk@I@width, + arrowsize=6\pslinewidth,arrowinset=0]{<-}(-.1,0)(.1,0)} + \naput[npos=1.5]{\csname\psk@I@labelcolor\endcsname\psk@labelT@iC} + \fi\fi + \psline[linestyle=none](#1)(#2)% for the end arrows + \psline[linestyle=none](#1)(#3)% for the end arrows + \endgroup + \ignorespaces% +} % -\def\pst@Tswitch[#1](#2)(#3)(#4)#5{{% - \setkeys{psset}{#1,dimen=middle}% - \pst@getcoor{#2}\pst@tempa - \pst@getcoor{#3}\pst@tempb - \pst@getcoor{#4}\pst@tempc +\def\Tswitch{\pst@object{Tswitch}} +\def\Tswitch@i(#1)(#2)(#3)#4{% + \addbefore@par{dimen=middle}% + \begin@ClosedObj + \pst@getcoor{#1}\pst@tempa + \pst@getcoor{#2}\pst@tempb + \pst@getcoor{#3}\pst@tempc \pnode(!% \pst@tempa /Y1 exch \pst@number\psyunit div def /X1 exch \pst@number\psxunit div def @@ -454,75 +529,80 @@ /YC Y2 def XC YC){C@} \rput(C@){\pst@draw@Tswitch} - \ncangle[arm=0.5,angleB=180]{#2}{Tswi@left} - \ncangle[arm=0.5,angleB=0]{#3}{Tswi@right} - \ncangle[arm=0.5,angleB=-90]{#4}{Tswi@center} - \ncline[linestyle=none,fillstyle=none]{Tswi@left}{Tswi@right} - \naput{#5} - }\ignorespaces} + \ncangle[arrows=-,arm=0.5,angleB=180]{#1}{Tswi@left} + \ncangle[arrows=-,arm=0.5,angleB=0]{#2}{Tswi@right} + \ncangle[arrows=-,arm=0.5,angleB=-90]{#3}{Tswi@center} + \ncline[arrows=-,linestyle=none,fillstyle=none]{Tswi@left}{Tswi@right} + \naput{#4} + \pcline[linestyle=none](#1)(#2)% for the endarrows + \pcline[linestyle=none](#2)(#3)% for the endarrows + \end@ClosedObj + \ignorespaces% +} % % 20030830 hv % -\def\potentiometer{\@ifnextchar[{\pst@potentiometer}{\pst@potentiometer[]}} -% -\def\pst@potentiometer[#1](#2)(#3)(#4)#5{{% - \psset{arrowsize=0.2} - \resistor[#1](#2)(#3){#5} - \psset{#1} - \pst@getcoor{#2}\pst@tempa - \pst@getcoor{#3}\pst@tempb - \pst@getcoor{#4}\pst@tempc - \pnode(!% - \pst@tempa /Y1 exch \pst@number\psyunit div def - /X1 exch \pst@number\psxunit div def - \pst@tempb /Y2 exch \pst@number\psyunit div def - /X2 exch \pst@number\psxunit div def - \pst@tempc /Y3 exch \pst@number\psyunit div def - /X3 exch \pst@number\psxunit div def - /dx X2 X1 sub def - /dy Y2 Y1 sub def - dx 2 div X1 add - dy 2 div Y1 add ){Center@} - \pst@getcoor{Center@}\pst@tempd - \pnode(!% - \pst@tempd /Y4 exch \pst@number\psyunit div def - /X4 exch \pst@number\psxunit div def - dx abs 0.01 lt{ - X3 Y4 - }{dy abs 0.01 lt { - X4 Y3 - }{/m dy dx div def - /x Y4 Y3 sub m X3 mul add X4 m div add m 1 m div add div def - x dup X3 sub m mul Y3 add - } ifelse - }ifelse){@tempNodeB} - \pnode(!% - /Alpha dy dx atan def - /dx Alpha sin 0.25 mul def - /dy Alpha cos 0.25 mul def - Y3 Y2 gt {X4 dx sub Y4 dy add}{X4 dx add Y4 dy sub}ifelse ){@tempNodeC} - \psline[arrows=->](#4)(@tempNodeB)(@tempNodeC) -}\ignorespaces} +\def\potentiometer{\pst@object{potentiometer}} +\def\potentiometer@i(#1)(#2)(#3)#4{% + \begin@ClosedObj + \resistor(#1)(#2){#4} + \pst@getcoor{#1}\pst@tempa + \pst@getcoor{#2}\pst@tempb + \pst@getcoor{#3}\pst@tempc + \pnode(!% + \pst@tempa /Y1 exch \pst@number\psyunit div def + /X1 exch \pst@number\psxunit div def + \pst@tempb /Y2 exch \pst@number\psyunit div def + /X2 exch \pst@number\psxunit div def + \pst@tempc /Y3 exch \pst@number\psyunit div def + /X3 exch \pst@number\psxunit div def + /dx X2 X1 sub def + /dy Y2 Y1 sub def + dx 2 div X1 add + dy 2 div Y1 add ){Center@} + \pst@getcoor{Center@}\pst@tempd + \pnode(!% + \pst@tempd /Y4 exch \pst@number\psyunit div def + /X4 exch \pst@number\psxunit div def + dx abs 0.01 lt{ + X3 Y4 + }{dy abs 0.01 lt { + X4 Y3 + }{/m dy dx div def + /x Y4 Y3 sub m X3 mul add X4 m div add m 1 m div add div def + x dup X3 sub m mul Y3 add + } ifelse + }ifelse){@tempNodeB} + \pnode(!% + /Alpha dy dx atan def + /dx Alpha sin 0.25 mul def + /dy Alpha cos 0.25 mul def + Y3 Y2 gt {X4 dx sub Y4 dy add}{X4 dx add Y4 dy sub}ifelse ){@tempNodeC} + \psline[arrows=->,arrowsize=0.2](#3)(@tempNodeB)(@tempNodeC) + \pcline[linestyle=none](#1)(#3)% for the endarrows + \end@ClosedObj% + \ignorespaces% +} % % quadrupoles % -\def\transformer{\@ifnextchar[{\pst@transformer}{\pst@transformer[]}} -% -\def\pst@transformer[#1](#2)(#3)(#4)(#5)#6{{% - \setkeys{psset}{#1,dimen=middle,arm=0}% - \if\psk@circ@transformer@iprimary@label\@empty\else - \setkeys{psset}{transformeriprimary=true}% +\def\transformer{\pst@object{transformer}} +\def\transformer@i(#1)(#2)(#3)(#4)#5{% + \addbefore@par{dimen=middle,arm=0}% + \begin@ClosedObj% + \if\psk@Trafo@iprimary@label\@empty\else + \psset{transformeriprimary=true}% \fi - \if\psk@circ@transformer@isecondary@label\@empty\else - \setkeys{psset}{transformerisecondary=true}% + \if\psk@Trafo@isecondary@label\@empty\else + \psset{transformerisecondary=true}% \fi - \ifPst@circ@intensity - \setkeys{psset}{transformeriprimary=true,transistorisecondary=true}% + \ifPst@intensity + \psset{transformeriprimary=true,transformerisecondary=true}% \fi - \pst@getcoor{#2}\pst@tempa - \pst@getcoor{#3}\pst@tempb - \pst@getcoor{#4}\pst@tempc - \pst@getcoor{#5}\pst@tempd + \pst@getcoor{#1}\pst@tempa + \pst@getcoor{#2}\pst@tempb + \pst@getcoor{#3}\pst@tempc + \pst@getcoor{#4}\pst@tempd \pnode(!% \pst@tempa /Y1 exch \pst@number\psyunit div def /X1 exch \pst@number\psxunit div def @@ -536,37 +616,41 @@ /YC Y1 Y3 lt {Y1} {Y3} ifelse Y2 Y4 lt {Y2} {Y4} ifelse add 2 div def XC YC){C@} \rput(C@){\pst@draw@transformer} - \ncangle[arm=0.5,angleB=90]{#2}{inup@} - \ifPst@circ@transformer@iprimary - \ncput[npos=2.5,nrot=:U]{\psline[linecolor=\psk@circ@intensity@color, - linewidth=\psk@circ@intensity@width,arrowinset=0]{->}(-.1,0)(.1,0)} - \nbput[npos=2.5]{\csname\psk@circ@intensity@labelcolor\endcsname\psk@circ@transformer@iprimary@label} + \ncangle[arrows=-,arm=0.5,angleB=90]{#1}{inup@} + \ifPst@Trafo@iprimary + \ncput[npos=2.5,nrot=:U]{\psline[linecolor=\psk@I@color, + linewidth=\psk@I@width,arrowinset=0]{->}(-.1,0)(.1,0)} + \nbput[npos=2.5]{\csname\psk@I@labelcolor\endcsname\psk@Trafo@iprimary@label} \fi - \ncangle[arm=0.5,angleB=-90]{#3}{indown@} - \ncangle[arm=0.5,angleB=90]{#4}{outup@} - \ifPst@circ@transformer@iprimary - \ncput[npos=2.5,nrot=:U]{\psline[linecolor=\psk@circ@intensity@color, - linewidth=\psk@circ@intensity@width,arrowinset=0]{->}(-.1,0)(.1,0)} - \naput[npos=2.5]{\csname\psk@circ@intensity@labelcolor\endcsname\psk@circ@transformer@isecondary@label} + \ncangle[arrows=-,arm=0.5,angleB=-90]{#2}{indown@} + \ncangle[arrows=-,arm=0.5,angleB=90]{#3}{outup@} + \ifPst@Trafo@iprimary + \ncput[npos=2.5,nrot=:U]{\psline[linecolor=\psk@I@color, + linewidth=\psk@I@width,arrowinset=0]{->}(-.1,0)(.1,0)} + \naput[npos=2.5]{\csname\psk@I@labelcolor\endcsname\psk@Trafo@isecondary@label} \fi - \ncangle[arm=0.5,angleB=-90]{#5}{outdown@} - \ncline[linestyle=none,fillstyle=none]{indown@}{inup@} - \naput{\psk@circ@transformer@primary@label} - \ncline[linestyle=none,fillstyle=none]{outdown@}{outup@} - \nbput{\psk@circ@transformer@secondary@label} - \ncline[linestyle=none,fillstyle=none]{indown@}{outdown@} - \nbput{#6} - }\ignorespaces} + \ncangle[arrows=-,arm=0.5,angleB=-90]{#4}{outdown@} + \ncline[arrows=-,linestyle=none,fillstyle=none]{indown@}{inup@} + \naput{\psk@Trafo@primary@label} + \ncline[arrows=-,linestyle=none,fillstyle=none]{outdown@}{outup@} + \nbput{\psk@Trafo@secondary@label} + \ncline[arrows=-,linestyle=none,fillstyle=none]{indown@}{outdown@} + \nbput{#5} + \pcline[linestyle=none](#1)(#3)% for the end arrows + \pcline[linestyle=none](#2)(#4)% for the end arrows + \end@ClosedObj% + \ignorespaces% +} % % Start hv 2003-07-23 -\def\optoCoupler{\@ifnextchar[{\pst@optoCoupler}{\pst@optoCoupler[]}} -% -\def\pst@optoCoupler[#1](#2)(#3)(#4)(#5)#6{{% - \setkeys{psset}{#1,dimen=middle,arm=0}% - \pst@getcoor{#2}\pst@tempa - \pst@getcoor{#3}\pst@tempb - \pst@getcoor{#4}\pst@tempc - \pst@getcoor{#5}\pst@tempd +\def\optoCoupler{\pst@object{optoCoupler}} +\def\optoCoupler@i(#1)(#2)(#3)(#4)#5{% + \addbefore@par{dimen=middle,arm=0}% + \begin@ClosedObj% + \pst@getcoor{#1}\pst@tempa + \pst@getcoor{#2}\pst@tempb + \pst@getcoor{#3}\pst@tempc + \pst@getcoor{#4}\pst@tempd \pnode(!% \pst@tempa /Y1 exch \pst@number\psyunit div def /X1 exch \pst@number\psxunit div def @@ -580,13 +664,17 @@ /YC Y1 Y3 lt {Y1} {Y3} ifelse Y2 Y4 lt {Y2} {Y4} ifelse add 2 div def XC YC){C@} \rput(C@){\pst@draw@optoCoupler} - \ncangle[arm=0.5,angleB=90]{#2}{inup@} - \ncangle[arm=0.5,angleB=-90]{#3}{indown@} - \ncangle[arm=0.5,angleB=90]{#4}{outup@} - \ncangle[arm=0.5,angleB=-90]{#5}{outdown@} - \ncline[linestyle=none,fillstyle=none]{indown@}{outdown@} - \nbput{#6} -}\ignorespaces} + \ncangle[arrows=-,arm=0.5,angleB=90]{#1}{inup@} + \ncangle[arrows=-,arm=0.5,angleB=-90]{#2}{indown@} + \ncangle[arrows=-,arm=0.5,angleB=90]{#3}{outup@} + \ncangle[arrows=-,arm=0.5,angleB=-90]{#4}{outdown@} + \ncline[arrows=-,linestyle=none,fillstyle=none]{indown@}{outdown@} + \nbput{#5} + \pcline[linestyle=none](#1)(#3)% for the end arrows + \pcline[linestyle=none](#2)(#4)% for the end arrows + \end@ClosedObj% + \ignorespaces% +} % % The logical circuits part % @@ -594,20 +682,20 @@ % \def\ground{\@ifnextchar[{\pst@ground}{\pst@ground[]}} \def\pst@ground[#1]{% - \@ifnextchar({\pst@groundi[#1]{0}}{\pst@groundi[#1]}% + \@ifnextchar({\pst@groundi[#1]{0}}{\pst@groundi[#1]}% } \def\pst@groundi[#1]#2(#3){{% - \psset{#1}% - \rput{#2}(#3){% - \psframe[fillstyle=vlines,% - linestyle=none,% - fillstyle=none,% - hatchwidth=0.5\pslinewidth](-0.5,-0.7)(0.5,-0.5) - \psline[linewidth=1.5\pslinewidth](-0.5,-0.5)(0.5,-0.5) - \psline(0,0)(0,-0.5) - \pscircle*(#3){2\pslinewidth}% - } - \ignorespaces% + \psset{#1}% + \rput{#2}(#3){% + \psframe[fillstyle=vlines,% + linestyle=none,% + fillstyle=none,% + hatchwidth=0.5\pslinewidth](-0.5,-0.7)(0.5,-0.5) + \psline[linewidth=1.5\pslinewidth](-0.5,-0.5)(0.5,-0.5) + \psline(0,0)(0,-0.5) + \pscircle*(#3){2\pslinewidth}% + } + \ignorespaces% }} % % end hv 2003-08-29 @@ -616,7 +704,7 @@ \def\multidipole{\@ifnextchar[{\pst@multidipole}{\pst@multidipole[]}} % \def\pst@multidipole[#1](#2)(#3)#4{% - \setkeys{psset}{#1}% + \psset{#1}% \pst@getcoor{#2}\pst@tempa \pst@getcoor{#3}\pst@tempb \pst@Verb{% @@ -634,8 +722,8 @@ /X@length Xend Xbegin sub Yend Ybegin sub Pyth @angle cos mul Xend@ Xbegin@ lt {neg} if def /Y@length Xend Xbegin sub Yend Ybegin sub Pyth @angle sin mul Yend@ Ybegin@ lt {neg} if def grestore}% - \pst@circ@count@i=\z@ - \let\pst@multidipole@output\empty + \pst@count@i=\z@ + \let\pst@multidipole@output\@empty \ifx\resistor #4% \let\next\pst@multidipole@resistor \else @@ -674,8 +762,12 @@ \else \ifx\LED #4% \let\next\pst@multidipole@LED - \else - \let\next\ignorespaces + \else%%% pd change + \ifx\dashpot #4%%% pd change + \let\next\pst@multidipole@dashpot + \else%%% pd change + \let\next\ignorespaces + \fi%%% pd change \fi \fi \fi @@ -689,8 +781,8 @@ \fi \fi \fi - \advance\pst@circ@count@i\@ne - \advance\pst@circ@count@iii\@ne + \advance\pst@count@i\@ne + \advance\pst@count@iii\@ne \next } % @@ -733,9 +825,13 @@ \else \ifx\LED #1% \let\next\pst@multidipole@LED - \else - \let\next\ignorespaces - \pst@multidipole@output + \else%%% pd change + \ifx\dashpot #1%%% pd change + \let\next\pst@multidipole@dashpot + \else%%% pd change + \let\next\ignorespaces + \pst@multidipole@output + \fi%%% pd change \fi \fi \fi @@ -749,47 +845,68 @@ \fi \fi \fi - \advance\pst@circ@count@i\@ne - \advance\pst@circ@count@iii\@ne + \advance\pst@count@i\@ne + \advance\pst@count@iii\@ne \next } % \def\pst@multidipole@resistor{\@ifnextchar[{\pst@multidipole@resistor@}{\pst@multidipole@resistor@[]}} % \def\pst@multidipole@resistor@[#1]#2{% - \expandafter\def\csname pst@circ@tmp@\number\pst@circ@count@iii\endcsname{#2}% - {\setkeys{psset}{#1}% - \ifPst@circ@parallel\aftergroup\advance\aftergroup\pst@circ@count@i\aftergroup\m@ne\fi}% - \pst@circ@count@ii=\pst@circ@count@i% - \advance\pst@circ@count@ii\@ne% + \expandafter\def\csname pst@tmp@\number\pst@count@iii\endcsname{#2}% + {\psset{#1}% + \ifPst@parallel\aftergroup\advance\aftergroup\pst@count@i\aftergroup\m@ne\fi}% + \pst@count@ii=\pst@count@i% + \advance\pst@count@ii\@ne% \toks0\expandafter{\pst@multidipole@output}% \edef\pst@multidipole@output{% \the\toks0% \pst@multidipole@def@coor% \noexpand\resistor[#1]% - (! X@\the\pst@circ@count@i\space Y@\the\pst@circ@count@i)% - (! X@\the\pst@circ@count@ii\space Y@\the\pst@circ@count@ii)% - {\noexpand\csname pst@circ@tmp@\number\pst@circ@count@iii\endcsname}% + (! X@\the\pst@count@i\space Y@\the\pst@count@i)% + (! X@\the\pst@count@ii\space Y@\the\pst@count@ii)% + {\noexpand\csname pst@tmp@\number\pst@count@iii\endcsname}% }% \pst@multidipole@ } % +% pd start ==================================================== +\def\pst@multidipole@dashpot{\@ifnextchar[{\pst@multidipole@dashpot@}{\pst@multidipole@dashpot@[]}} +% +\def\pst@multidipole@dashpot@[#1]#2{% + \expandafter\def\csname pst@tmp@\number\pst@count@iii\endcsname{#2}% + {\psset{#1}% + \ifPst@parallel\aftergroup\advance\aftergroup\pst@count@i\aftergroup\m@ne\fi}% + \pst@count@ii=\pst@count@i% + \advance\pst@count@ii\@ne% + \toks0\expandafter{\pst@multidipole@output}% + \edef\pst@multidipole@output{% + \the\toks0% + \pst@multidipole@def@coor% + \noexpand\dashpot[#1]% + (! X@\the\pst@count@i\space Y@\the\pst@count@i)% + (! X@\the\pst@count@ii\space Y@\the\pst@count@ii)% + {\noexpand\csname pst@tmp@\number\pst@count@iii\endcsname}% + }% + \pst@multidipole@ +} +% pd end ====================================================== \def\pst@multidipole@capacitor{\@ifnextchar[{\pst@multidipole@capacitor@}{\pst@multidipole@capacitor@[]}} % \def\pst@multidipole@capacitor@[#1]#2{% - \expandafter\def\csname pst@circ@tmp@\number\pst@circ@count@iii\endcsname{#2}% - {\setkeys{psset}{#1}% - \ifPst@circ@parallel\aftergroup\advance\aftergroup\pst@circ@count@i\aftergroup\m@ne\fi}% - \pst@circ@count@ii=\pst@circ@count@i - \advance\pst@circ@count@ii\@ne + \expandafter\def\csname pst@tmp@\number\pst@count@iii\endcsname{#2}% + {\psset{#1}% + \ifPst@parallel\aftergroup\advance\aftergroup\pst@count@i\aftergroup\m@ne\fi}% + \pst@count@ii=\pst@count@i + \advance\pst@count@ii\@ne \toks0\expandafter{\pst@multidipole@output}% \edef\pst@multidipole@output{% \the\toks0 \pst@multidipole@def@coor \noexpand\capacitor[#1]% - (! X@\the\pst@circ@count@i\space Y@\the\pst@circ@count@i)% - (! X@\the\pst@circ@count@ii\space Y@\the\pst@circ@count@ii)% - {\noexpand\csname pst@circ@tmp@\number\pst@circ@count@iii\endcsname} + (! X@\the\pst@count@i\space Y@\the\pst@count@i)% + (! X@\the\pst@count@ii\space Y@\the\pst@count@ii)% + {\noexpand\csname pst@tmp@\number\pst@count@iii\endcsname} }% \pst@multidipole@ } @@ -797,19 +914,19 @@ \def\pst@multidipole@battery{\@ifnextchar[{\pst@multidipole@battery@}{\pst@multidipole@battery@[]}} % \def\pst@multidipole@battery@[#1]#2{% - \expandafter\def\csname pst@circ@tmp@\number\pst@circ@count@iii\endcsname{#2}% - {\setkeys{psset}{#1}% - \ifPst@circ@parallel\aftergroup\advance\aftergroup\pst@circ@count@i\aftergroup\m@ne\fi}% - \pst@circ@count@ii=\pst@circ@count@i - \advance\pst@circ@count@ii\@ne + \expandafter\def\csname pst@tmp@\number\pst@count@iii\endcsname{#2}% + {\psset{#1}% + \ifPst@parallel\aftergroup\advance\aftergroup\pst@count@i\aftergroup\m@ne\fi}% + \pst@count@ii=\pst@count@i + \advance\pst@count@ii\@ne \toks0\expandafter{\pst@multidipole@output}% \edef\pst@multidipole@output{% \the\toks0 \pst@multidipole@def@coor \noexpand\battery[#1]% - (! X@\the\pst@circ@count@i\space Y@\the\pst@circ@count@i)% - (! X@\the\pst@circ@count@ii\space Y@\the\pst@circ@count@ii)% - {\noexpand\csname pst@circ@tmp@\number\pst@circ@count@iii\endcsname} + (! X@\the\pst@count@i\space Y@\the\pst@count@i)% + (! X@\the\pst@count@ii\space Y@\the\pst@count@ii)% + {\noexpand\csname pst@tmp@\number\pst@count@iii\endcsname} }% \pst@multidipole@ } @@ -817,19 +934,19 @@ \def\pst@multidipole@coil{\@ifnextchar[{\pst@multidipole@coil@}{\pst@multidipole@coil@[]}} % \def\pst@multidipole@coil@[#1]#2{% - \expandafter\def\csname pst@circ@tmp@\number\pst@circ@count@iii\endcsname{#2}% - {\setkeys{psset}{#1}% - \ifPst@circ@parallel\aftergroup\advance\aftergroup\pst@circ@count@i\aftergroup\m@ne\fi}% - \pst@circ@count@ii=\pst@circ@count@i - \advance\pst@circ@count@ii\@ne + \expandafter\def\csname pst@tmp@\number\pst@count@iii\endcsname{#2}% + {\psset{#1}% + \ifPst@parallel\aftergroup\advance\aftergroup\pst@count@i\aftergroup\m@ne\fi}% + \pst@count@ii=\pst@count@i + \advance\pst@count@ii\@ne \toks0\expandafter{\pst@multidipole@output}% \edef\pst@multidipole@output{% \the\toks0 \pst@multidipole@def@coor \noexpand\coil[#1]% - (! X@\the\pst@circ@count@i\space Y@\the\pst@circ@count@i)% - (! X@\the\pst@circ@count@ii\space Y@\the\pst@circ@count@ii)% - {\noexpand\csname pst@circ@tmp@\number\pst@circ@count@iii\endcsname} + (! X@\the\pst@count@i\space Y@\the\pst@count@i)% + (! X@\the\pst@count@ii\space Y@\the\pst@count@ii)% + {\noexpand\csname pst@tmp@\number\pst@count@iii\endcsname} }% \pst@multidipole@ } @@ -837,19 +954,19 @@ \def\pst@multidipole@Ucc{\@ifnextchar[{\pst@multidipole@Ucc@}{\pst@multidipole@Ucc@[]}} % \def\pst@multidipole@Ucc@[#1]#2{% - \expandafter\def\csname pst@circ@tmp@\number\pst@circ@count@iii\endcsname{#2}% - {\setkeys{psset}{#1}% - \ifPst@circ@parallel\aftergroup\advance\aftergroup\pst@circ@count@i\aftergroup\m@ne\fi}% - \pst@circ@count@ii=\pst@circ@count@i - \advance\pst@circ@count@ii\@ne + \expandafter\def\csname pst@tmp@\number\pst@count@iii\endcsname{#2}% + {\psset{#1}% + \ifPst@parallel\aftergroup\advance\aftergroup\pst@count@i\aftergroup\m@ne\fi}% + \pst@count@ii=\pst@count@i + \advance\pst@count@ii\@ne \toks0\expandafter{\pst@multidipole@output}% \edef\pst@multidipole@output{% \the\toks0 \pst@multidipole@def@coor \noexpand\Ucc[#1]% - (! X@\the\pst@circ@count@i\space Y@\the\pst@circ@count@i)% - (! X@\the\pst@circ@count@ii\space Y@\the\pst@circ@count@ii)% - {\noexpand\csname pst@circ@tmp@\number\pst@circ@count@iii\endcsname} + (! X@\the\pst@count@i\space Y@\the\pst@count@i)% + (! X@\the\pst@count@ii\space Y@\the\pst@count@ii)% + {\noexpand\csname pst@tmp@\number\pst@count@iii\endcsname} }% \pst@multidipole@ } @@ -857,19 +974,19 @@ \def\pst@multidipole@Icc{\@ifnextchar[{\pst@multidipole@Icc@}{\pst@multidipole@Icc@[]}} % \def\pst@multidipole@Icc@[#1]#2{% - \expandafter\def\csname pst@circ@tmp@\number\pst@circ@count@iii\endcsname{#2}% - {\setkeys{psset}{#1}% - \ifPst@circ@parallel\aftergroup\advance\aftergroup\pst@circ@count@i\aftergroup\m@ne\fi}% - \pst@circ@count@ii=\pst@circ@count@i - \advance\pst@circ@count@ii\@ne + \expandafter\def\csname pst@tmp@\number\pst@count@iii\endcsname{#2}% + {\psset{#1}% + \ifPst@parallel\aftergroup\advance\aftergroup\pst@count@i\aftergroup\m@ne\fi}% + \pst@count@ii=\pst@count@i + \advance\pst@count@ii\@ne \toks0\expandafter{\pst@multidipole@output}% \edef\pst@multidipole@output{% \the\toks0 \pst@multidipole@def@coor \noexpand\Icc[#1]% - (! X@\the\pst@circ@count@i\space Y@\the\pst@circ@count@i)% - (! X@\the\pst@circ@count@ii\space Y@\the\pst@circ@count@ii)% - {\noexpand\csname pst@circ@tmp@\number\pst@circ@count@iii\endcsname} + (! X@\the\pst@count@i\space Y@\the\pst@count@i)% + (! X@\the\pst@count@ii\space Y@\the\pst@count@ii)% + {\noexpand\csname pst@tmp@\number\pst@count@iii\endcsname} }% \pst@multidipole@ } @@ -877,19 +994,19 @@ \def\pst@multidipole@switch{\@ifnextchar[{\pst@multidipole@switch@}{\pst@multidipole@switch@[]}} % \def\pst@multidipole@switch@[#1]#2{% - \expandafter\def\csname pst@circ@tmp@\number\pst@circ@count@iii\endcsname{#2}% - {\setkeys{psset}{#1}% - \ifPst@circ@parallel\aftergroup\advance\aftergroup\pst@circ@count@i\aftergroup\m@ne\fi}% - \pst@circ@count@ii=\pst@circ@count@i - \advance\pst@circ@count@ii\@ne + \expandafter\def\csname pst@tmp@\number\pst@count@iii\endcsname{#2}% + {\psset{#1}% + \ifPst@parallel\aftergroup\advance\aftergroup\pst@count@i\aftergroup\m@ne\fi}% + \pst@count@ii=\pst@count@i + \advance\pst@count@ii\@ne \toks0\expandafter{\pst@multidipole@output}% \edef\pst@multidipole@output{% \the\toks0 \pst@multidipole@def@coor \noexpand\switch[#1]% - (! X@\the\pst@circ@count@i\space Y@\the\pst@circ@count@i)% - (! X@\the\pst@circ@count@ii\space Y@\the\pst@circ@count@ii)% - {\noexpand\csname pst@circ@tmp@\number\pst@circ@count@iii\endcsname} + (! X@\the\pst@count@i\space Y@\the\pst@count@i)% + (! X@\the\pst@count@ii\space Y@\the\pst@count@ii)% + {\noexpand\csname pst@tmp@\number\pst@count@iii\endcsname} }% \pst@multidipole@ } @@ -897,39 +1014,38 @@ \def\pst@multidipole@diode{\@ifnextchar[{\pst@multidipole@diode@}{\pst@multidipole@diode@[]}} % \def\pst@multidipole@diode@[#1]#2{% - \expandafter\def\csname pst@circ@tmp@\number\pst@circ@count@iii\endcsname{#2}% - {\setkeys{psset}{#1}% - \ifPst@circ@parallel\aftergroup\advance\aftergroup\pst@circ@count@i\aftergroup\m@ne\fi}% - \pst@circ@count@ii=\pst@circ@count@i - \advance\pst@circ@count@ii\@ne + \expandafter\def\csname pst@tmp@\number\pst@count@iii\endcsname{#2}% + {\psset{#1}% + \ifPst@parallel\aftergroup\advance\aftergroup\pst@count@i\aftergroup\m@ne\fi}% + \pst@count@ii=\pst@count@i + \advance\pst@count@ii\@ne \toks0\expandafter{\pst@multidipole@output}% \edef\pst@multidipole@output{% \the\toks0 \pst@multidipole@def@coor \noexpand\diode[#1]% - (! X@\the\pst@circ@count@i\space Y@\the\pst@circ@count@i)% - (! X@\the\pst@circ@count@ii\space Y@\the\pst@circ@count@ii)% - {\noexpand\csname pst@circ@tmp@\number\pst@circ@count@iii\endcsname} + (! X@\the\pst@count@i\space Y@\the\pst@count@i)% + (! X@\the\pst@count@ii\space Y@\the\pst@count@ii)% + {\noexpand\csname pst@tmp@\number\pst@count@iii\endcsname} }% \pst@multidipole@ } % \def\pst@multidipole@Zener{\@ifnextchar[{\pst@multidipole@Zener@}{\pst@multidipole@Zener@[]}} -% \def\pst@multidipole@Zener@[#1]#2{% - \expandafter\def\csname pst@circ@tmp@\number\pst@circ@count@iii\endcsname{#2}% - {\setkeys{psset}{#1}% - \ifPst@circ@parallel\aftergroup\advance\aftergroup\pst@circ@count@i\aftergroup\m@ne\fi}% - \pst@circ@count@ii=\pst@circ@count@i - \advance\pst@circ@count@ii\@ne + \expandafter\def\csname pst@tmp@\number\pst@count@iii\endcsname{#2}% + {\psset{#1}% + \ifPst@parallel\aftergroup\advance\aftergroup\pst@count@i\aftergroup\m@ne\fi}% + \pst@count@ii=\pst@count@i + \advance\pst@count@ii\@ne \toks0\expandafter{\pst@multidipole@output}% \edef\pst@multidipole@output{% \the\toks0 \pst@multidipole@def@coor \noexpand\Zener[#1]% - (! X@\the\pst@circ@count@i\space Y@\the\pst@circ@count@i)% - (! X@\the\pst@circ@count@ii\space Y@\the\pst@circ@count@ii)% - {\noexpand\csname pst@circ@tmp@\number\pst@circ@count@iii\endcsname} + (! X@\the\pst@count@i\space Y@\the\pst@count@i)% + (! X@\the\pst@count@ii\space Y@\the\pst@count@ii)% + {\noexpand\csname pst@tmp@\number\pst@count@iii\endcsname} }% \pst@multidipole@ } @@ -937,19 +1053,19 @@ \def\pst@multidipole@lamp{\@ifnextchar[{\pst@multidipole@lamp@}{\pst@multidipole@lamp@[]}} % \def\pst@multidipole@lamp@[#1]#2{% - \expandafter\def\csname pst@circ@tmp@\number\pst@circ@count@iii\endcsname{#2}% - {\setkeys{psset}{#1}% - \ifPst@circ@parallel\aftergroup\advance\aftergroup\pst@circ@count@i\aftergroup\m@ne\fi}% - \pst@circ@count@ii=\pst@circ@count@i - \advance\pst@circ@count@ii\@ne + \expandafter\def\csname pst@tmp@\number\pst@count@iii\endcsname{#2}% + {\psset{#1}% + \ifPst@parallel\aftergroup\advance\aftergroup\pst@count@i\aftergroup\m@ne\fi}% + \pst@count@ii=\pst@count@i + \advance\pst@count@ii\@ne \toks0\expandafter{\pst@multidipole@output}% \edef\pst@multidipole@output{% \the\toks0 \pst@multidipole@def@coor \noexpand\lamp[#1]% - (! X@\the\pst@circ@count@i\space Y@\the\pst@circ@count@i)% - (! X@\the\pst@circ@count@ii\space Y@\the\pst@circ@count@ii)% - {\noexpand\csname pst@circ@tmp@\number\pst@circ@count@iii\endcsname} + (! X@\the\pst@count@i\space Y@\the\pst@count@i)% + (! X@\the\pst@count@ii\space Y@\the\pst@count@ii)% + {\noexpand\csname pst@tmp@\number\pst@count@iii\endcsname} }% \pst@multidipole@ } @@ -957,19 +1073,19 @@ \def\pst@multidipole@circledipole{\@ifnextchar[{\pst@multidipole@circledipole@}{\pst@multidipole@circledipole@[]}} % \def\pst@multidipole@circledipole@[#1]#2{% - \expandafter\def\csname pst@circ@tmp@\number\pst@circ@count@iii\endcsname{#2}% - {\setkeys{psset}{#1}% - \ifPst@circ@parallel\aftergroup\advance\aftergroup\pst@circ@count@i\aftergroup\m@ne\fi}% - \pst@circ@count@ii=\pst@circ@count@i - \advance\pst@circ@count@ii\@ne + \expandafter\def\csname pst@tmp@\number\pst@count@iii\endcsname{#2}% + {\psset{#1}% + \ifPst@parallel\aftergroup\advance\aftergroup\pst@count@i\aftergroup\m@ne\fi}% + \pst@count@ii=\pst@count@i + \advance\pst@count@ii\@ne \toks0\expandafter{\pst@multidipole@output}% \edef\pst@multidipole@output{% \the\toks0 \pst@multidipole@def@coor \noexpand\circledipole[#1]% - (! X@\the\pst@circ@count@i\space Y@\the\pst@circ@count@i)% - (! X@\the\pst@circ@count@ii\space Y@\the\pst@circ@count@ii)% - {\noexpand\csname pst@circ@tmp@\number\pst@circ@count@iii\endcsname} + (! X@\the\pst@count@i\space Y@\the\pst@count@i)% + (! X@\the\pst@count@ii\space Y@\the\pst@count@ii)% + {\noexpand\csname pst@tmp@\number\pst@count@iii\endcsname} }% \pst@multidipole@ } @@ -977,19 +1093,19 @@ \def\pst@multidipole@LED{\@ifnextchar[{\pst@multidipole@LED@}{\pst@multidipole@LED@[]}} % \def\pst@multidipole@LED@[#1]#2{% - \expandafter\def\csname pst@circ@tmp@\number\pst@circ@count@iii\endcsname{#2}% - {\setkeys{psset}{#1}% - \ifPst@circ@parallel\aftergroup\advance\aftergroup\pst@circ@count@i\aftergroup\m@ne\fi}% - \pst@circ@count@ii=\pst@circ@count@i - \advance\pst@circ@count@ii\@ne + \expandafter\def\csname pst@tmp@\number\pst@count@iii\endcsname{#2}% + {\psset{#1}% + \ifPst@parallel\aftergroup\advance\aftergroup\pst@count@i\aftergroup\m@ne\fi}% + \pst@count@ii=\pst@count@i + \advance\pst@count@ii\@ne \toks0\expandafter{\pst@multidipole@output}% \edef\pst@multidipole@output{% \the\toks0 \pst@multidipole@def@coor \noexpand\LED[#1]% - (! X@\the\pst@circ@count@i\space Y@\the\pst@circ@count@i)% - (! X@\the\pst@circ@count@ii\space Y@\the\pst@circ@count@ii)% - {\noexpand\csname pst@circ@tmp@\number\pst@circ@count@iii\endcsname} + (! X@\the\pst@count@i\space Y@\the\pst@count@i)% + (! X@\the\pst@count@ii\space Y@\the\pst@count@ii)% + {\noexpand\csname pst@tmp@\number\pst@count@iii\endcsname} }% \pst@multidipole@ } @@ -997,209 +1113,280 @@ \def\pst@multidipole@wire{\@ifnextchar[{\pst@multidipole@wire@}{\pst@multidipole@wire@[]}} % \def\pst@multidipole@wire@[#1]{% - {\setkeys{psset}{#1}% - \ifPst@circ@parallel\aftergroup\advance\aftergroup\pst@circ@count@i\aftergroup\m@ne\fi}% - \pst@circ@count@ii=\pst@circ@count@i - \advance\pst@circ@count@ii\@ne + {\psset{#1}% + \ifPst@parallel\aftergroup\advance\aftergroup\pst@count@i\aftergroup\m@ne\fi}% + \pst@count@ii=\pst@count@i + \advance\pst@count@ii\@ne \toks0\expandafter{\pst@multidipole@output}% \edef\pst@multidipole@output{% \the\toks0 \pst@multidipole@def@coor - \noexpand\wire[#1](! X@\the\pst@circ@count@i\space Y@\the\pst@circ@count@i)(! X@\the\pst@circ@count@ii\space Y@\the\pst@circ@count@ii) + \noexpand\wire[#1](! X@\the\pst@count@i\space Y@\the\pst@count@i)(! X@\the\pst@count@ii\space Y@\the\pst@count@ii) }% \pst@multidipole@ } % \def\pst@multidipole@def@coor{% \noexpand\pst@Verb{% - /X@\the\pst@circ@count@i\space \the\pst@circ@count@i\space 1 sub X@length \noexpand\the\pst@circ@count@i\space div mul Xbegin@ add def - /Y@\the\pst@circ@count@i\space \the\pst@circ@count@i\space 1 sub Y@length \noexpand\the\pst@circ@count@i\space div mul Ybegin@ add def - /X@\the\pst@circ@count@ii\space \the\pst@circ@count@i\space X@length \noexpand\the\pst@circ@count@i\space div mul Xbegin@ add def - /Y@\the\pst@circ@count@ii\space \the\pst@circ@count@i\space Y@length \noexpand\the\pst@circ@count@i\space div mul Ybegin@ add def + /X@\the\pst@count@i\space \the\pst@count@i\space 1 sub X@length \noexpand\the\pst@count@i\space div mul Xbegin@ add def + /Y@\the\pst@count@i\space \the\pst@count@i\space 1 sub Y@length \noexpand\the\pst@count@i\space div mul Ybegin@ add def + /X@\the\pst@count@ii\space \the\pst@count@i\space X@length \noexpand\the\pst@count@i\space div mul Xbegin@ add def + /Y@\the\pst@count@ii\space \the\pst@count@i\space Y@length \noexpand\the\pst@count@i\space div mul Ybegin@ add def }% \ignorespaces} % %%%%%%%%%%%%%%%%%%%%%%%% % +\def\pst@draw@dipole#1#2#3#4#5{% suggestion by Alain Ristow + \psset{dimen=middle}% + \psset{#1}% + \if\psk@I@label\@empty\else\psset{intensity=true}\fi + \if\psk@tension@label\@empty\else\psset{tension=true}\fi + \ifx\psk@Dconvention\pst@Dconvention@generator + \Pst@Dconventiontrue + \else + \ifx\psk@Dconvention\pst@Dconvention@receptor + \Pst@Dconventionfalse + \fi + \fi + \pcline[arrows=-,linestyle=none,fillstyle=none](#2)(#3) + \ncput[nrot=:U]{\pnode{dipole@M}} + \ifPst@parallel + \pcline[arrows=-,linestyle=none,fillstyle=none](#2)(dipole@M) + \ncput[npos=\psk@parallel@sep]{\pnode{dipole@@1}} + \pcline[arrows=-,linestyle=none,fillstyle=none](#3)(dipole@M) + \ncput[npos=\psk@parallel@sep]{\pnode{dipole@@2}} + \pcline[arrows=-,linestyle=none, + fillstyle=none, + offset=\psk@parallel@arm](dipole@@1)(dipole@@2) + \ncput[npos=0]{\pnode{dipole@@@1}} + \ncput[npos=1]{\pnode{dipole@@@2}} + \ncput[nrot=:U]{#5} + \pcline[arrows=-](dipole@@1)(dipole@@@1) + \pcline[arrows=-](dipole@@@1)(dipole@1) + \pcline[arrows=-](dipole@2)(dipole@@@2) + \pcline[arrows=-](dipole@@@2)(dipole@@2) + \ifPst@parallel@node + \pscircle*(dipole@@1){2\pslinewidth} + \pscircle*(dipole@@2){2\pslinewidth} + \fi + \pcline[arrows=-,linestyle=none, + fillstyle=none, + offset=\psk@label@offset](dipole@@@1)(dipole@@@2) + \ncput[nrot=\psk@label@angle]{#4} + \pst@intensity{dipole@@@1}{dipole@@@2} + \pst@tension{dipole@@@1}{dipole@@@2} + \else + \ncput[nrot=:U]{#5} + \pcline[arrows=-,linestyle=none, + fillstyle=none,offset=\psk@label@offset](#2)(#3) + \ncput[nrot=\psk@label@angle]{#4} + %%% + % CHANGES HERE!!! + %%% + \pcline[arrows=-C](#2)(dipole@1) + \pcline[arrows=C-](dipole@2)(#3) + \pcline[linestyle=none](#2)(#3) + \pst@intensity{#2}{#3} + \pst@tension{#2}{#3} + \fi% + }% +% +\iffalse % the original stuff \def\pst@draw@dipole#1#2#3#4#5{% - \setkeys{psset}{#1,dimen=middle}% - \if\psk@circ@intensity@label\@empty\else - \setkeys{psset}{intensity=true}% - \fi - \if\psk@circ@tension@label\@empty\else - \setkeys{psset}{tension=true}% - \fi - \ifx\psk@circ@dipole@convention\pst@string@dipole@convention@generator - \Pst@circ@dipole@conventiontrue + \psset{dimen=middle}% + \psset{#1}% + \if\psk@I@label\@empty\else\psset{intensity=true}\fi + \if\psk@tension@label\@empty\else\psset{tension=true}\fi + \ifx\psk@Dconvention\pst@Dconvention@generator + \Pst@Dconventiontrue \else - \ifx\psk@circ@dipole@convention\pst@string@dipole@convention@receptor - \Pst@circ@dipole@conventionfalse + \ifx\psk@Dconvention\pst@Dconvention@receptor + \Pst@Dconventionfalse \fi \fi - \pcline[linestyle=none,fillstyle=none](#2)(#3) + \pcline[arrows=-,linestyle=none,fillstyle=none](#2)(#3) \ncput[nrot=:U]{\pnode{dipole@M}} - \ifPst@circ@parallel - \pcline[linestyle=none,fillstyle=none](#2)(dipole@M) - \ncput[npos=\psk@circ@parallel@sep]{\pnode{dipole@@1}} - \pcline[linestyle=none,fillstyle=none](#3)(dipole@M) - \ncput[npos=\psk@circ@parallel@sep]{\pnode{dipole@@2}} - \pcline[linestyle=none,fillstyle=none,offset=\psk@circ@parallel@arm](dipole@@1)(dipole@@2) + \ifPst@parallel + \pcline[arrows=-,linestyle=none,fillstyle=none](#2)(dipole@M) + \ncput[npos=\psk@parallel@sep]{\pnode{dipole@@1}} + \pcline[arrows=-,linestyle=none,fillstyle=none](#3)(dipole@M) + \ncput[npos=\psk@parallel@sep]{\pnode{dipole@@2}} + \pcline[arrows=-,linestyle=none,fillstyle=none,offset=\psk@parallel@arm](dipole@@1)(dipole@@2) \ncput[npos=0]{\pnode{dipole@@@1}} \ncput[npos=1]{\pnode{dipole@@@2}} \ncput[nrot=:U]{#5} - \pcline(dipole@@1)(dipole@@@1) - \pcline(dipole@@@1)(dipole@1) - \pcline(dipole@2)(dipole@@@2) - \pcline(dipole@@@2)(dipole@@2) - \ifPst@circ@parallel@node + \pcline[arrows=-](dipole@@1)(dipole@@@1) + \pcline[arrows=-](dipole@@@1)(dipole@1) + \pcline[arrows=-](dipole@2)(dipole@@@2) + \pcline[arrows=-](dipole@@@2)(dipole@@2) + \ifPst@parallel@node \pscircle*(dipole@@1){2\pslinewidth} \pscircle*(dipole@@2){2\pslinewidth} \fi - \pcline[linestyle=none,fillstyle=none,offset=\psk@circ@label@offset](dipole@@@1)(dipole@@@2) - \ncput[nrot=\psk@circ@label@angle]{#4} - \pst@circ@intensity{dipole@@@1}{dipole@@@2} - \pst@circ@tension{dipole@@@1}{dipole@@@2} + \pcline[arrows=-,linestyle=none,fillstyle=none,offset=\psk@label@offset](dipole@@@1)(dipole@@@2) + \ncput[nrot=\psk@label@angle]{#4} + \pst@intensity{dipole@@@1}{dipole@@@2} + \pst@tension{dipole@@@1}{dipole@@@2} \else \ncput[nrot=:U]{#5} - \pcline[linestyle=none,fillstyle=none,offset=\psk@circ@label@offset](#2)(#3) - \ncput[nrot=\psk@circ@label@angle]{#4} - \pcline(#2)(dipole@1) - \pcline(dipole@2)(#3) - \pst@circ@intensity{#2}{#3} - \pst@circ@tension{#2}{#3} + \pcline[arrows=-,linestyle=none,fillstyle=none,offset=\psk@label@offset](#2)(#3) + \ncput[nrot=\psk@label@angle]{#4} + \pcline[arrows=-](#2)(dipole@1) + \pcline[arrows=-](dipole@2)(#3) + \pcline[linestyle=none](#2)(#3) + \pst@intensity{#2}{#3} + \pst@tension{#2}{#3} \fi } +\fi % -\def\pst@circ@intensity#1#2{% - \ifPst@circ@intensity - \ifPst@circ@direct@convention - \pcline[linestyle=none,fillstyle=none](#1)(dipole@1) +\def\pst@intensity#1#2{% + \ifPst@intensity + \ifPst@direct@convention + \pcline[arrows=-,linestyle=none,fillstyle=none](#1)(dipole@1) \ncput[nrot=:U]{% - \psline[linecolor=\psk@circ@intensity@color, - linewidth=\psk@circ@intensity@width,arrowinset=0]{->}(-.1,0)(.1,0)} - \pcline[linestyle=none,fillstyle=none,offset=\psk@circ@intensity@label@offset](#1)(dipole@1) - \ncput[nrot=\psk@circ@label@angle]{\csname\psk@circ@intensity@labelcolor\endcsname\psk@circ@intensity@label} + \psline[linecolor=\psk@I@color, + linewidth=\psk@I@width,arrowinset=0]{->}(-.1,0)(.1,0)} + \pcline[arrows=-,linestyle=none,fillstyle=none,offset=\psk@I@label@offset](#1)(dipole@1) + \ncput[nrot=\psk@label@angle]{\csname\psk@I@labelcolor\endcsname\psk@I@label} \else - \pcline[linestyle=none,fillstyle=none](dipole@2)(#2) + \pcline[arrows=-,linestyle=none,fillstyle=none](dipole@2)(#2) \ncput[nrot=:U]{% - \psline[linecolor=\psk@circ@intensity@color,linewidth=\psk@circ@intensity@width]{<-}(-.1,0)(.1,0)} - \pcline[linestyle=none,fillstyle=none,offset=\psk@circ@intensity@label@offset](dipole@2)(#2) - \ncput[nrot=\psk@circ@label@angle]{\csname\psk@circ@intensity@labelcolor\endcsname\psk@circ@intensity@label} + \psline[linecolor=\psk@I@color,linewidth=\psk@I@width]{<-}(-.1,0)(.1,0)} + \pcline[arrows=-,linestyle=none,fillstyle=none,offset=\psk@I@label@offset](dipole@2)(#2) + \ncput[nrot=\psk@label@angle]{\csname\psk@I@labelcolor\endcsname\psk@I@label} \fi \fi } % -\def\pst@circ@tension#1#2{% - \ifPst@circ@tension - \pcline[linestyle=none,fillstyle=none,offset=\psk@circ@tension@offset](#1)(dipole@1) +\def\pst@tension#1#2{% + \ifPst@tension + \pcline[arrows=-,linestyle=none,fillstyle=none,% + offset=\psk@tension@offset](#1)(dipole@1) \ncput[npos=.5]{\pnode{tension@1}} - \pcline[linestyle=none,fillstyle=none,offset=-\psk@circ@tension@offset](#2)(dipole@2) + \pcline[arrows=-,linestyle=none,fillstyle=none, + offset=-\psk@tension@offset](#2)(dipole@2) \ncput[npos=.5]{\pnode{tension@2}} - \ifPst@circ@direct@convention - \ifPst@circ@dipole@convention - \pcline[linecolor=\psk@circ@tension@color, - linewidth=\psk@circ@tension@width,arrowinset=0]{<-}(tension@1)(tension@2) + \ifPst@direct@convention + \ifPst@Dconvention + \pcline[linecolor=\psk@tension@color, + linewidth=\psk@tension@width,arrowinset=0]{<-}(tension@1)(tension@2) \else - \pcline[linecolor=\psk@circ@tension@color, - linewidth=\psk@circ@tension@width,arrowinset=0]{->}(tension@1)(tension@2) + \pcline[linecolor=\psk@tension@color, + linewidth=\psk@tension@width,arrowinset=0]{->}(tension@1)(tension@2) \fi \else - \ifPst@circ@dipole@convention - \pcline[linecolor=\psk@circ@tension@color, - linewidth=\psk@circ@tension@width,arrowinset=0]{->}(tension@1)(tension@2) + \ifPst@Dconvention + \pcline[linecolor=\psk@tension@color, + linewidth=\psk@tension@width,arrowinset=0]{->}(tension@1)(tension@2) \else - \pcline[linecolor=\psk@circ@tension@color, - linewidth=\psk@circ@tension@width,arrowinset=0]{<-}(tension@1)(tension@2) + \pcline[linecolor=\psk@tension@color, + linewidth=\psk@tension@width,arrowinset=0]{<-}(tension@1)(tension@2) \fi \fi - \pcline[linestyle=none,fillstyle=none,offset=\psk@circ@tension@label@offset](dipole@1)(dipole@2) - \ncput[nrot=\psk@circ@label@angle]{% - \csname\psk@circ@tension@labelcolor\endcsname\psk@circ@tension@label} + \pcline[arrows=-,linestyle=none,fillstyle=none,% + offset=\psk@tension@label@offset](dipole@1)(dipole@2) + \ncput[nrot=\psk@label@angle]{% + \csname\psk@tension@labelcolor\endcsname\psk@tension@label} \fi } % \def\pst@draw@resistor{% - \ifx\psk@circ@dipole@style\pst@string@dipole@style@zigzag + \ifx\psk@Dstyle\pst@Dstyle@zigzag \pnode(-0.75,0){dipole@1} \pnode(0.75,0){dipole@2} \multips(-0.75,0)(0.5,0){3}% - {\psline[linewidth=1.5\pslinewidth](0,0)(0.125,0.25)(0.375,-0.25)(0.5,0)}% + {\psline[arrows=-,linewidth=1.5\pslinewidth]% + (0,0)(0.125,0.25)(0.375,-0.25)(0.5,0)}% \else \pnode(-0.5,0){dipole@1} \pnode(0.5,0){dipole@2} \psframe[linewidth=1.5\pslinewidth](-0.5,-0.25)(0.5,0.25) \fi - \ifPst@circ@variable% + \ifPst@variable% \psline{->}(-0.5,-0.55)(0.5,0.55)% \fi + \ifx\psk@Dstyle\pst@Dstyle@varistor + \psline[linewidth=0.8pt](-0.75,-0.55)(-0.5,-0.55)(0.5,0.55)% + \fi } % +% pd start ==================================================== +\def\pst@draw@dashpot{% + \pnode(0,0){dipole@1}% + \pnode(0.5,0){dipole@2}% + \psline[linewidth=1.5\pslinewidth]% + (-0.5,-0.5)(0.5,-0.5)(0.5,0.5)(-0.5,0.5)% + \psline[linewidth=1.5\pslinewidth](0,-0.4)(0,0.4)% +} +% pd end ====================================================== \def\pst@draw@capacitor{% \bgroup \psset{linewidth=1.5\pslinewidth}% - \ifx\psk@circ@dipole@style\pst@string@dipole@style@chemical - \psline(-0.2,-0.5)(-0.2,0.5) - \psarc(1.1875,0){1.0625}{154.8}{205.2} + \ifx\psk@Dstyle\pst@Dstyle@chemical + \psline[arrows=-](-0.2,-0.5)(-0.2,0.5) + \psarc[arrows=-](1.1875,0){1.0625}{154.8}{205.2} \pnode(-0.2,0){dipole@1} \pnode(0.125,0){dipole@2} \else - \ifx\psk@circ@dipole@style\pst@string@dipole@style@elektorchemical + \ifx\psk@Dstyle\pst@Dstyle@elektorchemical \psframe[framearc=0.01,dimen=outer](-0.2284123,0.2743733)(-0.0557103,-0.2743733) \psframe[framearc=0.01,dimen=outer,fillstyle=solid,fillcolor=black](0.0557103,0.2743733)(0.2284123,-0.2743733) \pnode(-0.2284123,0){dipole@1} \pnode(0.2284123,0){dipole@2} \else - \ifx\psk@circ@dipole@style\pst@string@dipole@style@elektor + \ifx\psk@Dstyle\pst@Dstyle@elektor \psframe[framearc=0.01,dimen=outer,fillstyle=solid,fillcolor=black](-0.2284123,0.2743733)(-0.0557103,-0.2743733) \psframe[framearc=0.01,dimen=outer,fillstyle=solid,fillcolor=black](0.0557103,0.2743733)(0.2284123,-0.2743733) \pnode(-0.2284123,0){dipole@1} \pnode(0.2284123,0){dipole@2} \else - \psline(-0.2,-0.5)(-0.2,0.5) - \psline(0.2,-0.5)(0.2,0.5) + \psline[arrows=-](-0.2,-0.5)(-0.2,0.5) + \psline[arrows=-](0.2,-0.5)(0.2,0.5) \pnode(-0.2,0){dipole@1} \pnode(0.2,0){dipole@2} \fi \fi \fi - \ifPst@circ@variable% - \psline{->}(-0.5,-0.55)(0.5,0.55)% + \ifPst@variable% + \psline[arrows=->](-0.5,-0.55)(0.5,0.55)% \fi \egroup } % \def\pst@draw@OA{% - \ifx\psk@circ@tripole@style\pst@string@tripole@style@french + \ifx\psk@tripole@style\pst@tripole@style@french \psframe[linewidth=1.5\pslinewidth](-1,-0.75)(1,0.75) \pspolygon(-0.4,-0.2)(-0.4,0.2)(-0.05,0) \else - \psline(-1,-0.75)(-1,0.75) - \psline(-1,0.75)(1,0) - \psline(-1,-0.75)(1,0) + \pspolygon[arrows=-](-1,-0.75)(-1,0.75)(1,0)(-1,-0.75) + \ifPst@OA@power + \psline{-o}(0,0.375)(0,0.75)\uput[90](0,0.75){$+$} + \psline{-o}(0,-0.375)(0,-0.75)\uput[-90](0,-0.75){$-$} + \fi \fi - \pnode(-1,0.25){\ifPst@circ@OA@invert Minus@\else Plus@\fi} - \pnode(-1,-0.25){\ifPst@circ@OA@invert Plus@\else Minus@\fi} + \pnode(-1,0.25){\ifPst@OA@invert Minus@\else Plus@\fi} + \pnode(-1,-0.25){\ifPst@OA@invert Plus@\else Minus@\fi} \pnode(1,0){S@} - \uput{0.1}[0](-1,0.25){\ifPst@circ@OA@invert$-$\else$+$\fi} - \uput{0.1}[0](-1,-0.25){\ifPst@circ@OA@invert$+$\else$-$\fi} - \ifPst@circ@OA@perfect - \rput(0.25,0){$\infty$} - \fi - } + \uput{0.1}[0](-1,0.25){\ifPst@OA@invert$-$\else$+$\fi} + \uput{0.1}[0](-1,-0.25){\ifPst@OA@invert$+$\else$-$\fi} + \ifPst@OA@perfect\rput(0.25,0){$\infty$}\fi% +} % \def\pst@draw@battery{% - \psline[linewidth=1.5\pslinewidth](-0.10,-0.5)(-0.10,0.5) - \psline[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.10,-0.25)(0.10,0.25) \pnode(-0.1,0){dipole@1} \pnode(0.1,0){dipole@2} - \ifPst@circ@variable% + \ifPst@variable% \psline{->}(-0.75,-0.5)(0.75,0.5)% \fi } % \def\pst@draw@coil{% - \ifx\psk@circ@dipole@style\pst@string@dipole@style@curved - \pscurve(-0.7,0)(-0.6,0.3)(-0.35,0)(-0.4,-0.2) + \ifx\psk@Dstyle\pst@Dstyle@curved + \pscurve[arrows=-](-0.7,0)(-0.6,0.3)(-0.35,0)(-0.4,-0.2) (-0.5,0)(-0.4,0.3)(-0.15,0)(-0.2,-0.2)(-0.3,0) (-0.2,0.3)(0.05,0)(0,-0.2)(-0.1,0) (0,0.3)(0.25,0)(0.2,-0.2)(0.1,0) @@ -1208,7 +1395,7 @@ \pnode(-0.7,0){dipole@1} \pnode(0.5,0){dipole@2} \else - \ifx\psk@circ@dipole@style\pst@string@dipole@style@elektor + \ifx\psk@Dstyle\pst@Dstyle@elektor \psarcn[arrows=c-](-0.3885794,0){0.1295265}{-180}{0} \psarcn(-0.1295265,0){0.1295265}{-180}{0} \psarcn(0.1295265,0){0.1295265}{-180}{0} @@ -1216,59 +1403,63 @@ \pnode(-0.5181058,0){dipole@1} \pnode(0.5181058,0){dipole@2} \else - \ifx\psk@circ@dipole@style\pst@string@dipole@style@elektorcurved + \ifx\psk@Dstyle\pst@Dstyle@elektorcurved \psarcn[arrows=c-c](-0.408167,0.089453){0.211665}{-155}{-410} \psarcn[arrows=-c](-0.136056,0.089453){0.211665}{-130}{-410} \psarcn[arrows=-c](0.136055,0.089453){0.211665}{-130}{-410} \psarcn[arrows=-c](0.408167,0.089453){0.211665}{-130}{-385} \pnode(-0.6,0){dipole@1} \pnode(0.6,0){dipole@2} - \else - \ifx\psk@circ@dipole@style\pst@string@dipole@style@rectangle - \pnode(-0.5,0){dipole@1} - \pnode(0.5,0){dipole@2} - \psframe[linewidth=1.5\pslinewidth,fillstyle=solid,fillcolor=black](-0.5,-0.25)(0.5,0.25) - \else - \pscurve[linewidth=1.5\pslinewidth](-1,0)(-0.75,0.5)(-0.5,0) - \pscurve[linewidth=1.5\pslinewidth](-0.5,0)(-0.25,0.5)(0,0) - \pscurve[linewidth=1.5\pslinewidth](0,0)(0.25,0.5)(0.5,0) - \pscurve[linewidth=1.5\pslinewidth](0.5,0)(0.75,0.5)(1,0) - \pnode(-1,0){dipole@1} - \pnode(1,0){dipole@2} - \fi - \fi - \fi - \fi - \ifPst@circ@variable% - \psline{->}(-0.75,-0.5)(0.75,0.5)% - \fi + \else + \ifx\psk@Dstyle\pst@Dstyle@rectangle + \pnode(-0.5,0){dipole@1} + \pnode(0.5,0){dipole@2} + \psframe[linewidth=1.5\pslinewidth,fillstyle=solid,fillcolor=black](-0.5,-0.25)(0.5,0.25) + \else + \pscurve[arrows=-,linewidth=1.5\pslinewidth](-1,0)(-0.75,0.5)(-0.5,0) + \pscurve[arrows=-,linewidth=1.5\pslinewidth](-0.5,0)(-0.25,0.5)(0,0) + \pscurve[arrows=-,linewidth=1.5\pslinewidth](0,0)(0.25,0.5)(0.5,0) + \pscurve[arrows=-,linewidth=1.5\pslinewidth](0.5,0)(0.75,0.5)(1,0) + \pnode(-1,0){dipole@1} + \pnode(1,0){dipole@2} + \fi\fi\fi\fi% + \ifPst@variable\psline{->}(-0.75,-0.5)(0.75,0.5)\fi% } % \def\pst@draw@Ucc{% \pnode(-0.5,0){dipole@1} \pnode(0.5,0){dipole@2} - \psline[linewidth=2\pslinewidth]{->}(-0.35,0)(0.35,0) - \pscircle[linewidth=1.5\pslinewidth](0,0){0.5} - } + \ifx\psk@Dstyle\pst@Dstyle@diamond + \pspolygon[linewidth=1.5\pslinewidth](-0.5,0)(0,0.5)(0.5,0)(0,-0.5) + \else + \pscircle[linewidth=1.5\pslinewidth](0,0){0.5} + \fi + \ifcase\psk@labelInside\or% do nothing + \psline[arrows=-,linewidth=2\pslinewidth]{->}(-0.35,0)(0.35,0)\or% case 1 + \uput{0.1}[0]{90}(-0.5,0){$-$}% case 2 + \uput{0.1}[0]{90}(0,0){$+$}\or% case 3 + \rput(0,0){\large\bf =} + \fi +} % \def\pst@draw@Icc{% \pnode(-0.5,0){dipole@1} \pnode(0.5,0){dipole@2} \pscircle[linewidth=1.5\pslinewidth](0,0){0.5} - \psline[linewidth=1.5\pslinewidth](0,-0.5)(0,0.5) + \psline[arrows=-,linewidth=1.5\pslinewidth](0,-0.5)(0,0.5) } % \def\pst@draw@switch{% - \ifx\psk@circ@dipole@style\pst@string@dipole@style@close + \ifx\psk@Dstyle\pst@Dstyle@close \pnode(-0.5,0){dipole@1} \pnode(0.5,0){dipole@2} \qdisk(-0.5,0){1.5pt} \qdisk(0.5,0){1.5pt} - \psline[linewidth=2\pslinewidth](-0.5,0.05)(0.5,0.05) + \psline[arrows=-,linewidth=2\pslinewidth](-0.5,0.05)(0.5,0.05) \else \pnode(-0.55,0){dipole@1} \pnode(0.5,0){dipole@2} - \psline[linewidth=2\pslinewidth](-0.5,0)(0.5,0.5) + \psline[arrows=-,linewidth=2\pslinewidth](-0.5,0)(0.5,0.5) \psarcn[arrowinset=0]{->}(-0.5,0){0.75}{45}{-45} \pscircle[fillstyle=solid](-0.5,0){0.07} \qdisk(0.5,0){1.5pt} @@ -1276,43 +1467,42 @@ } % \def\pst@draw@diode{% -% start Herbert 2003-07-23 - \ifx\psk@circ@dipole@style\pst@string@dipole@style@triac + \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[linewidth=1.5\pslinewidth](-0.25,-0.4)(-0.25,0.4) - \psline[linewidth=1.5\pslinewidth](0.25,-0.4)(0.25,0.4) - \psline[linewidth=\pslinewidth](0.25,-0.2)(0.5,-0.3)(0.5,-0.6) + \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 -% end Herbert 2003-07-23 - \pspolygon[linewidth=1.5\pslinewidth](-0.25,-0.2)(-0.25,0.2)(0.25,0) - \psline[linewidth=1.5\pslinewidth](0.25,0.2)(0.25,-0.2) -% start Herbert 2003-07-17 - \ifx\psk@circ@dipole@style\pst@string@dipole@style@thyristor - \psline[linewidth=1.5\pslinewidth](0,-0.1)(0,-0.35) + \pspolygon[arrows=-,linewidth=1.5\pslinewidth](-0.25,-0.2)(-0.25,0.2)(0.25,0) + \psline[arrows=-,linewidth=1.5\pslinewidth](0.25,0.2)(0.25,-0.2) + \ifx\psk@Dstyle\pst@Dstyle@thyristor + \psline[arrows=-,linewidth=1.5\pslinewidth](0,-0.1)(0,-0.35) \fi - \ifx\psk@circ@dipole@style\pst@string@dipole@style@GTO - \psline[linewidth=1.5\pslinewidth](-0.1,-0.12)(-0.1,-0.35) - \psline[linewidth=1.5\pslinewidth](0,-0.1)(0,-0.35) + \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 -% end Herbert 2003-07-17 \pnode(-0.25,0){dipole@1} \pnode(0.25,0){dipole@2} } % \def\pst@draw@Zener{% \pspolygon[linewidth=1.5\pslinewidth](-0.25,-0.2)(-0.25,0.2)(0.25,0) - \psline[linewidth=1.5\pslinewidth](0.25,0.2)(0.25,-0.2) - \psline[linewidth=1.5\pslinewidth](0.25,0.25)(0.25,-0.25)(0,-0.25) + \ifx\psk@Dstyle\pst@Dstyle@Z + \psline[arrows=-,linewidth=1.5\pslinewidth](0.1,0.35)(0.25,0.25)(0.25,-0.25)(0.4,-0.35) + \else + \psline[arrows=-,linewidth=1.5\pslinewidth](0.25,0.25)(0.25,-0.25)(0,-0.25) + \fi \pnode(-0.25,0){dipole@1} \pnode(0.25,0){dipole@2} } % \def\pst@draw@lamp{% \pscircle[linewidth=1.5\pslinewidth]{0.5} - \psline[linewidth=1.5\pslinewidth](0.5;45)(0.5;225) - \psline[linewidth=1.5\pslinewidth](0.5;135)(0.5;315) + \psline[arrows=-,linewidth=1.5\pslinewidth](0.5;45)(0.5;225) + \psline[arrows=-,linewidth=1.5\pslinewidth](0.5;135)(0.5;315) \pnode(-0.5,0){dipole@1} \pnode(0.5,0){dipole@2} } @@ -1324,53 +1514,23 @@ } % \def\pst@draw@LED{% - \pspolygon[linewidth=1.5\pslinewidth](-0.25,-0.2)(-0.25,0.2)(0.25,0) - \psline[linewidth=1.5\pslinewidth](0.25,0.2)(0.25,-0.2) + \pspolygon[arrows=-,linewidth=1.5\pslinewidth](-0.25,-0.2)(-0.25,0.2)(0.25,0) + \psline[arrows=-,linewidth=1.5\pslinewidth](0.25,0.2)(0.25,-0.2) \pnode(-0.25,0){dipole@1} \pnode(0.25,0){dipole@2} - \bgroup% - \psset{arrows=->}% - \multips(-0.25,0.3)(0.25,0){3}{\psline(0.25,0.22)}% - \egroup% -} -% -\def\pst@draw@transistor{% - \ifPst@circ@transistor@circle - \pscircle(0,0){0.8} - \fi - \psline[linewidth=4\pslinewidth](-0.3,-0.5)(-0.3,0.5) - \psline(-0.3,-0.25)(0.25,-0.5)(0.25,-0.759934) - \ifPst@circ@transistor@invert\else - \pnode(-0.3,-0.25){@emitter} - \pnode(0.25,-0.5){@@emitter} - \fi - \pnode(0.25,-0.759934){\ifPst@circ@transistor@invert collector@\else emitter@\fi} - \psline(-0.3,0.25)(0.25,0.5)(0.25,0.759934) - \ifPst@circ@transistor@invert - \pnode(-0.3,0.25){@emitter} - \pnode(0.25,0.5){@@emitter} - \fi - \pnode(0.25,0.759934){\ifPst@circ@transistor@invert emitter@\else collector@\fi} - \psline(-0.3,0)(-.8,0) - \pnode(-.8,0){base@} - \ifPst@circ@transistor@type - \ncline[linestyle=none,fillstyle=none]{@@emitter}{@emitter} - \else - \ncline[linestyle=none,fillstyle=none]{@emitter}{@@emitter} - \fi - \ncput[nrot=:U]{\psline[arrowinset=0,arrowscale=2]{->}(0,0)(.2,0)} + \multips(-0.25,0.3)(0.25,0){3}{\psline[arrows=->](0.25,0.22)}% } % \def\pst@draw@Tswitch{% - \ifx\psk@circ@tripole@style\pst@string@tripole@style@right - \psline[linewidth=2\pslinewidth](0.5,0)(0,-1) + \ifx\psk@tripole@style\pst@tripole@style@right + \psline[arrows=-,linewidth=2\pslinewidth](0.5,0)(0,-1) \psarcn[arrowinset=0]{<-}(0,-1){0.75}{135}{45} \else - \ifx\psk@circ@tripole@style\pst@string@tripole@style@left - \psline[linewidth=2\pslinewidth](-0.5,0)(0,-1) + \ifx\psk@tripole@style\pst@tripole@style@left + \psline[arrows=-,linewidth=2\pslinewidth](-0.5,0)(0,-1) \psarcn[arrowinset=0]{->}(0,-1){0.75}{135}{45} \else - \psline[linewidth=2\pslinewidth](0,0.1)(0,-1) + \psline[arrows=-,linewidth=2\pslinewidth](0,0.1)(0,-1) \psarcn[linewidth=1pt,arrowinset=0]{<->}(0,-1){0.75}{135}{45} \fi \fi @@ -1383,14 +1543,14 @@ } % \def\pst@draw@transformer{ - \ifx\psk@circ@dipole@style\pst@string@dipole@style@rectangle + \ifx\psk@Dstyle\pst@Dstyle@rectangle \psframe[fillstyle=solid,fillcolor=black](-0.7,-0.75)(-0.2,0.75) \psframe[fillstyle=solid,fillcolor=black](0.7,-0.75)(0.2,0.75) - \psline[linewidth=0.1cm](0,-0.75)(0,0.75) + \psline[arrows=-,linewidth=0.1cm](0,-0.75)(0,0.75) \pnode(-0.5,0.75){inup@} \pnode(-0.5,-0.75){indown@} \else - \pscurve(-0.5,0.9)(-0.2,0.8)(-0.5,0.7)(-0.7,0.8)(-0.5,0.82)(-0.2,0.6) + \pscurve[arrows=-](-0.5,0.9)(-0.2,0.8)(-0.5,0.7)(-0.7,0.8)(-0.5,0.82)(-0.2,0.6) (-0.5,0.5)(-0.7,0.6)(-0.5,0.62)(-0.2,0.4) (-0.5,0.3)(-0.7,0.4)(-0.5,0.42)(-0.2,0.2) (-0.5,0.1)(-0.7,0.2)(-0.5,0.22)(-0.2,0) @@ -1398,16 +1558,16 @@ (-0.5,-0.3)(-0.7,-0.2)(-0.5,-0.18)(-0.2,-0.4) (-0.5,-0.5)(-0.7,-0.4)(-0.5,-0.38)(-0.2,-0.6) (-0.5,-0.7)(-0.7,-0.6)(-0.5,-0.58)(-.2,-0.8)(-0.5,-0.9) - \pscurve(0.5,0.7)(0.2,0.6)(0.5,0.5)(0.7,0.6)(0.5,0.62) + \pscurve[arrows=-](0.5,0.7)(0.2,0.6)(0.5,0.5)(0.7,0.6)(0.5,0.62) (0.2,0.4)(0.5,0.3)(0.7,0.4)(0.5,0.42) (0.2,0.2)(0.5,0.1)(0.7,0.2)(0.5,0.22) (0.2,0.)(0.5,-0.1)(0.7,0)(0.5,0.02) (0.2,-0.2)(0.5,-0.3)(0.7,-0.2)(0.5,-0.18) (0.2,-0.4)(0.5,-0.5)(0.7,-0.4)(0.5,-0.38) (0.2,-0.6)(0.5,-0.7) - \psline(-0.1,0.7)(-0.1,-0.7) - \psline(0,0.7)(0,-0.7) - \psline(0.1,0.7)(0.1,-0.7) + \psline[arrows=-](-0.1,0.7)(-0.1,-0.7) + \psline[arrows=-](0,0.7)(0,-0.7) + \psline[arrows=-](0.1,0.7)(0.1,-0.7) \pnode(-0.5,0.9){inup@} \pnode(-0.5,-0.9){indown@} \fi @@ -1418,19 +1578,19 @@ \def\pst@draw@optoCoupler{% % diode \pspolygon[linewidth=1.5\pslinewidth](-0.5,-0.25)(-0.7,0.25)(-0.3,0.25) - \psline[linewidth=1.5\pslinewidth](-0.7,-0.25)(-0.3,-0.25) + \psline[arrows=-,linewidth=1.5\pslinewidth](-0.7,-0.25)(-0.3,-0.25) \psline{->}(-0.2,0.2)(0,0.1) \psline{->}(-0.2,0)(0,-0.1) % transistor - \psline[linewidth=4\pslinewidth](0.25,-0.3)(0.25,0.3) - \psline[linewidth=1.5\pslinewidth](0.25,0)(0.75,0.5) - \psline[linewidth=1.5\pslinewidth](0.25,0)(0.75,-0.5) + \psline[arrows=-,linewidth=4\pslinewidth](0.25,-0.3)(0.25,0.3) + \psline[arrows=-,linewidth=1.5\pslinewidth](0.25,0)(0.75,0.5) + \psline[arrows=-,linewidth=1.5\pslinewidth](0.25,0)(0.75,-0.5) \pnode(0.75,-0.5){d@1} \pnode(0.25,0){d@2} - \ifx\psk@circ@transistor@type\pst@string@transistor@type@PNP - \ncline[linestyle=none,fillstyle=none]{d@1}{d@2} + \ifx\psk@Ttype\pst@Ttype@PNP + \ncline[arrows=-,linestyle=none,fillstyle=none]{d@1}{d@2} \else - \ncline[linestyle=none,fillstyle=none]{d@2}{d@1} + \ncline[arrows=-,linestyle=none,fillstyle=none]{d@2}{d@1} \fi \ncput[nrot=:U]{\psline[arrowinset=0,arrowscale=2]{->}(0,0)(.2,0)} \pnode(-0.5,0.25){inup@} @@ -1442,65 +1602,65 @@ \def\pst@draw@logic[#1]{\@ifnextchar({\pst@draw@logici[#1]}{\pst@draw@logici[#1](0,0)}} % \def\pst@draw@logici[#1](#2)#3{{% - \setkeys{psset}{#1}% + \psset{#1}% \rput[lb](#2){% - \psframe[linewidth=2\pslinewidth](0,0)(\psk@circ@logic@width,\psk@circ@logic@height)% + \psframe[linewidth=2\pslinewidth](0,0)(\psk@logic@width,\psk@logic@height)% } \pst@getcoor{#2}\pst@tempa - \ifPst@circ@logic@changeLR\def\logic@LR{true}\else\def\logic@LR{false}\fi% + \ifPst@logic@changeLR\def\logic@LR{true}\else\def\logic@LR{false}\fi% \pstVerb{ /YA \pst@tempa exch pop \pst@number\psyunit div def - /YB YA \psk@circ@logic@height\space add def + /YB YA \psk@logic@height\space add def \logic@LR {% /XB \pst@tempa pop \pst@number\psxunit div def - /XA XB \psk@circ@logic@width\space add def + /XA XB \psk@logic@width\space add def }{% /XA \pst@tempa pop \pst@number\psxunit div def - /XB XA \psk@circ@logic@width\space add def + /XB XA \psk@logic@width\space add def } ifelse /dy YB YA sub def } - \ifx\psk@circ@logic@type\pst@string@logic@type@RS%---------------- RS ----------------- + \ifx\psk@logic@type\pst@logic@type@RS%---------------- RS ----------------- \pnode(! XA YA dy 4 div add){#3S} \pnode(! XA YA dy 4 div 3 mul add){#3R} \psline(#3R)(! XA 0.5 \logic@LR {add}{sub} ifelse YA dy 4 div 3 mul add) \psline(#3S)(! XA 0.5 \logic@LR {add}{sub} ifelse YA dy 4 div add) - \uput[\ifPst@circ@logic@changeLR 180\else 0\fi](#3R){\psk@circ@logic@nodestyle R} - \uput[\ifPst@circ@logic@changeLR 180\else 0\fi](#3S){\psk@circ@logic@nodestyle S} + \uput[\ifPst@logic@changeLR 180\else 0\fi](#3R){\psk@logic@nodestyle R} + \uput[\ifPst@logic@changeLR 180\else 0\fi](#3S){\psk@logic@nodestyle S} \pnode(! XB 0.2 \logic@LR {sub}{add} ifelse YA dy 4 div add){#3Qneg} \pscircle[linewidth=0.5pt](! XB 0.1 \logic@LR {sub}{add} ifelse YA dy 4 div add){0.1} \pnode(! XB YA dy 4 div 3 mul add){#3Q} - \psline(#3Q)(! XB \psk@circ@logic@wireLength\space \logic@LR {sub}{add} ifelse YA dy 4 div 3 mul add) - \psline(#3Qneg)(! XB \psk@circ@logic@wireLength\space \logic@LR {sub}{add} ifelse YA dy 4 div add) - \uput[\ifPst@circ@logic@changeLR 0\else 180\fi](#3Q){\psk@circ@logic@nodestyle Q} - \uput{0.4}[\ifPst@circ@logic@changeLR 0\else 180\fi](#3Qneg){\psk@circ@logic@nodestyle $\mathrm{\overline{Q}}$} - \ifPst@circ@logic@showDot - \qdisk(! XA \psk@circ@logic@wireLength\space \logic@LR {add}{sub} ifelse YA dy 4 div 3 mul add){3pt} - \qdisk(! XA \psk@circ@logic@wireLength\space \logic@LR {add}{sub} ifelse YA dy 4 div add){3pt} - \qdisk(! XB \psk@circ@logic@wireLength\space \logic@LR {sub}{add} ifelse YA dy 4 div 3 mul add){3pt} - \qdisk(! XB \psk@circ@logic@wireLength\space \logic@LR {sub}{add} ifelse YA dy 4 div add){3pt} + \psline(#3Q)(! XB \psk@logic@wireLength\space \logic@LR {sub}{add} ifelse YA dy 4 div 3 mul add) + \psline(#3Qneg)(! XB \psk@logic@wireLength\space \logic@LR {sub}{add} ifelse YA dy 4 div add) + \uput[\ifPst@logic@changeLR 0\else 180\fi](#3Q){\psk@logic@nodestyle Q} + \uput{0.4}[\ifPst@logic@changeLR 0\else 180\fi](#3Qneg){\psk@logic@nodestyle $\mathrm{\overline{Q}}$} + \ifPst@logic@showDot + \qdisk(! XA \psk@logic@wireLength\space \logic@LR {add}{sub} ifelse YA dy 4 div 3 mul add){3pt} + \qdisk(! XA \psk@logic@wireLength\space \logic@LR {add}{sub} ifelse YA dy 4 div add){3pt} + \qdisk(! XB \psk@logic@wireLength\space \logic@LR {sub}{add} ifelse YA dy 4 div 3 mul add){3pt} + \qdisk(! XB \psk@logic@wireLength\space \logic@LR {sub}{add} ifelse YA dy 4 div add){3pt} \fi \rput[b](!% /dx XB XA sub 2 div def - XA dx add YA 0.1 add){\psk@circ@logic@labelstyle #3} + XA dx add YA 0.1 add){\psk@logic@labelstyle #3} \else - \ifx\psk@circ@logic@type\pst@string@logic@type@D%---------------- D ----------------- + \ifx\psk@logic@type\pst@logic@type@D%---------------- D ----------------- \pnode(! XA YA dy 2 div add){#3C} \pnode(! XA YA dy 4 div 3 mul add){#3D} \psline(#3D)(! XA 0.5 \logic@LR {add}{sub} ifelse YA dy 4 div 3 mul add) \psline(#3C)(! XA 0.5 \logic@LR {add}{sub} ifelse YA dy 2 div add) \psline[linewidth=0.5pt](! XA YA dy 2 div add 0.15 add) (! XA 0.4 \logic@LR {sub}{add} ifelse YA dy 2 div add)(! XA YA dy 2 div add 0.15 sub) - \uput[\ifPst@circ@logic@changeLR 180\else 0\fi](#3D){\psk@circ@logic@nodestyle D} - \uput{0.5}[\ifPst@circ@logic@changeLR 180\else 0\fi](#3C){\psk@circ@logic@nodestyle C} + \uput[\ifPst@logic@changeLR 180\else 0\fi](#3D){\psk@logic@nodestyle D} + \uput{0.5}[\ifPst@logic@changeLR 180\else 0\fi](#3C){\psk@logic@nodestyle C} \pnode(! XB 0.2 \logic@LR {sub}{add} ifelse YA dy 4 div add){#3Qneg} \pscircle[linewidth=0.5pt](! XB 0.1 \logic@LR {sub}{add} ifelse YA dy 4 div add){0.1} \pnode(! XB YA dy 4 div 3 mul add){#3Q} \psline(#3Q)(! XB 0.5 \logic@LR {sub}{add} ifelse YA dy 4 div 3 mul add) \psline(#3Qneg)(! XB 0.5 \logic@LR {sub}{add} ifelse YA dy 4 div add) - \uput[\ifPst@circ@logic@changeLR 0\else 180\fi](#3Q){\psk@circ@logic@nodestyle Q} - \uput{0.4}[\ifPst@circ@logic@changeLR 0\else 180\fi](#3Qneg){\psk@circ@logic@nodestyle $\mathrm{\overline{Q}}$} - \ifPst@circ@logic@showDot + \uput[\ifPst@logic@changeLR 0\else 180\fi](#3Q){\psk@logic@nodestyle Q} + \uput{0.4}[\ifPst@logic@changeLR 0\else 180\fi](#3Qneg){\psk@logic@nodestyle $\mathrm{\overline{Q}}$} + \ifPst@logic@showDot \qdisk(! XA 0.5 \logic@LR {add}{sub} ifelse YA dy 4 div 3 mul add){3pt} \qdisk(! XA 0.5 \logic@LR {add}{sub} ifelse YA dy 2 div add){3pt} \qdisk(! XB 0.5 \logic@LR {sub}{add} ifelse YA dy 4 div 3 mul add){3pt} @@ -1508,38 +1668,38 @@ \fi \rput[b](!% /dx XB XA sub 2 div def - XA dx add YA 0.1 add){\psk@circ@logic@labelstyle #3} + XA dx add YA 0.1 add){\psk@logic@labelstyle #3} \else - \ifx\psk@circ@logic@type\pst@string@logic@type@JK%---------------- JK ----------------- - \multido{\n=1+1}{\psk@circ@logic@JInput}{% + \ifx\psk@logic@type\pst@logic@type@JK%---------------- JK ----------------- + \multido{\n=1+1}{\psk@logic@JInput}{% \pnode(!% - /Step dy 2 div \psk@circ@logic@JInput\space div def + /Step dy 2 div \psk@logic@JInput\space div def /yNew Step \n\space mul def XA YA yNew add Step 2 div sub){#3J\n} \pst@getcoor{#3J\n}\pst@tempc - \uput[\ifPst@circ@logic@changeLR 180\else 0\fi](#3J\n){\psk@circ@logic@nodestyle J\n} + \uput[\ifPst@logic@changeLR 180\else 0\fi](#3J\n){\psk@logic@nodestyle J\n} \pnode(! /YC \pst@tempc exch pop \pst@number\psyunit div def /XC \pst@tempc pop \pst@number\psxunit div def XC 0.5 \logic@LR {add}{sub} ifelse YC){tempJ\n} \psline(#3J\n)(tempJ\n)% input - \ifPst@circ@logic@showDot + \ifPst@logic@showDot \qdisk(tempJ\n){3pt} \fi } - \multido{\n=1+1}{\psk@circ@logic@KInput}{% + \multido{\n=1+1}{\psk@logic@KInput}{% \pnode(!% - /Step dy 2 div \psk@circ@logic@KInput\space div def + /Step dy 2 div \psk@logic@KInput\space div def /yNew Step \n\space mul def XA YB yNew sub Step 2 div add){#3K\n} \pst@getcoor{#3K\n}\pst@tempc - \uput[\ifPst@circ@logic@changeLR 180\else 0\fi](#3K\n){\psk@circ@logic@nodestyle K\n} + \uput[\ifPst@logic@changeLR 180\else 0\fi](#3K\n){\psk@logic@nodestyle K\n} \pnode(! /YC \pst@tempc exch pop \pst@number\psyunit div def /XC \pst@tempc pop \pst@number\psxunit div def XC 0.5 \logic@LR {add}{sub} ifelse YC){tempK\n} \psline(#3K\n)(tempK\n)% input - \ifPst@circ@logic@showDot + \ifPst@logic@showDot \qdisk(tempK\n){3pt} \fi } @@ -1547,108 +1707,108 @@ (! XA 0.4 \logic@LR {sub}{add} ifelse YA dy 2 div add)(! XA YA dy 2 div add 0.15 sub) \pnode(! XA YA dy 2 div add){#3C} \psline(#3C)(! XA 0.5 \logic@LR {add}{sub} ifelse YA dy 2 div add) - \uput{0.5}[\ifPst@circ@logic@changeLR 180\else 0\fi](#3C){\psk@circ@logic@nodestyle C} + \uput{0.5}[\ifPst@logic@changeLR 180\else 0\fi](#3C){\psk@logic@nodestyle C} \pnode(! XB 0.2 \logic@LR {sub}{add} ifelse YA dy 4 div add){#3Qneg} \pscircle[linewidth=0.5pt](! XB 0.1 \logic@LR {sub}{add} ifelse YA dy 4 div add){0.1} \pnode(! XB YA dy 4 div 3 mul add){#3Q} \psline(#3Q)(! XB 0.5 \logic@LR {sub}{add} ifelse YA dy 4 div 3 mul add) \psline(#3Qneg)(! XB 0.5 \logic@LR {sub}{add} ifelse YA dy 4 div add) - \uput[\ifPst@circ@logic@changeLR 0\else 180\fi](#3Q){\psk@circ@logic@nodestyle Q} - \uput{0.4}[\ifPst@circ@logic@changeLR 0\else 180\fi](#3Qneg){\psk@circ@logic@nodestyle $\mathrm{\overline{Q}}$} - \ifPst@circ@logic@showDot + \uput[\ifPst@logic@changeLR 0\else 180\fi](#3Q){\psk@logic@nodestyle Q} + \uput{0.4}[\ifPst@logic@changeLR 0\else 180\fi](#3Qneg){\psk@logic@nodestyle $\mathrm{\overline{Q}}$} + \ifPst@logic@showDot \qdisk(! XB 0.5 \logic@LR {sub}{add} ifelse YA dy 4 div 3 mul add){3pt} \qdisk(! XB 0.5 \logic@LR {sub}{add} ifelse YA dy 4 div add){3pt} \qdisk(! XA 0.5 \logic@LR {add}{sub} ifelse YA dy 2 div add){3pt} - \fi + \fi \rput[b](!% /dx XB XA sub 2 div def - XA dx add YA 0.1 add){\psk@circ@logic@labelstyle #3} + XA dx add YA 0.1 add){\psk@logic@labelstyle #3} \else%---------------- default AND/NAND/OR/NOR/NOT/EXOR/ENOR ----------------- - \ifx\psk@circ@logic@type\pst@string@logic@type@not + \ifx\psk@logic@type\pst@logic@type@not \def\@nMax{1} - \else - \def\@nMax{\psk@circ@logic@nInput} - \fi + \else + \def\@nMax{\psk@logic@nInput} + \fi \multido{\n=1+1}{\@nMax}{% \pnode(!% - /Step dy \psk@circ@logic@nInput\space div def + /Step dy \psk@logic@nInput\space div def /yNew Step \n\space mul def XA YA yNew add \@nMax\space 1 gt {Step 2 div sub} if){#3\n} \pst@getcoor{#3\n}\pst@tempc \pnode(! /YC \pst@tempc exch pop \pst@number\psyunit div def /XC \pst@tempc pop \pst@number\psxunit div def - XC \psk@circ@logic@wireLength\space \logic@LR {add}{sub} ifelse YC){temp#3\n} + XC \psk@logic@wireLength\space \logic@LR {add}{sub} ifelse YC){temp#3\n} \psline(#3\n)(temp#3\n)% input - \ifPst@circ@logic@showDot + \ifPst@logic@showDot \qdisk(temp#3\n){3pt} \fi - \ifPst@circ@logic@showNode - \uput[\ifPst@circ@logic@changeLR 180\else 0\fi](#3\n){\psk@circ@logic@nodestyle\n} + \ifPst@logic@showNode + \uput[\ifPst@logic@changeLR 180\else 0\fi](#3\n){\psk@logic@nodestyle\n} \fi } - \ifx\psk@circ@logic@type\pst@string@logic@type@not\else - \ifx\psk@circ@logic@type\pst@string@logic@type@nand\else - \ifx\psk@circ@logic@type\pst@string@logic@type@nor\else - \ifx\psk@circ@logic@type\pst@string@logic@type@exnor\else - \pnode(! XB YA dy 2 div add){#3Q} - \psline(#3Q)(! XB \psk@circ@logic@wireLength\space \logic@LR {sub}{add} ifelse YA dy 2 div add)% output - \ifPst@circ@logic@showDot - \qdisk(! XB \psk@circ@logic@wireLength\space \logic@LR {sub}{add} ifelse YA dy 2 div add){3pt} + \ifx\psk@logic@type\pst@logic@type@not\else + \ifx\psk@logic@type\pst@logic@type@nand\else + \ifx\psk@logic@type\pst@logic@type@nor\else + \ifx\psk@logic@type\pst@logic@type@exnor\else + \pnode(! XB YA dy 2 div add){#3Q} + \psline(#3Q)(! XB \psk@logic@wireLength\space \logic@LR {sub}{add} ifelse YA dy 2 div add)% output + \ifPst@logic@showDot + \qdisk(! XB \psk@logic@wireLength\space \logic@LR {sub}{add} ifelse YA dy 2 div add){3pt} \fi - \ifPst@circ@logic@showNode - \uput[\ifPst@circ@logic@changeLR 0\else 180\fi](#3Q){\psk@circ@logic@nodestyle Q} + \ifPst@logic@showNode + \uput[\ifPst@logic@changeLR 0\else 180\fi](#3Q){\psk@logic@nodestyle Q} \fi - \fi - \fi - \fi - \fi - \ifx\psk@circ@logic@type\pst@string@logic@type@and\else% NotX output - \ifx\psk@circ@logic@type\pst@string@logic@type@or\else - \ifx\psk@circ@logic@type\pst@string@logic@type@exor\else + \fi + \fi + \fi + \fi + \ifx\psk@logic@type\pst@logic@type@and\else% NotX output + \ifx\psk@logic@type\pst@logic@type@or\else + \ifx\psk@logic@type\pst@logic@type@exor\else \pnode(! XB 0.2 \logic@LR {sub}{add} ifelse YA dy 2 div add){#3Q} \pscircle[linewidth=0.5pt](! XB 0.1 \logic@LR {sub}{add} ifelse YA dy 2 div add){0.1} - \psline(#3Q)(! XB \psk@circ@logic@wireLength\space \logic@LR {sub}{add} ifelse YA dy 2 div add)% output - \ifPst@circ@logic@showDot - \qdisk(! XB \psk@circ@logic@wireLength\space \logic@LR {sub}{add} ifelse YA dy 2 div add){3pt} + \psline(#3Q)(! XB \psk@logic@wireLength\space \logic@LR {sub}{add} ifelse YA dy 2 div add)% output + \ifPst@logic@showDot + \qdisk(! XB \psk@logic@wireLength\space \logic@LR {sub}{add} ifelse YA dy 2 div add){3pt} \fi - \ifPst@circ@logic@showNode - \uput{0.4}[\ifPst@circ@logic@changeLR 0\else 180\fi](#3Q){\psk@circ@logic@nodestyle Q} + \ifPst@logic@showNode + \uput{0.4}[\ifPst@logic@changeLR 0\else 180\fi](#3Q){\psk@logic@nodestyle Q} \fi \fi \fi - \fi - \ifx\psk@circ@logic@type\pst@string@logic@type@or + \fi + \ifx\psk@logic@type\pst@logic@type@or \def\logic@type{$\ge\kern-5pt 1$} \else - \ifx\psk@circ@logic@type\pst@string@logic@type@not + \ifx\psk@logic@type\pst@logic@type@not \def\logic@type{1} \else - \ifx\psk@circ@logic@type\pst@string@logic@type@nand + \ifx\psk@logic@type\pst@logic@type@nand \def\logic@type{\&} \else - \ifx\psk@circ@logic@type\pst@string@logic@type@nor + \ifx\psk@logic@type\pst@logic@type@nor \def\logic@type{$\ge\kern-5pt 1$} \else - \ifx\psk@circ@logic@type\pst@string@logic@type@exor + \ifx\psk@logic@type\pst@logic@type@exor \def\logic@type{=1} \else - \ifx\psk@circ@logic@type\pst@string@logic@type@exnor + \ifx\psk@logic@type\pst@logic@type@exnor \def\logic@type{=} \else \def\logic@type{\&} - \fi - \fi - \fi + \fi + \fi + \fi \fi - \fi + \fi \fi \rput(!% - /dx XB XA sub \psk@circ@logic@symbolpos\space mul def - XA dx add YB 0.3 sub){\psk@circ@logic@symbolstyle\textbf{\logic@type}} + /dx XB XA sub \psk@logic@symbolpos\space mul def + XA dx add YB 0.3 sub){\psk@logic@symbolstyle\textbf{\logic@type}} \rput[b](!% /dx XB XA sub 2 div def - XA dx add YA 0.1 add){\psk@circ@logic@labelstyle #3} + XA dx add YA 0.1 add){\psk@logic@labelstyle #3} \fi \fi \fi% end of no special RS/JK/D @@ -1657,23 +1817,20 @@ % end hv 2003-07-28 % \def\pst@draw@wire[#1](#2)(#3){{% - \setkeys{psset}{#1}% - \if\psk@circ@intensity@label\@empty\else - \setkeys{psset}{intensity=true}% + \psset{#1}% + \ifx\psk@I@label\@empty\else\psset{intensity=true}\fi + \ifx\psk@Dconvention\pst@Dconvention@generator + \Pst@Dconventiontrue + \else\ifx\psk@Dconvention\pst@Dconvention@receptor\Pst@Dconventionfalse\fi \fi - \ifx\psk@circ@dipole@convention\pst@string@dipole@convention@generator - \Pst@circ@dipole@conventiontrue - \else - \ifx\psk@circ@dipole@convention\pst@string@dipole@convention@receptor - \Pst@circ@dipole@conventionfalse - \fi - \fi - \ifPst@circ@wire@intersect - \pnode(#2){Inter@1} - \pnode(#3){Inter@2} + \bgroup + \pnode(#2){Inter@1} + \pnode(#3){Inter@2} + \psset{arrows=-} + \ifPst@wire@intersect \rput(! - /N@Inter@1 GetNode /N@Inter@2 GetNode /N@\psk@circ@wire@intersectA\space - GetNode /N@\psk@circ@wire@intersectB\space GetNode InterLines + /N@Inter@1 GetNode /N@Inter@2 GetNode /N@\psk@wire@intersectA\space + GetNode /N@\psk@wire@intersectB\space GetNode InterLines \pst@number\psyunit div exch \pst@number\psxunit div exch){\pnode{@M}}% \ncline[linestyle=none,fillstyle=none]{Inter@1}{@M} \ncput[nrot=:U,npos=.85]{\pnode{@M1}} @@ -1684,34 +1841,36 @@ \ncarc[arcangle=90]{@M1}{@M2} \else \pcline(#2)(#3) - \ifPst@circ@intensity - \ifPst@circ@direct@convention + \ifPst@intensity + \ifPst@direct@convention \ncput[nrot=:U]{% - \psline[linecolor=\psk@circ@intensity@color, - linewidth=\psk@circ@intensity@width,arrowinset=0]{->}(-.1,0)(.1,0)} - \pcline[linestyle=none,fillstyle=none,offset=\psk@circ@intensity@label@offset](#2)(#3) - \ncput[nrot=\psk@circ@label@angle]{\csname\psk@circ@intensity@labelcolor\endcsname\psk@circ@intensity@label} + \psline[linecolor=\psk@I@color, + linewidth=\psk@I@width,arrowinset=0]{->}(-.1,0)(.1,0)} + \pcline[linestyle=none,fillstyle=none,offset=\psk@I@label@offset](#2)(#3) + \ncput[nrot=\psk@label@angle]{\csname\psk@I@labelcolor\endcsname\psk@I@label} \else \ncput[nrot=:U]{% - \psline[linecolor=\psk@circ@intensity@color,linewidth=\psk@circ@intensity@width]{<-}(-.1,0)(.1,0)} - \pcline[linestyle=none,fillstyle=none,offset=\psk@circ@intensity@label@offset](#2)(#3) - \ncput[nrot=\psk@circ@label@angle]{\csname\psk@circ@intensity@labelcolor\endcsname\psk@circ@intensity@label} + \psline[linecolor=\psk@I@color,linewidth=\psk@I@width]{<-}(-.1,0)(.1,0)} + \pcline[linestyle=none,fillstyle=none,offset=\psk@I@label@offset](#2)(#3) + \ncput[nrot=\psk@label@angle]{\csname\psk@I@labelcolor\endcsname\psk@I@label} \fi \fi \fi + \egroup + \ncline[linestyle=none]{Inter@1}{Inter@2} }\ignorespaces} % % \def\pst@draw@tension@[#1](#2)(#3)#4{{% - \setkeys{psset}{#1}% + \psset{#1}% \pnode(#2){pst@tempa} % hv \pnode(#3){pst@tempb} % hv \ncline[linestyle=none,fillstyle=none]{pst@tempa}{pst@tempb} \ncput[nrot=:U,npos=0.05]{\pnode{@M1}} \ncput[nrot=:U,npos=0.95]{\pnode{@M2}} - \ncline[arrowinset=0,linecolor=\psk@circ@tension@color]{->}{@M1}{@M2} - \pcline[linestyle=none,fillstyle=none,offset=\psk@circ@label@offset](@M1)(@M2) - \ncput[nrot=\psk@circ@label@angle]{\csname\psk@circ@tension@labelcolor\endcsname #4} + \ncline[arrowinset=0,linecolor=\psk@tension@color]{->}{@M1}{@M2} + \pcline[arrows=-,linestyle=none,fillstyle=none,offset=\psk@label@offset](@M1)(@M2) + \ncput[nrot=\psk@label@angle]{\csname\psk@tension@labelcolor\endcsname #4} }\ignorespaces} % \def\node(#1){% @@ -1719,15 +1878,3 @@ % \endinput % -%% ChangeLog -%% 1.21 2004-06-10 (hv) option for the logic symbol -%% 1.20 2004-04-30 (hv) options for the logic part -%% 1.2b 2003-08-30 (hv) new tripole potentiometer, -%% fixes some typos in the doc -%% 1.2a 2003-08-28 (hv) added options for ground -%% 1.2 2003-07-28 (hv) added dipolestyle "optoCoupler" and the logic part (Flip Flops) -%% 1.1b 2003-07-24 (hv) added dipolestyle "triac" and use "rectangle" also for the -%% quadrupol transformer; added quadrupol optoCoupler -%% 1.1a 2003-07-22 (hv) fix a bug with tension -%% 1.1 2003-07-18 (hv) fix some bugs and added new dipolestyles for the diode/resistor -%% 1.0 2003-07-10 (cj) first CTAN version -- cgit v1.2.3