summaryrefslogtreecommitdiff
path: root/Master/texmf-dist
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r--Master/texmf-dist/doc/generic/pst-circ/Changes2
-rw-r--r--Master/texmf-dist/doc/generic/pst-circ/pst-circ-doc.bib9
-rw-r--r--Master/texmf-dist/doc/generic/pst-circ/pst-circ-doc.pdfbin519468 -> 515816 bytes
-rw-r--r--Master/texmf-dist/doc/generic/pst-circ/pst-circ-doc.tex89
-rw-r--r--Master/texmf-dist/source/generic/pst-circ/Makefile1
-rw-r--r--Master/texmf-dist/tex/generic/pst-circ/pst-circ.tex734
6 files changed, 118 insertions, 717 deletions
diff --git a/Master/texmf-dist/doc/generic/pst-circ/Changes b/Master/texmf-dist/doc/generic/pst-circ/Changes
index 2854398fecd..0172eedfe8d 100644
--- a/Master/texmf-dist/doc/generic/pst-circ/Changes
+++ b/Master/texmf-dist/doc/generic/pst-circ/Changes
@@ -1,3 +1,5 @@
+1.55 2010-08-15 - circledipole with variable radius
+ - added macro \newCircDipole (cb)
1.54 2010-03-29 - fix bug in \Transformer
- allow any coordinate type in \Transformer
1.53 2010-02-13 - add OpenDipol and OpenTripol
diff --git a/Master/texmf-dist/doc/generic/pst-circ/pst-circ-doc.bib b/Master/texmf-dist/doc/generic/pst-circ/pst-circ-doc.bib
index d4c75592e2a..a3084b2e032 100644
--- a/Master/texmf-dist/doc/generic/pst-circ/pst-circ-doc.bib
+++ b/Master/texmf-dist/doc/generic/pst-circ/pst-circ-doc.bib
@@ -108,3 +108,12 @@
address = {Heidelberg/Berlin}
}
+@Book{PSTricksE,
+ author = {Herbert Vo\ss{}},
+ title = {\texttt{PSTricks} -- {G}raphics and {P}ost{S}cript for \LaTeX},
+ edition = {1st},
+ publisher = {UIT},
+ year = {2010},
+ address = {Cambridge -- UK}
+}
+
diff --git a/Master/texmf-dist/doc/generic/pst-circ/pst-circ-doc.pdf b/Master/texmf-dist/doc/generic/pst-circ/pst-circ-doc.pdf
index 9f2510a418a..862f71fcdae 100644
--- a/Master/texmf-dist/doc/generic/pst-circ/pst-circ-doc.pdf
+++ b/Master/texmf-dist/doc/generic/pst-circ/pst-circ-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/pst-circ/pst-circ-doc.tex b/Master/texmf-dist/doc/generic/pst-circ/pst-circ-doc.tex
index c8ec4aa4448..da0d6b4cb95 100644
--- a/Master/texmf-dist/doc/generic/pst-circ/pst-circ-doc.tex
+++ b/Master/texmf-dist/doc/generic/pst-circ/pst-circ-doc.tex
@@ -1,4 +1,4 @@
-%% $Id: pst-circ-doc.tex 292 2010-02-13 19:55:55Z herbert $
+%% $Id: pst-circ-doc.tex 370 2010-08-15 08:30:39Z herbert $
\documentclass[11pt,english,BCOR10mm,DIV12,bibliography=totoc,parskip=false,smallheadings
headexclude,footexclude,oneside]{pst-doc}
\usepackage[utf8]{inputenc}
@@ -98,6 +98,7 @@ of having older versions, go to \url{http://www.CTAN.org/} and load the newest v
\begingroup\setlength\emergencystretch{3em}
Thanks to: \\
\mbox{Rafal Bartczuk},
+\mbox{Christoph Bersch},
\mbox{Fran\c{c}ois Boone},
\mbox{Jean-C\^ome Charpentier},
\mbox{Patrick Drechsler},
@@ -2794,60 +2795,30 @@ all is finished.
\end{LTXexample}
-
\section{Adding new components}
-Adding new components is not simple. As a matter of fact, because of the complex
-mechanism of \Lcs{multidipole}, there are multiple steps. Nevertheless, it can take some time\ldots
-
-If you want to modify the code, you need to know the following
-things. For a dipole, you first
-need to define the following items:
+Adding new components is not simple unless you need only a simple dipole. For dipoles a macro is provided that generates all helping macros for a new component so that you need to write only the actual drawing code.
+If you want to add a new dipole component, you only need the following code:
\begin{lstlisting}[language=TeX]
- \def\component_name{\@ifnextchar[{\pst@component_name}{\pst@component_name[]}}
- %
- \def\pst@component/_name[#1](#2)(#3)#4{{%
- \pst@draw@dipole{#1}{#2}{#3}{#4}\pst@draw@component_name
- }\ignorespaces}
- %
- \def\pst@multidipole@component_name{\@ifnextchar[{\pst@multidipole@component_name@}%
- {\pst@multidipole@component_name@[]}}
- %
- \def\pst@multidipole@component_name@[#1]#2{%
- \expandafter\def\csname pst@circ@tmp@\number\pst@circ@count@iii\endcsname{#2}%
- {\psset{#1}%
- \ifPst@circ@parallel\aftergroup\advance\aftergroup\pst@circ@count@i\aftergroup\m@ne\fi}%
- \pst@circ@count@ii=\pst@circ@count@i%
- \advance\pst@circ@count@ii\@ne%
- \toks0\expandafter{\pst@multidipole@output}%
- \edef\pst@multidipole@output{%
- \the\toks0%
- \pst@multidipole@def@coor%
- \noexpand\component_name[#1]%
- (! X@\the\pst@circ@count@i\space Y@\the\pst@circ@count@i)%
- (! X@\the\pst@circ@count@ii\space Y@\the\pst@circ@count@ii)%
- {\noexpand\csname pst@circ@tmp@\number\pst@circ@count@iii\endcsname}%
- }%
- \pst@multidipole@
- }
- %
- \def\pst@draw@component_name{%
+ \newCircDipole{ComponentName}%
+ \def\pst@draw@ComponentName{%
% The PSTricks code for your component
% The center of the component is at (0,0)
\pnode(component_left_end,0){dipole@1}
\pnode(component_right_end,0){dipole@2}}
\end{lstlisting}
+This code can be placed in the core code or somewhere in the respective document in which case it must be surrounded by \lstinline[language=TeX]{\makeatletter...\makeatother}.
-Then, you have to make some changes in the \Lcs{multidipole} core code\dots In the definition
+If your new dipole should also work with \Lcs{multidipole} then you have to make some changes in the \Lcs{multidipole} core code. In the definition
of \Lcs{pst@multidipole}, look for the last \Lcs{ifx} test
\begin{lstlisting}[language=TeX]
% ...
% Extract from \pst@multidipole
- \else\ifx\circledipole#4\let\next\pst@multidipole@circledipole
- \else\ifx\LED #4\let\next\pst@multidipole@LED
+ \else\ifx\OpenDipol #4\let\pscirc@next\pst@multidipole@OpenDipol% 27
+ \else\ifx\OpenTripol #4\let\pscirc@next\pst@multidipole@OpenTripol% 28
\else % Put your modification here
- \let\next\ignorespaces
+ \else\let\pscirc@next\ignorespaces
\fi\fi\fi
% Extract form \pst@multidipole
% ...
@@ -2856,11 +2827,11 @@ and add (marked with \verb+%%%+)
\begin{lstlisting}[language=TeX]
% ...
% Extract from \pst@multidipole
- \else\ifx\circledipole #4\let\next\pst@multidipole@circledipole
- \else\ifx\LED #4\let\next\pst@multidipole@LED
- \else\ifx\component_name#4\let\next\pst@multidipole@component_name%%%
- \else\let\next\ignorespaces
- \fi\fi\fi\fi
+ \else\ifx\OpenDipol #4\let\pscirc@next\pst@multidipole@OpenDipol% 27
+ \else\ifx\OpenTripol #4\let\pscirc@next\pst@multidipole@OpenTripol% 28
+ \else\ifx\ComponentName#4\let\next\pst@multidipole@ComponentName%%%
+ \else\let\pscirc@next\ignorespaces
+ \fi\fi\fi
% Extract form \pst@multidipole
% ...
\end{lstlisting}
@@ -2868,17 +2839,35 @@ Do the same in \verb+\pst@multidipole@+
\begin{lstlisting}[language=TeX]
% ...
% Extract from \pst@multidipole@
- \else\ifx\circledipole#1\let\next\pst@multidipole@circledipole
- \else\ifx\LED #1\let\next\pst@multidipole@LED
- \else\ifx\component_name#1\let\next\pst@multidipole@component_name%%%
- \else\let\next\ignorespaces\pst@multidipole@output
- \fi\fi\fi\fi
+ \else\ifx\OpenDipol#1\let\pscirc@next\pst@multidipole@OpenDipol% 27
+ \else\ifx\OpenTripol#1\let\pscirc@next\pst@multidipole@OpenTripol% 28
+ \else\ifx\ComponentName#1\let\next\pst@multidipole@ComponentName%%%
+ \else\let\pscirc@next\ignorespaces\pst@multidipole@output
+ \fi\fi\fi
% Extract form \pst@multidipole@
% ...
\end{lstlisting}
and that's it! All you have to do then is send your modified \LFile{pst-circ.tex} to
me and it will become part of the official release of \LPack{pst-circ}.
+\bigskip
+\begin{LTXexample}[width=3.5cm]
+ \begin{pspicture}(3,2)
+ \newCircDipole{delayline}
+ \makeatletter
+ \def\pst@draw@delayline{%
+ \psset{linewidth=1.5\pslinewidth}%
+ \psframe(-0.5,-0.3)(0.5,0.3)
+ \psline[arrows=->](-0.2,-0.5)(0.2,0.5)
+ \pnode(-0.5,0){dipole@1}
+ \pnode(0.5,0){dipole@2}}%
+ \makeatother
+ \pnode(0,1){A}\pnode(3,1){B}
+ \delayline(A)(B){delay}
+ \end{pspicture}
+\end{LTXexample}
+
+
\clearpage
diff --git a/Master/texmf-dist/source/generic/pst-circ/Makefile b/Master/texmf-dist/source/generic/pst-circ/Makefile
index 599459285df..387646d9126 100644
--- a/Master/texmf-dist/source/generic/pst-circ/Makefile
+++ b/Master/texmf-dist/source/generic/pst-circ/Makefile
@@ -50,6 +50,7 @@ tds:
cp -u Changes $(TDS)/doc/generic/$(PACKAGE)/
cp -u README $(TDS)/doc/generic/$(PACKAGE)/
cp -u $(MAIN).pdf $(TDS)/doc/generic/$(PACKAGE)/
+ cp -u more_docs/*.pdf $(TDS)/doc/generic/$(PACKAGE)/
#
cp -u Changes $(TDS)/tex/latex/$(PACKAGE)/
cp -u $(PACKAGE).sty $(TDS)/tex/latex/$(PACKAGE)/
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 e3fc1033a72..73d5545608c 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.54}
-\def\filedate{2010/03/29}
+\def\fileversion{1.55}
+\def\filedate{2010/08/15}
\message{`pst-circ' v\fileversion (CJ,hv,pd)}
%
\edef\PstAtCode{\the\catcode`\@}
@@ -39,7 +39,6 @@
%
\pstheader{pst-circ.pro}
\SpecialCoor
-
%
\newdimen\Pst@position
%
@@ -218,85 +217,57 @@
\def\wire{\@ifnextchar[{\pst@draw@wire}{\pst@draw@wire[]}}
\def\tension{\@ifnextchar[{\pst@draw@tension@}{\pst@draw@tension@[]}}
%
-\def\RFLine{\@ifnextchar[{\pst@RFLine}{\pst@RFLine[]}}
-\def\pst@RFLine[#1](#2)(#3)#4{{%
- \pst@draw@dipole{#1}{#2}{#3}{#4}\pst@draw@RFLine}\ignorespaces}
-%
-\def\resistor{\@ifnextchar[{\pst@resistor}{\pst@resistor[]}}
-\def\pst@resistor[#1](#2)(#3)#4{{%
- \pst@draw@dipole{#1}{#2}{#3}{#4}\pst@draw@resistor}\ignorespaces}
-%
-\def\capacitor{\@ifnextchar[{\pst@capacitor}{\pst@capacitor[]}}
-\def\pst@capacitor[#1](#2)(#3)#4{{%
- \pst@draw@dipole{#1}{#2}{#3}{#4}\pst@draw@capacitor}\ignorespaces}
-%
-\def\battery{\@ifnextchar[{\pst@battery}{\pst@battery[]}}
-\def\pst@battery[#1](#2)(#3)#4{{%
- \pst@draw@dipole{#1}{#2}{#3}{#4}\pst@draw@battery}\ignorespaces}
-%
-\def\coil{\@ifnextchar[{\pst@coil}{\pst@coil[]}}
-\def\pst@coil[#1](#2)(#3)#4{{%
- \pst@draw@dipole{#1}{#2}{#3}{#4}\pst@draw@coil}\ignorespaces}
-%
-\def\Ucc{\@ifnextchar[{\pst@Ucc}{\pst@Ucc[]}}
-\def\pst@Ucc[#1](#2)(#3)#4{{%
- \pst@draw@dipole{#1}{#2}{#3}{#4}\pst@draw@Ucc}\ignorespaces}
-%
-\def\Icc{\@ifnextchar[{\pst@Icc}{\pst@Icc[]}}
-\def\pst@Icc[#1](#2)(#3)#4{{%
- \pst@draw@dipole{#1}{#2}{#3}{#4}\pst@draw@Icc}\ignorespaces}
-%
-\def\switch{\@ifnextchar[{\pst@switch}{\pst@switch[]}}
-\def\pst@switch[#1](#2)(#3)#4{{%
- \pst@draw@dipole{#1}{#2}{#3}{#4}\pst@draw@switch}\ignorespaces}
-%
-\def\diode{\@ifnextchar[{\pst@diode}{\pst@diode[]}}
-\def\pst@diode[#1](#2)(#3)#4{{%
- \pst@draw@dipole{#1}{#2}{#3}{#4}\pst@draw@diode}\ignorespaces}
-%
-\def\Zener{\@ifnextchar[{\pst@Zener}{\pst@Zener[]}}
-\def\pst@Zener[#1](#2)(#3)#4{{%
- \pst@draw@dipole{#1}{#2}{#3}{#4}\pst@draw@Zener}\ignorespaces}
-%
-\def\lamp{\@ifnextchar[{\pst@lamp}{\pst@lamp[]}}
-\def\pst@lamp[#1](#2)(#3)#4{{%
- \pst@draw@dipole{#1}{#2}{#3}{#4}\pst@draw@lamp}\ignorespaces}
-%
-\def\circledipole{\@ifnextchar[{\pst@circledipole}{\pst@circledipole[]}}
-\def\pst@circledipole[#1](#2)(#3)#4{{%
- \pst@draw@dipole{#1}{#2}{#3}{#4}\pst@draw@circledipole}\ignorespaces}
-%
-\def\LED{\@ifnextchar[{\pst@LED}{\pst@LED[]}}
-\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{{%
- \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----------------------------------------------
+% cb 2010-08-12, new macro for defining generic dipole macros
+\def\newCircDipole{\@ifnextchar[{\newCircDipole@i}{\newCircDipole@i[]}}
+% the optional argument can be used to preset options (like 'radius=2pt' in OpenDipol
+\def\newCircDipole@i[#1]#2{%
+ \@ifundefined{pst@#2}{%
+ \@namedef{#2}{\@ifnextchar[{\@nameuse{pst@#2}}{\@nameuse{pst@#2}[]}}%
+ \expandafter\def\csname pst@#2\endcsname[##1](##2)(##3)##4{{%
+ \pst@draw@dipole{#1,##1}{##2}{##3}{##4}{\@nameuse{pst@draw@#2}}}\ignorespaces}%
+ %
+ %
+ \@namedef{pst@multidipole@#2}{\@ifnextchar[{\@nameuse{pst@multidipole@#2@}}{\@nameuse{pst@multidipole@#2@}[]}}
+ \expandafter\def\csname pst@multidipole@#2@\endcsname[##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\@nameuse{#2}[##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@%
+}
+ }%
+\ignorespaces}%
+%
+\newCircDipole{RFLine}
+\newCircDipole{resistor}
+\newCircDipole{capacitor}
+\newCircDipole{battery}
+\newCircDipole{coil}
+\newCircDipole{Ucc}
+\newCircDipole{Icc}
+\newCircDipole{switch}
+\newCircDipole{diode}
+\newCircDipole{Zener}
+\newCircDipole{lamp}
+\newCircDipole{circledipole}
+\newCircDipole{LED}
+\newCircDipole[radius=2pt]{OpenDipol}
+\newCircDipole[radius=2pt]{OpenTripol}
+\newCircDipole{Suppressor}
+\newCircDipole{Arrestor}
+\newCircDipole{RelayNOP}
+\newCircDipole{dashpot}
%
-% pd start ====================================================
-\def\dashpot{\@ifnextchar[{\pst@dashpot}{\pst@dashpot[]}}
-\def\pst@dashpot[#1](#2)(#3)#4{{%
- \pst@draw@dipole{#1}{#2}{#3}{#4}\pst@draw@dashpot}\ignorespaces}
-% pd end ======================================================
%
\def\OA{\pst@object{OA}}
\def\OA@i(#1)(#2)(#3){%
@@ -751,29 +722,7 @@
% end hv 2003-08-29
%
%% SQUID def added 2009-02-18 Amit Finkler
-\def\SQUID{\@ifnextchar[{\pst@SQUID}{\pst@SQUID[]}}
-\def\pst@SQUID[#1](#2)(#3)#4{{%
- \pst@draw@dipole{#1}{#2}{#3}{#4}\pst@draw@SQUID}\ignorespaces}
-%
-\def\pst@multidipole@SQUID{\@ifnextchar[{\pst@multidipole@SQUID@}{\pst@multidipole@SQUID@[]}}
-%
-\def\pst@multidipole@SQUID@[#1]#2{%
- \expandafter\def\csname pst@circ@tmp@\number\pst@circ@count@iii\endcsname{#2}%
- {\psset{#1}%
- \ifPst@circ@parallel\aftergroup\advance\aftergroup\pst@circ@count@i\aftergroup\
- m@ne\fi}%
- \pst@circ@count@ii=\pst@circ@count@i%
- \advance\pst@circ@count@ii\@ne%
- \toks0\expandafter{\pst@multidipole@output}%
- \edef\pst@multidipole@output{%
- \the\toks0%
- \pst@multidipole@def@coor%
- \noexpand\SQUID[#1]%
- (! X@\the\pst@circ@count@i\space Y@\the\pst@circ@count@i)%
- (! X@\the\pst@circ@count@ii\space Y@\the\pst@circ@count@ii)%
- {\noexpand\csname pst@circ@tmp@\number\pst@circ@count@iii\endcsname}%
- }%
- \pst@multidipole@}
+\newCircDipole{SQUID}
%
\def\pst@draw@SQUID{%
\pscircle[linewidth=1.5\pslinewidth](0,0){0.5}
@@ -841,7 +790,7 @@
\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\fi\fi% 21..28
+ \fi\fi\fi\fi\fi\fi\fi\fi% 21..28
\advance\pst@count@i\@ne
\advance\pst@count@iii\@ne
\pscirc@next}
@@ -884,373 +833,6 @@
\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}%
- \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\resistor[#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@RFLine{\@ifnextchar[{\pst@multidipole@RFLine@}{\pst@multidipole@RFLine@[]}}
-\def\pst@multidipole@RFLine@[#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\RFLine[#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@
-}
-%
-% pd start ====================================================
-\def\pst@multidipole@dashpot{\@ifnextchar[{\pst@multidipole@dashpot@}{\pst@multidipole@dashpot@[]}}
-%
-\def\pst@multidipole@dashpot@[#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\dashpot[#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@
-}
-% pd end ======================================================
-\def\pst@multidipole@capacitor{\@ifnextchar[{\pst@multidipole@capacitor@}{\pst@multidipole@capacitor@[]}}
-%
-\def\pst@multidipole@capacitor@[#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\capacitor[#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@battery{\@ifnextchar[{\pst@multidipole@battery@}{\pst@multidipole@battery@[]}}
-%
-\def\pst@multidipole@battery@[#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\battery[#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@coil{\@ifnextchar[{\pst@multidipole@coil@}{\pst@multidipole@coil@[]}}
-%
-\def\pst@multidipole@coil@[#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\coil[#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@Ucc{\@ifnextchar[{\pst@multidipole@Ucc@}{\pst@multidipole@Ucc@[]}}
-%
-\def\pst@multidipole@Ucc@[#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\Ucc[#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@Icc{\@ifnextchar[{\pst@multidipole@Icc@}{\pst@multidipole@Icc@[]}}
-%
-\def\pst@multidipole@Icc@[#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\Icc[#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@switch{\@ifnextchar[{\pst@multidipole@switch@}{\pst@multidipole@switch@[]}}
-%
-\def\pst@multidipole@switch@[#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\switch[#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@diode{\@ifnextchar[{\pst@multidipole@diode@}{\pst@multidipole@diode@[]}}
-%
-\def\pst@multidipole@diode@[#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\diode[#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@Zener{\@ifnextchar[{\pst@multidipole@Zener@}{\pst@multidipole@Zener@[]}}
-\def\pst@multidipole@Zener@[#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\Zener[#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
-\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{%
- \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\lamp[#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@circledipole{\@ifnextchar[{\pst@multidipole@circledipole@}{\pst@multidipole@circledipole@[]}}
-%
-\def\pst@multidipole@circledipole@[#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\circledipole[#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@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}%
- \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\LED[#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@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]{%
@@ -2110,7 +1692,7 @@
\def\pst@newground[#1]{%
\@ifnextchar({\pst@newgroundi[#1]{0}}{\pst@newgroundi[#1]}%
}
-\def\pst@newgroundi[#1]#2(#3){%
+\def\pst@newgroundi[#1]#2(#3){{%
\psset{#1}%
\rput{#2}(#3){%
\ifx\psk@Gstyle\pst@Gstyle@ads
@@ -2128,7 +1710,7 @@
\ifPst@connectingdot
\pscircle*(0,0){2\pslinewidth}
\fi
- }
+ }}%
\ignorespaces%
}
%
@@ -2138,7 +1720,7 @@
\def\pst@antenna[#1]{%
\@ifnextchar({\pst@antennai[#1]{0}}{\pst@antennai[#1]}%
}
-\def\pst@antennai[#1]#2(#3){%
+\def\pst@antennai[#1]#2(#3){{%
\psset{#1}%
\rput{#2}(#3){%
\ifx\psk@Astyle\pst@Astyle@two
@@ -2154,7 +1736,7 @@
\pstriangle[linewidth=1.5\pslinewidth](0,1.25)(0.4,-0.5)
\fi
\psline(0,0)(0,.75)
- }
+ }}%
\ignorespaces%
}
%
@@ -2164,7 +1746,7 @@
\def\pst@oscillator[#1]{%
\@ifnextchar({\pst@oscillatori[#1]{0}}{\pst@oscillatori[#1]}%
}
-\def\pst@oscillatori[#1]#2(#3)#4#5{%
+\def\pst@oscillatori[#1]#2(#3)#4#5{{%
\psset{#1}%
\rput{#2}(#3){%
\pscircle[#5,linewidth=1.5\pslinewidth](0,0){0.5}
@@ -2236,7 +1818,7 @@
\psline(0,-0.5)(0,-1)
\fi
\fi
- }
+ }}%
\ignorespaces%
}
%
@@ -2267,33 +1849,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% 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@
-}
-%
+\newCircDipole{filter}%
\def\pst@draw@filter{%
\pnode(-0.5,0){dipole@1}
\pnode(0.5,0){dipole@2}
@@ -2318,33 +1874,7 @@
%%% 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@
-}
-%
+\newCircDipole{isolator}
\def\pst@draw@isolator{%
\pnode(-0.5,0){dipole@1}
\pnode(0.5,0){dipole@2}
@@ -2357,33 +1887,7 @@
}
%
%%% 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@
-}
-%
+\newCircDipole{freqmult}
\def\pst@draw@freqmult{%
\pnode(-0.5,0){dipole@1}
\pnode(0.5,0){dipole@2}
@@ -2417,33 +1921,7 @@
}
%
%%% 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@
-}
-%
+\newCircDipole{phaseshifter}
\def\pst@draw@phaseshifter{%
\pnode(-0.4,0){dipole@1}
\pnode(0.4,0){dipole@2}
@@ -2452,33 +1930,7 @@
}
%
%%% 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@
-}
-%
+\newCircDipole{vco}
\def\pst@draw@vco{%
\pnode(-0.5,0){dipole@1}
\pnode(0.5,0){dipole@2}
@@ -2489,33 +1941,7 @@
%
%%% 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@
-}
-%
+\newCircDipole{amplifier}
\def\pst@draw@amplifier{%
\pnode(-0.433,0){dipole@1}
\pnode(0.433,0){dipole@2}
@@ -2528,33 +1954,7 @@
%
%%% 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@
-}
-%
+\newCircDipole{detector}
\def\pst@draw@detector{%
\pnode(-0.5,0){dipole@1}
\psline[fillstyle=none](-0.5,0)(-0.2165,0)