From ef657b0c61ed6e67b60adb7ed1ae6577f076e8df Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 3 Apr 2010 15:34:57 +0000 Subject: pst-circ 1.54 (1apr10) git-svn-id: svn://tug.org/texlive/trunk@17659 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/tex/generic/pst-circ/pst-circ.tex | 111 ++++++++++++++++----- 1 file changed, 86 insertions(+), 25 deletions(-) (limited to 'Master/texmf-dist/tex/generic/pst-circ/pst-circ.tex') 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 17c3227d19f..e3fc1033a72 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\PSTXKeyLoaded\endinput \else\input pst-xkey \fi \ifx\PSTMultidoLoaded\endinput\else\input multido.tex\fi % -\def\fileversion{1.52} -\def\filedate{2010/01/15} +\def\fileversion{1.54} +\def\filedate{2010/03/29} \message{`pst-circ' v\fileversion (CJ,hv,pd)} % \edef\PstAtCode{\the\catcode`\@} @@ -270,6 +270,14 @@ \def\pst@LED[#1](#2)(#3)#4{{% \pst@draw@dipole{#1}{#2}{#3}{#4}\pst@draw@LED}\ignorespaces} % +\def\OpenDipol{\@ifnextchar[{\pst@OpenDipol}{\pst@OpenDipol[]}} +\def\pst@OpenDipol[#1](#2)(#3)#4{{% + \pst@draw@dipole{radius=2pt,#1}{#2}{#3}{#4}\pst@draw@OpenDipol}\ignorespaces} +% +\def\OpenTripol{\@ifnextchar[{\pst@OpenTripol}{\pst@OpenTripol[]}} +\def\pst@OpenTripol[#1](#2)(#3)#4{{% + \pst@draw@dipole{radius=2pt,#1}{#2}{#3}{#4}\pst@draw@OpenTripol}\ignorespaces} +% %-mla----------------------------------------------- \def\Suppressor{\@ifnextchar[{\pst@Suppressor}{\pst@Suppressor[]}} \def\pst@Suppressor[#1](#2)(#3)#4{{% @@ -603,37 +611,38 @@ \ifPst@intensity \psset{transformeriprimary=true,transformerisecondary=true}% \fi - \pst@getcoor{#1}\pst@tempa - \pst@getcoor{#2}\pst@tempb - \pst@getcoor{#3}\pst@tempc - \pst@getcoor{#4}\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 - \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 + \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@tempD /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 Y3 lt {Y1} {Y3} ifelse Y2 Y4 lt {Y2} {Y4} ifelse add 2 div def XC YC){C@} \rput(C@){\pst@draw@transformer} - \ncangle[arrows=-,arm=0.5,angleB=90]{#1}{inup@} + \pnode(#1){@endA}\pnode(#2){@endB}\pnode(#3){@endC}\pnode(#4){@endD}% + \ncangle[arrows=-,arm=0.5,angleB=90]{@endA}{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[arrows=-,arm=0.5,angleB=-90]{#2}{indown@} - \ncangle[arrows=-,arm=0.5,angleB=90]{#3}{outup@} - \ifPst@Trafo@iprimary + \ncangle[arrows=-,arm=0.5,angleB=-90]{@endB}{indown@} + \ncangle[arrows=-,arm=0.5,angleB=90]{@endC}{outup@} + \ifPst@Trafo@isecondary \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[arrows=-,arm=0.5,angleB=-90]{#4}{outdown@} + \ncangle[arrows=-,arm=0.5,angleB=-90]{@endD}{outdown@} \ncline[arrows=-,linestyle=none,fillstyle=none]{indown@}{inup@} \naput{\psk@Trafo@primary@label} \ncline[arrows=-,linestyle=none,fillstyle=none]{outdown@}{outup@} @@ -827,10 +836,12 @@ \else\ifx\Suppressor #4\let\pscirc@next\pst@multidipole@Suppressor %%% mla change \else\ifx\Arrestor #4\let\pscirc@next\pst@multidipole@Arrestor %%% mla change 25 \else\ifx\RelayNOP #4\let\pscirc@next\pst@multidipole@RelayNOP %%% mla 26 + \else\ifx\OpenDipol #4\let\pscirc@next\pst@multidipole@OpenDipol% 27 + \else\ifx\OpenTripol #4\let\pscirc@next\pst@multidipole@OpenTripol% 28 \else\let\pscirc@next\ignorespaces \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi% 1..10 \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%11..20 - \fi\fi\fi\fi\fi\fi% 21..26 + \fi\fi\fi\fi\fi\fi\fi\fi% 21..28 \advance\pst@count@i\@ne \advance\pst@count@iii\@ne \pscirc@next} @@ -862,17 +873,18 @@ \else\ifx\Suppressor #1\let\pscirc@next\pst@multidipole@Suppressor%% mla change \else\ifx\Arrestor #1\let\pscirc@next\pst@multidipole@Arrestor%% mla change 25 \else\ifx\RelayNOP #1\let\pscirc@next\pst@multidipole@RelayNOP%% mla change 26 + \else\ifx\OpenDipol#1\let\pscirc@next\pst@multidipole@OpenDipol% 27 + \else\ifx\OpenTripol#1\let\pscirc@next\pst@multidipole@OpenTripol% 28 \else\let\pscirc@next\ignorespaces\pst@multidipole@output \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi - \fi\fi\fi\fi\fi\fi + \fi\fi\fi\fi\fi\fi\fi\fi \advance\pst@count@i\@ne \advance\pst@count@iii\@ne \pscirc@next } % \def\pst@multidipole@resistor{\@ifnextchar[{\pst@multidipole@resistor@}{\pst@multidipole@resistor@[]}} -% \def\pst@multidipole@resistor@[#1]#2{% \expandafter\def\csname pst@tmp@\number\pst@count@iii\endcsname{#2}% {\psset{#1}% @@ -1190,7 +1202,6 @@ } % \def\pst@multidipole@LED{\@ifnextchar[{\pst@multidipole@LED@}{\pst@multidipole@LED@[]}} -% \def\pst@multidipole@LED@[#1]#2{% \expandafter\def\csname pst@tmp@\number\pst@count@iii\endcsname{#2}% {\psset{#1}% @@ -1206,11 +1217,42 @@ (! X@\the\pst@count@ii\space Y@\the\pst@count@ii)% {\noexpand\csname pst@tmp@\number\pst@count@iii\endcsname} }% - \pst@multidipole@ + \pst@multidipole@% } % -\def\pst@multidipole@wire{\@ifnextchar[{\pst@multidipole@wire@}{\pst@multidipole@wire@[]}} +\def\pst@multidipole@OpenDipol{\@ifnextchar[{\pst@multidipole@OpenDipol@}{\pst@multidipole@OpenDipol@[]}} +\def\pst@multidipole@OpenDipol@[#1]{% + {\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\OpenDipol[#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@OpenTripol{\@ifnextchar[{\pst@multidipole@OpenTripol@}{\pst@multidipole@OpenTripol@[]}} +\def\pst@multidipole@OpenTripol@[#1]{% + {\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\OpenTripol[#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@wire{\@ifnextchar[{\pst@multidipole@wire@}{\pst@multidipole@wire@[]}} \def\pst@multidipole@wire@[#1]{% {\psset{#1}% \ifPst@parallel\aftergroup\advance\aftergroup\pst@count@i\aftergroup\m@ne\fi}% @@ -1647,6 +1689,25 @@ \multips(-0.25,0.3)(0.25,0){3}{\psline[arrows=->](0.25,0.22)}% } % +\def\pst@draw@OpenDipol{% + \pscircle(-0.5,0){\psk@radius} + \pscircle(0.5,0){\psk@radius} + \pst@getlength{\psk@radius}\pst@tempA + \pnode(!-0.5 \pst@tempA\space \pst@number\psxunit div sub 0){dipole@1} + \pnode(! 0.5 \pst@tempA\space \pst@number\psxunit div add 0){dipole@2} +} +% +\def\pst@draw@OpenTripol{% + \pst@getlength{\psk@radius}\pst@tempA + \pscircle(0.65,0){\psk@radius} + \pscircle(-0.65,0){\psk@radius} + \pscircle(0,0){\psk@radius} + \psline(!0 \pst@tempA\space \pst@number\psxunit div neg)(0,-5mm) + \psline(-2mm,-5mm)(2mm,-5mm) + \pnode(!-0.65 \pst@tempA\space \pst@number\psxunit div sub 0){dipole@1} + \pnode(! 0.65 \pst@tempA\space \pst@number\psxunit div add 0){dipole@2} +} +% \def\pst@draw@Tswitch{% \ifx\psk@tripole@style\pst@tripole@style@right \psline[arrows=-,linewidth=2\pslinewidth](0.5,0)(0,-1) -- cgit v1.2.3