summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/pst-circ
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2008-12-22 23:26:45 +0000
committerKarl Berry <karl@freefriends.org>2008-12-22 23:26:45 +0000
commit8e604fd314ceb4046499cd237b8ffb3fbc2eda2e (patch)
treeb58c912784e9bc4a8ee7ebeeab7c9323305c4ea5 /Master/texmf-dist/tex/generic/pst-circ
parenta39eb5c7dab66b1864ea143ea39c888805c793bc (diff)
pst-circ 1.49 (22dec08)
git-svn-id: svn://tug.org/texlive/trunk@11687 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic/pst-circ')
-rw-r--r--Master/texmf-dist/tex/generic/pst-circ/pst-circ.tex387
1 files changed, 178 insertions, 209 deletions
diff --git a/Master/texmf-dist/tex/generic/pst-circ/pst-circ.tex b/Master/texmf-dist/tex/generic/pst-circ/pst-circ.tex
index 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)