summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Master/texmf-dist/doc/generic/pst-circ/Changes1
-rw-r--r--Master/texmf-dist/doc/generic/pst-circ/pst-circ-doc.bib7
-rw-r--r--Master/texmf-dist/doc/generic/pst-circ/pst-circ-doc.pdfbin428660 -> 506212 bytes
-rw-r--r--Master/texmf-dist/doc/generic/pst-circ/pst-circ-doc.tex817
-rw-r--r--Master/texmf-dist/dvips/pst-circ/pst-circ.pro2
-rw-r--r--Master/texmf-dist/tex/generic/pst-circ/pst-circ.tex922
-rw-r--r--Master/texmf-dist/tex/latex/pst-circ/pst-circ.sty1
7 files changed, 1683 insertions, 67 deletions
diff --git a/Master/texmf-dist/doc/generic/pst-circ/Changes b/Master/texmf-dist/doc/generic/pst-circ/Changes
index 92309c71048..ff340303f99 100644
--- a/Master/texmf-dist/doc/generic/pst-circ/Changes
+++ b/Master/texmf-dist/doc/generic/pst-circ/Changes
@@ -1,3 +1,4 @@
+1.44 2008-02-28 (hv) - added the microwave part (Francois Boone)
1.43 2007-12-18 (hv) - fixed bug with \@empty
1.42 2007-10-15 (hv) - added better FET support (Ted Pavlic)
- small changes to draw@dipole (Alan Ristow)
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 3b785845e22..716e220fb1e 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
@@ -101,12 +101,11 @@
@Book{companion,
- author = {Michel Goosens and Frank Mittelbach and Alexander
- Samarin},
+ author = {Michel Goosens and Frank Mittelbach and Serbastian Rahtz and Denis Roegel and Herbert Vo\ss},
title = {The {\LaTeX} {G}raphics {C}ompanion},
publisher = {{Addison-Wesley Publishing Company}},
- year = {2004},
- edition = {2.},
+ year = {2007},
+ edition = {2nd},
address = {Reading, Mass.}
}
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 c34ec7b22fa..990e456369b 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 63a82398914..d1877f73eb7 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,14 +1,17 @@
+%% $Id: pst-circ-doc.tex 3 2007-12-23 16:23:22Z herbert $
\listfiles
\documentclass{article}
\usepackage[a4paper]{geometry}
+\usepackage[T1]{fontenc}
+\usepackage{mathpazo}
\usepackage{fancyhdr}
\usepackage{url}
%
-\usepackage{pst-all}
+\usepackage[dvipsnames]{pstricks}
\usepackage{pst-circ}
\let\verPstCirc\fileversion
\usepackage{multicol}
-\usepackage{showexpl}
+\usepackage{showexpl,lscape}
%
\makeatletter
\def\@UrlFont{\small\ttfamily}
@@ -32,8 +35,9 @@
\begin{document}
\title{\texttt{pst-circ}\\ A PSTricks package for drawing electric circuits\\\normalsize ver. \verPstCirc}
-\author{Christophe Jorssen\thanks{\url{<CJ@PSTricks.de>}} and
-Herbert Vo\ss\thanks{\url{<voss@PSTricks.de>}}}
+\author{Christophe Jorssen\thanks{\url{<CJ@PSTricks.de>}} \and
+Herbert Vo\ss\thanks{\url{<voss@PSTricks.de>}} \and Fran\c{c}ois Boone%
+\thanks{(microwave symbols) \url{francois.boone@usherbrooke.ca}}}
\date{\today}
\maketitle
@@ -61,7 +65,7 @@ details of the exact placement are hidden as much as possible so the
author can focus on the circuitry without the distraction of sorting
out the underlying vector graphics.
-\section{Usage}
+\section{The basic system}
\subsection{Parameters}
@@ -128,9 +132,9 @@ objects you are drawing.
\end{description}
%\end{multicols}
-\section{Macros}
+\subsection{Macros}
-\subsection{Dipole macros}
+\subsubsection{Dipole macros}
\begin{LTXexample}[width=3.5cm]
\begin{pspicture}(3,2)\psgrid
@@ -237,7 +241,7 @@ objects you are drawing.
\end{LTXexample}
\bigskip
-\subsection{Tripole macros}
+\subsubsection{Tripole macros}
Obviously, tripoles are not node connections. So \CircPackage{} tries its best to adjust the
position of the tripole regarding the three nodes. Internally, the connections are done by the
@@ -304,7 +308,7 @@ ideas, please mail us.}, so don't try to use tripole macros in strange situation
\end{LTXexample}
\bigskip
-\subsection{Quadrupole macros}
+\subsubsection{Quadrupole macros}
\begin{LTXexample}[width=5.5cm]
\begin{pspicture}(5,5)\psgrid
@@ -327,7 +331,7 @@ ideas, please mail us.}, so don't try to use tripole macros in strange situation
\end{LTXexample}
\clearpage
-\subsection{Multidipole}
+\subsubsection{Multidipole}
\cs{multidipole} is a macro that allows multiple dipoles to be drawn between two specified nodes.
@@ -361,7 +365,7 @@ restore original values. We recommand not using it.
\bigskip
-\subsection{Wire}
+\subsubsection{Wire}
\begin{LTXexample}[width=3.5cm]
\begin{pspicture}(3,2)\psgrid
@@ -372,7 +376,7 @@ restore original values. We recommand not using it.
\end{LTXexample}
\bigskip
-\subsection{Potential}
+\subsubsection{Potential}
\begin{LTXexample}[width=3.5cm]
\begin{pspicture}(3,2)\psgrid
@@ -383,7 +387,7 @@ restore original values. We recommand not using it.
\end{LTXexample}
\bigskip
-\subsection{ground}
+\subsubsection{ground}
\begin{LTXexample}[width=3.5cm]
\begin{pspicture}(3,2)\psgrid
@@ -397,9 +401,9 @@ restore original values. We recommand not using it.
\end{LTXexample}
\bigskip
-\section{Parameters}
+\subsection{Parameters}
-\subsection{Label parameters}
+\subsubsection{Label parameters}
\begin{LTXexample}[width=3.5cm]
\begin{pspicture}(3,1)\psgrid
@@ -451,7 +455,7 @@ restore original values. We recommand not using it.
\end{LTXexample}
\bigskip
-\subsection{Current intensity and electrical potential parameters}
+\subsubsection{Current intensity and electrical potential parameters}
If the \texttt{intensity} parameter is set to \texttt{true}, an arrow is drawn on the wire
connecting one of the nodes to the dipole. If the \texttt{tension} parameter is set to \texttt{true},
@@ -567,7 +571,7 @@ Some specific intensity parameters are available for tripoles and quadrupoles.
\end{LTXexample}
-\subsection{Parallel parameters}
+\subsubsection{Parallel parameters}
If the \texttt{parallel} parameter is set to \texttt{true}, the dipole is drawn parallel to the line
connecting the nodes.
@@ -626,7 +630,7 @@ must not be set for the first dipole.
-\subsection{Wire intersections}
+\subsubsection{Wire intersections}
\begin{LTXexample}[width=3.5cm]
\begin{pspicture}(3,3)\psgrid
@@ -656,7 +660,7 @@ Wire intersect parameters work also with \cs{multidipole}.
\bigskip
-\subsection{Dipole style parameters}
+\subsubsection{Dipole style parameters}
\begin{LTXexample}[width=3.5cm]
\begin{pspicture}[showgrid=true](3,2)
@@ -818,7 +822,7 @@ the coils are drawn as rectangles and the resistor as a zigzag.
\end{LTXexample}
-\subsection{Tripole style parameters}
+\subsubsection{Tripole style parameters}
\begin{LTXexample}[width=5.5cm]
\begin{pspicture}(5,3)
@@ -847,7 +851,7 @@ the coils are drawn as rectangles and the resistor as a zigzag.
\end{pspicture}
\end{LTXexample}
-\subsection{Potentiometer tripole}
+\subsubsection{Potentiometer tripole}
\begin{pspicture}(3,3)
\psgrid
@@ -926,7 +930,7 @@ the coils are drawn as rectangles and the resistor as a zigzag.
\potentiometer[dipolestyle=zigzag](A)(B)(C){P}
\end{pspicture}
-\subsection{Other Parameters}
+\subsubsection{Other Parameters}
\begin{LTXexample}[width=5.5cm]
\begin{pspicture}(5,3)
@@ -980,9 +984,9 @@ the coils are drawn as rectangles and the resistor as a zigzag.
\end{LTXexample}
\clearpage
-\section{Special objects}
+\subsection{Special objects}
-\subsection{\texttt{\textbackslash dashpot}}
+\subsubsection{\texttt{\textbackslash dashpot}}
\begin{LTXexample}[pos=t]
@@ -1017,7 +1021,7 @@ the coils are drawn as rectangles and the resistor as a zigzag.
-\section{Examples}
+\subsection{Examples}
\begin{LTXexample}[width=8cm]
\begin{pspicture}(-1.5,-1)(6,5)
@@ -1242,7 +1246,7 @@ the coils are drawn as rectangles and the resistor as a zigzag.
%
\makeatother
-The fellowing example was written by Manuel Luque.
+The following example was written by Manuel Luque.
\begin{LTXexample}[pos=t]
\begin{pspicture}(0,-0.5)(14,4)
@@ -1271,7 +1275,7 @@ The fellowing example was written by Manuel Luque.
\end{LTXexample}
\clearpage
-The fellowing example was written by Lionel Cordesses.
+The following example was written by Lionel Cordesses.
@@ -1297,7 +1301,7 @@ The fellowing example was written by Lionel Cordesses.
\end{LTXexample}
\clearpage
-The fellowing example was written by Christian Hoffmann.
+The following example was written by Christian Hoffmann.
\begin{LTXexample}[pos=t]
@@ -1327,6 +1331,759 @@ The fellowing example was written by Christian Hoffmann.
+
+\clearpage
+\section{Microwave symbols}
+Since for microwave signal, the direction in which the signal spreads is very important,
+There are dipoleinput or tripoleinput or quadripoleinput and arrowinput parameters.
+The value of theses parameters are left or right for the first one and true or false for second one.
+%
+\begin{verbatim}
+%%%%%
+\ifPst@inputarrow
+ \ifx\psk@Dinput\pst@Dinput@right
+ \pcline[arrows=-C](#2)(dipole@1)
+ \pcline[arrows=->,arrowinset=0](#3)(dipole@2)
+ \else
+ \pcline[arrows=->,arrowinset=0](#2)(dipole@1)
+ \pcline[arrows=C-](dipole@2)(#3)
+ \fi
+\else
+ \pcline[arrows=-C](#2)(dipole@1)
+ \pcline[arrows=C-](dipole@2)(#3)
+\fi
+\pcline[fillstyle=none,linestyle=none](#2)(#3)
+%%%%%
+\end{verbatim}
+The last line is to correct somme problems when I use colors (see example2)
+
+To add color in components (Monopole, tripole and Quadripole) I add a new
+argument since I don't know how to do this by another way. However,
+I think it is not the optimal solution. For dipole, to put commands for
+color in the first optionnal argument is ok.
+
+Finally, something doesn't work with multidipole: this following example works:
+\begin{LTXexample}[width=3.5cm,rframe={}]
+\begin{pspicture}(4,2)\psgrid
+ \pnode(0.5,1){A}
+ \pnode(3.5,1){B}
+ \multidipole(A)(B)\filter{BPF}%
+ \resistor{$R$}.
+\end{pspicture}
+\end{LTXexample}
+However, this following one doesn't work:
+\begin{verbatim}
+\begin{LTXexample}[width=3.5cm,rframe={}]
+\begin{pspicture}(4,2)\psgrid
+ \pnode(0.5,1){A}
+ \pnode(3.5,1){B}
+ \multidipole(A)(B)\amplifier{LNA}%
+ \resistor{$R$}.
+\end{pspicture}
+\end{LTXexample}
+\end{verbatim}
+
+
+\subsection{New monopole components}
+\subsubsection{New ground}
+\begin{description}
+ \item[groundstyle:] ads | old | triangle
+\end{description}
+
+\begin{LTXexample}[width=3.5cm,rframe={}]
+\begin{pspicture}(3,2)\psgrid
+ \pnode(0.5,1){A}
+ \pnode(1,1){B}
+ \pnode(2.5,1){C}
+ \newground(A)
+ \newground[groundstyle=old]{135}(B)
+ \newground[linecolor=blue,groundstyle=triangle]{180}(C)
+\end{pspicture}
+\end{LTXexample}
+
+
+\subsubsection{Antenna}
+\begin{description}
+ \item[antennastyle:] two | three | triangle
+\end{description}
+
+\begin{LTXexample}[width=3.5cm,rframe={}]
+\begin{pspicture}(3,2)\psgrid
+ \pnode(1,0.5){A}
+ \antenna[antennastyle=three](A)
+\end{pspicture}
+\end{LTXexample}
+
+\begin{LTXexample}[width=3.5cm,rframe={}]
+\begin{pspicture}(3,2)\psgrid
+ \pnode(1,0.5){A}
+ \antenna(A)
+\end{pspicture}
+\end{LTXexample}
+
+\begin{LTXexample}[width=3.5cm,rframe={}]
+\begin{pspicture}(3,2)\psgrid
+ \pnode(1,0.5){A}
+ \antenna[antennastyle=triangle](A)
+\end{pspicture}
+\end{LTXexample}
+
+
+\subsection{New monopole macro-components}
+\subsubsection{Oscillator}
+\begin{description}
+ \item[output:] top | right | bottom | left
+ \item[inputarrow:] false | true
+ \item[LOstyle:] -- | crystal
+\end{description}
+
+\begin{LTXexample}[width=3.5cm,rframe={}]
+\begin{pspicture}(3,2)\psgrid
+ \pnode(1,1){A}
+ \oscillator[output=left,inputarrow=false](A)%
+ {$f_{LO}$}{}
+\end{pspicture}
+\end{LTXexample}
+
+\begin{LTXexample}[width=3.5cm,rframe={}]
+\begin{pspicture}(3,2)\psgrid
+ \pnode(1,1){A}
+ \oscillator[output=top,inputarrow=true,LOstyle=crystal](A)%
+ {f$_{\textrm{LO}}$}{}
+\end{pspicture}
+\end{LTXexample}
+
+\begin{LTXexample}[width=3.5cm,rframe={}]
+\begin{pspicture}(3,2)\psgrid
+ \pnode(1,1){A}
+ \oscillator[output=right,inputarrow=false](A)%
+ {$f_{LO}$}{fillstyle=solid,fillcolor=blue}
+\end{pspicture}
+\end{LTXexample}
+
+\begin{LTXexample}[width=3.5cm,rframe={}]
+\begin{pspicture}(3,2)\psgrid
+ \pnode(1,1){A}
+ \oscillator[output=bottom,inputarrow=false](A)%
+ {$f_{LO}$}{}
+\end{pspicture}
+\end{LTXexample}
+
+\subsection{New dipole macro-components}
+\subsubsection{Filters}
+\begin{description}
+ \item[dipolestyle:] bandpass | lowpass | highpass
+ \item[inputarrow:] false | true
+ \item[dipoleinput:] left | right
+\end{description}
+
+\begin{LTXexample}[width=3.5cm,rframe={}]
+\begin{pspicture}(3,2)\psgrid
+ \pnode(0,1){A}
+ \pnode(3,1){B}
+ \filter(A)(B){BPF}
+\end{pspicture}
+\end{LTXexample}
+
+\begin{LTXexample}[width=3.5cm,rframe={}]
+\begin{pspicture}(3,2)\psgrid
+ \pnode(0,1){A}
+ \pnode(3,1){B}
+ \filter[dipolestyle=lowpass,fillstyle=solid,%
+ fillcolor=red](A)(B){LPF}
+\end{pspicture}
+\end{LTXexample}
+
+\begin{LTXexample}[width=3.5cm,rframe={}]
+\begin{pspicture}(3,2)\psgrid
+ \pnode(0,1){A}
+ \pnode(3,1){B}
+ \filter[dipolestyle=highpass,dipoleinput=right,%
+ inputarrow=true](A)(B){HPF}
+\end{pspicture}
+\end{LTXexample}
+
+\begin{LTXexample}[width=3.5cm,rframe={}]
+\begin{pspicture}(3,2)\psgrid
+ \pnode(0,1){A}
+ \pnode(3,1){B}
+ \filter[dipolestyle=highpass,inputarrow=true](A)(B){BPF}
+\end{pspicture}
+\end{LTXexample}
+
+\subsubsection{Isolator}
+\begin{description}
+ \item[inputarrow:] false | true
+ \item[dipoleinput:] left | right
+\end{description}
+
+\begin{LTXexample}[width=3.5cm,rframe={}]
+\begin{pspicture}(3,2)\psgrid
+ \pnode(0,1){A}
+ \pnode(3,1){B}
+ \isolator[inputarrow=true](A)(B){}
+\end{pspicture}
+\end{LTXexample}
+
+\begin{LTXexample}[width=3.5cm,rframe={}]
+\begin{pspicture}(3,2)\psgrid
+ \pnode(0,1){A}
+ \pnode(3,1){B}
+ \isolator[dipoleinput=right,inputarrow=true,fillstyle=solid,%
+ fillcolor=yellow](A)(B){Isolator}
+\end{pspicture}
+\end{LTXexample}
+
+\begin{LTXexample}[width=3.5cm,rframe={}]
+\begin{pspicture}(3,2)\psgrid
+ \pnode(0,1){A}
+ \pnode(3,1){B}
+ \isolator[dipoleinput=left](A)(B){}
+\end{pspicture}
+\end{LTXexample}
+
+\subsubsection{Frequency multiplier/divider}
+\begin{description}
+ \item[dipolestyle:] multiplier | divider
+ \item[value:] N | $n\in N$
+ \item[programmable:] false | true
+ \item[inputarrow:] false | true
+ \item[dipoleinput:] left | right
+\end{description}
+
+\begin{LTXexample}[width=3.5cm,rframe={}]
+\begin{pspicture}(3,2)\psgrid
+ \pnode(0,1){A}
+ \pnode(3,1){B}
+ \freqmult[dipolestyle=divider,inputarrow=true](A)(B){}
+\end{pspicture}
+\end{LTXexample}
+
+\begin{LTXexample}[width=3.5cm,rframe={}]
+\begin{pspicture}(3,2)\psgrid
+ \pnode(0,1){A}
+ \pnode(3,1){B}
+ \freqmult[dipolestyle=multiplier,value=10](A)(B){}
+\end{pspicture}
+\end{LTXexample}
+
+\begin{LTXexample}[width=3.5cm,rframe={}]
+\begin{pspicture}(3,3)\psgrid
+ \pnode(0,1.5){A}
+ \pnode(3,1.5){B}
+ \freqmult[dipolestyle=multiplier,programmable=true,%
+ labeloffset=-1,%
+ dipoleinput=right,%
+ inputarrow=true,
+ fillstyle=solid,
+ fillcolor=green](A)(B){10<N<35}
+\end{pspicture}
+\end{LTXexample}
+
+\subsubsection{Phase shifter}
+\begin{description}
+ \item[inputarrow:] false | true
+ \item[dipoleinput:] left | right
+\end{description}
+
+\begin{LTXexample}[width=3.5cm,rframe={}]
+\begin{pspicture}(3,2)\psgrid
+ \pnode(0,1){A1}
+ \pnode(3,1){A2}
+ \phaseshifter(A1)(A2){}
+\end{pspicture}
+\end{LTXexample}
+
+\begin{LTXexample}[width=3.5cm,rframe={}]
+\begin{pspicture}(3,2)\psgrid
+ \pnode(0,1){B1}
+ \pnode(3,1){B2}
+ \phaseshifter[inputarrow=true,%
+ dipoleinput=right,fillstyle=solid,fillcolor=red]%
+ (B1)(B2){90\ensuremath{^\circ}}
+\end{pspicture}
+\end{LTXexample}
+
+\subsubsection{VCO}
+\begin{description}
+ \item[inputarrow:] false | true
+ \item[dipoleinput:] left | right
+\end{description}
+
+\begin{LTXexample}[width=3.5cm,rframe={}]
+\begin{pspicture}(3,2)\psgrid
+ \pnode(0,1){A1}
+ \pnode(3,1){A2}
+ \vco[fillstyle=solid,fillcolor=yellow](A1)(A2){}
+\end{pspicture}
+\end{LTXexample}
+
+\begin{LTXexample}[width=3.5cm,rframe={}]
+\begin{pspicture}(3,2)\psgrid
+ \pnode(0,1){B1}
+ \pnode(3,1){B2}
+ \vco[dipoleinput=right,inputarrow=true](B1)(B2){VCO}
+\end{pspicture}
+\end{LTXexample}
+
+\subsubsection{Amplifier}
+\begin{description}
+ \item[inputarrow:] false | true
+ \item[dipoleinput:] left | right
+\end{description}
+
+\begin{LTXexample}[width=3.5cm,rframe={}]
+\begin{pspicture}(3,2)\psgrid
+ \pnode(0,1){A}
+ \pnode(3,1){B}
+ \amplifier[inputarrow=true](A)(B){}
+\end{pspicture}
+\end{LTXexample}
+
+\begin{LTXexample}[width=3.5cm,rframe={}]
+\begin{pspicture}(3,2)\psgrid
+ \pnode(0,1){A}
+ \pnode(3,1){B}
+ \amplifier[dipoleinput=right,inputarrow=true](A)(B){PA}
+\end{pspicture}
+\end{LTXexample}
+
+\begin{LTXexample}[width=3.5cm,rframe={}]
+\begin{pspicture}(3,2)\psgrid
+ \pnode(0,1){A}
+ \pnode(3,1){B}
+ \amplifier[dipoleinput=left](A)(B){LNA}
+\end{pspicture}
+\end{LTXexample}
+
+\subsubsection{Detector}
+\begin{description}
+ \item[inputarrow:] false | true
+ \item[dipoleinput:] left | right
+\end{description}
+
+\begin{LTXexample}[width=3.5cm,rframe={}]
+\begin{pspicture}(3,2)\psgrid
+ \pnode(0,1){A}
+ \pnode(3,1){B}
+ \detector[inputarrow=true](A)(B){}
+\end{pspicture}
+\end{LTXexample}
+
+\begin{LTXexample}[width=3.5cm,rframe={}]
+\begin{pspicture}(3,2)\psgrid
+ \pnode(0,1){A}
+ \pnode(3,1){B}
+ \detector[dipoleinput=right,inputarrow=true](A)(B){}
+\end{pspicture}
+\end{LTXexample}
+
+\begin{LTXexample}[width=3.5cm,rframe={}]
+\begin{pspicture}(3,2)\psgrid
+ \pnode(0,1){A}
+ \pnode(3,1){B}
+ \detector[dipoleinput=left](A)(B){}
+\end{pspicture}
+\end{LTXexample}
+
+\subsection{New tripole macro-components}
+\subsubsection{Mixer}
+\begin{description}
+ \item[tripolestyle:] bottom | top
+ \item[tripoleconfig:] left | right
+ \item[inputarrow:] false | true
+\end{description}
+
+\begin{LTXexample}[width=3.5cm,rframe={}]
+\begin{pspicture}(3,2)\psgrid
+ \pnode(0.5,1){A}
+ \pnode(2.5,1){B}
+ \pnode(1.5,2){C}
+ \mixer[tripolestyle=top,inputarrow=true](A)(B)(C)%
+ {Mixer}{}
+\end{pspicture}
+\end{LTXexample}
+
+\begin{LTXexample}[width=3.5cm,rframe={}]
+\begin{pspicture}(3,2)\psgrid
+ \pnode(0.5,1){A}
+ \pnode(2.5,1){B}
+ \pnode(1.5,0){C}
+ \mixer[inputarrow=true,tripoleinput=right](A)(B)(C)%
+ {Mixer}{fillstyle=solid,fillcolor=yellow}
+\end{pspicture}
+\end{LTXexample}
+
+\subsubsection{Circulator}
+\begin{description}
+ \item[tripolestyle:] circulator | isolator
+ \item[inputarrow:] false | true
+ \item[tripoleinput:] left | right
+\end{description}
+
+\begin{LTXexample}[width=3.5cm,rframe={}]
+\begin{pspicture}(3,2)\psgrid
+ \pnode(0.5,1){A}
+ \pnode(2.5,1){B}
+ \pnode(1.5,0){C}
+ \circulator{0}(A)(B)(C){Circulator}{}
+\end{pspicture}
+\end{LTXexample}
+
+\begin{LTXexample}[width=3.5cm,rframe={}]
+\begin{pspicture}(3,3)\psgrid
+ \pnode(1.5,0.5){A}
+ \pnode(1.5,2.5){B}
+ \pnode(0.5,1.5){C}
+ \circulator[tripolestyle=isolator,inputarrow=true]{90}%
+ (A)(B)(C){Isolator}{}
+\end{pspicture}
+\end{LTXexample}
+
+\begin{LTXexample}[width=3.5cm,rframe={}]
+\begin{pspicture}(3,2)\psgrid
+ \pnode(0.5,1){A}
+ \pnode(2.5,1){B}
+ \pnode(1.5,0){C}
+ \circulator[tripoleconfig=right,tripolestyle=isolator,%
+ inputarrow=true,tripoleinput=right]{0}%
+ (B)(A)(C){Isolator}{}
+\end{pspicture}
+\end{LTXexample}
+
+\begin{LTXexample}[width=3.5cm,rframe={}]
+\begin{pspicture}(3,2)\psgrid
+ \pnode(0.5,1){A}
+ \pnode(2.5,1){B}
+ \pnode(1.5,2){C}
+ \circulator[tripoleconfig=right,inputarrow=true]{180}%
+ (A)(B)(C){Isolator}{fillstyle=solid,fillcolor=red}
+\end{pspicture}
+\end{LTXexample}
+
+\subsubsection{Agc}
+\begin{description}
+ \item[inputarrow:] false | true
+ \item[tripoleinput:] left | right
+\end{description}
+
+\begin{LTXexample}[width=3.5cm,rframe={}]
+\begin{pspicture}(3,2)\psgrid
+ \pnode(0.5,1){A}
+ \pnode(2.5,1){B}
+ \pnode(1.5,0){C}
+ \agc(A)(B)(C){AGC}{fillstyle=solid,fillcolor=yellow}
+\end{pspicture}
+\end{LTXexample}
+
+\begin{LTXexample}[width=3.5cm,rframe={}]
+\begin{pspicture}(3,2)\psgrid
+ \pnode(0.5,1){A}
+ \pnode(2.5,1){B}
+ \pnode(1.5,0){C}
+ \agc[tripoleinput=right,inputarrow=true](A)(B)(C)%
+ {AGC}{fillstyle=solid,fillcolor=blue}
+\end{pspicture}
+\end{LTXexample}
+
+\subsection{New quadripole macro-components}
+\subsubsection{Coupler}
+\begin{description}
+ \item[couplerstyle:] hybrid | directional
+ \item[inputarrow:] false | true
+ \item[quadripoleinput:] left | right
+\end{description}
+
+\begin{LTXexample}[width=3.5cm,rframe={}]
+\begin{pspicture}(3,2)\psgrid
+ \pnode(0,1.4){A}
+ \pnode(0,0.6){B}
+ \pnode(3,1.4){C}
+ \pnode(3,0.6){D}
+ \coupler[couplerstyle=hybrid,inputarrow=true](A)(B)(C)(D)%
+ {Hyb. $180$\ensuremath{^\circ}}%
+ {fillstyle=solid,fillcolor=yellow}
+\end{pspicture}
+\end{LTXexample}
+
+\begin{LTXexample}[width=3.5cm,rframe={}]
+\begin{pspicture}(3,2)\psgrid
+ \pnode(0,1.4){A}
+ \pnode(0,0.6){B}
+ \pnode(3,1.4){C}
+ \pnode(3,0.6){D}
+ \coupler[couplerstyle=directional](A)(B)(C)(D){10~dB}{}
+\end{pspicture}
+\end{LTXexample}
+
+\begin{LTXexample}[width=3.5cm,rframe={}]
+\begin{pspicture}(3,2)\psgrid
+ \pnode(0,1.4){A}
+ \pnode(0,0.6){B}
+ \pnode(3,1.4){C}
+ \pnode(3,0.6){D}
+ \coupler[couplerstyle=hybrid,inputarrow=true,%
+ quadripoleinput=right](A)(B)(C)(D)%
+ {Hyb. $180$\ensuremath{^\circ}}{}
+\end{pspicture}
+\end{LTXexample}
+
+\begin{LTXexample}[width=3.5cm,rframe={}]
+\begin{pspicture}(3,2)\psgrid
+ \pnode(0,1.4){A}
+ \pnode(0,0.6){B}
+ \pnode(3,1.4){C}
+ \pnode(3,0.6){D}
+ \coupler[couplerstyle=directional,quadripoleinput=right,%
+ inputarrow=true](A)(B)(C)(D){10~dB}{}
+\end{pspicture}
+\end{LTXexample}
+
+
+\subsection{Examples}
+\subsubsection{Radiometer block diagram example}
+From Chang, K., RF and Microwave Wireless Systems, Wiley InterScience, page 319, ISBN 0-471-35199-7
+
+\noindent
+\resizebox{\linewidth}{!}{%
+\begin{pspicture}(1,2)(19,9)
+ \pnode(2,8){A}
+ \antenna{90}(A)
+ \rput(4,8){\rnode{B}{\psframebox{\begin{tabular}{c}Ferrite\\Switch\end{tabular}}}}
+ \ncline{A}{B}
+ %%% Branche Calibration
+ \pnode(4,6){C}
+ \pnode(4,4){D}
+ \pnode(5,5){E}
+ \circulator[tripolestyle=isolator,tripoleconfig=right]{90}(C)(D)(E){Isolator}{}
+ \ncline{B}{C}
+ \pnode(3,3){F}
+ \pnode(5,3){G}
+ \resistor[unit=0.5,dipolestyle=zigzag,variable=true](F)(G){}
+ \pnode(4,3){H}
+ \ncline{D}{H}
+ \rput[t](4,2.75){%
+ \begin{tabular}{c}
+ Hot and Cold\\
+ loads for calibration
+ \end{tabular}}
+ %%% Branche réception
+ \pnode(6,8){R1}
+ \pnode(8,8){R2}
+ \pnode(7,7){X1}
+ \circulator[tripolestyle=isolator,tripoleconfig=right]{180}(R1)(R2)(X1){Isolator}{}
+ \ncline{B}{R1}
+ \pnode(10,8){R3}
+ \pnode(9,7){X2}
+ \mixer[inputarrow=true](R2)(R3)(X2){Mixer}{}
+ \pnode(9,6){X3}
+ \oscillator[output=top](X3){LO}{}
+ \pnode(12,8){R4}
+ \ncline{R3}{R4}
+ \naput{0.5~GHZ}
+ \pnode(14,8){R5}
+ \filter(R4)(R5){BPF}%
+ \pnode(16,8){R6}
+ \amplifier[inputarrow=true](R5)(R6){IF~Amp}
+ \pnode(18,8){R7}
+ \detector[inputarrow=true](R6)(R7){Detector}
+ \pnode(18,4){R8}
+ \amplifier[inputarrow=true,labeloffset=-1](R7)(R8){Amp}
+ \pscircle[fillstyle=solid,fillcolor=white](18,4){0.1}
+ \rput[t](18,3.9){%
+ \begin{tabular}{c}
+ Output\\
+ for processing
+ \end{tabular}}
+\end{pspicture}}
+
+\clearpage
+\begin{landscape}
+\subsubsection{Ku-band Transceiver}
+\resizebox{\linewidth}{!}{%
+\psset{unit=1cm}
+\begin{pspicture}(0,-3.5)(29.25,11)
+ \rput[r](1.9,8){70/140MHz}
+ \pnode(2,8){N1}
+ \pnode(4,8){N2}
+ \amplifier[fillstyle=solid,fillcolor=Thistle,inputarrow=true](N1)(N2){IF~Amp}
+
+ \pnode(6,8){N3}
+ \pnode(5,7){D1}
+ \mixer(N2)(N3)(D1){}{}
+
+ \pnode(5,5){D2}
+ \amplifier[fillstyle=solid,fillcolor=CornflowerBlue,labeloffset=-1.5](D2)(D1){L-Band Buffers}
+ \pnode(3,5){D3}
+ \amplifier[fillstyle=solid,fillcolor=CornflowerBlue](D3)(D2){}
+ \pnode(2,5){D4}
+ \oscillator[output=right](D4){VCO}{fillstyle=solid,fillcolor=Orange}
+ \psframe(1.25,3)(2.75,5.75)
+ \rput[b](2,3.1){\large\textbf{L-band}}
+ \pnode(5,3){D5}
+ \amplifier[fillstyle=solid,fillcolor=CornflowerBlue](D2)(D5){}
+
+ \pnode(2,2){R1}
+ \pnode(4,2){R2}
+ \amplifier[fillstyle=solid,fillcolor=Thistle](R2)(R1){IF~Amp}
+ \rput[r](1.9,2){70/140MHz}
+ \pnode(6,2){R3}
+ \filter(R3)(R2){}
+ \pnode(8,2){R4}
+ \pnode(7,3){D6}
+ \mixer[tripolestyle=top](R3)(R4)(D6){}{}
+ \ncline{D5}{D6}
+
+ \pnode(8,8){N4}
+ \filter(N3)(N4){}
+ \pnode(10,8){N5}
+ \amplifier[fillstyle=solid,fillcolor=NavyBlue](N4)(N5){L-band Amp}
+ \pnode(12,8){N6}
+ \resistor[unit=0.5,dipolestyle=zigzag,variable=true,labeloffset=-0.8](N5)(N6){RF Atten}
+ \pnode(11,8){U0}
+
+ \pnode(14,8){N7}
+ \amplifier[fillstyle=solid,fillcolor=NavyBlue](N6)(N7){}
+ \pnode(16,8){N8}
+ \pnode(15,7){D7}
+ \mixer(N7)(N8)(D7){Mixer}{fillstyle=solid,fillcolor=BurntOrange}
+ \pnode(18,8){N9}
+ \filter(N8)(N9){}
+ \pnode(20,8){N10}
+ \amplifier[fillstyle=solid,fillcolor=NavyBlue,labeloffset=-0.8](N9)(N10){L-band Amp}
+ \pnode(22,8){N11}
+ \pnode(21,7){X1}
+ \mixer(N10)(N11)(X1){Mixer}{fillstyle=solid,fillcolor=BurntOrange}
+ \pnode(24,8){N12}
+ \filter(N11)(N12){}
+ \pnode(26,8){N13}
+ \amplifier[fillstyle=solid,fillcolor=RubineRed,labeloffset=-0.8](N12)(N13){Ku-band Amp}
+
+ \pnode(18,10){U2}
+ \pnode(20,10){U3}
+ \detector[fillstyle=solid,fillcolor=NavyBlue,dipoleinput=right](U2)(U3){Det L-Band}
+ \pnode(11,10){U1}
+ \ncline{U2}{U1}
+ \ncline{U1}{U0}
+ \pnode(24,10){U4}
+ \pnode(26,10){U5}
+ \detector[fillstyle=solid,fillcolor=RubineRed,dipoleinput=right](U4)(U5){Det Ku-Band}
+ \ncline{U4}{U3}
+ \ncline{U5}{N13}
+
+ \pnode(15,5){D8}
+ \amplifier[fillstyle=solid,fillcolor=CornflowerBlue,labeloffset=-1.5](D8)(D7){L-Band Buffers}
+ \pnode(13,5){D9}
+ \amplifier[fillstyle=solid,fillcolor=CornflowerBlue](D9)(D8){}
+ \pnode(13,4){D10}
+ \ncline{D9}{D10}
+ \pnode(11,4){D11}
+ \vco[fillstyle=solid,fillcolor=Orange](D11)(D10){VCO}
+ \rput(10,4){\rnode{D12}{\psframebox{\textbf{PLL}}}}
+ \ncline{D11}{D12}
+ \pnode(10,6){D13}
+ \ncline{D12}{D13}
+ \pnode(11,6){D14}
+ \ncline{D13}{D14}
+ \pnode(13,6){D15}
+ \freqmult[fillstyle=solid,fillcolor=Goldenrod,dipolestyle=divider](D14)(D15){Prescaler}
+ \ncline{D15}{D9}
+ \psframe(9.5,3.25)(13.1,7)
+ \rput[tl](9.7,6.8){\large\textbf{L-Band}}
+
+ \pnode(10,2){R5}
+ \amplifier[fillstyle=solid,fillcolor=NavyBlue](R5)(R4){L-band Amp}
+ \pnode(12,2){R6}
+ \resistor[unit=0.5,dipolestyle=zigzag,variable=true,labeloffset=-0.8](R5)(R6){RF Atten}
+ \pnode(14,2){R7}
+ \amplifier[fillstyle=solid,fillcolor=NavyBlue](R7)(R6){L-band Amp}
+ \pnode(16,2){R8}
+ \filter(R8)(R7){}
+ \pnode(18,2){R9}
+ \pnode(17,3){D17}
+ \mixer[tripolestyle=top](R8)(R9)(D17){Mixer}{fillstyle=solid,fillcolor=BurntOrange}
+
+ \pnode(15,3){D16}
+ \amplifier[fillstyle=solid,fillcolor=CornflowerBlue](D8)(D16){}
+ \ncline{D16}{D17}
+
+ \pnode(20,2){R10}
+ \amplifier[fillstyle=solid,fillcolor=NavyBlue](R10)(R9){L-band Amp}
+ \pnode(22,2){R11}
+ \amplifier[fillstyle=solid,fillcolor=NavyBlue](R11)(R10){L-band Amp}
+ \pnode(24,2){R12}
+ \filter(R12)(R11){}
+ \pnode(26,2){R13}
+ \pnode(25,1){R15}
+ \mixer(R12)(R13)(R15){Mixer}{fillstyle=solid,fillcolor=BurntOrange}
+ \pnode(28,2){R14}
+ \amplifier[fillstyle=solid,fillcolor=Purple](R14)(R13){Ku-band LNA}
+
+ \pnode(25,-1){R16}
+ \amplifier[fillstyle=solid,fillcolor=OliveGreen,labeloffset=-1.6](R16)(R15){Ku-band Buffers}
+ \pnode(24,-1){R17}
+ \ncline{R16}{R17}
+ \pnode(24,-2){R18}
+ \ncline{R17}{R18}
+ \pnode(22,-2){R19}
+ \vco[fillstyle=solid,fillcolor=Red](R18)(R19){Ku-band}
+ \rput(21,-2){\rnode{R20}{\psframebox{\textbf{PLL}}}}
+ \ncline{R19}{R20}
+ \pnode(21,0){R21}
+ \ncline{R20}{R21}
+ \pnode(22,0){R22}
+ \ncline{R21}{R22}
+ \pnode(24,0){R23}
+ \freqmult[fillstyle=solid,fillcolor=Goldenrod,dipolestyle=divider](R22)(R23){Prescaler}
+ \ncline{R23}{R17}
+ \psframe(18,-3)(28.5,3)
+ \rput[br](28,-2.75){\large\textbf{LNB}}
+ \rput[bl](18,3.1){%
+ \begin{tabular}{l}
+ \textbf{950-1540 MHz}\\
+ \textbf{900-1700 MHz}
+ \end{tabular}}
+ \cnode(29,2){.1}{S2}
+ \ncline{R14}{S2}
+
+ \pnode(21,5.5){X2}
+ \ncline{X1}{X2}
+ \pnode(24,5.5){X3}
+ \amplifier[fillstyle=solid,fillcolor=OliveGreen](X3)(X2){Ku-band Buffers}
+ \pnode(24,6.25){X4}
+ \ncline{X3}{X4}
+ \pnode(26,6.25){X5}
+ \freqmult[fillstyle=solid,fillcolor=Goldenrod,dipolestyle=divider,labeloffset=-0.7](X4)(X5){Prescaler}
+ \pnode(27,6.25){X6}
+ \ncline{X5}{X6}
+ \rput(27,4.75){\rnode{X7}{\psframebox{\textbf{PLL}}}}
+ \ncline{X6}{X7}
+ \pnode(26,4.75){X8}
+ \ncline{X7}{X8}
+ \pnode(24,4.75){X9}
+ \vco[fillstyle=solid,fillcolor=Red](X8)(X9){Ku-band}
+ \ncline{X9}{X3}
+ \psframe(23.75,3.25)(28.5,7)
+ \rput[br](28,3.5){\large\textbf{Ku-band}}
+
+ \pnode(28.5,8){N14}
+ \amplifier[fillstyle=solid,fillcolor=RubineRed](N13)(N14){}
+ \cnode(29,8){.1}{S1}
+ \ncline{N14}{S1}
+ \psframe(26.25,7.25)(28.5,10)
+ \rput[t](27.375,9.75){\large \textbf{SSPA}}
+
+ \rput[lt](2,0){\large%
+ \begin{tabular}{l}
+ \textbf{Tx/GHz: 13.75-14.00, 14.00-14.50}\\
+ \textbf{Rx/GHz: 10.95-11.70, 11.20-11.70, 11.70-12.20, 12.25-12.75}
+ \end{tabular}}
+\end{pspicture}}
+
+\end{landscape}
+
+
+
\clearpage
\section{Flip Flops -- logical elements}
@@ -1769,6 +2526,8 @@ all is finished.
+
+
\section{Adding new components}
Adding new components is not simple. As a matter of fact, because of the complex
@@ -1884,6 +2643,8 @@ me and it will become part of the official release of \CircPackage.
\textbf{Important:} Pay attention to the comment character \verb+%+
at the end of lines. They are \emph{very} important in order to avoid spurious blanks.
+
+
\section{Acknowledgements}
We thank of course Manuel Luque for his original work on pst-circ and for his circuit
diff --git a/Master/texmf-dist/dvips/pst-circ/pst-circ.pro b/Master/texmf-dist/dvips/pst-circ/pst-circ.pro
index c2210ce174c..9eb1977939d 100644
--- a/Master/texmf-dist/dvips/pst-circ/pst-circ.pro
+++ b/Master/texmf-dist/dvips/pst-circ/pst-circ.pro
@@ -1,4 +1,6 @@
%!
+% $Id: pst-circ.pro 3 2007-12-23 16:23:22Z herbert $
+%
% PostScript prologue for pst-circ.tex.
% version 0.01 2007-03-23 (hv)
% For distribution, see pstricks.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 490bdc5b9c1..534cebc83f5 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\PSTnodeLoaded\endinput\else\input pst-node.tex\fi
\ifx\PSTXKeyLoaded\endinput\else\input pst-xkey \fi
%
-\def\fileversion{1.43}
-\def\filedate{2007/12/19}
+\def\fileversion{1.44}
+\def\filedate{2008/02/27}
\message{`pst-circ' v\fileversion (CJ,hv,pd)}
%
\edef\PstAtCode{\the\catcode`\@} \catcode`\@=11\relax
@@ -380,12 +380,12 @@
\ifPst@temp\pnode(#1){TBaseNode}%
\else%
\pst@getcoor{#1}\pst@tempa%
- \pnode(!
+ \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
+ /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%
\rput{\Pst@TRot}(TBaseNode){%
\ifPst@T@circle\pscircle(0.3,0){0.7}\fi
@@ -406,7 +406,7 @@
\ifx\psk@Ttype\pst@Ttype@FET\relax%
\ifPst@T@invert\pnode(0.65,0.5){#2}\else\pnode(0.65,0.5){#3}\fi%
\ifPst@T@invert\pnode(0.65,-0.5){#3}\else\pnode(0.65,-0.5){#2}\fi%
- \else
+ \else
\ifPst@T@invert\pnode(0.5,0.5){#2}\else\pnode(0.5,0.5){#3}\fi%
\ifPst@T@invert\pnode(0.5,-0.5){#3}\else\pnode(0.5,-0.5){#2}\fi%
\fi
@@ -446,12 +446,12 @@
/X2 exch \pst@number\psxunit div def
\pst@tempc /Y3 exch \pst@number\psyunit div def
/X3 exch \pst@number\psxunit div def
- /LR X1 X2 lt { false }{ true } ifelse def % change left-right
- /basesep \Pst@basesep\space \pst@number\psxunit div def
+ /LR X1 X2 lt { false }{ true } ifelse def % change left-right
+ /basesep \Pst@basesep\space \pst@number\psxunit div def
/XBase X1 basesep \Pst@TRot\space cos mul add def
/YBase Y1 basesep \Pst@TRot\space sin mul add def
- XBase YBase ){@@base}% base node
-%
+ XBase YBase ){@@base}% base node
+%
\Pst@temptrue%
\transistor@ii(@@base){@@emitter}{@@collector}%
%
@@ -459,7 +459,7 @@
\if\psk@labelT@iE\@empty\else\psset{transistoriemitter=true}\fi%
\if\psk@labelT@iC\@empty\else\psset{transistoricollector=true}\fi%
\ifPst@intensity\psset{transistoribase=true,transistoriemitter=true,transistoricollector=true}\fi%
-%
+%
\bgroup\psset{style=baseOpt}\psedge(#1)(TBaseNode)\egroup%
\ifPst@T@iB% base current?
\ncput[npos=0.5,nrot=\Pst@TRot]{%
@@ -476,14 +476,14 @@
\ifPst@T@invert% emitter/collector changed?
\ncput[npos=1.5,nrot=:U]{%
\psline[linecolor=\psk@I@color,linewidth=\psk@I@width,%
- arrowsize=6\pslinewidth,arrowinset=0]{->}(-0.1,0)(0.1,0)}
+ arrowsize=6\pslinewidth,arrowinset=0]{->}(-0.1,0)(0.1,0)}
\nbput[npos=1.5]{\csname\psk@I@labelcolor\endcsname\psk@labelT@iE}
\fi\fi%
\ifPst@T@iC% collector current?
\ifPst@T@invert\else% emitter/collector changed?
\ncput[npos=1.5,nrot=:U]{%
\psline[linecolor=\psk@I@color,linewidth=\psk@I@width,%
- arrowsize=6\pslinewidth,arrowinset=0]{->}(-.1,0)(.1,0)}
+ arrowsize=6\pslinewidth,arrowinset=0]{->}(-.1,0)(.1,0)}
\nbput[npos=1.5]{\csname\psk@I@labelcolor\endcsname\psk@labelT@iC}
\fi\fi%
\bgroup
@@ -495,14 +495,14 @@
\ifPst@T@invert\else
\ncput[npos=1.5,nrot=:U]{%
\psline[linecolor=\psk@I@color,linewidth=\psk@I@width,
- arrowsize=6\pslinewidth,arrowinset=0]{<-}(-.1,0)(.1,0)}
+ arrowsize=6\pslinewidth,arrowinset=0]{<-}(-.1,0)(.1,0)}
\naput[npos=1.5]{\csname\psk@I@labelcolor\endcsname\psk@labelT@iE}
\fi\fi%
\ifPst@T@iC% collector current?
\ifPst@T@invert% emitter/collector changed?
\ncput[npos=1.5,nrot=:U]{%
\psline[linecolor=\psk@I@color,linewidth=\psk@I@width,
- arrowsize=6\pslinewidth,arrowinset=0]{<-}(-.1,0)(.1,0)}
+ arrowsize=6\pslinewidth,arrowinset=0]{<-}(-.1,0)(.1,0)}
\naput[npos=1.5]{\csname\psk@I@labelcolor\endcsname\psk@labelT@iC}
\fi\fi
\psline[linestyle=none](#1)(#2)% for the end arrows
@@ -766,8 +766,16 @@
\ifx\dashpot #4%%% pd change
\let\next\pst@multidipole@dashpot
\else%%% pd change
- \let\next\ignorespaces
- \fi%%% pd change
+ \ifx\filter #4%
+ \let\next\pst@multidipole@filter
+ \else
+ \ifx\isolator #4%
+ \let\next\pst@multidipole@filter
+ \else
+ \let\next\ignorespaces
+ \fi
+ \fi
+ \fi%%% pd change
\fi
\fi
\fi
@@ -829,8 +837,16 @@
\ifx\dashpot #1%%% pd change
\let\next\pst@multidipole@dashpot
\else%%% pd change
- \let\next\ignorespaces
- \pst@multidipole@output
+ \ifx\filter #1%
+ \let\next\pst@multidipole@filter
+ \else
+ \ifx\isolator #1%
+ \let\next\pst@multidipole@isolator
+ \else
+ \let\next\ignorespaces
+ \pst@multidipole@output
+ \fi
+ \fi
\fi%%% pd change
\fi
\fi
@@ -1154,9 +1170,9 @@
\ncput[npos=\psk@parallel@sep]{\pnode{dipole@@1}}
\pcline[arrows=-,linestyle=none,fillstyle=none](#3)(dipole@M)
\ncput[npos=\psk@parallel@sep]{\pnode{dipole@@2}}
- \pcline[arrows=-,linestyle=none,
- fillstyle=none,
- offset=\psk@parallel@arm](dipole@@1)(dipole@@2)
+ \pcline[arrows=-,linestyle=none,
+ fillstyle=none,
+ offset=\psk@parallel@arm](dipole@@1)(dipole@@2)
\ncput[npos=0]{\pnode{dipole@@@1}}
\ncput[npos=1]{\pnode{dipole@@@2}}
\ncput[nrot=:U]{#5}
@@ -1167,24 +1183,36 @@
\ifPst@parallel@node
\pscircle*(dipole@@1){2\pslinewidth}
\pscircle*(dipole@@2){2\pslinewidth}
- \fi
- \pcline[arrows=-,linestyle=none,
- fillstyle=none,
- offset=\psk@label@offset](dipole@@@1)(dipole@@@2)
+ \fi
+ \pcline[arrows=-,linestyle=none,
+ fillstyle=none,
+ offset=\psk@label@offset](dipole@@@1)(dipole@@@2)
\ncput[nrot=\psk@label@angle]{#4}
\pst@intensity{dipole@@@1}{dipole@@@2}
\pst@tension{dipole@@@1}{dipole@@@2}
\else
\ncput[nrot=:U]{#5}
- \pcline[arrows=-,linestyle=none,
- fillstyle=none,offset=\psk@label@offset](#2)(#3)
+ \pcline[arrows=-,linestyle=none,
+ fillstyle=none,offset=\psk@label@offset](#2)(#3)
\ncput[nrot=\psk@label@angle]{#4}
%%%
% CHANGES HERE!!!
%%%
- \pcline[arrows=-C](#2)(dipole@1)
- \pcline[arrows=C-](dipole@2)(#3)
- \pcline[linestyle=none](#2)(#3)
+%%%%%
+ \ifPst@inputarrow
+ \ifx\psk@Dinput\pst@Dinput@right
+ \pcline[fillstyle=none,arrows=-C](#2)(dipole@1)
+ \pcline[fillstyle=none,arrows=->,arrowinset=0](#3)(dipole@2)
+ \else
+ \pcline[fillstyle=none,arrows=->,arrowinset=0](#2)(dipole@1)
+ \pcline[fillstyle=none,arrows=C-](dipole@2)(#3)
+ \fi
+ \else
+ \pcline[fillstyle=none,arrows=-C](#2)(dipole@1)
+ \pcline[fillstyle=none,arrows=C-](dipole@2)(#3)
+ \fi
+ \pcline[fillstyle=none,linestyle=none](#2)(#3)
+%%%%%
\pst@intensity{#2}{#3}
\pst@tension{#2}{#3}
\fi%
@@ -1871,8 +1899,832 @@
\ncput[nrot=\psk@label@angle]{\csname\psk@tension@labelcolor\endcsname #4}
}\ignorespaces}
%
-\def\node(#1){%
-\pscircle*(#1){2\pslinewidth}}
+\def\node(#1){\pscircle*(#1){2\pslinewidth}}
+%
+%
+%
+\newif\ifPst@inputarrow
+\define@key[psset]{pst-circ}{inputarrow}[false]{\@nameuse{Pst@inputarrow#1}}
+\newif\ifPst@programmable
+\define@key[psset]{pst-circ}{programmable}[false]{\@nameuse{Pst@programmable#1}}
+%
+\def\pst@Gstyle@old{old}
+\def\pst@Gstyle@ads{ads}
+\def\pst@Gstyle@triangle{triangle}
+\def\pst@Astyle@two{two}
+\def\pst@Astyle@three{three}
+\def\pst@Astyle@triangle{triangle}
+\def\pst@LOoutput@left{left}
+\def\pst@LOoutput@top{top}
+\def\pst@LOoutput@right{right}
+\def\pst@LOoutput@bottom{bottom}
+\def\pst@LOstyle@crystal{crystal}
+\def\pst@Dstyle@lowpass{lowpass}
+\def\pst@Dstyle@highpass{highpass}
+\def\pst@Dinput@right{right}
+\def\pst@Dinput@left{left}
+\def\pst@Dstyle@multiplier{multiplier}
+\def\pst@Dstyle@divider{divider}
+\def\pst@FMvalue@value{0}
+\def\pst@tripole@style@bottom{bottom}
+\def\pst@tripole@style@top{top}
+\def\pst@Tinput@left{left}
+\def\pst@Tinput@right{right}
+\def\pst@tripole@style@circulator{circulator}
+\def\pst@tripole@style@isolator{isolator}
+\def\pst@Tconfig@left{left}
+\def\pst@Tconfig@right{right}
+\def\pst@Qstyle@directional{directional}
+\def\pst@Qstyle@hybrid{hybrid}
+\def\pst@Qinput@left{left}
+\def\pst@Qinput@right{right}
+\define@key[psset]{pst-circ}{groundstyle}{\def\psk@Gstyle{#1}}
+\define@key[psset]{pst-circ}{antennastyle}{\def\psk@Astyle{#1}}
+\define@key[psset]{pst-circ}{output}{\def\psk@LOoutput{#1}}
+\define@key[psset]{pst-circ}{LOstyle}{\def\psk@LOstyle{#1}}
+\define@key[psset]{pst-circ}{dipoleinput}{\def\psk@Dinput{#1}}
+\define@key[psset]{pst-circ}{value}{\def\psk@FMvalue{#1}}
+\define@key[psset]{pst-circ}{tripoleinput}{\def\psk@Tinput{#1}}
+\define@key[psset]{pst-circ}{tripoleconfig}{\def\psk@Tconfig{#1}}
+\define@key[psset]{pst-circ}{couplerstyle}{\def\psk@Qstyle{#1}}
+\define@key[psset]{pst-circ}{quadripoleinput}{\def\psk@Qinput{#1}}
+\psset{groundstyle=ads,%
+ antennastyle=two,%
+ output=top,%
+ dipoleinput=left,%
+ dipolestyle=multiplier,%
+ value=0,%
+ dipoleinput=left,%
+ inputarrow=false,%
+ tripoleinput=left,%
+ tripolestyle=bottom,%
+ tripoleconfig=left,%
+ quadripoleinput=left,%
+ couplerstyle=hybrid}
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% monopole
+%%% newground: groundstyle: (ads), old, triangle
+%%% Antenna: antennastyle: (two), three, triangle
+%%% Oscillator: oscioutput: (top), right, bottom, left,
+%%% inputarrow: (false), true
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% newground %%%
+\def\newground{\@ifnextchar[{\pst@newground}{\pst@newground[]}}
+\def\pst@newground[#1]{%
+ \@ifnextchar({\pst@newgroundi[#1]{0}}{\pst@newgroundi[#1]}%
+}
+\def\pst@newgroundi[#1]#2(#3){%
+ \psset{#1}%
+ \rput{#2}(#3){%
+ \ifx\psk@Gstyle\pst@Gstyle@ads
+ \psline[linewidth=1.5\pslinewidth]{c-c}(-0.3,-0.5)(0.3,-0.5)
+ \psline[linewidth=1.5\pslinewidth]{c-c}(-0.2,-0.6)(0.2,-0.6)
+ \psline[linewidth=1.5\pslinewidth]{c-c}(-0.1,-0.7)(0.1,-0.7)
+ \fi
+ \ifx\psk@Gstyle\pst@Gstyle@old
+ \psline[linewidth=1.5\pslinewidth](-0.5,-0.5)(0.5,-0.5)
+ \fi
+ \ifx\psk@Gstyle\pst@Gstyle@triangle
+ \pstriangle[linewidth=1.5\pslinewidth](0,-0.5)(0.4,-0.4)
+ \fi
+ \psline(0,0)(0,-0.5)
+ \pscircle*(#3){2\pslinewidth}%
+ }
+ \ignorespaces%
+}
+%
+%%% antenna %%%
+%
+\def\antenna{\@ifnextchar[{\pst@antenna}{\pst@antenna[]}}
+\def\pst@antenna[#1]{%
+ \@ifnextchar({\pst@antennai[#1]{0}}{\pst@antennai[#1]}%
+}
+\def\pst@antennai[#1]#2(#3){%
+ \psset{#1}%
+ \rput{#2}(#3){%
+ \ifx\psk@Astyle\pst@Astyle@two
+ \psline[linewidth=1.5\pslinewidth](0,.75)(-0.2,1.25)
+ \psline[linewidth=1.5\pslinewidth](0,.75)(0.2,1.25)
+ \fi
+ \ifx\psk@Astyle\pst@Astyle@three
+ \psline[linewidth=1.5\pslinewidth](0,.75)(-0.2,1.25)
+ \psline[linewidth=1.5\pslinewidth](0,.75)(0,1.25)
+ \psline[linewidth=1.5\pslinewidth](0,.75)(0.2,1.25)
+ \fi
+ \ifx\psk@Astyle\pst@Astyle@triangle
+ \pstriangle[linewidth=1.5\pslinewidth](0,1.25)(0.4,-0.5)
+ \fi
+ \psline(0,0)(0,.75)
+ }
+ \ignorespaces%
+}
+%
+%%% oscillator %%%
+%
+\def\oscillator{\@ifnextchar[{\pst@oscillator}{\pst@oscillator[]}}
+\def\pst@oscillator[#1]{%
+ \@ifnextchar({\pst@oscillatori[#1]{0}}{\pst@oscillatori[#1]}%
+}
+\def\pst@oscillatori[#1]#2(#3)#4#5{%
+ \psset{#1}%
+ \rput{#2}(#3){%
+ \pscircle[#5,linewidth=1.5\pslinewidth](0,0){0.5}
+ \ifx\psk@LOstyle\pst@LOstyle@crystal
+ \psline(-0.2,-0.35)(-0.2,0.35)
+ \psframe(-0.15,-0.3)(0.15,0.3)
+ \psline(0.2,-0.35)(0.2,0.35)
+ \else
+ \pscurve[linewidth=1.5\pslinewidth]{c-c}(-0.3,0.000)(-0.225,0.088375)(-0.15,0.1250)(-0.075,0.088375)%
+ (0,0.000)(0.075,-0.088375)(0.15,-0.125)(0.225,-0.088375)(0.3,0.000)
+ \fi
+ \ifx\psk@LOoutput\pst@LOoutput@left
+ \pst@getcoor{#3}\pst@tempa
+ \pnode(!%
+ \pst@tempa /Y1 exch \pst@number\psyunit div def
+ /X1 exch \pst@number\psxunit div def
+ /XC X1 def
+ /YC Y1 -0.6 add def
+ XC YC){C@}
+ \rput[t]{#2}(C@){#4}
+ \ifPst@inputarrow
+ \psline[arrows=->,arrowinset=0](-0.5,0)(-1,0)
+ \else
+ \psline(-0.5,0)(-1,0)
+ \fi
+ \fi
+ \ifx\psk@LOoutput\pst@LOoutput@top
+ \pst@getcoor{#3}\pst@tempa
+ \pnode(!%
+ \pst@tempa /Y1 exch \pst@number\psyunit div def
+ /X1 exch \pst@number\psxunit div def
+ /XC X1 def
+ /YC Y1 -0.6 add def
+ XC YC){C@}
+ \rput[t]{#2}(C@){#4}
+ \ifPst@inputarrow
+ \psline[arrows=->,arrowinset=0](0,0.5)(0,1)
+ \else
+ \psline(0,0.5)(0,1)
+ \fi
+ \fi
+ \ifx\psk@LOoutput\pst@LOoutput@right
+ \pst@getcoor{#3}\pst@tempa
+ \pnode(!%
+ \pst@tempa /Y1 exch \pst@number\psyunit div def
+ /X1 exch \pst@number\psxunit div def
+ /XC X1 def
+ /YC Y1 -0.6 add def
+ XC YC){C@}
+ \rput[t]{#2}(C@){#4}
+ \ifPst@inputarrow
+ \psline[arrows=->,arrowinset=0](0.5,0)(1,0)
+ \else
+ \psline(0.5,0)(1,0)
+ \fi
+ \fi
+ \ifx\psk@LOoutput\pst@LOoutput@bottom
+ \pst@getcoor{#3}\pst@tempa
+ \pnode(!%
+ \pst@tempa /Y1 exch \pst@number\psyunit div def
+ /X1 exch \pst@number\psxunit div def
+ /XC X1 def
+ /YC Y1 0.6 add def
+ XC YC){C@}
+ \rput[b]{#2}(C@){#4}
+ \ifPst@inputarrow
+ \psline[arrows=->,arrowinset=0](0,-0.5)(0,-1)
+ \else
+ \psline(0,-0.5)(0,-1)
+ \fi
+ \fi
+ }
+ \ignorespaces%
+}
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% Dipole
+%%% filtre: dipolestyle: (bandpass), lowpass, highpass
+%%% inputarrow: (false), true
+%%% dipoleinput: (left), right
+%%% isolator: dipoleinput: (left), right
+%%% inputarrow: (false), true
+%%% freqmult: dipolestyle: (multiplier), divider,
+%%% value: (N), integer
+%%% programmable: (false) true
+%%% inputarrow: (false), true
+%%% dipoleinput: (left), right
+%%% phaseshifter:
+%%% inputarrow: (false), true
+%%% dipoleinput: (left), right
+%%% vco:
+%%% inputarrow: (false), true
+%%% dipoleinput: (left), right
+%%% amplifier:
+%%% inputarrow: (false), true
+%%% dipoleinput: (left), right
+%%% detector:
+%%% inputarrow: (false), true
+%%% dipoleinput: (left), right
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% 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@
+}
+%
+\def\pst@draw@filter{%
+ \pnode(-0.5,0){dipole@1}
+ \pnode(0.5,0){dipole@2}
+ \psframe[linewidth=1.5\pslinewidth](-0.5,-0.5)(0.5,0.5)
+ \pscurve[linewidth=1.5\pslinewidth]{c-c}(-0.4,0.250)(-0.2,0.3750)(0,0.250)(0.2,0.1250)(0.4,0.250)
+ \pscurve[linewidth=1.5\pslinewidth]{c-c}(-0.4,0.000)(-0.2,0.1250)(0,0.000)(0.2,-0.125)(0.4,0.000)
+ \pscurve[linewidth=1.5\pslinewidth]{c-c}(-0.4,-0.25)(-0.2,-0.125)(0,-0.25)(0.2,-0.375)(0.4,-0.25)
+% \psline{c-c}(-0.1,0.2)(0.1,0.3)
+ \ifx\psk@Dstyle\pst@Dstyle@lowpass
+ \psline[fillstyle=none]{c-c}(-0.1,0.2)(0.1,0.3)
+ \psline[fillstyle=none]{c-c}(-0.1,-0.05)(0.1,0.05)
+ \else
+ \ifx\psk@Dstyle\pst@Dstyle@highpass
+ \psline[fillstyle=none]{c-c}(-0.1,-0.3)(0.1,-0.2)
+ \psline[fillstyle=none]{c-c}(-0.1,-0.05)(0.1,0.05)
+ \else
+ \psline[fillstyle=none]{c-c}(-0.1,0.2)(0.1,0.3)
+ \psline[fillstyle=none]{c-c}(-0.1,-0.3)(0.1,-0.2)
+ \fi
+ \fi
+}
+
+%%% 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@
+}
+%
+\def\pst@draw@isolator{%
+ \pnode(-0.5,0){dipole@1}
+ \pnode(0.5,0){dipole@2}
+ \psframe[linewidth=1.5\pslinewidth](-0.5,-0.5)(0.5,0.5)
+ \ifx\psk@Dinput\pst@Dinput@right
+ \psline[fillstyle=none,linewidth=1.5\pslinewidth,arrowinset=0]{<-}(-0.4,0)(0.4,0)
+ \else
+ \psline[fillstyle=none,linewidth=1.5\pslinewidth,arrowinset=0]{->}(-0.4,0)(0.4,0)
+ \fi
+}
+%
+%%% 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@
+}
+%
+\def\pst@draw@freqmult{%
+ \pnode(-0.5,0){dipole@1}
+ \pnode(0.5,0){dipole@2}
+ \psframe[linewidth=1.5\pslinewidth](-0.5,-0.5)(0.5,0.5)
+ \ifPst@programmable%
+ \psline[fillstyle=none](-0.4,-0.75)(-0.4,-0.5)
+ \psline[fillstyle=none](-0.2,-0.75)(-0.2,-0.5)
+ \psline(0,-0.75)(0,-0.5)
+ \psline[fillstyle=none](0.2,-0.75)(0.2,-0.5)
+ \psline[fillstyle=none](0.4,-0.75)(0.4,-0.5)
+ \ifx\psk@Dstyle\pst@Dstyle@divider
+ \rput(0,0){$\div\textrm{N}$}
+ \else
+ \rput(0,0){$\times\textrm{N}$}
+ \fi
+ \else
+ \ifx\psk@FMvalue\pst@FMvalue@value
+ \ifx\psk@Dstyle\pst@Dstyle@divider
+ \rput(0,0){$\div\textrm{N}$}
+ \else
+ \rput(0,0){$\times\textrm{N}$}
+ \fi
+ \else
+ \ifx\psk@Dstyle\pst@Dstyle@divider
+ \rput(0,0){$\div\textrm{\psk@FMvalue}$}
+ \else
+ \rput(0,0){$\times\textrm{\psk@FMvalue}$}
+ \fi
+ \fi
+ \fi%
+}
+%
+%%% 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@
+}
+%
+\def\pst@draw@phaseshifter{%
+ \pnode(-0.4,0){dipole@1}
+ \pnode(0.4,0){dipole@2}
+ \pscircle[linewidth=1.5\pslinewidth](0,0){0.4}
+ \psline[fillstyle=none,linewidth=1.5\pslinewidth,arrowinset=0]{->}(-0.5,-0.5)(0.5,0.5)
+}
+%
+%%% 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@
+}
+%
+\def\pst@draw@vco{%
+ \pnode(-0.5,0){dipole@1}
+ \pnode(0.5,0){dipole@2}
+ \pscircle[linewidth=1.5\pslinewidth](0,0){0.5}
+ \pscurve[linewidth=1.5\pslinewidth]{c-c}(-0.3,0.000)(-0.225,0.088375)(-0.15,0.1250)(-0.075,0.088375)%
+ (0,0.000)(0.075,-0.088375)(0.15,-0.125)(0.225,-0.088375)(0.3,0.000)
+}
+%
+%%% 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@
+}
+%
+\def\pst@draw@amplifier{%
+ \pnode(-0.433,0){dipole@1}
+ \pnode(0.433,0){dipole@2}
+ \ifx\psk@Dinput\pst@Dinput@right
+ \pstriangle[gangle=90,linewidth=1.5\pslinewidth](0.433,0)(1,0.866)
+ \else
+ \pstriangle[gangle=-90,linewidth=1.5\pslinewidth](-0.433,0)(1,0.866)
+ \fi
+}
+%
+%%% 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@
+}
+%
+\def\pst@draw@detector{%
+ \pnode(-0.5,0){dipole@1}
+ \psline[fillstyle=none](-0.5,0)(-0.2165,0)
+ \pnode(0.5,0){dipole@2}
+ \psline[fillstyle=none](0.5,0)(0.2165,0)
+ \psframe[linewidth=1.5\pslinewidth](-0.5,-0.5)(0.5,0.5)
+ \ifx\psk@Dinput\pst@Dinput@right
+ \pstriangle[gangle=90,linewidth=1.5\pslinewidth,fillstyle=none](0.2165,0)(0.5,0.433)
+ \psline[fillstyle=none,linewidth=1.5\pslinewidth](-0.2165,-0.25)(-0.2165,0.25)
+ \else
+ \pstriangle[gangle=-90,linewidth=1.5\pslinewidth,fillstyle=none](-0.2165,0)(0.5,0.433)
+ \psline[fillstyle=none,linewidth=1.5\pslinewidth](0.2165,-0.25)(0.2165,0.25)
+ \fi
+}
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% Tripole
+%%% mixer: tripolestyle:(bottom), top
+%%% inputarrow: (false) | true
+%%% tripoleinput: (left) | right
+%%% Circulator: tripolestyle=(circulator), isolator
+%%% tripoleconfig: (left) | right
+%%% inputarrow: (false) | true
+%%% tripoleinput: (left) | right
+%%% AGC: tripoleinput=(left)|right
+%%% inputarrow: (false) | true
+%%% tripoleinput: (left) | right
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+\def\mixer{\pst@object{mixer}}
+\def\mixer@i(#1)(#2)(#3)#4#5{%
+ \addbefore@par{dimen=middle}%
+ \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@){\pst@draw@mixer{#3}{#4}{#5}}
+ \ifx\psk@Tinput\pst@Tinput@left%
+ \ifPst@inputarrow
+ \ncangle[arrows=->,arrowinset=0,arm=0.5,angleB=180]{#1}{Tport@left}
+ \else
+ \ncangle[arrows=-,arm=0.5,angleB=180]{#1}{Tport@left}
+ \fi
+ \ncangle[arrows=-,arm=0.5,angleB=0]{#2}{Tport@right}
+ \else
+ \ifPst@inputarrow
+ \ncangle[arrows=<-,arrowinset=0,arm=0.5,angleB=180]{Tport@right}{#2}
+ \else
+ \ncangle[arrows=-,arm=0.5,angleB=180]{Tport@right}{#2}
+ \fi
+ \ncangle[arrows=-,arm=0.5,angleB=180]{#1}{Tport@left}
+ \fi
+ \pcline[linestyle=none](#1)(#2)% for the endarrows
+ \pcline[linestyle=none](#2)(#3)% for the endarrows
+ \end@ClosedObj
+ \ignorespaces%
+}
+\newcommand{\pst@draw@mixer}[3]{%
+ \pscircle[#3,linewidth=1.5\pslinewidth](0,0){0.5}
+ \psline[linewidth=1.5\pslinewidth](-0.3535,-0.3535)(0.3535,0.3535)
+ \psline[linewidth=1.5\pslinewidth](-0.3535,0.3535)(0.3535,-0.3535)
+ \pnode(-0.5,0){Tport@left}
+ \pnode(0.5,0){Tport@right}
+ \ifx\psk@tripole@style\pst@tripole@style@top%
+ \rput[t](0,-0.6){#2}
+ \pnode(0,0.5){Tport@center}
+ \ifPst@inputarrow
+ \ncangle[arrows=->,arrowinset=0,arm=0.5,angleB=90]{#1}{Tport@center}
+ \else
+ \ncangle[arrows=-,arm=0.5,angleB=90]{#1}{Tport@center}
+ \fi
+ \else
+ \rput[b](0,0.6){#2}
+ \pnode(0,-0.5){Tport@center}
+ \ifPst@inputarrow
+ \ncangle[arrows=->,arrowinset=0,arm=0.5,angleB=-90]{#1}{Tport@center}
+ \else
+ \ncangle[arrows=-,arm=0.5,angleB=-90]{#1}{Tport@center}
+ \fi
+ \fi
+}
+%
+%%% Circulator
+%
+\def\circulator{\pst@object{circulator}}
+\def\circulator@i#1(#2)(#3)(#4)#5#6{%
+ \addbefore@par{dimen=middle}%
+ \begin@ClosedObj
+ \pst@getcoor{#2}\pst@tempa
+ \pst@getcoor{#3}\pst@tempb
+ \pst@getcoor{#4}\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 Y1 Y2 add 2 div def
+ XC YC){C@}
+ \rput{#1}(C@){\pst@draw@circulator{#4}{#5}{#6}}
+ \nput{! 90 #1 add}{Tport@label}{#5}
+ \ifPst@inputarrow
+ \ncline[arrows=->,arrowinset=0]{#2}{Tport@input} %,arm=0.5,angleB=180
+ \else
+ \ncline[arrows=-]{#2}{Tport@input}
+ \fi
+ \ncline[arrows=-]{#3}{Tport@output} %,arm=0.5,angleB=0
+ \pcline[linestyle=none](#2)(#3)% for the endarrows
+ \pcline[linestyle=none](#3)(#4)% for the endarrows
+ \end@ClosedObj
+ \ignorespaces%
+}
+\newcommand{\pst@draw@circulator}[3]{%
+ \pscircle[#3,linewidth=1.5\pslinewidth](0,0){0.5}
+ \pnode(0,0.6){Tport@label}
+ \ifx\psk@Tconfig\pst@Tconfig@left%
+ \psarc[linewidth=1.5\pslinewidth,arrowinset=0]{<-}{0.35}{15}{155}
+ \pnode(-0.5,0){Tport@input}
+ \pnode(0.5,0){Tport@output}
+ \else
+ \psarc[linewidth=1.5\pslinewidth,arrowinset=0]{->}{0.35}{25}{165}
+ \pnode(-0.5,0){Tport@output}
+ \pnode(0.5,0){Tport@input}
+ \fi
+ \ifx\psk@tripole@style\pst@tripole@style@isolator%
+ \psline(0,-0.5)(0,-0.95)
+ \multips{0}(-0.225,-1)(0.1,0){5}%
+ {\psline[arrows=-,linewidth=1.5\pslinewidth](0,0)(0.025,0.05)(0.075,-0.05)(0.1,0)}%
+ \else
+ \pnode(0,-0.5){Tport@center}
+ \ncline[arrows=-]{#1}{Tport@center}
+ \fi
+}
+%
+%%% AGC
+\def\agc{\pst@object{agc}}
+\def\agc@i(#1)(#2)(#3)#4#5{%
+ \addbefore@par{dimen=middle}%
+ \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@){\pst@draw@agc{#1}{#2}{#4}{#5}}
+ \ncangle[arrows=-,arm=0.5,angleB=-90]{#3}{Tport@center}
+ \pcline[linestyle=none](#1)(#2)% for the endarrows
+ \pcline[linestyle=none](#2)(#3)% for the endarrows
+ \end@ClosedObj
+ \ignorespaces%
+}
+\newcommand{\pst@draw@agc}[4]{%
+ \pnode(-0.433,0){Tport@left}
+ \pnode(0.433,0){Tport@right}
+ \pnode(0,-0.5){Tport@center}
+ \rput[b](0,0.6){#3}
+ \psline[arrows=->,arrowinset=0](0,-0.5)(0,-0.25)
+ \ifx\psk@Tinput\pst@Tinput@left%
+ \pstriangle[#4,gangle=-90,linewidth=1.5\pslinewidth](-0.433,0)(1,0.866)
+ \psline[linewidth=1.5\pslinewidth,arrows=->,arrowinset=0](-0.55,-0.5)(0.25,0.5)
+ \ifPst@inputarrow
+ \ncangle[arrows=->,arrowinset=0,arm=0.5,angleB=180]{#1}{Tport@left}
+ \else
+ \ncangle[arrows=-,arm=0.5,angleB=180]{#1}{Tport@left}
+ \fi
+ \ncangle[arrows=-,arm=0.5,angleB=0]{#2}{Tport@right}
+ \else
+ \pstriangle[#4,gangle=90,linewidth=1.5\pslinewidth](0.433,0)(1,0.866)
+ \psline[linewidth=1.5\pslinewidth,arrows=->,arrowinset=0](0.55,-0.5)(-0.25,0.5)
+ \ifPst@inputarrow
+ \ncangle[arrows=<-,arrowinset=0,arm=0.5,angleB=180]{Tport@right}{#2}
+ \else
+ \ncangle[arrows=-,arm=0.5,angleB=180]{Tport@right}{#2}
+ \fi
+ \ncangle[arrows=-,arm=0.5,angleB=180]{#1}{Tport@left}
+ \fi
+}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% Quadripole
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% Coupler %%%
+\def\coupler{\pst@object{coupler}}
+\def\coupler@i(#1)(#2)(#3)(#4)#5#6{%
+ \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 -0.4 add def
+ XC YC){C@}
+ \rput(C@){\pst@draw@coupler{#6}}
+ \ncangle[arrows=-,angleA=0,angleB=-180]{#1}{inup@}
+ \ncangle[arrows=-,angleA=180,angleB=0]{#3}{outup@}
+ \ifx\psk@Qinput\pst@Qinput@left%
+ \ifx\psk@Qstyle\pst@Qstyle@hybrid
+ \ncangle[arrows=-,angleA=0,angleB=-180]{#2}{indown@}
+ \fi
+ \ncangle[arrows=-,angleA=180,angleB=0]{#4}{outdown@}
+ \else
+ \ncangle[arrows=-,angleA=0,angleB=-180]{#2}{indown@}
+ \ifx\psk@Qstyle\pst@Qstyle@hybrid
+ \ncangle[arrows=-,angleA=180,angleB=0]{#4}{outdown@}
+ \fi
+ \fi
+% \ncangle[arrows=-,angleA=180,angleB=0]{#4}{outdown@}
+ \ncline[arrows=-,linestyle=none,fillstyle=none]{inup@}{outup@}
+ \naput{#5}
+ \pcline[linestyle=none](#1)(#3)% for the end arrows
+ \pcline[linestyle=none](#2)(#4)% for the end arrows
+ \end@ClosedObj%
+ \ignorespaces%
+}
+%
+\newcommand{\pst@draw@coupler}[1]{%
+ \pnode(-0.75,0.4){inup@}
+ \pnode(0.75,0.4){outup@}
+ \psframe[#1,linewidth=1.5\pslinewidth](-0.5,-0.5)(0.5,0.5)
+ \psline(-0.5,0.4)(0.5,0.4)
+ \psline(-0.5,-0.4)(0.5,-0.4)
+ \psline(-0.4,0.35)(0.4,-0.35)
+ \psline(-0.4,-0.35)(0.4,0.35)
+%
+ \ifx\psk@Qinput\pst@Qinput@left%
+ \pnode(0.75,-0.4){outdown@}
+ \ifPst@inputarrow%
+ \psline[arrows=->,arrowinset=0](-0.75,0.4)(-0.5,0.4)
+ \else
+ \psline(-0.75,0.4)(-0.5,0.4)
+ \fi
+ \psline(0.5,0.4)(0.75,0.4)
+ \psline(0.5,-0.4)(0.75,-0.4)
+ \ifx\psk@Qstyle\pst@Qstyle@hybrid
+ \pnode(-0.75,-0.4){indown@}
+ \ifPst@inputarrow%
+ \psline[arrows=->,arrowinset=0](-0.75,-0.4)(-0.5,-0.4)
+ \else
+ \psline(-0.75,-0.4)(-0.5,-0.4)
+ \fi
+ \else
+ \ifx\psk@Qstyle\pst@Qstyle@directional
+ \psline[arrows=-,linewidth=1.5\pslinewidth](-0.8,-0.75)(-0.8,-0.675)
+ \multips{90}(-0.8,-0.675)(0,0.1){4}%
+ {\psline[arrows=-,linewidth=1.5\pslinewidth](0,0)(0.025,0.05)(0.075,-0.05)(0.1,0)}%
+ \psline[arrows=-,linewidth=1.5\pslinewidth](-0.8,-0.275)(-0.8,-0.2)
+ \psline(-0.75,-0.4)(-0.5,-0.4)
+ \fi
+ \fi
+ \else
+ \pnode(-0.75,-0.4){indown@}
+ \ifPst@inputarrow
+ \psline[arrows=->,arrowinset=0](0.75,0.4)(0.5,0.4)
+ \else
+ \psline(0.75,0.4)(0.5,0.4)
+ \fi
+ \psline(-0.5,0.4)(-0.75,0.4)
+ \psline(-0.5,-0.4)(-0.75,-0.4)
+ \ifx\psk@Qstyle\pst@Qstyle@hybrid
+ \pnode(0.75,-0.4){outdown@}
+ \ifPst@inputarrow%
+ \psline[arrows=->,arrowinset=0](0.75,-0.4)(0.5,-0.4)
+ \else
+ \psline(0.75,-0.4)(0.5,-0.4)
+ \fi
+ \else
+ \ifx\psk@Qstyle\pst@Qstyle@directional
+ \psline[arrows=-,linewidth=1.5\pslinewidth](0.8,-0.75)(0.8,-0.675)
+ \multips{90}(0.8,-0.675)(0,0.1){4}%
+ {\psline[arrows=-,linewidth=1.5\pslinewidth](0,0)(0.025,0.05)(0.075,-0.05)(0.1,0)}%
+ \psline[arrows=-,linewidth=1.5\pslinewidth](0.8,-0.275)(0.8,-0.2)
+ \psline(0.75,-0.4)(0.5,-0.4)
+ \fi
+ \fi
+ \fi
+%
+}
+%
+\catcode`\@=\PstAtCode\relax
%
\endinput
%
diff --git a/Master/texmf-dist/tex/latex/pst-circ/pst-circ.sty b/Master/texmf-dist/tex/latex/pst-circ/pst-circ.sty
index ec608bcb557..5034be3d68c 100644
--- a/Master/texmf-dist/tex/latex/pst-circ/pst-circ.sty
+++ b/Master/texmf-dist/tex/latex/pst-circ/pst-circ.sty
@@ -1,3 +1,4 @@
+%% $Id: pst-circ.sty 3 2007-12-23 16:23:22Z herbert $
\RequirePackage{pstricks}
\ProvidesPackage{pst-circ}[2007/12/23 package wrapper for
pst-circ.tex (hv)]