From 8e604fd314ceb4046499cd237b8ffb3fbc2eda2e Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 22 Dec 2008 23:26:45 +0000 Subject: pst-circ 1.49 (22dec08) git-svn-id: svn://tug.org/texlive/trunk@11687 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/tex/generic/pst-circ/pst-circ.tex | 387 ++++++++++----------- 1 file changed, 178 insertions(+), 209 deletions(-) (limited to 'Master/texmf-dist/tex/generic/pst-circ') 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 22aec4edd25..f4e41324609 100644 --- a/Master/texmf-dist/tex/generic/pst-circ/pst-circ.tex +++ b/Master/texmf-dist/tex/generic/pst-circ/pst-circ.tex @@ -24,20 +24,22 @@ % % 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 +\ifx\PSTMultidoLoaded\endinput\else\input multido.tex\fi % -\def\fileversion{1.47} -\def\filedate{2008/08/06} +\def\fileversion{1.49} +\def\filedate{2008/11/08} \message{`pst-circ' v\fileversion (CJ,hv,pd)} % -\edef\PstAtCode{\the\catcode`\@} \catcode`\@=11\relax +\edef\PstAtCode{\the\catcode`\@} +\catcode`\@=11\relax \pst@addfams{pst-circ} % \pstheader{pst-circ.pro} \SpecialCoor + % \newdimen\Pst@position % @@ -66,6 +68,7 @@ \newif\ifPst@T@changeLR \newif\ifPst@Ttype \newif\ifPst@FETchanneltype% Ted +\newif\ifPst@T@memory% atosch \newif\ifPst@Trafo@iprimary \newif\ifPst@Trafo@isecondary \newif\ifPst@variable @@ -82,6 +85,7 @@ \def\pst@FETchanneltype@P{P}% Ted \def\pst@FETchanneltype@N{N}% Ted % start Herbert 2003-07-17 +\def\pst@Dstyle@twoCircles{twoCircles} \def\pst@Dstyle@varistor{varistor} \def\pst@Dstyle@thyristor{thyristor} \def\pst@Dstyle@GTO{GTO} @@ -149,15 +153,17 @@ \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}{FETmemory}[true]{\@nameuse{Pst@T@memory#1}}% atosch \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}{circedge}{% + \let\pscirc@edge#1% + \ifx\pscirc@edge\@none\def\pscirc@edge(##1)(##2){}\fi% + \ifx\pscirc@edge\pcangles\def\pscirc@edge@sector{2.5}\else\def\pscirc@edge@sector{1.5}\fi% } % \define@key[psset]{pst-circ}{primarylabel}{\def\psk@Trafo@primary@label{#1}} @@ -197,8 +203,8 @@ \def\pst@logic@type@D{D} \def\pst@logic@type@JK{JK} % -\psset{% - labelInside=0,% +\psset[pst-circ]{% + labelInside=0,circedge=\pcangle, intensity=false,intensitylabel={},intensitylabeloffset=0.5, intensitycolor=black,intensitylabelcolor=black,intensitywidth=\pslinewidth, tension=false,tensionlabel={},tensionoffset=1,tensionlabeloffset=1.2, @@ -210,19 +216,22 @@ OAiminuslabel={},OAioutlabel={},OApower=false,% transistorcircle=true, transistorinvert=false, % hv 2003-07-23 transistoribase=false,transistoricollector=false,transistoriemitter=false,% - transistoribaselabel={},basesep=0pt,edge=\pcangle,% + transistoribaselabel={},basesep=0pt, transistoricollectorlabel={},transistoriemitterlabel={}, transistortype=NPN,TRot=0,% + FETmemory=false, % atosch primarylabel={},secondarylabel={},transformeriprimary=false,transformerisecondary=false, transformeriprimarylabel={},transformerisecondarylabel={}, - 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 + 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, - logicSymbolpos=0.5,logicNodestyle=\footnotesize}% hv + logicSymbolpos=0.5,logicNodestyle=\footnotesize +}% hv + % -\newpsstyle{baseOpt}{edge=\pcline,arrows=-,arm=.5,angleA=0,angleB=180} +\newpsstyle{baseOpt}{circedge=\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} % @@ -232,8 +241,7 @@ % \def\resistor{\@ifnextchar[{\pst@resistor}{\pst@resistor[]}} \def\pst@resistor[#1](#2)(#3)#4{{% - \pst@draw@dipole{#1}{#2}{#3}{#4}\pst@draw@resistor% - }\ignorespaces} + \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{{% @@ -370,82 +378,92 @@ } % \newif\ifPst@temp -\def\transistor{\@ifnextchar[{\transistor@i}{\transistor@i[]}} -\def\transistor@i[#1](#2){% +\def\transistor{\def\pst@par{}\pst@object{transistor}} +\def\transistor@i(#1){% +% \addbefore@par{circedge=\pcangle} + \pst@killglue \begingroup - \psset{#1} - \@ifnextchar({\transistor@iii(#2)}{\Pst@tempfalse\transistor@ii(#2)}} + \use@par% + \@ifnextchar({\transistor@iii(#1)}{\Pst@tempfalse\transistor@ii(#1)}} % \def\transistor@ii(#1)#2#3{% with one node, the base \pst@killglue% \ifPst@temp\pnode(#1){TBaseNode}% \else% - \pst@getcoor{#1}\pst@tempa% + \pst@getcoor{#1}\pst@tempA% \pnode(! - \pst@tempa /YB exch \pst@number\psyunit div def + \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 + \psdot(#1)% + \rput[c]{\Pst@TRot}(TBaseNode){%(#1){% + \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 + \ifPst@T@memory% atosch + \psline[arrows=-,linewidth=\psk@I@width](-0.15,0.5)(-0.15,-0.5)% + \fi% + \psline[arrows=-,linewidth=\psk@I@width](TBaseNode|0,0.5)(TBaseNode|0,-0.5)% + \else% + \psline[arrows=-,linewidth=4\pslinewidth](TBaseNode|0,0.4)(TBaseNode|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.75,-0.5){#2}\else\pnode(0.75,-0.5){#3}\fi% + \ifPst@T@invert\pnode(0.75,0.5){#3}\else\pnode(0.75,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% \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 + \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% \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) + \ifnum180=\Pst@TRot\relax + \psline[arrows=-](0.6,0.5)(0.05,0.5)(0.05,-0.5)(0.6,-0.5)% + \else + \psline[arrows=-](0.65,0.5)(0.15,0.5)(0.15,-0.5)(0.65,-0.5)% + \fi% \else% - \psline[origin={#2},arrowinset=0,arrowsize=8\pslinewidth]{<-}(-0.5,0) + \psline[arrows=-](0.5,0.5)(TBaseNode)(0.5,-0.5)% \fi% - \else - \ifx\psk@Ttype\pst@Ttype@PNP\relax% - \psline[arrowinset=0,arrowsize=8\pslinewidth]{->}(#3)(TBaseNode) + \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% - \psline[arrowinset=0,arrowsize=8\pslinewidth]{->}(TBaseNode)(#2) + \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% - \fi + }% \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% + \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 + \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 + \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 + \pst@tempC /Y3 exch \pst@number\psyunit div def /X3 exch \pst@number\psxunit div def /LR X1 X2 lt { false }{ true } ifelse def % change left-right /basesep \Pst@basesep\space \pst@number\psxunit div def @@ -461,7 +479,7 @@ \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% + \bgroup\psset{style=baseOpt}\pscirc@edge(#1)(TBaseNode)\egroup% \ifPst@T@iB% base current? \ncput[npos=0.5,nrot=\Pst@TRot]{% \psline[linecolor=\psk@I@color,linewidth=\psk@I@width,% @@ -470,41 +488,41 @@ \fi% \bgroup% \psset{style=collectorOpt}% - \ifPst@T@invert\psedge(#3)(@@emitter)\else\psedge(#3)(@@collector)\fi% + \ifPst@T@invert\pscirc@edge(#3)(@@emitter)\else\pscirc@edge(#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]{% + \ncput[npos=\pscirc@edge@sector,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} + \nbput[npos=\pscirc@edge@sector]{\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]{% + \ncput[npos=\pscirc@edge@sector,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} + \nbput[npos=\pscirc@edge@sector]{\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 + \ifPst@T@invert\pscirc@edge(#2)(@@collector)\else\pscirc@edge(#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]{% + \ncput[npos=\pscirc@edge@sector,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} + \naput[npos=\pscirc@edge@sector]{\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]{% + \ncput[npos=\pscirc@edge@sector,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} + \naput[npos=\pscirc@edge@sector]{\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 @@ -728,54 +746,54 @@ \pst@count@i=\z@ \let\pst@multidipole@output\@empty \ifx\resistor #4% - \let\next\pst@multidipole@resistor + \let\pscirc@next\pst@multidipole@resistor \else \ifx\capacitor #4% - \let\next\pst@multidipole@capacitor + \let\pscirc@next\pst@multidipole@capacitor \else \ifx\battery #4% - \let\next\pst@multidipole@battery + \let\pscirc@next\pst@multidipole@battery \else \ifx\coil #4% - \let\next\pst@multidipole@coil + \let\pscirc@next\pst@multidipole@coil \else \ifx\Ucc #4% - \let\next\pst@multidipole@Ucc + \let\pscirc@next\pst@multidipole@Ucc \else \ifx\Icc #4% - \let\next\pst@multidipole@Icc + \let\pscirc@next\pst@multidipole@Icc \else \ifx\switch #4% - \let\next\pst@multidipole@switch + \let\pscirc@next\pst@multidipole@switch \else \ifx\diode #4% - \let\next\pst@multidipole@diode + \let\pscirc@next\pst@multidipole@diode \else \ifx\Zener #4% - \let\next\pst@multidipole@Zener + \let\pscirc@next\pst@multidipole@Zener \else \ifx\wire #4% - \let\next\pst@multidipole@wire + \let\pscirc@next\pst@multidipole@wire \else \ifx\lamp #4% - \let\next\pst@multidipole@lamp + \let\pscirc@next\pst@multidipole@lamp \else \ifx\circledipole #4% - \let\next\pst@multidipole@circledipole + \let\pscirc@next\pst@multidipole@circledipole \else \ifx\LED #4% - \let\next\pst@multidipole@LED + \let\pscirc@next\pst@multidipole@LED \else%%% pd change \ifx\dashpot #4%%% pd change - \let\next\pst@multidipole@dashpot + \let\pscirc@next\pst@multidipole@dashpot \else%%% pd change \ifx\filter #4% - \let\next\pst@multidipole@filter + \let\pscirc@next\pst@multidipole@filter \else \ifx\isolator #4% - \let\next\pst@multidipole@filter + \let\pscirc@next\pst@multidipole@filter \else - \let\next\ignorespaces + \let\pscirc@next\ignorespaces \fi \fi \fi%%% pd change @@ -794,59 +812,59 @@ \fi \advance\pst@count@i\@ne \advance\pst@count@iii\@ne - \next + \pscirc@next } % \def\pst@multidipole@#1{% \ifx\resistor #1% - \let\next\pst@multidipole@resistor + \let\pscirc@next\pst@multidipole@resistor \else \ifx\capacitor #1% - \let\next\pst@multidipole@capacitor + \let\pscirc@next\pst@multidipole@capacitor \else \ifx\battery #1% - \let\next\pst@multidipole@battery + \let\pscirc@next\pst@multidipole@battery \else \ifx\coil #1% - \let\next\pst@multidipole@coil + \let\pscirc@next\pst@multidipole@coil \else \ifx\Ucc #1% - \let\next\pst@multidipole@Ucc + \let\pscirc@next\pst@multidipole@Ucc \else \ifx\Icc #1% - \let\next\pst@multidipole@Icc + \let\pscirc@next\pst@multidipole@Icc \else \ifx\switch #1% - \let\next\pst@multidipole@switch %off + \let\pscirc@next\pst@multidipole@switch %off \else \ifx\diode #1% - \let\next\pst@multidipole@diode + \let\pscirc@next\pst@multidipole@diode \else \ifx\Zener #1% - \let\next\pst@multidipole@Zener + \let\pscirc@next\pst@multidipole@Zener \else \ifx\wire #1% - \let\next\pst@multidipole@wire + \let\pscirc@next\pst@multidipole@wire \else \ifx\lamp #1% - \let\next\pst@multidipole@lamp + \let\pscirc@next\pst@multidipole@lamp \else \ifx\circledipole #1% - \let\next\pst@multidipole@circledipole + \let\pscirc@next\pst@multidipole@circledipole \else \ifx\LED #1% - \let\next\pst@multidipole@LED + \let\pscirc@next\pst@multidipole@LED \else%%% pd change \ifx\dashpot #1%%% pd change - \let\next\pst@multidipole@dashpot + \let\pscirc@next\pst@multidipole@dashpot \else%%% pd change \ifx\filter #1% - \let\next\pst@multidipole@filter + \let\pscirc@next\pst@multidipole@filter \else \ifx\isolator #1% - \let\next\pst@multidipole@isolator + \let\pscirc@next\pst@multidipole@isolator \else - \let\next\ignorespaces + \let\pscirc@next\ignorespaces \pst@multidipole@output \fi \fi @@ -866,7 +884,7 @@ \fi \advance\pst@count@i\@ne \advance\pst@count@iii\@ne - \next + \pscirc@next } % \def\pst@multidipole@resistor{\@ifnextchar[{\pst@multidipole@resistor@}{\pst@multidipole@resistor@[]}} @@ -1157,10 +1175,9 @@ %%%%%%%%%%%%%%%%%%%%%%%% % \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 + \psset{dimen=middle,#1}% + \if\psk@I@label\@empty\else\psset[pst-circ]{intensity=true}\fi + \if\psk@tension@label\@empty\else\psset[pst-circ]{tension=true}\fi \ifx\psk@Dconvention\pst@Dconvention@generator \Pst@Dconventiontrue \else @@ -1180,7 +1197,7 @@ \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@@@1)(dipole@i) \pcline[arrows=-](dipole@2)(dipole@@@2) \pcline[arrows=-](dipole@@@2)(dipole@@2) \ifPst@parallel@node @@ -1198,20 +1215,17 @@ \pcline[arrows=-,linestyle=none, fillstyle=none,offset=\psk@label@offset](#2)(#3) \ncput[nrot=\psk@label@angle]{#4} - %%% - % CHANGES HERE!!! - %%% %%%%% \ifPst@inputarrow \ifx\psk@Dinput\pst@Dinput@right - \pcline[fillstyle=none,arrows=-C](#2)(dipole@1) + \pcline[fillstyle=none,arrows=-C](#2)(dipole@i) \pcline[fillstyle=none,arrows=->,arrowinset=0](#3)(dipole@2) \else - \pcline[fillstyle=none,arrows=->,arrowinset=0](#2)(dipole@1) + \pcline[fillstyle=none,arrows=->,arrowinset=0](#2)(dipole@i) \pcline[fillstyle=none,arrows=C-](dipole@2)(#3) \fi \else - \pcline[fillstyle=none,arrows=-C](#2)(dipole@1) + \pcline[fillstyle=none,arrows=-C](#2)(dipole@i) \pcline[fillstyle=none,arrows=C-](dipole@2)(#3) \fi \pcline[fillstyle=none,linestyle=none](#2)(#3) @@ -1219,65 +1233,16 @@ \pst@intensity{#2}{#3} \pst@tension{#2}{#3} \fi% - }% -% -\iffalse % the original stuff -\def\pst@draw@dipole#1#2#3#4#5{% - \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} - \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@intensity#1#2{% \ifPst@intensity \ifPst@direct@convention - \pcline[arrows=-,linestyle=none,fillstyle=none](#1)(dipole@1) + \pcline[arrows=-,linestyle=none,fillstyle=none](#1)(dipole@i) \ncput[nrot=:U]{% \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) + \pcline[arrows=-,linestyle=none,fillstyle=none,offset=\psk@I@label@offset](#1)(dipole@i) \ncput[nrot=\psk@label@angle]{\csname\psk@I@labelcolor\endcsname\psk@I@label} \else \pcline[arrows=-,linestyle=none,fillstyle=none](dipole@2)(#2) @@ -1292,7 +1257,7 @@ \def\pst@tension#1#2{% \ifPst@tension \pcline[arrows=-,linestyle=none,fillstyle=none,% - offset=\psk@tension@offset](#1)(dipole@1) + offset=\psk@tension@offset](#1)(dipole@i) \ncput[npos=.5]{\pnode{tension@1}} \pcline[arrows=-,linestyle=none,fillstyle=none, offset=-\psk@tension@offset](#2)(dipole@2) @@ -1315,7 +1280,7 @@ \fi \fi \pcline[arrows=-,linestyle=none,fillstyle=none,% - offset=\psk@tension@label@offset](dipole@1)(dipole@2) + offset=\psk@tension@label@offset](dipole@i)(dipole@2) \ncput[nrot=\psk@label@angle]{% \csname\psk@tension@labelcolor\endcsname\psk@tension@label} \fi @@ -1323,19 +1288,16 @@ % \def\pst@draw@resistor{% \ifx\psk@Dstyle\pst@Dstyle@zigzag - \pnode(-0.75,0){dipole@1} + \pnode(-0.75,0){dipole@i} \pnode(0.75,0){dipole@2} - \multips(-0.75,0)(0.5,0){3}% - {\psline[arrows=-,linewidth=1.5\pslinewidth]% + \multips(-0.75,0)(0.5,0){3}{% + \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} + \pnode(-0.5,0){dipole@i}\pnode(0.5,0){dipole@2} \psframe[linewidth=1.5\pslinewidth](-0.5,-0.25)(0.5,0.25) \fi - \ifPst@variable% - \psline{->}(-0.5,-0.55)(0.5,0.55)% - \fi + \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 @@ -1343,7 +1305,7 @@ % % pd start ==================================================== \def\pst@draw@dashpot{% - \pnode(0,0){dipole@1}% + \pnode(0,0){dipole@i}% \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)% @@ -1356,31 +1318,31 @@ \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.2,0){dipole@i} \pnode(0.125,0){dipole@2} \else \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@i} \pnode(0.2284123,0){dipole@2} \else \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@i} \pnode(0.2284123,0){dipole@2} \else \ifx\psk@Dstyle\pst@Dstyle@crystal \psline[arrows=-](-0.3,-0.4)(-0.3,0.4) \psline[arrows=-](0.3,-0.4)(0.3,0.4) \psframe(-0.2,-0.5)(0.2,0.5) - \pnode(-0.3,0){dipole@1} + \pnode(-0.3,0){dipole@i} \pnode(0.3,0){dipole@2} \else \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@i} \pnode(0.2,0){dipole@2} \fi \fi @@ -1414,7 +1376,7 @@ \def\pst@draw@battery{% \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@i} \pnode(0.1,0){dipole@2} \ifPst@variable% \psline{->}(-0.75,-0.5)(0.75,0.5)% @@ -1429,7 +1391,7 @@ (0,0.3)(0.25,0)(0.2,-0.2)(0.1,0) (0.2,0.3)(0.45,0)(0.4,-0.2)(0.3,0) (0.4,0.3)(0.65,0)(0.6,-0.2)(0.5,0) - \pnode(-0.7,0){dipole@1} + \pnode(-0.7,0){dipole@i} \pnode(0.5,0){dipole@2} \else \ifx\psk@Dstyle\pst@Dstyle@elektor @@ -1437,7 +1399,7 @@ \psarcn(-0.1295265,0){0.1295265}{-180}{0} \psarcn(0.1295265,0){0.1295265}{-180}{0} \psarcn[arrows=-c](0.3885794,0){0.1295265}{-180}{0} - \pnode(-0.5181058,0){dipole@1} + \pnode(-0.5181058,0){dipole@i} \pnode(0.5181058,0){dipole@2} \else \ifx\psk@Dstyle\pst@Dstyle@elektorcurved @@ -1445,11 +1407,11 @@ \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@i} \pnode(0.6,0){dipole@2} \else \ifx\psk@Dstyle\pst@Dstyle@rectangle - \pnode(-0.5,0){dipole@1} + \pnode(-0.5,0){dipole@i} \pnode(0.5,0){dipole@2} \psframe[linewidth=1.5\pslinewidth,fillstyle=solid,fillcolor=black](-0.5,-0.25)(0.5,0.25) \else @@ -1457,14 +1419,14 @@ \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@i} \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@i} \pnode(0.5,0){dipole@2} \ifx\psk@Dstyle\pst@Dstyle@diamond \pspolygon[linewidth=1.5\pslinewidth](-0.5,0)(0,0.5)(0.5,0)(0,-0.5) @@ -1480,21 +1442,28 @@ } % \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[arrows=-,linewidth=1.5\pslinewidth](0,-0.5)(0,0.5) - } + \ifx\psk@Dstyle\pst@Dstyle@twoCircles + \pnode(-0.7,0){dipole@i} + \pnode(0.7,0){dipole@2} + \pscircle[linewidth=1.5\pslinewidth](-0.175,0){0.5} + \pscircle[linewidth=1.5\pslinewidth](0.175,0){0.5} + \else + \pnode(-0.5,0){dipole@i} + \pnode(0.5,0){dipole@2} + \pscircle[linewidth=1.5\pslinewidth](0,0){0.5} + \psline[arrows=-,linewidth=1.5\pslinewidth](0,-0.5)(0,0.5) + \fi% +} % \def\pst@draw@switch{% \ifx\psk@Dstyle\pst@Dstyle@close - \pnode(-0.5,0){dipole@1} + \pnode(-0.5,0){dipole@i} \pnode(0.5,0){dipole@2} \qdisk(-0.5,0){1.5pt} \qdisk(0.5,0){1.5pt} \psline[arrows=-,linewidth=2\pslinewidth](-0.5,0.05)(0.5,0.05) \else - \pnode(-0.55,0){dipole@1} + \pnode(-0.55,0){dipole@i} \pnode(0.5,0){dipole@2} \psline[arrows=-,linewidth=2\pslinewidth](-0.5,0)(0.5,0.5) \psarcn[arrowinset=0]{->}(-0.5,0){0.75}{45}{-45} @@ -1521,7 +1490,7 @@ \psline[arrows=-,linewidth=1.5\pslinewidth](0,-0.1)(0,-0.35) \fi \fi - \pnode(-0.25,0){dipole@1} + \pnode(-0.25,0){dipole@i} \pnode(0.25,0){dipole@2} } % @@ -1532,7 +1501,7 @@ \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@i} \pnode(0.25,0){dipole@2} } % @@ -1540,20 +1509,20 @@ \pscircle[linewidth=1.5\pslinewidth]{0.5} \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@i} \pnode(0.5,0){dipole@2} } % \def\pst@draw@circledipole{% \pscircle[linewidth=1.5\pslinewidth]{0.5} - \pnode(-0.5,0){dipole@1} + \pnode(-0.5,0){dipole@i} \pnode(0.5,0){dipole@2} } % \def\pst@draw@LED{% \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@i} \pnode(0.25,0){dipole@2} \multips(-0.25,0.3)(0.25,0){3}{\psline[arrows=->](0.25,0.22)}% } @@ -2177,7 +2146,7 @@ } % \def\pst@draw@filter{% - \pnode(-0.5,0){dipole@1} + \pnode(-0.5,0){dipole@i} \pnode(0.5,0){dipole@2} \psframe[linewidth=1.5\pslinewidth](-0.5,-0.5)(0.5,0.5) \pscurve[linewidth=1.5\pslinewidth]{c-c}(-0.4,0.250)(-0.2,0.3750)(0,0.250)(0.2,0.1250)(0.4,0.250) @@ -2228,7 +2197,7 @@ } % \def\pst@draw@isolator{% - \pnode(-0.5,0){dipole@1} + \pnode(-0.5,0){dipole@i} \pnode(0.5,0){dipole@2} \psframe[linewidth=1.5\pslinewidth](-0.5,-0.5)(0.5,0.5) \ifx\psk@Dinput\pst@Dinput@right @@ -2267,7 +2236,7 @@ } % \def\pst@draw@freqmult{% - \pnode(-0.5,0){dipole@1} + \pnode(-0.5,0){dipole@i} \pnode(0.5,0){dipole@2} \psframe[linewidth=1.5\pslinewidth](-0.5,-0.5)(0.5,0.5) \ifPst@programmable% @@ -2327,7 +2296,7 @@ } % \def\pst@draw@phaseshifter{% - \pnode(-0.4,0){dipole@1} + \pnode(-0.4,0){dipole@i} \pnode(0.4,0){dipole@2} \pscircle[linewidth=1.5\pslinewidth](0,0){0.4} \psline[fillstyle=none,linewidth=1.5\pslinewidth,arrowinset=0]{->}(-0.5,-0.5)(0.5,0.5) @@ -2362,7 +2331,7 @@ } % \def\pst@draw@vco{% - \pnode(-0.5,0){dipole@1} + \pnode(-0.5,0){dipole@i} \pnode(0.5,0){dipole@2} \pscircle[linewidth=1.5\pslinewidth](0,0){0.5} \pscurve[linewidth=1.5\pslinewidth]{c-c}(-0.3,0.000)(-0.225,0.088375)(-0.15,0.1250)(-0.075,0.088375)% @@ -2399,7 +2368,7 @@ } % \def\pst@draw@amplifier{% - \pnode(-0.433,0){dipole@1} + \pnode(-0.433,0){dipole@i} \pnode(0.433,0){dipole@2} \ifx\psk@Dinput\pst@Dinput@right \pstriangle[gangle=90,linewidth=1.5\pslinewidth](0.433,0)(1,0.866) @@ -2438,7 +2407,7 @@ } % \def\pst@draw@detector{% - \pnode(-0.5,0){dipole@1} + \pnode(-0.5,0){dipole@i} \psline[fillstyle=none](-0.5,0)(-0.2165,0) \pnode(0.5,0){dipole@2} \psline[fillstyle=none](0.5,0)(0.2165,0) -- cgit v1.2.3