diff options
author | Karl Berry <karl@freefriends.org> | 2008-02-29 19:16:32 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2008-02-29 19:16:32 +0000 |
commit | 5a2a066ad2bb1f45481e00ba816bac18458e6856 (patch) | |
tree | 911424e3a99109f188c84c16716c9dbe2ef19adb /Master/texmf-dist/tex/generic/pst-circ | |
parent | f79f8dc28a02eb586b4cb2eecfe693a201c0725c (diff) |
pst-circ 1.44 (28feb08)
git-svn-id: svn://tug.org/texlive/trunk@6775 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.tex | 922 |
1 files changed, 887 insertions, 35 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 490bdc5b9c1..534cebc83f5 100644 --- a/Master/texmf-dist/tex/generic/pst-circ/pst-circ.tex +++ b/Master/texmf-dist/tex/generic/pst-circ/pst-circ.tex @@ -29,8 +29,8 @@ \ifx\PSTnodeLoaded\endinput\else\input pst-node.tex\fi \ifx\PSTXKeyLoaded\endinput\else\input pst-xkey \fi % -\def\fileversion{1.43} -\def\filedate{2007/12/19} +\def\fileversion{1.44} +\def\filedate{2008/02/27} \message{`pst-circ' v\fileversion (CJ,hv,pd)} % \edef\PstAtCode{\the\catcode`\@} \catcode`\@=11\relax @@ -380,12 +380,12 @@ \ifPst@temp\pnode(#1){TBaseNode}% \else% \pst@getcoor{#1}\pst@tempa% - \pnode(! + \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 + /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 @@ -406,7 +406,7 @@ \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 @@ -446,12 +446,12 @@ /X2 exch \pst@number\psxunit 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 + /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 -% + XBase YBase ){@@base}% base node +% \Pst@temptrue% \transistor@ii(@@base){@@emitter}{@@collector}% % @@ -459,7 +459,7 @@ \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]{% @@ -476,14 +476,14 @@ \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)} + 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)} + arrowsize=6\pslinewidth,arrowinset=0]{->}(-.1,0)(.1,0)} \nbput[npos=1.5]{\csname\psk@I@labelcolor\endcsname\psk@labelT@iC} \fi\fi% \bgroup @@ -495,14 +495,14 @@ \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)} + 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)} + 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 @@ -766,8 +766,16 @@ \ifx\dashpot #4%%% pd change \let\next\pst@multidipole@dashpot \else%%% pd change - \let\next\ignorespaces - \fi%%% pd change + \ifx\filter #4% + \let\next\pst@multidipole@filter + \else + \ifx\isolator #4% + \let\next\pst@multidipole@filter + \else + \let\next\ignorespaces + \fi + \fi + \fi%%% pd change \fi \fi \fi @@ -829,8 +837,16 @@ \ifx\dashpot #1%%% pd change \let\next\pst@multidipole@dashpot \else%%% pd change - \let\next\ignorespaces - \pst@multidipole@output + \ifx\filter #1% + \let\next\pst@multidipole@filter + \else + \ifx\isolator #1% + \let\next\pst@multidipole@isolator + \else + \let\next\ignorespaces + \pst@multidipole@output + \fi + \fi \fi%%% pd change \fi \fi @@ -1154,9 +1170,9 @@ \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) + \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} @@ -1167,24 +1183,36 @@ \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) + \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) + \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) +%%%%% + \ifPst@inputarrow + \ifx\psk@Dinput\pst@Dinput@right + \pcline[fillstyle=none,arrows=-C](#2)(dipole@1) + \pcline[fillstyle=none,arrows=->,arrowinset=0](#3)(dipole@2) + \else + \pcline[fillstyle=none,arrows=->,arrowinset=0](#2)(dipole@1) + \pcline[fillstyle=none,arrows=C-](dipole@2)(#3) + \fi + \else + \pcline[fillstyle=none,arrows=-C](#2)(dipole@1) + \pcline[fillstyle=none,arrows=C-](dipole@2)(#3) + \fi + \pcline[fillstyle=none,linestyle=none](#2)(#3) +%%%%% \pst@intensity{#2}{#3} \pst@tension{#2}{#3} \fi% @@ -1871,8 +1899,832 @@ \ncput[nrot=\psk@label@angle]{\csname\psk@tension@labelcolor\endcsname #4} }\ignorespaces} % -\def\node(#1){% -\pscircle*(#1){2\pslinewidth}} +\def\node(#1){\pscircle*(#1){2\pslinewidth}} +% +% +% +\newif\ifPst@inputarrow +\define@key[psset]{pst-circ}{inputarrow}[false]{\@nameuse{Pst@inputarrow#1}} +\newif\ifPst@programmable +\define@key[psset]{pst-circ}{programmable}[false]{\@nameuse{Pst@programmable#1}} +% +\def\pst@Gstyle@old{old} +\def\pst@Gstyle@ads{ads} +\def\pst@Gstyle@triangle{triangle} +\def\pst@Astyle@two{two} +\def\pst@Astyle@three{three} +\def\pst@Astyle@triangle{triangle} +\def\pst@LOoutput@left{left} +\def\pst@LOoutput@top{top} +\def\pst@LOoutput@right{right} +\def\pst@LOoutput@bottom{bottom} +\def\pst@LOstyle@crystal{crystal} +\def\pst@Dstyle@lowpass{lowpass} +\def\pst@Dstyle@highpass{highpass} +\def\pst@Dinput@right{right} +\def\pst@Dinput@left{left} +\def\pst@Dstyle@multiplier{multiplier} +\def\pst@Dstyle@divider{divider} +\def\pst@FMvalue@value{0} +\def\pst@tripole@style@bottom{bottom} +\def\pst@tripole@style@top{top} +\def\pst@Tinput@left{left} +\def\pst@Tinput@right{right} +\def\pst@tripole@style@circulator{circulator} +\def\pst@tripole@style@isolator{isolator} +\def\pst@Tconfig@left{left} +\def\pst@Tconfig@right{right} +\def\pst@Qstyle@directional{directional} +\def\pst@Qstyle@hybrid{hybrid} +\def\pst@Qinput@left{left} +\def\pst@Qinput@right{right} +\define@key[psset]{pst-circ}{groundstyle}{\def\psk@Gstyle{#1}} +\define@key[psset]{pst-circ}{antennastyle}{\def\psk@Astyle{#1}} +\define@key[psset]{pst-circ}{output}{\def\psk@LOoutput{#1}} +\define@key[psset]{pst-circ}{LOstyle}{\def\psk@LOstyle{#1}} +\define@key[psset]{pst-circ}{dipoleinput}{\def\psk@Dinput{#1}} +\define@key[psset]{pst-circ}{value}{\def\psk@FMvalue{#1}} +\define@key[psset]{pst-circ}{tripoleinput}{\def\psk@Tinput{#1}} +\define@key[psset]{pst-circ}{tripoleconfig}{\def\psk@Tconfig{#1}} +\define@key[psset]{pst-circ}{couplerstyle}{\def\psk@Qstyle{#1}} +\define@key[psset]{pst-circ}{quadripoleinput}{\def\psk@Qinput{#1}} +\psset{groundstyle=ads,% + antennastyle=two,% + output=top,% + dipoleinput=left,% + dipolestyle=multiplier,% + value=0,% + dipoleinput=left,% + inputarrow=false,% + tripoleinput=left,% + tripolestyle=bottom,% + tripoleconfig=left,% + quadripoleinput=left,% + couplerstyle=hybrid} +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% monopole +%%% newground: groundstyle: (ads), old, triangle +%%% Antenna: antennastyle: (two), three, triangle +%%% Oscillator: oscioutput: (top), right, bottom, left, +%%% inputarrow: (false), true +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% newground %%% +\def\newground{\@ifnextchar[{\pst@newground}{\pst@newground[]}} +\def\pst@newground[#1]{% + \@ifnextchar({\pst@newgroundi[#1]{0}}{\pst@newgroundi[#1]}% +} +\def\pst@newgroundi[#1]#2(#3){% + \psset{#1}% + \rput{#2}(#3){% + \ifx\psk@Gstyle\pst@Gstyle@ads + \psline[linewidth=1.5\pslinewidth]{c-c}(-0.3,-0.5)(0.3,-0.5) + \psline[linewidth=1.5\pslinewidth]{c-c}(-0.2,-0.6)(0.2,-0.6) + \psline[linewidth=1.5\pslinewidth]{c-c}(-0.1,-0.7)(0.1,-0.7) + \fi + \ifx\psk@Gstyle\pst@Gstyle@old + \psline[linewidth=1.5\pslinewidth](-0.5,-0.5)(0.5,-0.5) + \fi + \ifx\psk@Gstyle\pst@Gstyle@triangle + \pstriangle[linewidth=1.5\pslinewidth](0,-0.5)(0.4,-0.4) + \fi + \psline(0,0)(0,-0.5) + \pscircle*(#3){2\pslinewidth}% + } + \ignorespaces% +} +% +%%% antenna %%% +% +\def\antenna{\@ifnextchar[{\pst@antenna}{\pst@antenna[]}} +\def\pst@antenna[#1]{% + \@ifnextchar({\pst@antennai[#1]{0}}{\pst@antennai[#1]}% +} +\def\pst@antennai[#1]#2(#3){% + \psset{#1}% + \rput{#2}(#3){% + \ifx\psk@Astyle\pst@Astyle@two + \psline[linewidth=1.5\pslinewidth](0,.75)(-0.2,1.25) + \psline[linewidth=1.5\pslinewidth](0,.75)(0.2,1.25) + \fi + \ifx\psk@Astyle\pst@Astyle@three + \psline[linewidth=1.5\pslinewidth](0,.75)(-0.2,1.25) + \psline[linewidth=1.5\pslinewidth](0,.75)(0,1.25) + \psline[linewidth=1.5\pslinewidth](0,.75)(0.2,1.25) + \fi + \ifx\psk@Astyle\pst@Astyle@triangle + \pstriangle[linewidth=1.5\pslinewidth](0,1.25)(0.4,-0.5) + \fi + \psline(0,0)(0,.75) + } + \ignorespaces% +} +% +%%% oscillator %%% +% +\def\oscillator{\@ifnextchar[{\pst@oscillator}{\pst@oscillator[]}} +\def\pst@oscillator[#1]{% + \@ifnextchar({\pst@oscillatori[#1]{0}}{\pst@oscillatori[#1]}% +} +\def\pst@oscillatori[#1]#2(#3)#4#5{% + \psset{#1}% + \rput{#2}(#3){% + \pscircle[#5,linewidth=1.5\pslinewidth](0,0){0.5} + \ifx\psk@LOstyle\pst@LOstyle@crystal + \psline(-0.2,-0.35)(-0.2,0.35) + \psframe(-0.15,-0.3)(0.15,0.3) + \psline(0.2,-0.35)(0.2,0.35) + \else + \pscurve[linewidth=1.5\pslinewidth]{c-c}(-0.3,0.000)(-0.225,0.088375)(-0.15,0.1250)(-0.075,0.088375)% + (0,0.000)(0.075,-0.088375)(0.15,-0.125)(0.225,-0.088375)(0.3,0.000) + \fi + \ifx\psk@LOoutput\pst@LOoutput@left + \pst@getcoor{#3}\pst@tempa + \pnode(!% + \pst@tempa /Y1 exch \pst@number\psyunit div def + /X1 exch \pst@number\psxunit div def + /XC X1 def + /YC Y1 -0.6 add def + XC YC){C@} + \rput[t]{#2}(C@){#4} + \ifPst@inputarrow + \psline[arrows=->,arrowinset=0](-0.5,0)(-1,0) + \else + \psline(-0.5,0)(-1,0) + \fi + \fi + \ifx\psk@LOoutput\pst@LOoutput@top + \pst@getcoor{#3}\pst@tempa + \pnode(!% + \pst@tempa /Y1 exch \pst@number\psyunit div def + /X1 exch \pst@number\psxunit div def + /XC X1 def + /YC Y1 -0.6 add def + XC YC){C@} + \rput[t]{#2}(C@){#4} + \ifPst@inputarrow + \psline[arrows=->,arrowinset=0](0,0.5)(0,1) + \else + \psline(0,0.5)(0,1) + \fi + \fi + \ifx\psk@LOoutput\pst@LOoutput@right + \pst@getcoor{#3}\pst@tempa + \pnode(!% + \pst@tempa /Y1 exch \pst@number\psyunit div def + /X1 exch \pst@number\psxunit div def + /XC X1 def + /YC Y1 -0.6 add def + XC YC){C@} + \rput[t]{#2}(C@){#4} + \ifPst@inputarrow + \psline[arrows=->,arrowinset=0](0.5,0)(1,0) + \else + \psline(0.5,0)(1,0) + \fi + \fi + \ifx\psk@LOoutput\pst@LOoutput@bottom + \pst@getcoor{#3}\pst@tempa + \pnode(!% + \pst@tempa /Y1 exch \pst@number\psyunit div def + /X1 exch \pst@number\psxunit div def + /XC X1 def + /YC Y1 0.6 add def + XC YC){C@} + \rput[b]{#2}(C@){#4} + \ifPst@inputarrow + \psline[arrows=->,arrowinset=0](0,-0.5)(0,-1) + \else + \psline(0,-0.5)(0,-1) + \fi + \fi + } + \ignorespaces% +} +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Dipole +%%% filtre: dipolestyle: (bandpass), lowpass, highpass +%%% inputarrow: (false), true +%%% dipoleinput: (left), right +%%% isolator: dipoleinput: (left), right +%%% inputarrow: (false), true +%%% freqmult: dipolestyle: (multiplier), divider, +%%% value: (N), integer +%%% programmable: (false) true +%%% inputarrow: (false), true +%%% dipoleinput: (left), right +%%% phaseshifter: +%%% inputarrow: (false), true +%%% dipoleinput: (left), right +%%% vco: +%%% inputarrow: (false), true +%%% dipoleinput: (left), right +%%% amplifier: +%%% inputarrow: (false), true +%%% dipoleinput: (left), right +%%% detector: +%%% inputarrow: (false), true +%%% dipoleinput: (left), right +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% FILTER %%% +% +\def\filter{\@ifnextchar[{\pst@filter}{\pst@filter[]}} +% +\def\pst@filter[#1](#2)(#3)#4{{% + \pst@draw@dipole{#1}{#2}{#3}{#4}\pst@draw@filter% + }\ignorespaces} +% +\def\pst@multidipole@filter{\@ifnextchar[{\pst@multidipole@filter@}% +{\pst@multidipole@filter@[]}} +% +\def\pst@multidipole@filter@[#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\filter[#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@ +} +% +\def\pst@draw@filter{% + \pnode(-0.5,0){dipole@1} + \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) + \pscurve[linewidth=1.5\pslinewidth]{c-c}(-0.4,0.000)(-0.2,0.1250)(0,0.000)(0.2,-0.125)(0.4,0.000) + \pscurve[linewidth=1.5\pslinewidth]{c-c}(-0.4,-0.25)(-0.2,-0.125)(0,-0.25)(0.2,-0.375)(0.4,-0.25) +% \psline{c-c}(-0.1,0.2)(0.1,0.3) + \ifx\psk@Dstyle\pst@Dstyle@lowpass + \psline[fillstyle=none]{c-c}(-0.1,0.2)(0.1,0.3) + \psline[fillstyle=none]{c-c}(-0.1,-0.05)(0.1,0.05) + \else + \ifx\psk@Dstyle\pst@Dstyle@highpass + \psline[fillstyle=none]{c-c}(-0.1,-0.3)(0.1,-0.2) + \psline[fillstyle=none]{c-c}(-0.1,-0.05)(0.1,0.05) + \else + \psline[fillstyle=none]{c-c}(-0.1,0.2)(0.1,0.3) + \psline[fillstyle=none]{c-c}(-0.1,-0.3)(0.1,-0.2) + \fi + \fi +} + +%%% ISOLATOR %%% +% +\def\isolator{\@ifnextchar[{\pst@isolator}{\pst@isolator[]}} +% +\def\pst@isolator[#1](#2)(#3)#4{{% + \pst@draw@dipole{#1}{#2}{#3}{#4}\pst@draw@isolator% + }\ignorespaces} +% +\def\pst@multidipole@isolator{\@ifnextchar[{\pst@multidipole@isolator@}% +{\pst@multidipole@isolator@[]}} +% +\def\pst@multidipole@isolator@[#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\isolator[#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@ +} +% +\def\pst@draw@isolator{% + \pnode(-0.5,0){dipole@1} + \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 + \psline[fillstyle=none,linewidth=1.5\pslinewidth,arrowinset=0]{<-}(-0.4,0)(0.4,0) + \else + \psline[fillstyle=none,linewidth=1.5\pslinewidth,arrowinset=0]{->}(-0.4,0)(0.4,0) + \fi +} +% +%%% Frequency Multiplier or Divider %%% +\def\freqmult{\@ifnextchar[{\pst@freqmult}{\pst@freqmult[]}} +% +\def\pst@freqmult[#1](#2)(#3)#4{{% + \pst@draw@dipole{#1}{#2}{#3}{#4}\pst@draw@freqmult% + }\ignorespaces} +% +\def\pst@multidipole@freqmult{\@ifnextchar[{\pst@multidipole@freqmult@}% +{\pst@multidipole@freqmult@[]}} +% +\def\pst@multidipole@freqmult@[#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\freqmult[#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@ +} +% +\def\pst@draw@freqmult{% + \pnode(-0.5,0){dipole@1} + \pnode(0.5,0){dipole@2} + \psframe[linewidth=1.5\pslinewidth](-0.5,-0.5)(0.5,0.5) + \ifPst@programmable% + \psline[fillstyle=none](-0.4,-0.75)(-0.4,-0.5) + \psline[fillstyle=none](-0.2,-0.75)(-0.2,-0.5) + \psline(0,-0.75)(0,-0.5) + \psline[fillstyle=none](0.2,-0.75)(0.2,-0.5) + \psline[fillstyle=none](0.4,-0.75)(0.4,-0.5) + \ifx\psk@Dstyle\pst@Dstyle@divider + \rput(0,0){$\div\textrm{N}$} + \else + \rput(0,0){$\times\textrm{N}$} + \fi + \else + \ifx\psk@FMvalue\pst@FMvalue@value + \ifx\psk@Dstyle\pst@Dstyle@divider + \rput(0,0){$\div\textrm{N}$} + \else + \rput(0,0){$\times\textrm{N}$} + \fi + \else + \ifx\psk@Dstyle\pst@Dstyle@divider + \rput(0,0){$\div\textrm{\psk@FMvalue}$} + \else + \rput(0,0){$\times\textrm{\psk@FMvalue}$} + \fi + \fi + \fi% +} +% +%%% phaseshifter +\def\phaseshifter{\@ifnextchar[{\pst@phaseshifter}{\pst@phaseshifter[]}} +% +\def\pst@phaseshifter[#1](#2)(#3)#4{{% + \pst@draw@dipole{#1}{#2}{#3}{#4}\pst@draw@phaseshifter% + }\ignorespaces} +% +\def\pst@multidipole@phaseshifter{\@ifnextchar[{\pst@multidipole@phaseshifter@}% +{\pst@multidipole@phaseshifter@[]}} +% +\def\pst@multidipole@phaseshifter@[#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\phaseshifter[#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@ +} +% +\def\pst@draw@phaseshifter{% + \pnode(-0.4,0){dipole@1} + \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) +} +% +%%% VCO +\def\vco{\@ifnextchar[{\pst@vco}{\pst@vco[]}} +% +\def\pst@vco[#1](#2)(#3)#4{{% + \pst@draw@dipole{#1}{#2}{#3}{#4}\pst@draw@vco% + }\ignorespaces} +% +\def\pst@multidipole@vco{\@ifnextchar[{\pst@multidipole@vco@}% +{\pst@multidipole@vco@[]}} +% +\def\pst@multidipole@vco@[#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\vco[#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@ +} +% +\def\pst@draw@vco{% + \pnode(-0.5,0){dipole@1} + \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)% + (0,0.000)(0.075,-0.088375)(0.15,-0.125)(0.225,-0.088375)(0.3,0.000) +} +% +%%% amplifier %%% +% +\def\amplifier{\@ifnextchar[{\pst@amplifier}{\pst@amplifier[]}} +% +\def\pst@amplifier[#1](#2)(#3)#4{{% + \pst@draw@dipole{#1}{#2}{#3}{#4}\pst@draw@amplifier% + }\ignorespaces} +% +\def\pst@multidipole@amplifier{\@ifnextchar[{\pst@multidipole@amplifier@}% +{\pst@multidipole@amplifier@[]}} +% +\def\pst@multidipole@amplifier@[#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\amplifier[#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@ +} +% +\def\pst@draw@amplifier{% + \pnode(-0.433,0){dipole@1} + \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) + \else + \pstriangle[gangle=-90,linewidth=1.5\pslinewidth](-0.433,0)(1,0.866) + \fi +} +% +%%% detector %%% +% +\def\detector{\@ifnextchar[{\pst@detector}{\pst@detector[]}} +% +\def\pst@detector[#1](#2)(#3)#4{{% + \pst@draw@dipole{#1}{#2}{#3}{#4}\pst@draw@detector% + }\ignorespaces} +% +\def\pst@multidipole@detector{\@ifnextchar[{\pst@multidipole@detector@}% +{\pst@multidipole@detector@[]}} +% +\def\pst@multidipole@detector@[#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\detector[#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@ +} +% +\def\pst@draw@detector{% + \pnode(-0.5,0){dipole@1} + \psline[fillstyle=none](-0.5,0)(-0.2165,0) + \pnode(0.5,0){dipole@2} + \psline[fillstyle=none](0.5,0)(0.2165,0) + \psframe[linewidth=1.5\pslinewidth](-0.5,-0.5)(0.5,0.5) + \ifx\psk@Dinput\pst@Dinput@right + \pstriangle[gangle=90,linewidth=1.5\pslinewidth,fillstyle=none](0.2165,0)(0.5,0.433) + \psline[fillstyle=none,linewidth=1.5\pslinewidth](-0.2165,-0.25)(-0.2165,0.25) + \else + \pstriangle[gangle=-90,linewidth=1.5\pslinewidth,fillstyle=none](-0.2165,0)(0.5,0.433) + \psline[fillstyle=none,linewidth=1.5\pslinewidth](0.2165,-0.25)(0.2165,0.25) + \fi +} +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Tripole +%%% mixer: tripolestyle:(bottom), top +%%% inputarrow: (false) | true +%%% tripoleinput: (left) | right +%%% Circulator: tripolestyle=(circulator), isolator +%%% tripoleconfig: (left) | right +%%% inputarrow: (false) | true +%%% tripoleinput: (left) | right +%%% AGC: tripoleinput=(left)|right +%%% inputarrow: (false) | true +%%% tripoleinput: (left) | right +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +\def\mixer{\pst@object{mixer}} +\def\mixer@i(#1)(#2)(#3)#4#5{% + \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 + \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 + /XC X1 X2 add 2 div def + /YC Y2 def + XC YC){C@} + \rput(C@){\pst@draw@mixer{#3}{#4}{#5}} + \ifx\psk@Tinput\pst@Tinput@left% + \ifPst@inputarrow + \ncangle[arrows=->,arrowinset=0,arm=0.5,angleB=180]{#1}{Tport@left} + \else + \ncangle[arrows=-,arm=0.5,angleB=180]{#1}{Tport@left} + \fi + \ncangle[arrows=-,arm=0.5,angleB=0]{#2}{Tport@right} + \else + \ifPst@inputarrow + \ncangle[arrows=<-,arrowinset=0,arm=0.5,angleB=180]{Tport@right}{#2} + \else + \ncangle[arrows=-,arm=0.5,angleB=180]{Tport@right}{#2} + \fi + \ncangle[arrows=-,arm=0.5,angleB=180]{#1}{Tport@left} + \fi + \pcline[linestyle=none](#1)(#2)% for the endarrows + \pcline[linestyle=none](#2)(#3)% for the endarrows + \end@ClosedObj + \ignorespaces% +} +\newcommand{\pst@draw@mixer}[3]{% + \pscircle[#3,linewidth=1.5\pslinewidth](0,0){0.5} + \psline[linewidth=1.5\pslinewidth](-0.3535,-0.3535)(0.3535,0.3535) + \psline[linewidth=1.5\pslinewidth](-0.3535,0.3535)(0.3535,-0.3535) + \pnode(-0.5,0){Tport@left} + \pnode(0.5,0){Tport@right} + \ifx\psk@tripole@style\pst@tripole@style@top% + \rput[t](0,-0.6){#2} + \pnode(0,0.5){Tport@center} + \ifPst@inputarrow + \ncangle[arrows=->,arrowinset=0,arm=0.5,angleB=90]{#1}{Tport@center} + \else + \ncangle[arrows=-,arm=0.5,angleB=90]{#1}{Tport@center} + \fi + \else + \rput[b](0,0.6){#2} + \pnode(0,-0.5){Tport@center} + \ifPst@inputarrow + \ncangle[arrows=->,arrowinset=0,arm=0.5,angleB=-90]{#1}{Tport@center} + \else + \ncangle[arrows=-,arm=0.5,angleB=-90]{#1}{Tport@center} + \fi + \fi +} +% +%%% Circulator +% +\def\circulator{\pst@object{circulator}} +\def\circulator@i#1(#2)(#3)(#4)#5#6{% + \addbefore@par{dimen=middle}% + \begin@ClosedObj + \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 + /XC X1 X2 add 2 div def + /YC Y1 Y2 add 2 div def + XC YC){C@} + \rput{#1}(C@){\pst@draw@circulator{#4}{#5}{#6}} + \nput{! 90 #1 add}{Tport@label}{#5} + \ifPst@inputarrow + \ncline[arrows=->,arrowinset=0]{#2}{Tport@input} %,arm=0.5,angleB=180 + \else + \ncline[arrows=-]{#2}{Tport@input} + \fi + \ncline[arrows=-]{#3}{Tport@output} %,arm=0.5,angleB=0 + \pcline[linestyle=none](#2)(#3)% for the endarrows + \pcline[linestyle=none](#3)(#4)% for the endarrows + \end@ClosedObj + \ignorespaces% +} +\newcommand{\pst@draw@circulator}[3]{% + \pscircle[#3,linewidth=1.5\pslinewidth](0,0){0.5} + \pnode(0,0.6){Tport@label} + \ifx\psk@Tconfig\pst@Tconfig@left% + \psarc[linewidth=1.5\pslinewidth,arrowinset=0]{<-}{0.35}{15}{155} + \pnode(-0.5,0){Tport@input} + \pnode(0.5,0){Tport@output} + \else + \psarc[linewidth=1.5\pslinewidth,arrowinset=0]{->}{0.35}{25}{165} + \pnode(-0.5,0){Tport@output} + \pnode(0.5,0){Tport@input} + \fi + \ifx\psk@tripole@style\pst@tripole@style@isolator% + \psline(0,-0.5)(0,-0.95) + \multips{0}(-0.225,-1)(0.1,0){5}% + {\psline[arrows=-,linewidth=1.5\pslinewidth](0,0)(0.025,0.05)(0.075,-0.05)(0.1,0)}% + \else + \pnode(0,-0.5){Tport@center} + \ncline[arrows=-]{#1}{Tport@center} + \fi +} +% +%%% AGC +\def\agc{\pst@object{agc}} +\def\agc@i(#1)(#2)(#3)#4#5{% + \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 + \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 + /XC X1 X2 add 2 div def + /YC Y2 def + XC YC){C@} + \rput(C@){\pst@draw@agc{#1}{#2}{#4}{#5}} + \ncangle[arrows=-,arm=0.5,angleB=-90]{#3}{Tport@center} + \pcline[linestyle=none](#1)(#2)% for the endarrows + \pcline[linestyle=none](#2)(#3)% for the endarrows + \end@ClosedObj + \ignorespaces% +} +\newcommand{\pst@draw@agc}[4]{% + \pnode(-0.433,0){Tport@left} + \pnode(0.433,0){Tport@right} + \pnode(0,-0.5){Tport@center} + \rput[b](0,0.6){#3} + \psline[arrows=->,arrowinset=0](0,-0.5)(0,-0.25) + \ifx\psk@Tinput\pst@Tinput@left% + \pstriangle[#4,gangle=-90,linewidth=1.5\pslinewidth](-0.433,0)(1,0.866) + \psline[linewidth=1.5\pslinewidth,arrows=->,arrowinset=0](-0.55,-0.5)(0.25,0.5) + \ifPst@inputarrow + \ncangle[arrows=->,arrowinset=0,arm=0.5,angleB=180]{#1}{Tport@left} + \else + \ncangle[arrows=-,arm=0.5,angleB=180]{#1}{Tport@left} + \fi + \ncangle[arrows=-,arm=0.5,angleB=0]{#2}{Tport@right} + \else + \pstriangle[#4,gangle=90,linewidth=1.5\pslinewidth](0.433,0)(1,0.866) + \psline[linewidth=1.5\pslinewidth,arrows=->,arrowinset=0](0.55,-0.5)(-0.25,0.5) + \ifPst@inputarrow + \ncangle[arrows=<-,arrowinset=0,arm=0.5,angleB=180]{Tport@right}{#2} + \else + \ncangle[arrows=-,arm=0.5,angleB=180]{Tport@right}{#2} + \fi + \ncangle[arrows=-,arm=0.5,angleB=180]{#1}{Tport@left} + \fi +} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Quadripole +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Coupler %%% +\def\coupler{\pst@object{coupler}} +\def\coupler@i(#1)(#2)(#3)(#4)#5#6{% + \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 + \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 + \pst@tempc /Y4 exch \pst@number\psyunit div def + /X4 exch \pst@number\psxunit div def + /XC X1 X2 lt {X2} {X1} ifelse X3 X4 lt {X3} {X4} ifelse add 2 div def + /YC Y1 -0.4 add def + XC YC){C@} + \rput(C@){\pst@draw@coupler{#6}} + \ncangle[arrows=-,angleA=0,angleB=-180]{#1}{inup@} + \ncangle[arrows=-,angleA=180,angleB=0]{#3}{outup@} + \ifx\psk@Qinput\pst@Qinput@left% + \ifx\psk@Qstyle\pst@Qstyle@hybrid + \ncangle[arrows=-,angleA=0,angleB=-180]{#2}{indown@} + \fi + \ncangle[arrows=-,angleA=180,angleB=0]{#4}{outdown@} + \else + \ncangle[arrows=-,angleA=0,angleB=-180]{#2}{indown@} + \ifx\psk@Qstyle\pst@Qstyle@hybrid + \ncangle[arrows=-,angleA=180,angleB=0]{#4}{outdown@} + \fi + \fi +% \ncangle[arrows=-,angleA=180,angleB=0]{#4}{outdown@} + \ncline[arrows=-,linestyle=none,fillstyle=none]{inup@}{outup@} + \naput{#5} + \pcline[linestyle=none](#1)(#3)% for the end arrows + \pcline[linestyle=none](#2)(#4)% for the end arrows + \end@ClosedObj% + \ignorespaces% +} +% +\newcommand{\pst@draw@coupler}[1]{% + \pnode(-0.75,0.4){inup@} + \pnode(0.75,0.4){outup@} + \psframe[#1,linewidth=1.5\pslinewidth](-0.5,-0.5)(0.5,0.5) + \psline(-0.5,0.4)(0.5,0.4) + \psline(-0.5,-0.4)(0.5,-0.4) + \psline(-0.4,0.35)(0.4,-0.35) + \psline(-0.4,-0.35)(0.4,0.35) +% + \ifx\psk@Qinput\pst@Qinput@left% + \pnode(0.75,-0.4){outdown@} + \ifPst@inputarrow% + \psline[arrows=->,arrowinset=0](-0.75,0.4)(-0.5,0.4) + \else + \psline(-0.75,0.4)(-0.5,0.4) + \fi + \psline(0.5,0.4)(0.75,0.4) + \psline(0.5,-0.4)(0.75,-0.4) + \ifx\psk@Qstyle\pst@Qstyle@hybrid + \pnode(-0.75,-0.4){indown@} + \ifPst@inputarrow% + \psline[arrows=->,arrowinset=0](-0.75,-0.4)(-0.5,-0.4) + \else + \psline(-0.75,-0.4)(-0.5,-0.4) + \fi + \else + \ifx\psk@Qstyle\pst@Qstyle@directional + \psline[arrows=-,linewidth=1.5\pslinewidth](-0.8,-0.75)(-0.8,-0.675) + \multips{90}(-0.8,-0.675)(0,0.1){4}% + {\psline[arrows=-,linewidth=1.5\pslinewidth](0,0)(0.025,0.05)(0.075,-0.05)(0.1,0)}% + \psline[arrows=-,linewidth=1.5\pslinewidth](-0.8,-0.275)(-0.8,-0.2) + \psline(-0.75,-0.4)(-0.5,-0.4) + \fi + \fi + \else + \pnode(-0.75,-0.4){indown@} + \ifPst@inputarrow + \psline[arrows=->,arrowinset=0](0.75,0.4)(0.5,0.4) + \else + \psline(0.75,0.4)(0.5,0.4) + \fi + \psline(-0.5,0.4)(-0.75,0.4) + \psline(-0.5,-0.4)(-0.75,-0.4) + \ifx\psk@Qstyle\pst@Qstyle@hybrid + \pnode(0.75,-0.4){outdown@} + \ifPst@inputarrow% + \psline[arrows=->,arrowinset=0](0.75,-0.4)(0.5,-0.4) + \else + \psline(0.75,-0.4)(0.5,-0.4) + \fi + \else + \ifx\psk@Qstyle\pst@Qstyle@directional + \psline[arrows=-,linewidth=1.5\pslinewidth](0.8,-0.75)(0.8,-0.675) + \multips{90}(0.8,-0.675)(0,0.1){4}% + {\psline[arrows=-,linewidth=1.5\pslinewidth](0,0)(0.025,0.05)(0.075,-0.05)(0.1,0)}% + \psline[arrows=-,linewidth=1.5\pslinewidth](0.8,-0.275)(0.8,-0.2) + \psline(0.75,-0.4)(0.5,-0.4) + \fi + \fi + \fi +% +} +% +\catcode`\@=\PstAtCode\relax % \endinput % |