summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/pst-circ
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2014-08-03 16:53:52 +0000
committerKarl Berry <karl@freefriends.org>2014-08-03 16:53:52 +0000
commit9c48ca748960413acb3a2f49e5712ee0327cd0cd (patch)
tree3591fcea83e136bcb03baed79f45c296ce9697e8 /Master/texmf-dist/tex/generic/pst-circ
parent6493ff809c01bf214a27f16adf993ca101b7b8c3 (diff)
pst-circ
git-svn-id: svn://tug.org/texlive/trunk@34811 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.tex151
1 files changed, 98 insertions, 53 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 b467da6286a..e34dbf1093f 100644
--- a/Master/texmf-dist/tex/generic/pst-circ/pst-circ.tex
+++ b/Master/texmf-dist/tex/generic/pst-circ/pst-circ.tex
@@ -26,8 +26,8 @@
\ifx\PSTXKeyLoaded\endinput \else\input pst-xkey \fi
\ifx\PSTMultidoLoaded\endinput\else\input multido.tex\fi
%
-\def\fileversion{2.10}
-\def\filedate{2014/06/19}
+\def\fileversion{2.12}
+\def\filedate{2014/07/30}
\message{`pst-circ' v\fileversion (hv)}
%
\edef\PstAtCode{\the\catcode`\@}
@@ -88,6 +88,7 @@
%
\define@boolkey[psset]{pst-circ}[Pst@]{intensity}[true]{}
\define@boolkey[psset]{pst-circ}[Pst@]{mathlabel}[true]{}
+\define@key[psset]{}{circ}{\psset[pst-circ]{#1}}
\define@key[psset]{pst-circ}{labelstyle}[]{\def\pst@labelstyle{#1}}
\define@key[psset]{pst-circ}{intensitylabel}[]{\def\psk@I@label{#1}}
\define@key[psset]{pst-circ}{intensitylabelcolor}[black]{\def\psk@I@labelcolor{#1}}
@@ -1062,31 +1063,31 @@
% \addbefore@par{circedge=\pcangle}
\pst@killglue
\begingroup
- \use@par%
+ \use@par
\@ifnextchar(% do we have more coordinates?
- {\transistor@iii(#1)}{\Pst@tempfalse\transistor@ii(#1)}}
+ {\transistor@iii(#1)}{\Pst@tempfalse\transistor@ii(#1)}%
+}
%
-\def\transistor@ii(#1)#2#3{% with one node, the base
+\def\transistor@ii(#1)#2#3{% with one node, the base and two names for E and C
\pst@killglue%
\ifPst@temp\pnode(#1){TBaseNode}%
- \else%
- \pst@getcoor{#1}\pst@tempA%
+ \else
+ \pst@getcoor{#1}\pst@tempA
\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
- \fi%
-% \psdot(#1)%
+ \fi
\rput[c]{\Pst@TRot}(!
\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){%(#1){%
- \ifPst@transistorcircle\pscircle(0.3,0){0.7}\fi%
- \ifx\psk@Ttype\pst@Ttype@FET\relax%
+ YB basesep \Pst@TRot\space sin mul add){%
+ \ifPst@transistorcircle\pscircle(0.3,0){0.7}\fi
+ \ifx\psk@Ttype\pst@Ttype@FET
\ifPst@FETmemory% atosch
\psline[arrows=-,linewidth=\psk@I@width](-0.15,0.5)(-0.15,-0.5)%
\fi%
@@ -1094,56 +1095,40 @@
\else%
\psline[arrows=-,linewidth=4\pslinewidth](TBaseNode|0,0.4)(TBaseNode|0,-0.4)%
\fi%
- \ifnum180=\Pst@TRot\relax%
+% \pst@abs{\Pst@TRot}\pst@cntn
\ifx\psk@Ttype\pst@Ttype@FET\relax%
- \ifPst@transistorinvert\pnode(0.75,-0.5){#2}\else\pnode(0.75,-0.5){#3}\fi%
- \ifPst@transistorinvert\pnode(0.75,0.5){#3}\else\pnode(0.75,0.5){#2}\fi%
- \else%
- \ifPst@transistorinvert\pnode(0.5,-0.5){#2}\else\pnode(0.5,-0.5){#3}\fi%
- \ifPst@transistorinvert\pnode(0.5,0.5){#3}\else\pnode(0.5,0.5){#2}\fi%
- \fi%
- \else%
- \ifx\psk@Ttype\pst@Ttype@FET\relax%
- \ifPst@transistorinvert\pnode(0.65,0.5){#2}\else\pnode(0.65,0.5){#3}\fi%
- \ifPst@transistorinvert\pnode(0.65,-0.5){#3}\else\pnode(0.65,-0.5){#2}\fi%
+ \ifx\psk@FETchanneltype\pst@FETchanneltype@P
+ \pnode(0.65,0.5){#2}\pnode(0.65,-0.5){#3}%
+ \else
+ \pnode(0.65,0.5){#3}\pnode(0.65,-0.5){#2}%
+ \fi
\else%
\ifPst@transistorinvert\pnode(0.5,0.5){#2}\pnode(0.5,-0.5){#3}%
\else \pnode(0.5,0.5){#3}\pnode(0.5,-0.5){#2}%
- \fi%
- \fi%
- \fi%
- \ifx\psk@Ttype\pst@Ttype@FET\relax%
- \ifnum180=\Pst@TRot\relax
- \psline[arrows=-](0.6,0.5)(0.05,0.5)
- \psline[linestyle=dashed,dash=8pt 3pt,arrows=-](0.05,0.6)(0.05,-0.6)
- \psline[arrows=-](0.05,-0.5)(0.6,-0.5)%
- \else
- \psline[arrows=-](0.65,0.5)(0.15,0.5)
- \psline[linestyle=dashed,dash=8pt 3pt,arrows=-](0.15,0.6)(0.15,-0.6)
- \psline[arrows=-](0.15,-0.5)(0.65,-0.5)%
- \fi%
- \else%
- \psline[arrows=-](0.5,0.5)(TBaseNode)(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
+ \fi
+ \fi
+ \ifx\psk@Ttype\pst@Ttype@FET
+ \psline[arrows=-](0.65,0.5)(0.15,0.5)
+ \psline[linestyle=dashed,dash=8pt 3pt,arrows=-](0.15,0.6)(0.15,-0.6)
+ \psline[arrows=-](0.15,-0.5)(0.65,-0.5)%
+ \ifx\psk@FETchanneltype\pst@FETchanneltype@P % Ted 2007-10-15
\psline[arrowinset=0,arrowsize=8\pslinewidth]{->}(0.15,0)(0.65,0)%
- \qdisk(#2){1.5pt}\psline[origin={#2}]{-}(0,0.5)%
- \else%
+ \qdisk(#2){1.5pt}\psline[origin={#2}]{-}(0,-0.5)%
+ \else
\psline[arrowinset=0,arrowsize=8\pslinewidth]{<-}(0.15,0)(0.65,0)%
\qdisk(#2){1.5pt}\psline[origin={#2}]{-}(0,0.5)%
- \fi%
- \else%
- \ifx\psk@Ttype\pst@Ttype@PNP\relax%
+ \fi
+ \else
+ \psline[arrows=-](0.5,0.5)(TBaseNode)(0.5,-0.5)%
+ \ifx\psk@Ttype\pst@Ttype@PNP
\psline[arrowinset=0,arrowsize=8\pslinewidth]{->}(#3)(TBaseNode)%
\else%
\psline[arrowinset=0,arrowsize=8\pslinewidth]{->}(TBaseNode)(#2)%
- \fi%
- \fi%
+ \fi
+ \fi
}%
- \ifPst@temp\else\endgroup\fi%
- \ignorespaces%
+ \ifPst@temp\else\endgroup\fi
+ \ignorespaces
}
%
\def\transistor@iii(#1)(#2)(#3){% with three nodes
@@ -5433,8 +5418,6 @@
\ignorespaces%
}
-
-
\newCircDipole{arrowswitch}
\def\pst@draw@arrowswitch{%
\ifx\psk@Dstyle\pst@Dstyle@close
@@ -5454,6 +5437,68 @@
\fi
}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% Tripole
+%%% powermeter: tripolestyle:(bottom) | top
+%%% tripoleconfig: (left) | right
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+\def\powermeter{\pst@object{powermeter}}
+\def\powermeter@i(#1)(#2)(#3)#4{%
+ \addbefore@par{dimen=middle,arm=0}%
+ \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@){#4}
+ \rput(C@){%
+ \pscircle[linewidth=1.5\pslinewidth](0,0){0.5}
+ \pnodes(-1,0){Tport@left}(1,0){Tport@right}%
+ \psline[arrows=-](Tport@left)(-0.5,0)
+ \psline[arrows=-](Tport@right)(0.5,0)
+ \ifx\psk@tripole@style\pst@tripole@style@top%
+ \pnode(0,1){Tport@center}
+ \ifx\psk@Tconfig\pst@Tconfig@left
+ \psdot(-0.8,0)
+ \psline[arrows=-](-0.8,0)(-0.8,-0.8)(0,-0.8)(0,-0.5)
+ \psline[arrows=-](0,0.5)(Tport@center)
+ \else
+ \psdot(0.8,0)
+ \psline[arrows=-](0.8,0)(0.8,-0.8)(0,-0.8)(0,-0.5)
+ \psline[arrows=-](0,0.5)(Tport@center)
+ \fi%
+ \ncangle[arrows=-,arm=0.25,angleB=-90]{#3}{Tport@center}
+ \else
+ \pnode(0,-1){Tport@center}
+ \ifx\psk@Tconfig\pst@Tconfig@left
+ \psdot(-0.8,0)
+ \psline[arrows=-](-0.8,0)(-0.8,0.8)(0,0.8)(0,0.5)
+ \psline[arrows=-](0,-0.5)(Tport@center)
+ \else
+ \psdot(0.8,0)
+ \psline[arrows=-](0.8,0)(0.8,0.8)(0,0.8)(0,0.5)
+ \psline[arrows=-](0,-0.5)(Tport@center)
+ \fi%
+ \ncangle[arrows=-,arm=0.25,angleB=90]{#3}{Tport@center}
+ \fi%
+ }
+ \ncangle[arrows=-,arm=0.25,angleB=180]{#1}{Tport@left}
+ \ncangle[arrows=-,arm=0.25,angleB=0]{#2}{Tport@right}
+ \pcline[linestyle=none](#1)(#2)% for the endarrows
+ \pcline[linestyle=none](#2)(#3)% for the endarrows
+ \end@ClosedObj%
+ \ignorespaces%
+}
\catcode`\@=\PstAtCode\relax