From f54d59c4fcbb03552550891dca04939761a8d37a Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 17 Jan 2010 23:32:15 +0000 Subject: pst-circ 1.52 update (17jan10) git-svn-id: svn://tug.org/texlive/trunk@16757 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/tex/generic/pst-circ/pst-circ.tex | 202 +++++++++++++++++++-- 1 file changed, 184 insertions(+), 18 deletions(-) (limited to 'Master/texmf-dist/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 e3977b6e1cd..17c3227d19f 100644 --- a/Master/texmf-dist/tex/generic/pst-circ/pst-circ.tex +++ b/Master/texmf-dist/tex/generic/pst-circ/pst-circ.tex @@ -7,8 +7,8 @@ %% %% Original idea: A.Premoli I.Maio, M.Luque, %% -%% Christophe Jorssen -%% Herbert Voss +%% Christophe Jorssen +%% Herbert Voss %% %% This program can be redistributed and/or modified under the terms %% of the LaTeX Project Public License Distributed from CTAN archives @@ -24,13 +24,13 @@ % % Require PSTricks and pst-node packages % -\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\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.51} -\def\filedate{2009/02/20} +\def\fileversion{1.52} +\def\filedate{2010/01/15} \message{`pst-circ' v\fileversion (CJ,hv,pd)} % \edef\PstAtCode{\the\catcode`\@} @@ -68,6 +68,7 @@ \def\pst@Dstyle@varistor{varistor} \def\pst@Dstyle@thyristor{thyristor} \def\pst@Dstyle@GTO{GTO} +\def\pst@Dstyle@photo{photo} \def\pst@Dstyle@triac{triac} \def\pst@Dstyle@Z{Z} % end Herbert 2003-07-17 @@ -168,7 +169,6 @@ \define@key[psset]{pst-circ}{logicSymbolstyle}[\large]{\def\psk@logic@symbolstyle{#1}}% hv \define@key[psset]{pst-circ}{logicSymbolpos}[0.5]{\def\psk@logic@symbolpos{#1}}% hv \define@key[psset]{pst-circ}{logicNodestyle}[\footnotesize]{\def\psk@logic@nodestyle{#1}}% hv - % \def\pst@logic@type@and{and} \def\pst@logic@type@or{or} @@ -270,6 +270,20 @@ \def\pst@LED[#1](#2)(#3)#4{{% \pst@draw@dipole{#1}{#2}{#3}{#4}\pst@draw@LED}\ignorespaces} % +%-mla----------------------------------------------- +\def\Suppressor{\@ifnextchar[{\pst@Suppressor}{\pst@Suppressor[]}} +\def\pst@Suppressor[#1](#2)(#3)#4{{% + \pst@draw@dipole{#1}{#2}{#3}{#4}\pst@draw@Suppressor}\ignorespaces} +% +\def\Arrestor{\@ifnextchar[{\pst@Arrestor}{\pst@Arrestor[]}} +\def\pst@Arrestor[#1](#2)(#3)#4{{% + \pst@draw@dipole{#1}{#2}{#3}{#4}\pst@draw@Arrestor}\ignorespaces} +% +\def\RelayNOP{\@ifnextchar[{\pst@RelayNOP}{\pst@RelayNOP[]}} +\def\pst@RelayNOP[#1](#2)(#3)#4{{% + \pst@draw@dipole{#1}{#2}{#3}{#4}\pst@draw@RelayNOP}\ignorespaces} +%-mla---------------------------------------------- +% % pd start ==================================================== \def\dashpot{\@ifnextchar[{\pst@dashpot}{\pst@dashpot[]}} \def\pst@dashpot[#1](#2)(#3)#4{{% @@ -666,6 +680,41 @@ \ignorespaces% } % +\def\quadripole{\pst@object{quadripole}}% Markus Graube +\def\quadripole@i(#1)(#2)(#3)(#4)#5{% + \addbefore@par{dimen=middle,arm=0}% + \begin@ClosedObj% + \pst@getcoor{#1}\pst@tempa + \pst@getcoor{#2}\pst@tempb + \pst@getcoor{#3}\pst@tempc + \pst@getcoor{#4}\pst@tempd + \pnode(!% + \pst@tempa /Y1 exch \pst@number\psyunit div def + /X1 exch \pst@number\psxunit div def + \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 Y3 lt {Y1} {Y3} ifelse Y2 Y4 lt {Y2} {Y4} ifelse add 2 div def + XC YC){C@} + \rput(C@){#5} + \rput(C@){\psframe[linewidth=1.5\pslinewidth](-1.5,-1.2)(1.5,1.2) + \pnode(-1.5,1){inup@} \pnode(-1.5,-1){indown@} + \pnode(1.5,-1){outdown@} \pnode(1.5,1){outup@}} + \ncangle[arrows=-,arm=0.5,angleB=180]{#1}{inup@} + \ncangle[arrows=-,arm=0.5,angleB=180]{#2}{indown@} + \ncangle[arrows=-,arm=0.5,angleB=0]{#3}{outup@} + \ncangle[arrows=-,arm=0.5,angleB=0]{#4}{outdown@} + \ncline[arrows=-,linestyle=none,fillstyle=none]{indown@}{outdown@} + \pcline[linestyle=none](#1)(#3)% for the end arrows + \pcline[linestyle=none](#2)(#4)% for the end arrows + \end@ClosedObj% + \ignorespaces% +} +% % The logical circuits part % \def\logic{\@ifnextchar[{\pst@draw@logic}{\pst@draw@logic[]}} @@ -775,10 +824,13 @@ \else\ifx\amplifier #4\let\pscirc@next\pst@multidipole@amplifier% \else\ifx\detector #4\let\pscirc@next\pst@multidipole@detector% 22 \else\ifx\SQUID #4\let\pscirc@next\pst@multidipole@SQUID% 23 + \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\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% 21..23 + \fi\fi\fi\fi\fi\fi% 21..26 \advance\pst@count@i\@ne \advance\pst@count@iii\@ne \pscirc@next} @@ -807,10 +859,13 @@ \else\ifx\amplifier#1\let\pscirc@next\pst@multidipole@amplifier% \else\ifx\detector #1\let\pscirc@next\pst@multidipole@detector% 22 \else\ifx\SQUID #1\let\pscirc@next\pst@multidipole@SQUID% 23 + \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\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 \advance\pst@count@i\@ne \advance\pst@count@iii\@ne \pscirc@next @@ -1035,6 +1090,65 @@ \pst@multidipole@ } % +%mla change +\def\pst@multidipole@Suppressor{\@ifnextchar[{\pst@multidipole@Suppressor@}{\pst@multidipole@Suppressor@[]}} +\def\pst@multidipole@Suppressor@[#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\Suppressor[#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@multidipole@Arrestor{\@ifnextchar[{\pst@multidipole@Arrestor@}{\pst@multidipole@Arrestor@[]}} +\def\pst@multidipole@Arrestor@[#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\Arrestor[#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@multidipole@RelayNOP{\@ifnextchar[{\pst@multidipole@RelayNOP@}{\pst@multidipole@RelayNOP@[]}} +\def\pst@multidipole@RelayNOP@[#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\RelayNOP[#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@ +} +%%%mla change end +% \def\pst@multidipole@lamp{\@ifnextchar[{\pst@multidipole@lamp@}{\pst@multidipole@lamp@[]}} % \def\pst@multidipole@lamp@[#1]#2{% @@ -1433,20 +1547,24 @@ \psline[arrows=-,linewidth=1.5\pslinewidth](-0.25,-0.4)(-0.25,0.4) \psline[arrows=-,linewidth=1.5\pslinewidth](0.25,-0.4)(0.25,0.4) \psline[arrows=-,linewidth=\pslinewidth](0.25,-0.2)(0.5,-0.3)(0.5,-0.6) - \else + \else% \pspolygon[arrows=-,linewidth=1.5\pslinewidth](-0.25,-0.2)(-0.25,0.2)(0.25,0) \psline[arrows=-,linewidth=1.5\pslinewidth](0.25,0.2)(0.25,-0.2) \ifx\psk@Dstyle\pst@Dstyle@thyristor \psline[arrows=-,linewidth=1.5\pslinewidth](0,-0.1)(0,-0.35) - \fi + \fi% \ifx\psk@Dstyle\pst@Dstyle@GTO \psline[arrows=-,linewidth=1.5\pslinewidth](-0.1,-0.12)(-0.1,-0.35) \psline[arrows=-,linewidth=1.5\pslinewidth](0,-0.1)(0,-0.35) - \fi - \fi - \pnode(-0.25,0){dipole@1} - \pnode(0.25,0){dipole@2} - } + \else + \ifx\psk@Dstyle\pst@Dstyle@photo + \multips(-0.15,0.3)(0.25,0){2}{\psline[arrows=<-](0.25,0.22)}% + \fi% + \fi% + \fi% + \pnode(-0.25,0){dipole@1}% + \pnode(0.25,0){dipole@2}% +} % \def\pst@draw@Zener{% \pspolygon[linewidth=1.5\pslinewidth](-0.25,-0.2)(-0.25,0.2)(0.25,0) @@ -1459,6 +1577,54 @@ \pnode(0.25,0){dipole@2} } % +%-------------------mla change +\def\pst@draw@Suppressor{% + \pspolygon[linewidth=1.5\pslinewidth](-0.5,-0.2)(-0.5,0.2)(0.0,0.0) + \pspolygon[linewidth=1.5\pslinewidth](0.5,-0.2)(0.5,0.2)(0.0,0.0) + \psline[arrows=-,linewidth=1.5\pslinewidth](-0.5,0.0)(0.5,0.0) + \psline[arrows=-,linewidth=1.5\pslinewidth](-0.15,0.35)(0.0,0.25)(0.0,-0.25)(0.15,-0.35) +% \ifx\psk@Dstyle\pst@Dstyle@Z +% \psline[arrows=-,linewidth=1.5\pslinewidth](0.1,0.35)(0.25,0.25)(0.25,-0.25)(0.4,-0.35) +% \else +% \psline[arrows=-,linewidth=1.5\pslinewidth](0.25,0.25)(0.25,-0.25)(0,-0.25) +% \fi + \pnode(-0.5,0.0){dipole@1} + \pnode(0.50,0.0){dipole@2} +} +\def\pst@draw@Arrestor{% + \pscircle[linewidth=1.5\pslinewidth](0.0,0.0){0.3} + \psline[arrows=-,linewidth=1.5\pslinewidth](-0.1,-0.12)(-0.1,0.12) + \psline[arrows=-,linewidth=1.5\pslinewidth](0.1,-0.12)(0.1,0.12) + \psline[arrows=-,linewidth=1.5\pslinewidth](0,-0.12)(0.0,0.3) +% \ifx\psk@Dstyle\pst@Dstyle@Z +% \psline[arrows=-,linewidth=1.5\pslinewidth](0.1,0.35)(0.25,0.25)(0.25,-0.25)(0.4,-0.35) +% \else +% \psline[arrows=-,linewidth=1.5\pslinewidth](0.25,0.25)(0.25,-0.25)(0,-0.25) +% \fi + \pnode(-0.3,0.0){dipole@1} + \pnode(0.3,0.0){dipole@2} +} +% +\def\pst@draw@RelayNOP{% +% \pscircle[linewidth=1.5\pslinewidth](0.0,0.0){0.3} + \psframe[arrows=-,linewidth=1.5\pslinewidth](-0.2,0.5)(0.2,1.3) + \psline[arrows=-,linewidth=1.5\pslinewidth](-0.2,1.3)(0.2,0.5) + \psline[arrows=-,linewidth=1.5\pslinewidth](-0.2,0.9)(-0.5,0.9) + \psline[arrows=-,linewidth=1.5\pslinewidth](0.2,0.9)(0.5,0.9) +% + \psline[arrows=-,linewidth=1.5\pslinewidth](-0.5,0.0)(-0.2,0.0) + \psline[arrows=-,linewidth=1.5\pslinewidth](-0.2,0.0)(0.2,0.1) + \psline[arrows=-,linewidth=1.5\pslinewidth](0.2,0.0)(0.5,0.0) + \psline[linestyle=dashed,arrows=-,linewidth=1.5\pslinewidth](0.0,0.5)(0.0,0.1) +% \ifx\psk@Dstyle\pst@Dstyle@Z +% \psline[arrows=-,linewidth=1.5\pslinewidth](0.1,0.35)(0.25,0.25)(0.25,-0.25)(0.4,-0.35) +% \else +% \psline[arrows=-,linewidth=1.5\pslinewidth](0.25,0.25)(0.25,-0.25)(0,-0.25) +% \fi + \pnode(-0.5,0){dipole@1} + \pnode(0.5,0){dipole@2} +} +%%%----------------------mla change end \def\pst@draw@lamp{% \pscircle[linewidth=1.5\pslinewidth]{0.5} \psline[arrows=-,linewidth=1.5\pslinewidth](0.5;45)(0.5;225) @@ -1777,7 +1943,7 @@ % end hv 2003-07-28 % \def\pst@draw@wire[#1](#2)(#3){{% - \psset{#1}% + \psset{#1} \ifx\psk@I@label\@empty\else\psset{intensity=true}\fi \ifx\psk@Dconvention\pst@Dconvention@generator \Pst@Dconventiontrue -- cgit v1.2.3