summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2010-01-17 23:32:15 +0000
committerKarl Berry <karl@freefriends.org>2010-01-17 23:32:15 +0000
commitf54d59c4fcbb03552550891dca04939761a8d37a (patch)
treefc0260371a1e47e746d8fba06f49961b8c15b5d5 /Master/texmf-dist/tex
parent3ef45f121b2400ef5c6896eee0cf334828dfd5b9 (diff)
pst-circ 1.52 update (17jan10)
git-svn-id: svn://tug.org/texlive/trunk@16757 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
-rw-r--r--Master/texmf-dist/tex/generic/pst-circ/pst-circ.tex202
1 files changed, 184 insertions, 18 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 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 <CJ@PSTricks.de>
-%% Herbert Voss <voss@PSTricks.de>
+%% Christophe Jorssen
+%% Herbert Voss <hvoss@tug.org>
%%
%% 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