summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Master/texmf-dist/doc/generic/pst-circ/Changes32
-rw-r--r--Master/texmf-dist/doc/generic/pst-circ/README38
-rw-r--r--Master/texmf-dist/doc/generic/pst-circ/Version-1.210
-rw-r--r--Master/texmf-dist/doc/generic/pst-circ/logic.ltx91
-rw-r--r--Master/texmf-dist/doc/generic/pst-circ/logic.pdfbin72933 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/generic/pst-circ/logic.tex436
-rw-r--r--Master/texmf-dist/doc/generic/pst-circ/poti.pdfbin10548 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/generic/pst-circ/poti.tex81
-rw-r--r--Master/texmf-dist/doc/generic/pst-circ/pst-circ-doc.bib129
-rw-r--r--Master/texmf-dist/doc/generic/pst-circ/pst-circ-doc.pdfbin186471 -> 497680 bytes
-rw-r--r--Master/texmf-dist/doc/generic/pst-circ/pst-circ-doc.tex1726
-rw-r--r--Master/texmf-dist/dvips/pst-circ/pst-circ.pro4
-rw-r--r--Master/texmf-dist/source/generic/pst-circ/Makefile48
-rw-r--r--Master/texmf-dist/tex/generic/pst-circ/pst-circ.tex1837
-rw-r--r--Master/texmf-dist/tex/latex/pst-circ/pst-circ.sty12
15 files changed, 2476 insertions, 1958 deletions
diff --git a/Master/texmf-dist/doc/generic/pst-circ/Changes b/Master/texmf-dist/doc/generic/pst-circ/Changes
new file mode 100644
index 00000000000..a175c3a1a05
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pst-circ/Changes
@@ -0,0 +1,32 @@
+1.42 2007-10-15 (hv) - added better FET support (Ted Pavlic)
+ - small changes to draw@dipole (Alan Ristow)
+1.41 2007-04-23 (hv) added dipolestyle varistor
+1.40 2007-03-23 (hv) fix bug with \@empty in the psset part
+1.39 2005-04-03 (hv) fixed introduced bug in wire
+1.38 2005-03-07 (hv) added an option for the OA and some more
+ types for dipoles
+1.37 2005-03-06 (hv) fix bug with wire and arrows
+1.36 2005-02-14 (hv) add another zener symbol
+1.35 2005-02-06 (hv) fix some bugs in the documentation
+1.34 2004-12-31 (hv) new transistormacro
+1.33 2004-12-28 (hv) fix bug for specialCoor in transistor
+1.32 2004-12-28 (hv) make transistor changeLR option run
+1.31 2004-12-27 (hv) make transistor run
+1.30 2004-12-28 (hv) make option arrows=... available, but
+ transistor is broken for this version
+1.22 2004-10-31 (hv) use pst-xkey instead of pst-key
+1.21 2004-06-10 (hv) option for the logic symbol
+1.20 2004-04-30 (hv) options for the logic part
+1.2b 2003-08-30 (hv) new tripole potentiometer,
+ fixes some typos in the doc
+1.2a 2003-08-28 (hv) added options for ground
+1.2 2003-07-28 (hv) added dipolestyle "optoCoupler" and the logic part (Flip Flops)
+1.1b 2003-07-24 (hv) added dipolestyle "triac" and use "rectangle" also for the
+ quadrupol transformer; added quadrupol optoCoupler
+1.1a 2003-07-22 (hv) fix a bug with tension
+1.1 2003-07-18 (hv) fix some bugs and added new dipolestyles for the diode/resistor
+1.0 2003-07-10 (cj) first CTAN version
+
+
+-- pst-circ.pro ---
+0.01 2007-03-23 (hv) first version \ No newline at end of file
diff --git a/Master/texmf-dist/doc/generic/pst-circ/README b/Master/texmf-dist/doc/generic/pst-circ/README
index 6c34f8ddf0d..40747e643f4 100644
--- a/Master/texmf-dist/doc/generic/pst-circ/README
+++ b/Master/texmf-dist/doc/generic/pst-circ/README
@@ -1,6 +1,42 @@
-Save the files pst-circ.sty|.tex in a directory, which is part of your
+Save the files pst-circ.sty|tex in a directory, which is part of your
local TeX tree. pst-circ.pro should be saved in ../texmf/dvips/pstricks/
Then do not forget to run texhash to update this tree.
pst-circ needs pst-plot and pst-tricks, which should be part of your
local TeX installation, otherwise get it from a CTAN server, f.ex.
ftp://ftp.dante.de
+
+
+Save the files
+
+pst-circ.sty
+pst-circ.tex
+pst-circ.pro
+
+in any place, where latex or any other TeX program will find it.
+Do not forget to update your database, when installing this
+package the first time.
+
+pst-circ uses the extended version of the keyval package. So
+be sure that you
+- have installed xkeyval with the special pst-xkey
+ (CTAN: tex-archive/macros/latex/contrib/xkeyval/)
+- do not load another package after pst-circ, which loads
+ the old keyval.sty or pst-key.tex
+
+
+If you like to get the documentation file in another format run
+
+latex pst-circ-doc.tex
+bibtex pst-circ.doc
+latex pst-circ-doc.tex
+dvips pst-circ-doc.dvi
+
+to get a PostScript file. But pay attention, that the pst-circ
+files are saved in the above mentioned way, before you run
+latex on the documentation file.
+
+The intermediate DVI file works only with viewers which can
+interprete the embedded PostScript code.
+
+For another PDF output read the Introduction from
+the documentation.
diff --git a/Master/texmf-dist/doc/generic/pst-circ/Version-1.21 b/Master/texmf-dist/doc/generic/pst-circ/Version-1.21
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/Master/texmf-dist/doc/generic/pst-circ/Version-1.21
+++ /dev/null
diff --git a/Master/texmf-dist/doc/generic/pst-circ/logic.ltx b/Master/texmf-dist/doc/generic/pst-circ/logic.ltx
deleted file mode 100644
index 2427a21f7fa..00000000000
--- a/Master/texmf-dist/doc/generic/pst-circ/logic.ltx
+++ /dev/null
@@ -1,91 +0,0 @@
-\documentclass[11pt]{article}
-\usepackage[a4paper,margin=1.5cm]{geometry}
-\usepackage[baw,pstricks]{fvrb-ex}
-\usepackage{pst-circ}
-\usepackage{pstcol}
-\usepackage{url}
-\makeatletter
-\def\@UrlFont{\small\ttfamily}
-\renewenvironment{description}
- {\list{}{\labelwidth\z@ \itemindent-\leftmargin
- \itemsep0pt \parsep0pt
- \let\makelabel\descriptionlabel}}
- {\endlist}
-\renewcommand{\Begin@Example}{%
-\parindent=0pt
-\multiply\topsep by 2 \VerbatimEnvironment
-\begin{VerbatimOut}[codes={\catcode`\£=12\catcode`\/=12\catcode`\&=12%
- \catcode`\"=12}]{\jobname.tmp}}
-\renewcommand{\Below@Example}[1]{%
-\VerbatimInput[gobble=0,commentchar=£,commandchars=/&",numbersep=3pt]%
- {\jobname.tmp}
-\catcode`\£=9\relax%
-\NoHighlight@Attributes % To suppress possible highlighting
-\ifFvrbEx@Grid\vspace{5pt}\fi
-#1%
-\ifFvrbEx@Grid\vspace{5pt}\fi
-\par}
-\renewcommand{\SideBySide@Example}[1]{%
-\@tempdimb=\FV@XRightMargin \advance\@tempdimb -5mm
-\begin{minipage}[c]{\@tempdimb}
- \fvset{xrightmargin=0pt}
- \catcode`\£=9\relax%
- \NoHighlight@Attributes % To suppress possible highlighting
- #1
-\end{minipage}%
-\@tempdimb=\textwidth \advance\@tempdimb -\FV@XRightMargin \advance\@tempdimb 5mm
-\begin{minipage}[c]{\@tempdimb}
- \VerbatimInput[gobble=0,commentchar=£,commandchars=/&",numbersep=3pt,
- xleftmargin=5mm,xrightmargin=0pt]{\jobname.tmp}
-\end{minipage}}
-% The \NoHighlight@Attributes from `hbaw' and `hcolors' packages
-% must be modified too
-\def\NoHighlight@Attributes{%
-\catcode`\/=0\relax%
-\catcode`\&=1\relax%
-\catcode`\"=2\relax%
-\def\HLa##1{##1}%
-\def\HLb##1{##1}%
-\def\HLc##1{##1}%
-\def\HLd##1{##1}%
-\def\HLe##1{##1}%
-\def\HLf##1{##1}%
-\def\HLBFa##1{##1}%
-\def\HLBFb##1{##1}%
-\def\HLBFc##1{##1}%
-\def\HLBFd##1{##1}%
-\def\HLBFe##1{##1}%
-\def\HLBFf##1{##1}%
-\def\HLITa##1{##1}%
-\def\HLITb##1{##1}%
-\def\HLITc##1{##1}%
-\def\HLITd##1{##1}%
-\def\HLITe##1{##1}%
-\def\HLITf##1{##1}%
-\def\HLCBBa##1{##1}%
-\def\HLCBBb##1{##1}%
-\def\HLCBBc##1{##1}%
-\def\HLCBBd##1{##1}%
-\def\HLCBBe##1{##1}%
-\def\HLCBBf##1{##1}%
-\def\HLCBBz##1{##1}%
-\def\HLCBWa##1{##1}%
-\def\HLCBWb##1{##1}%
-\def\HLCBWc##1{##1}%
-\def\HLCBWd##1{##1}%
-\def\HLCBWe##1{##1}%
-\def\HLCBWf##1{##1}%
-\def\HLCBWz##1{##1}%
-}
-\makeatother
-\fvset{numbers=none,frame=single,labelposition=topline}
-\DeclareRobustCommand\cs[1]{\texttt{\char`\\#1}}
-\newcommand{\CircPackage}{\textbf{`pst-circ'}}
-\usepackage{fancyhdr}
-\lhead{\CircPackage}\rhead{A PSTricks package for drawing electric circuits}
-\pagestyle{fancy}
-%
-\begin{document}
-\input logic
-\end{document}
-
diff --git a/Master/texmf-dist/doc/generic/pst-circ/logic.pdf b/Master/texmf-dist/doc/generic/pst-circ/logic.pdf
deleted file mode 100644
index 0a813ef62ba..00000000000
--- a/Master/texmf-dist/doc/generic/pst-circ/logic.pdf
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/pst-circ/logic.tex b/Master/texmf-dist/doc/generic/pst-circ/logic.tex
deleted file mode 100644
index ba2d7cb84f7..00000000000
--- a/Master/texmf-dist/doc/generic/pst-circ/logic.tex
+++ /dev/null
@@ -1,436 +0,0 @@
-\section{Flip Flops}
-
-The syntax for all logical base circuits is
-\begin{verbatim}
-logic[<options>](<originX,originY>){Label}
-\end{verbatim}
-
-\noindent where the options and the origin are optional. If they are missing,
-then the default options, described in the next section and the default
-origin $(0,0)$ is used. The origin specifies the lower left corner
-of the logical circuit.
-
-\begin{verbatim}
-logic{Demo}
-logic[logicType=and]{Demo}
-logic(0,0){Demo}
-logic[logicType=and](0,0){Demo}
-\end{verbatim}
-
-The above four ,,different`` calls of the \verb|logic| macro give the
-same output, because they are equivalent.
-
-\subsection{The Options}
-
-\begin{description}
-\item[\HLTTc{logicShowNode} (boolean):] (\emph{default:~false})
-\item[\HLTTc{logicShowDot} (boolean):] (\emph{default:~false})
-\item[\HLTTc{logicNodestyle} (command):] (\emph{default:~\textbackslash footnotesize})
-\item[\HLTTc{logicSymbolstyle} (command):] (\emph{default:~\textbackslash large})
-\item[\HLTTc{logicSymbolpos} (value):] (\emph{default:~0.5})
-\item[\HLTTc{logicLabelstyle} (command):] (\emph{default:~\textbackslash small})
-\item[\HLTTc{logicType} (string):] (\emph{default:~and})
-\item[\HLTTc{logicChangeLR} (boolean):] (\emph{default:~false})
-\item[\HLTTc{logicWidth} (length):] (\emph{default:~1.5})
-\item[\HLTTc{logicHeight} (length):] (\emph{default:~2.5})
-\item[\HLTTc{logicWireLength} (length):] (\emph{default:~0.5})
-\item[\HLTTc{logicNInput} (number):] (\emph{default:~2})
-\item[\HLTTc{logicJInput} (number):] (\emph{default:~2})
-\item[\HLTTc{logicKInput} (number):] (\emph{default:~2})
-\end{description}
-
-\subsection{Basic Logical Circuits}
-At least the basic objects require a unique label name, otherwise it is
-not sure, that all nodes will work well. The label may contain any
-alphanumerical character and most of all symbols. But it is save
-using only combinations of letters and digits. For example:
-\begin{verbatim}
-And0
-a0
-a123
-12
-NOT123a
-\end{verbatim}
-
-\verb|A_1| is not a good choice, the underscore may causes some
-problems.
-
-\subsubsection{And}
-
-\psset{subgriddiv=0,griddots=5,gridlabels=7pt}
-\begin{PSideBySideExample}[xrightmargin=4.5cm](3,3)
- \begin{pspicture}(-1,0)(3,3)
- \psgrid
- \logic{AND1}
- \end{pspicture}
-\end{PSideBySideExample}
-
-\begin{PSideBySideExample}[xrightmargin=4.5cm](3,3)
- \begin{pspicture}(-0.5,0)(3,3)
- \logic[/HLCBWz&logicChangeLR"=true]{AND2}
- \end{pspicture}
-\end{PSideBySideExample}
-
-\begin{PSideBySideExample}[xrightmargin=4.5cm](4,6)
- \begin{pspicture}(-0.5,0)(4,5)
- \psgrid
- \logic[/HLCBWz&logicShowNode"=true,%
- /HLCBWz&logicWidth"=2,%
- /HLCBWz&logicHeight"=4,%
- /HLCBWz&logicNInput"=6,%
- logicChangeLR=true](1,1){AND3}
- \end{pspicture}
-\end{PSideBySideExample}
-
-\subsubsection{NotAnd}
-\begin{PSideBySideExample}[xrightmargin=4.5cm](3,3)
- \begin{pspicture}(-0.5,0)(3,3)
- \logic[logicType=/HLCBWz&nand",%
- logicShowNode=true]{NAND1}
- \end{pspicture}
-\end{PSideBySideExample}
-
-
-\begin{PSideBySideExample}[xrightmargin=4.5cm](3,3)
- \begin{pspicture}(-0.5,0)(3,3)
- \logic[logicType=nand,%
- logicChangeLR=true]{NAND2}
- \end{pspicture}
-\end{PSideBySideExample}
-
-\begin{PSideBySideExample}[xrightmargin=4.5cm](4,6)
- \begin{pspicture}(4,5)
- \psgrid
- \logic[logicType=nand,%
- logicShowNode=true,%
- logicWidth=2,%
- logicHeight=4,%
- /HLCBWz&logicNInput"=6,%
- logicChangeLR=true](1,1){NAND3}
- \end{pspicture}
-\end{PSideBySideExample}
-
-\subsubsection{Or}
-\begin{PSideBySideExample}[xrightmargin=4.5cm](3,3)
- \begin{pspicture}(-0.5,0)(3,3)
- \logic[logicType=/HLCBWz&or",%
- logicShowNode=true]{OR1}
- \end{pspicture}
-\end{PSideBySideExample}
-
-
-\begin{PSideBySideExample}[xrightmargin=4.5cm](3,3)
- \begin{pspicture}(-0.5,0)(3,3)
- \logic[logicType=or,%
- logicChangeLR=true]{OR2}
- \end{pspicture}
-\end{PSideBySideExample}
-
-
-\begin{PSideBySideExample}[xrightmargin=4.5cm](4,6)
- \begin{pspicture}(4,5)
- \psgrid
- \logic[logicType=or,%
- logicShowNode=true,%
- logicWidth=2,%
- logicHeight=4,%
- logicNInput=6,%
- logicChangeLR=true](1,1){OR3}
- \end{pspicture}
-\end{PSideBySideExample}
-
-\subsubsection{Not Or}
-
-\begin{PSideBySideExample}[xrightmargin=4.5cm](3,3)
- \begin{pspicture}(-0.5,0)(3,3)
- \logic[logicType=/HLCBWz&nor",%
- logicShowNode=true]{NOR1}
- \end{pspicture}
-\end{PSideBySideExample}
-
-
-\begin{PSideBySideExample}[xrightmargin=4.5cm](3,3)
- \begin{pspicture}(-0.5,0)(3,3)
- \logic[logicType=nor,%
- logicChangeLR=true]{NOR2}
- \end{pspicture}
-\end{PSideBySideExample}
-
-\begin{PSideBySideExample}[xrightmargin=4.5cm](4,6)
- \begin{pspicture}(4,5)
- \psgrid
- \logic[logicType=nor,%
- logicShowNode=true,%
- logicWidth=2,%
- logicHeight=4,%
- logicNInput=6,%
- logicChangeLR=true](1,1){NOR3}
- \end{pspicture}
-\end{PSideBySideExample}
-
-
-\subsubsection{Not}
-
-\begin{PSideBySideExample}[xrightmargin=4.5cm](3,3)
- \begin{pspicture}(-0.5,0)(3,3)
- \logic[logicType=/HLCBWz&not",%
- logicShowNode=true]{NOT1}
- \end{pspicture}
-\end{PSideBySideExample}
-
-
-\begin{PSideBySideExample}[xrightmargin=4.5cm](3,3)
- \begin{pspicture}(-0.5,0)(3,3)
- \logic[logicType=not,%
- logicChangeLR=true]{NOT2}
- \end{pspicture}
-\end{PSideBySideExample}
-
-\begin{PSideBySideExample}[xrightmargin=4.5cm](4,6)
- \begin{pspicture}(4,5)
- \psgrid
- \logic[logicType=not,%
- logicShowNode=true,%
- logicWidth=2,%
- logicHeight=4,%
- logicChangeLR=true](1,1){NOT3}
- \end{pspicture}
-\end{PSideBySideExample}
-
-\subsubsection{Exclusive OR}
-
-\begin{PSideBySideExample}[xrightmargin=4.5cm](3,3)
- \begin{pspicture}(-0.5,0)(3,3)
- \logic[logicType=/HLCBWz&exor",%
- logicShowNode=true]{ExOR1}
- \end{pspicture}
-\end{PSideBySideExample}
-
-
-\begin{PSideBySideExample}[xrightmargin=4.5cm](3,3)
- \begin{pspicture}(-0.5,0)(3,3)
- \logic[logicType=exor,%
- logicChangeLR=true]{ExOR2}
- \end{pspicture}
-\end{PSideBySideExample}
-
-\begin{PSideBySideExample}[xrightmargin=4.5cm](4,6)
- \begin{pspicture}(4,5)
- \psgrid
- \logic[logicType=exor,%
- logicShowNode=true,%
- logicNInput=6,%
- logicWidth=2,%
- logicHeight=4,%
- logicChangeLR=true](1,1){ExOR3}
- \end{pspicture}
-\end{PSideBySideExample}
-
-
-
-\subsubsection{Exclusive NOR}
-
-\begin{PSideBySideExample}[xrightmargin=4.5cm](3,3)
- \begin{pspicture}(-0.5,0)(3,3)
- \logic[logicType=/HLCBWz&exnor",%
- logicShowNode=true]{ExNOR1}
- \end{pspicture}
-\end{PSideBySideExample}
-
-
-\begin{PSideBySideExample}[xrightmargin=4.5cm](3,3)
- \begin{pspicture}(-0.5,0)(3,3)
- \logic[logicType=exnor,%
- logicChangeLR=true]{ExNOR2}
- \end{pspicture}
-\end{PSideBySideExample}
-
-\begin{PSideBySideExample}[xrightmargin=4.5cm](4,6)
- \begin{pspicture}(4,5)
- \psgrid
- \logic[logicType=exnor,%
- logicShowNode=true,%
- logicNInput=6,%
- logicWidth=2,%
- logicHeight=4,%
- logicChangeLR=true](1,1){ExNOR3}
- \end{pspicture}
-\end{PSideBySideExample}
-
-
-\subsection{RS Flip Flop}
-
-\begin{PSideBySideExample}[xrightmargin=4.5cm](3,4.5)
- \begin{pspicture}(-1,-1)(3,3)
- \logic[logicShowNode=true,%
- logicType=/HLCBWz&RS"]{RS1}
- \end{pspicture}
-\end{PSideBySideExample}
-
-
-\begin{PSideBySideExample}[xrightmargin=4.5cm](3,4.5)
- \begin{pspicture}(-1,-1)(3,3)
- \logic[logicShowNode=true,%
- logicType=RS,%
- logicChangeLR=true]{RS2}
- \end{pspicture}
-\end{PSideBySideExample}
-
-
-\subsection{D Flip Flop}
-
-\begin{PSideBySideExample}[xrightmargin=4.5cm](3,4.5)
- \begin{pspicture}(-1,-1)(3,3)
- \logic[logicShowNode=true,%
- logicType=/HLCBWz&D"]{D1}
- \end{pspicture}
-\end{PSideBySideExample}
-
-\begin{PSideBySideExample}[xrightmargin=4.5cm](3,4.5)
- \begin{pspicture}(-1,-1)(3,3)
- \logic[logicShowNode=true,%
- logicType=D,%
- logicChangeLR=true]{D2}
- \end{pspicture}
-\end{PSideBySideExample}
-
-
-\subsection{JK Flip Flop}
-\begin{PSideBySideExample}[xrightmargin=4.5cm](3,4.5)
- \begin{pspicture}(-1,-1)(3,3)
- \logic[logicShowNode=true,%
- logicType=/HLCBWz&JK",%
- /HLCBWz&logicKInput"=2,%
- /HLCBWz&logicJInput"=2]{JK1}
- \end{pspicture}
-\end{PSideBySideExample}
-
-\begin{PSideBySideExample}[xrightmargin=4.5cm](3,4.5)
- \begin{pspicture}(-1,-1)(3,3)
- \logic[logicShowNode=true,%
- logicType=JK,%
- logicKInput=2, logicJInput=4,%
- logicChangeLR=true]{JK2}
- \end{pspicture}
-\end{PSideBySideExample}
-
-\subsection{Other Options}
-
-\begin{PSideBySideExample}[xrightmargin=3.5cm](3,3)
- \begin{pspicture}(-0.5,0)(3,2.5)
- \logic[/HLCBWz&logicShowDot"=true]{A0}
- \end{pspicture}
-\end{PSideBySideExample}
-
-\begin{PSideBySideExample}[xrightmargin=4.5cm](4,3)
- \begin{pspicture}(-1,0)(3,2.5)
- \logic[/HLCBWz&logicWireLength"=1,%
- logicShowDot=true]{A1}
- \end{pspicture}
-\end{PSideBySideExample}
-
-\bigskip
-The unit of \verb|logicWireLength| is the same than the actual one for pstricks, set by
-the \verb|unit| option.
-
-\subsection{The Node Names}
-Every logic circuit is defined with its name, which should be a unique one.
-If we have the following NAND circuit, then \verb|pst-circ| defines the nodes
-\begin{verbatim}
-NAND11, NAND12, NAND13, NAND14, NAND1Q
-\end{verbatim}
-
-\noindent If there exists an inverted output, like for alle Flip Flops,
-then the negated one gets the appendix \verb|neg| to the node name. For
-example:
-\begin{verbatim}
-NAND1Q, NAND1Qneg
-\end{verbatim}
-
-\begin{PSideBySideExample}[xrightmargin=3cm](3,3.5)
- \begin{pspicture}(-0.5,0)(2.5,3)
- \logic[/HLCBWz&logicShowNode"=true,%
- /HLCBWz&logicLabelstyle"=\footnotesize,%
- /HLCBWz&logicType"=nand,%
- /HLCBWz&logicNInput"=4]{NAND1}
- \multido{\n=1+1}{4}{%
- \pscircle*[linecolor=red](NAND1\n){2pt}%
- }
- \pscircle*[linecolor=blue](NAND1Q){2pt}
- \end{pspicture}
-\end{PSideBySideExample}
-
-\vspace{0.5cm}
-Now it is possible to draw a line from the output to the input
-
-\begin{verbatim}
-\ncbar[angleA=0,angleB=180]{<Node A>}{<Node B>}
-\end{verbatim}
-
-It may be easier to print a grid since the drawing phase and then comment it out if
-all is finished.
-
-\bigskip
-\begin{PSideBySideExample}[xrightmargin=3.5cm](3,3.5)
- \begin{pspicture}(-1,-1)(2.5,3)
- \logic[/HLCBWz&logicShowNode"=true,%
- logicLabelstyle=\footnotesize,%
- logicType=nand,%
- /HLCBWz&logicWireLength"=1,%
- /HLCBWz&logicNInput"=4]{NAND1}
- \pnode(-0.5,0|NAND11){tempA}
- \pnode(2,0|NAND1Q){tempB}
- \end{pspicture}
- \ncbar[angleA=-90,angleB=0,arm=0.75,%
- arrows=*-*, dotsize=0.15]{tempA}{tempB}
-\end{PSideBySideExample}
-
-\subsection{Examples}
-
-\begin{CenterExample}
- \begin{pspicture}(-1,0)(5,5)
- \psgrid
- \psset{logicType=nor, logicLabelstyle=\normalsize,%
- logicWidth=1, logicHeight=1.5, dotsize=0.15}
- \logic(1.5,0){nor1}
- \logic(1.5,3){nor2}
- \psline(nor2Q)(4,0|nor2Q)
- \uput[0](4,0|nor2Q){$Q$}
- \psline(nor1Q)(4,0|nor1Q)
- \uput[0](4,0|nor1Q){$\overline{Q}$}
- \psline{*-}(3.50,0|nor2Q)(3.5,2.5)(1.5,2.5)
- (0.5,1.75)(0.5,0|nor12)(nor12)
- \psline{*-}(3.50,0|nor1Q)(3.5,2)(1.5,2)
- (0.5,2.5)(0.5,0|nor21)(nor21)
- \psline(0,0|nor11)(nor11)\uput[180](0,0|nor11){R}
- \psline(0,0|nor22)(nor22)\uput[180](0,0|nor22){S}
- \end{pspicture}
-\end{CenterExample}
-
-\bigskip
-\begin{CenterExample}
- \begin{pspicture}(-4,0)(5,7)
- \psgrid
- \psset{logicWidth=1, logicHeight=2, dotsize=0.15}
- \logic[logicWireLength=0](-2,0){A0}
- \logic[logicWireLength=0](-2,5){A1}
- \ncbar[angleA=-180,angleB=-180,arm=0.5]{A11}{A02}
- \psline[dotsize=0.15]{-*}(-3.5,3.5)(-2.5,3.5)
- \uput[180](-3.5,3.5){$T$}
- \psline(-3.5,0.5)(A01)\uput[180](-3.5,0.5){$S$}
- \psline(-3.5,6.5)(A12)\uput[180](-3.5,6.5){$R$}
- \psset{logicType=nor, logicLabelstyle=\normalsize}
- \logic(1,0.5){nor1}
- \logic(1,4.5){nor2}
- \psline(nor2Q)(4,0|nor2Q)
- \uput[0](4,0|nor2Q){$Q$}
- \psline(nor1Q)(4,0|nor1Q)
- \uput[0](4,0|nor1Q){$\overline{Q}$}
- \psline{*-}(3,0|nor2Q)(3,4)(1,4)(0,3)(0,0|nor12)(nor12)
- \psline{*-}(3,0|nor1Q)(3,3)(1,3)(0,4)(0,0|nor21)(nor21)
- \psline(A0Q)(nor11)
- \psline(A1Q)(nor22)
- \end{pspicture}
-\end{CenterExample}
-
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/doc/generic/pst-circ/poti.pdf b/Master/texmf-dist/doc/generic/pst-circ/poti.pdf
deleted file mode 100644
index 7cbeb47e31c..00000000000
--- a/Master/texmf-dist/doc/generic/pst-circ/poti.pdf
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/pst-circ/poti.tex b/Master/texmf-dist/doc/generic/pst-circ/poti.tex
deleted file mode 100644
index bd93942a9b8..00000000000
--- a/Master/texmf-dist/doc/generic/pst-circ/poti.tex
+++ /dev/null
@@ -1,81 +0,0 @@
-\documentclass[a4paper,12pt]{article}
-\usepackage{pst-circ}
-\begin{document}
-\section*{Potentiometer tripole}
-
-\psset{griddots=5,gridlabels=7pt,subgriddiv=0}
-\begin{pspicture}(3,3)
- \psgrid
- \pnode(0,1){A}
- \pnode(3,1){B}
- \pnode(3,2){C}
- \potentiometer[labeloffset=0pt](A)(B)(C){P}
-\end{pspicture}
-\hfill
-\begin{pspicture}(3,3)
- \psgrid
- \pnode(0,2.5){A}
- \pnode(3,2.5){B}
- \pnode(0,1){C}
- \potentiometer[labeloffset=0pt](A)(B)(C){P}
-\end{pspicture}
-\hfill
-\begin{pspicture}(3,3)
- \psgrid
- \pnode(0,0){A}
- \pnode(3,2){B}
- \pnode(2.5,3){C}
- \potentiometer[labeloffset=0pt,labelangle=:U](A)(B)(C){P}
-\end{pspicture}
-
-\vspace{1cm}
-\begin{pspicture}(3,3)
- \psgrid
- \pnode(1,0){A}
- \pnode(1,3){B}
- \pnode(2.5,0){C}
- \potentiometer[labeloffset=0pt](A)(B)(C){P}
-\end{pspicture}
-\hfill
-\begin{pspicture}(3,3)
- \psgrid
- \pnode(0,3){A}
- \pnode(3,0){B}
- \pnode(2,0){C}
- \potentiometer[labeloffset=0pt,labelangle=:U](A)(B)(C){P}
-\end{pspicture}
-\hfill
-\begin{pspicture}(3,3)
- \psgrid
- \pnode(0,2){A}
- \pnode(3,2){B}
- \pnode(1.5,0){C}
- \potentiometer[labeloffset=0pt](A)(B)(C){P}
-\end{pspicture}
-
-
-\vspace{1cm}
-\begin{pspicture}(3,3)
- \psgrid
- \pnode(1,0){A}
- \pnode(1,3){B}
- \pnode(2.5,0){C}
- \potentiometer[dipolestyle=zigzag](A)(B)(C){P}
-\end{pspicture}
-\hfill
-\begin{pspicture}(3,3)
- \psgrid
- \pnode(0,3){A}
- \pnode(3,0){B}
- \pnode(2,0){C}
- \potentiometer[dipolestyle=zigzag,labelangle=:U](A)(B)(C){P}
-\end{pspicture}
-\hfill
-\begin{pspicture}(3,3)
- \psgrid
- \pnode(0,2){A}
- \pnode(3,2){B}
- \pnode(1.5,0){C}
- \potentiometer[dipolestyle=zigzag](A)(B)(C){P}
-\end{pspicture}
-\end{document}
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
new file mode 100644
index 00000000000..3b785845e22
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pst-circ/pst-circ-doc.bib
@@ -0,0 +1,129 @@
+@STRING{dtk = {{D}ie {\TeX}nische {K}om{\"o}die} }
+
+@Book{PostScript,
+ Author = {Kollock, Nikolai G.},
+ Title = {PostScript richtig eingesetzt: vom Konzept zum
+ praktischen Einsatz},
+ Publisher = {IWT},
+ Address = {Vaterstetten},
+ year = 1989,
+}
+
+@Manual{pstricks,
+ Title = {PSTricks - {\PS} macros for Generic TeX},
+ Author = {Timothy Van Zandt},
+ Organization = {},
+ Address = {\url{http://www.tug.org/application/PSTricks}},
+ Note = {},
+ year = 1993,
+}
+
+
+@Manual{pdftricks,
+ Title = {PSTricks Support for pdf},
+ Author = {Herbert Voss},
+ Organization = {},
+ Address = {\url{http://PSTricks.de/pdf/pdfoutput.phtml}},
+ Note = {},
+ year = 2002,
+}
+
+@Manual{miwi,
+ Title = {References for \TeX{} and Friends},
+ Author = {Michael Wiedmann and Peter Karp},
+ Organization = {},
+ Address = {\url{http://www.miwie.org/tex-refs/}},
+ Note = {},
+ year = 2003,
+}
+
+
+@Manual{pstlens:2001,
+ Title = {PST-lens - {\PS} macros for Generic TeX},
+ Author = {Denis Girou and Manuel Luque},
+ Organization = {},
+ Address = {\url{ftp://ftp.dante.de/tex-archive/graphics/pstricks/contrib/pst-lens/}},
+ Note = {},
+ year = 2001,
+}
+
+@Manual{vue3d:2002,
+ Title = {Vue en 3D},
+ Author = {Manuel Luque},
+ Organization = {},
+ Address = {\url{http://members.aol.com/Mluque5130/vue3d16112002.zip}},
+ Note = {},
+ year = 2002,
+}
+
+@Article{dtk02.2:jackson.voss:plot-funktionen,
+ author = {Laura E. Jackson and Herbert Vo{\ss}},
+ title = {Die {P}lot-{F}unktionen von {\texttt{pst-plot}}},
+ journal = dtk,
+ year = 2002,
+ volume = {2/02},
+ altvolume = 2,
+ altnumber = 14,
+ month = jun,
+ pages = {27--34},
+ annote = bretter,
+ keywords = {},
+ abstract = { Im letzten Heft wurden die mathematischen Funktionen von
+ \PS~im Zusammenhang mit dem {\LaTeX}-Paket
+ \texttt{pst-plot} zum Zeichnen von Funktionen beschrieben
+ und durch Beispiele erl{\"a}utert. In diesem Teil werden
+ die bislang nur erw{\"a}hnten Plot-Funktionen f{\"u}r
+ externe Daten behandelt. }
+}
+
+@Article{dtk02.1:voss:mathematischen,
+ author = {Herbert Vo{\ss}},
+ title = {Die mathematischen {F}unktionen von {P}ostscript},
+ journal = dtk,
+ year = 2002,
+ volume = {1/02},
+ altvolume = 1,
+ altnumber = 14,
+ month = mar,
+ pages = {40-47},
+ annote = bretter,
+ keywords = {},
+ abstract = { \PS, faktisch genauso alt wie {\TeX}, ist im
+ Verh{\"a}ltnis dazu allgemein noch weniger bekannt, wenn es
+ darum geht zu beurteilen, was es denn nun im eigentlichen
+ Sinne ist. Au{\ss}erdem wird h{\"a}ufig vergessen, dass
+ sich mit den \PS-Funktionen viele Dinge erledigen lassen,
+ bei denen sonst auf externe Programme zur{\"u}ckgegriffen
+ wird. Dies wird im Folgenden f{\"u}r die mathematischen
+ Funktionen im Zusammenhang mit dem Paket \texttt{pst-plot}
+ gezeigt. }
+}
+
+
+@Book{companion,
+ author = {Michel Goosens and Frank Mittelbach and Alexander
+ Samarin},
+ title = {The {\LaTeX} {G}raphics {C}ompanion},
+ publisher = {{Addison-Wesley Publishing Company}},
+ year = {2004},
+ edition = {2.},
+ address = {Reading, Mass.}
+}
+
+@Book{PSTricks2,
+ author = {Herbert Vo\ss},
+ title = {\texttt{PSTricks} -- {G}rafik f\"ur \TeX{} und \LaTeX},
+ edition = {4.},
+ publisher = {DANTE -- Lehmanns},
+ year = {2007},
+ address = {Heidelberg/Hamburg}
+}
+
+@Book{voss:math,
+ author = {Herbert Vo\ss},
+ title = {\LaTeX\ in {M}athematik und {N}aturwissenschaften},
+ publisher = {{Franzis-Verlag}},
+ year = {2006},
+ address = {Poing}
+}
+
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 aa74333ac9b..45e9b7e2c46 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 09dba0a68ce..82304a8ba41 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,12 +1,15 @@
+\listfiles
\documentclass{article}
-
-\usepackage{multicol}
-\usepackage[a4paper,margin=1.5cm]{geometry}
+\usepackage[a4paper]{geometry}
\usepackage{fancyhdr}
-\usepackage[baw,pstricks]{fvrb-ex}
-\usepackage{pst-circ}
-\usepackage{pstcol}
\usepackage{url}
+%
+\usepackage{pst-all}
+\usepackage{pst-circ}
+\let\verPstCirc\fileversion
+\usepackage{multicol}
+\usepackage{showexpl}
+%
\makeatletter
\def\@UrlFont{\small\ttfamily}
\renewenvironment{description}
@@ -15,106 +18,31 @@
\let\makelabel\descriptionlabel}}
{\endlist}
-\renewcommand{\Begin@Example}{%
-\parindent=0pt
-\multiply\topsep by 2 \VerbatimEnvironment
-\begin{VerbatimOut}[codes={\catcode`\£=12\catcode`\/=12\catcode`\&=12%
- \catcode`\"=12}]{\jobname.tmp}}
-
-\renewcommand{\Below@Example}[1]{%
-\VerbatimInput[gobble=0,commentchar=£,commandchars=/&",numbersep=3pt]%
- {\jobname.tmp}
-\catcode`\£=9\relax%
-\NoHighlight@Attributes % To suppress possible highlighting
-\ifFvrbEx@Grid\vspace{5pt}\fi
-#1%
-\ifFvrbEx@Grid\vspace{5pt}\fi
-\par}
-
-\renewcommand{\SideBySide@Example}[1]{%
-\@tempdimb=\FV@XRightMargin \advance\@tempdimb -5mm
-\begin{minipage}[c]{\@tempdimb}
- \fvset{xrightmargin=0pt}
- \catcode`\£=9\relax%
- \NoHighlight@Attributes % To suppress possible highlighting
- #1
-\end{minipage}%
-\@tempdimb=\textwidth \advance\@tempdimb -\FV@XRightMargin \advance\@tempdimb 5mm
-\begin{minipage}[c]{\@tempdimb}
- \VerbatimInput[gobble=0,commentchar=£,commandchars=/&",numbersep=3pt,
- xleftmargin=5mm,xrightmargin=0pt]{\jobname.tmp}
-\end{minipage}}
-% The \NoHighlight@Attributes from `hbaw' and `hcolors' packages
-% must be modified too
-\def\NoHighlight@Attributes{%
-\catcode`\/=0\relax%
-\catcode`\&=1\relax%
-\catcode`\"=2\relax%
-\def\HLa##1{##1}%
-\def\HLb##1{##1}%
-\def\HLc##1{##1}%
-\def\HLd##1{##1}%
-\def\HLe##1{##1}%
-\def\HLf##1{##1}%
-\def\HLBFa##1{##1}%
-\def\HLBFb##1{##1}%
-\def\HLBFc##1{##1}%
-\def\HLBFd##1{##1}%
-\def\HLBFe##1{##1}%
-\def\HLBFf##1{##1}%
-\def\HLITa##1{##1}%
-\def\HLITb##1{##1}%
-\def\HLITc##1{##1}%
-\def\HLITd##1{##1}%
-\def\HLITe##1{##1}%
-\def\HLITf##1{##1}%
-\def\HLCBBa##1{##1}%
-\def\HLCBBb##1{##1}%
-\def\HLCBBc##1{##1}%
-\def\HLCBBd##1{##1}%
-\def\HLCBBe##1{##1}%
-\def\HLCBBf##1{##1}%
-\def\HLCBBz##1{##1}%
-\def\HLCBWa##1{##1}%
-\def\HLCBWb##1{##1}%
-\def\HLCBWc##1{##1}%
-\def\HLCBWd##1{##1}%
-\def\HLCBWe##1{##1}%
-\def\HLCBWf##1{##1}%
-\def\HLCBWz##1{##1}%
-}
-
-\makeatother
-
-\fvset{numbers=none,frame=single,labelposition=topline}
-
\DeclareRobustCommand\cs[1]{\texttt{\char`\\#1}}
-
-\newcommand{\CircPackage}{\textbf{`pst-circ'}}
+\def\PS{PostScript}
+\newcommand{\CircPackage}{\textsf{`pst-circ'}}
\lhead{\CircPackage}\rhead{A PSTricks package for drawing electric circuits}
\pagestyle{fancy}
-\psset{subgriddiv=0,griddots=5,gridlabels=7pt}%
-\showgrid
+\psset{subgriddiv=0,griddots=10,gridlabels=7pt}%
+%\showgrid
\usepackage[colorlinks,linktocpage]{hyperref}
\begin{document}
-\title{\CircPackage\\ A PSTricks package for drawing electric circuits\\\normalsize ver. 1.2b}
-\author{{Christophe \textsc{Jorssen} \url{<christophe.jorssen@noos.fr>}}\\
-Herbert \textsc{Voss} \url{<voss@perce.de>}}
-\date{28 August 2003}
+\title{\texttt{pst-circ}\\ A PSTricks package for drawing electric circuits\\\normalsize ver. \verPstCirc}
+\author{Christophe Jorssen\thanks{\url{<christophe.jorssen@noos.fr>}} and
+Herbert Vo\ss\thanks{\url{<voss@PSTricks.de>}}}
+\date{\today}
\maketitle
-\begin{center}
-\psframebox[framearc=0.3,framesep=5mm,linewidth=.7mm]{%
-\parbox{15cm}{%
-{\textbf{Abstract:} \CircPackage{} is a PSTricks package to draw easily electric circuits. Most
+\begin{abstract}
+\CircPackage{} is a PSTricks package to draw easily electric circuits. Most
dipoles, tripoles and quadrupoles used in classical electrotechnical
circuits are provided as graphical units which can readily be
-interconnectedd to produce circuit diagrams of a reasonable level of complexity}}}
-\end{center}
+interconnectedd to produce circuit diagrams of a reasonable level of complexity.
+\end{abstract}
\setlength{\columnseprule}{0.6pt}
\begin{multicols}{2}
@@ -140,16 +68,17 @@ out the underlying vector graphics.
There are specific paramaters defined to change easily the behaviour of the pst-circ
objects you are drawing.
+\let\HLTTc\textsf
%\begin{multicols}{2}
\begin{description}
\item[\HLTTc{intensity} (boolean):] (\emph{default:~false})
-\item[\HLTTc{intensitylabel} (string):] (\emph{default:~\texttt{\cs{empty}}})
+\item[\HLTTc{intensitylabel} (string):] (\emph{default:~})
\item[\HLTTc{intensitylabeloffset} (dimension):] (\emph{default:~0.5})
\item[\HLTTc{intensitycolor} (PSTricks color):] (\emph{default:~black})
\item[\HLTTc{intensitylabelcolor} (PSTricks color):] (\emph{default:~black})
\item[\HLTTc{intensitywidth} (dimension):] (\emph{default:~\texttt{\cs{pslinewidth}}})
\item[\HLTTc{tension} (boolean):] (\emph{default:~false})
-\item[\HLTTc{tensionlabel} (string):] (\emph{default:~\texttt{\cs{empty}}})
+\item[\HLTTc{tensionlabel} (string):] (\emph{default:~})
\item[\HLTTc{tensionoffset} (dimension):] (\emph{default:~1})
\item[\HLTTc{tensionlabeloffset} (dimension):] (\emph{default:~1.2})
\item[\HLTTc{tensioncolor} (PSTricks color):] (\emph{default:~black})
@@ -157,6 +86,7 @@ objects you are drawing.
\item[\HLTTc{tensionwidth} (dimension):] (\emph{default:~\texttt{\cs{pslinewidth}}})
\item[\HLTTc{labeloffset} (dimension):] (\emph{default:~0.7})
\item[\HLTTc{labelangle} (PSTricks label angle):] (\emph{default:~0})
+\item[\HLTTc{labelInside} (integer):] (\emph{default:~0})
\item[\HLTTc{dipoleconvention}:] (\emph{default:~receptor})
\item[\HLTTc{directconvetion} (boolean):] (\emph{default:~true})
\item[\HLTTc{dipolestyle} (string):] (\emph{default:~normal})
@@ -173,24 +103,27 @@ objects you are drawing.
\item[\HLTTc{OAiplus} (boolean):] (\emph{default:~false})
\item[\HLTTc{OAiminus} (boolean):] (\emph{default:~false})
\item[\HLTTc{OAiout} (boolean):] (\emph{default:~false})
-\item[\HLTTc{OAipluslabel} (string):] (\emph{default:~\texttt{\cs{empty}}})
-\item[\HLTTc{OAiminuslabel} (string):] (\emph{default:~\texttt{\cs{empty}}})
-\item[\HLTTc{OAioutlabel} (string):] (\emph{default:~\texttt{\cs{empty}}})
+\item[\HLTTc{OAipluslabel} (string):] (\emph{default:~})
+\item[\HLTTc{OAiminuslabel} (string):] (\emph{default:~})
+\item[\HLTTc{OAioutlabel} (string):] (\emph{default:~})
\item[\HLTTc{transistorcircle} (boolean):] (\emph{default:~true})
\item[\HLTTc{transistorinvert} (boolean):] (\emph{default:~false})
\item[\HLTTc{transistoribase} (boolean):] (\emph{default:~false})
\item[\HLTTc{transistoricollector} (boolean):] (\emph{default:~false})
\item[\HLTTc{transistoriemitter} (boolean):] (\emph{default:~false})
-\item[\HLTTc{transistoribaselabel} (string):] (\emph{default:~\texttt{\cs{empty}}})
-\item[\HLTTc{transistoricollectorlabel} (string):] (\emph{default:~\texttt{\cs{empty}}})
-\item[\HLTTc{transistoriemitterlabel} (string):] (\emph{default:~\texttt{\cs{empty}}})
+\item[\HLTTc{transistoribaselabel} (string):] (\emph{default:~})
+\item[\HLTTc{transistoricollectorlabel} (string):] (\emph{default:~})
+\item[\HLTTc{transistoriemitterlabel} (string):] (\emph{default:~})
+\item[\HLTTc{TRot} (angle):] (\emph{default:~0})
+\item[\HLTTc{edge} (macro):] (\emph{default:~\texttt{\textbackslash ncangles}})
\item[\HLTTc{transistortype} (string):] (\emph{default:~PNP})
-\item[\HLTTc{primarylabel} (string):] (\emph{default:~\texttt{\cs{empty}}})
-\item[\HLTTc{secondarylabel} (string):] (\emph{default:~\texttt{\cs{empty}}})
+\item[\HLTTc{FETchanneltype} (string):] (\emph{default:~N})
+\item[\HLTTc{primarylabel} (string):] (\emph{default:~})
+\item[\HLTTc{secondarylabel} (string):] (\emph{default:~})
\item[\HLTTc{transformeriprimary} (boolean):] (\emph{default:~false})
\item[\HLTTc{transformerisecondary} (boolean):] (\emph{default:~false})
-\item[\HLTTc{transformeriprimarylabel} (string):] (\emph{default:~\texttt{\cs{empty}}})
-\item[\HLTTc{transformerisecondarylabel} (string):] (\emph{default:~\texttt{\cs{empty}}})
+\item[\HLTTc{transformeriprimarylabel} (string):] (\emph{default:~})
+\item[\HLTTc{transformerisecondarylabel} (string):] (\emph{default:~})
\item[\HLTTc{tripolestyle} (string):] (\emph{default:~normal})
\end{description}
%\end{multicols}
@@ -199,78 +132,111 @@ objects you are drawing.
\subsection{Dipole macros}
-\begin{PSideBySideExample}[xrightmargin=5.5cm](3,2)
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,2)\psgrid
+ \pnode(0,1){A}
+ \pnode(3,1){B}
+ \resistor(A)(B){$R$}
+\end{pspicture}
+\end{LTXexample}
+
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,2)\psgrid
\pnode(0,1){A}
\pnode(3,1){B}
- /HLCBWz&\resistor"(A)(B){$R$}
-\end{PSideBySideExample}
+ \capacitor(A)(B){$C$}
+\end{pspicture}
+\end{LTXexample}
-\begin{PSideBySideExample}[xrightmargin=5.5cm](3,2)
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,2)\psgrid
\pnode(0,1){A}
\pnode(3,1){B}
- /HLCBWz&\capacitor"(A)(B){$C$}
-\end{PSideBySideExample}
+ \battery(A)(B){$E$}
+\end{pspicture}
+\end{LTXexample}
-\begin{PSideBySideExample}[xrightmargin=5.5cm](3,2)
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,2)\psgrid
\pnode(0,1){A}
\pnode(3,1){B}
- /HLCBWz&\battery"(A)(B){$E$}
-\end{PSideBySideExample}
+ \coil(A)(B){$L$}
+\end{pspicture}
+\end{LTXexample}
-\begin{PSideBySideExample}[xrightmargin=5.5cm](3,2)
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,2)\psgrid
\pnode(0,1){A}
\pnode(3,1){B}
- /HLCBWz&\coil"(A)(B){$L$}
-\end{PSideBySideExample}
+ \Ucc(A)(B){$E$}
+\end{pspicture}
+\end{LTXexample}
-\begin{PSideBySideExample}[xrightmargin=5.5cm](3,2)
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,2)\psgrid
\pnode(0,1){A}
\pnode(3,1){B}
- /HLCBWz&\Ucc"(A)(B){$E$}
-\end{PSideBySideExample}
+ \Icc(A)(B){$\eta$}
+\end{pspicture}
+\end{LTXexample}
-\begin{PSideBySideExample}[xrightmargin=5.5cm](3,2)
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,2)\psgrid
\pnode(0,1){A}
\pnode(3,1){B}
- /HLCBWz&\Icc"(A)(B){$\eta$}
-\end{PSideBySideExample}
+ \switch(A)(B){$K$}
+\end{pspicture}
+\end{LTXexample}
-\begin{PSideBySideExample}[xrightmargin=5.5cm](3,2)
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,2)\psgrid
\pnode(0,1){A}
\pnode(3,1){B}
- /HLCBWz&\switch"(A)(B){$K$}
-\end{PSideBySideExample}
+ \diode(A)(B){$D$}
+\end{pspicture}
+\end{LTXexample}
-\begin{PSideBySideExample}[xrightmargin=5.5cm](3,2)
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,2)\psgrid
\pnode(0,1){A}
\pnode(3,1){B}
- /HLCBWz&\diode"(A)(B){$D$}
-\end{PSideBySideExample}
+ \Zener(A)(B){$D$}
+\end{pspicture}
+\end{LTXexample}
-\begin{PSideBySideExample}[xrightmargin=5.5cm](3,2)
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,2)\psgrid
\pnode(0,1){A}
\pnode(3,1){B}
- /HLCBWz&\Zener"(A)(B){$D$}
-\end{PSideBySideExample}
+ \lamp(A)(B){$\mathcal L$}
+\end{pspicture}
+\end{LTXexample}
-\begin{PSideBySideExample}[xrightmargin=5.5cm](3,2)
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,2)\psgrid
\pnode(0,1){A}
\pnode(3,1){B}
- /HLCBWz&\lamp"(A)(B){$\mathcal L$}
-\end{PSideBySideExample}
+ \circledipole(A)(B){$\mathcal G$}
+\end{pspicture}
+\end{LTXexample}
-\begin{PSideBySideExample}[xrightmargin=5.5cm](3,2)
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}[showgrid=true](3,2)
\pnode(0,1){A}
\pnode(3,1){B}
- /HLCBWz&\circledipole"(A)(B){$\mathcal G$}
-\end{PSideBySideExample}
+ \circledipole[labeloffset=0](A)(B){\Large\textbf{A}}
+\end{pspicture}
+\end{LTXexample}
-\begin{PSideBySideExample}[xrightmargin=5.5cm](3,2)
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,2)\psgrid
\pnode(0,1){A}
\pnode(3,1){B}
- /HLCBWz&\LED"(A)(B){$\mathcal D$}
-\end{PSideBySideExample}
+ \LED(A)(B){$\mathcal D$}
+\end{pspicture}
+\end{LTXexample}
+\bigskip
\subsection{Tripole macros}
Obviously, tripoles are not node connections. So \CircPackage{} tries its best to adjust the
@@ -280,471 +246,782 @@ well chosen\footnote{This is something we are working on. I think that auto-posi
auto-connections should be done at PostScript level and not at PSTricks level. If someone has any
ideas, please mail us.}, so don't try to use tripole macros in strange situations!
-\begin{PSideBySideExample}[xrightmargin=5.5cm](5,3)
+
+
+\begin{LTXexample}[width=5.5cm]
+\begin{pspicture}(5,3)\psgrid
\pnode(0,0){A}
\pnode(0,3){B}
\pnode(5,1.5){C}
- /HLCBWz&\OA"(B)(A)(C)
-\end{PSideBySideExample}
+ \OA(B)(A)(C)
+\end{pspicture}
+\end{LTXexample}
-\begin{PSideBySideExample}[xrightmargin=5.5cm](5,3)
- \pnode(0,1.5){A}
- \pnode(5,3){B}
- \pnode(5,0){C}
- /HLCBWz&\transistor"(A)(B)(C)
-\end{PSideBySideExample}
+\begin{LTXexample}[width=5.5cm]
+\begin{pspicture}(5,3)\psgrid
+ \pnode(0,0){A}
+ \pnode(0,3){B}
+ \pnode(5,1.5){C}
+ \OA[OApower=true](B)(A)(C)
+\end{pspicture}
+\end{LTXexample}
-\begin{PSideBySideExample}[xrightmargin=5.5cm](5,3)
+\begin{LTXexample}[width=5.5cm]
+\begin{pspicture}(5,3)\psgrid
+ \pnode(0,1.5){A}
+ \pnode(5,0){B}
+ \pnode(5,3){C}
+ \transistor[basesep=2cm,arrows=o-o](A)(B)(C)
+\end{pspicture}
+\end{LTXexample}
+
+\begin{LTXexample}[width=5.5cm]
+\begin{pspicture}(5,3)\psgrid
+ \pnode(0,1.5){A}\psset{linewidth=1pt}
+ \transistor[basesep=2cm,arrows=o-o](A){Emitter}{Collector}
+ \psline{o-}(5,3)(3,3)(3,3|Collector)(Collector)
+ \psline{o-}(5,0)(3,0)(3,3|Emitter)(Emitter)
+ \psline{o-}(A)([nodesep=2]A)
+\end{pspicture}
+\end{LTXexample}
+
+\begin{LTXexample}[width=5.5cm]
+\begin{pspicture}(5,2)\psgrid
\pnode(0,2){A}
\pnode(5,2){B}
\pnode(0,0){C}
- /HLCBWz&\Tswitch"(A)(B)(C){$K$}
-\end{PSideBySideExample}
+ \Tswitch(A)(B)(C){$K$}
+\end{pspicture}
+\end{LTXexample}
-\begin{PSideBySideExample}[xrightmargin=3.5cm](3,3)
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,3)\psgrid
\pnode(0,1){A}
\pnode(3,1){B}
\pnode(3,2.25){C}
- /HLCBWz&\potentiometer"[labeloffset=0pt](A)(B)(C){$P$}
-\end{PSideBySideExample}
+ \potentiometer[labeloffset=0pt](A)(B)(C){$P$}
+\end{pspicture}
+\end{LTXexample}
+\bigskip
\subsection{Quadrupole macros}
-\begin{PSideBySideExample}[xrightmargin=5.5cm](5,5)
+\begin{LTXexample}[width=5.5cm]
+\begin{pspicture}(5,5)\psgrid
\pnode(0,5){A}
\pnode(0,0){B}
\pnode(5,5){C}
\pnode(5,0){D}
- /HLCBWz&\transformer"(A)(B)(C)(D){$\mathcal T$}
-\end{PSideBySideExample}
+ \transformer(A)(B)(C)(D){$\mathcal T$}
+\end{pspicture}
+\end{LTXexample}
-\begin{PSideBySideExample}[xrightmargin=4.5cm](4,3)
+\begin{LTXexample}[width=5.5cm]
+\begin{pspicture}(5,3)\psgrid
\pnode(0,2.5){A}
\pnode(0,0.5){B}
\pnode(4,2.5){C}
\pnode(4,0.5){D}
- /HLCBWz&\optoCoupler"(A)(B)(C)(D){$OC$}
-\end{PSideBySideExample}
+ \optoCoupler(A)(B)(C)(D){$OC$}
+\end{pspicture}
+\end{LTXexample}
+\clearpage
\subsection{Multidipole}
-
\cs{multidipole} is a macro that allows multiple dipoles to be drawn between two specified nodes.
\cs{multidipole} takes as many arguments as you want. \textbf{Note the \rnode{Dot}{dot} that is
after the last dipole.}
-\def\HLrnode#1{\rnode{Dot2}{#1}}
-\begin{PSideBySideExample}[xrightmargin=8.5cm](8,8)
+\bigskip
+\begin{minipage}{7cm}
+\begin{pspicture}[showgrid=true](7,7)
\pnode(0,0){A}
- \pnode(8,8){B}
- /HLCBWz&\multidipole"(A)(B)\resistor{$R$}%
+ \pnode(7,7){B}
+ \multidipole(A)(B)\resistor{$R$}%
\capacitor[linecolor=red]{$C$}%
- \diode{$D$}/HLrnode&/HLCBWz."
-\end{PSideBySideExample}
-
+ \diode{$D$}{}\rnode{Dot2}{}.
+\end{pspicture}
+\end{minipage}\hfill
+\begin{minipage}{6cm}
+\verb+\begin{pspicture}[showgrid=true](7,7)+\\
+\verb+ \pnode(0,0){A}+\\
+\verb+ \pnode(7,7){B}+\\
+\verb+ \multidipole(A)(B)\resistor{$R$}%+\\
+\verb+ \capacitor[linecolor=red]{$C$}%+\\
+\verb+ \diode{$D$}{}+\rnode{Dot2}{}.\\
+\verb+\end{pspicture}+
+\end{minipage}
+
+\bigskip
\ncangles[linestyle=dashed,linecolor=gray,nodesep=3pt,armA=.5cm,angleA=-90,armB=4cm,angleB=0]{->}{Dot}{Dot2}
Important: for the time being, \cs{multidipole} takes optional arguments but does not
restore original values. We recommand not using it.
+\bigskip
\subsection{Wire}
-\begin{PSideBySideExample}[xrightmargin=3.5cm](3,2)
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,2)\psgrid
\pnode(0,1){A}
\pnode(3,1){B}
- /HLCBWz&\wire"(A)(B)
-\end{PSideBySideExample}
+ \wire(A)(B)
+\end{pspicture}
+\end{LTXexample}
+\bigskip
\subsection{Potential}
-\begin{PSideBySideExample}[xrightmargin=3.5cm](3,2)
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,2)\psgrid
\pnode(0,1){A}
\pnode(3,1){B}
- /HLCBWz&\tension"(A)(B){$u$}
-\end{PSideBySideExample}
+ \tension(A)(B){$u$}
+\end{pspicture}
+\end{LTXexample}
+\bigskip
\subsection{ground}
-\begin{PSideBySideExample}[xrightmargin=3.5cm](3,2)
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,2)\psgrid
\pnode(0.5,1){A}
\pnode(1,1){B}
\pnode(2.5,1){C}
- /HLCBWz&\ground"(A)
- \ground{/HLCBWz&135"}(B)
- \ground[/HLCBWz&linecolor"=blue]{180}(C)
-\end{PSideBySideExample}
+ \ground(A)
+ \ground{135}(B)
+ \ground[linecolor=blue]{180}(C)
+\end{pspicture}
+\end{LTXexample}
+\bigskip
\section{Parameters}
\subsection{Label parameters}
-\begin{PSideBySideExample}[xrightmargin=3.5cm](3,2)
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,1)\psgrid
\pnode(0,.5){A}
\pnode(3,.5){B}
- \resistor[/HLCBWz&labeloffset"=0](A)(B){$R$}
-\end{PSideBySideExample}
+ \resistor[labeloffset=0](A)(B){$R$}
+\end{pspicture}
+\end{LTXexample}
-\begin{PSideBySideExample}[xrightmargin=3.5cm](3,2)
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,2)\psgrid
\pnode(0,0){A}
\pnode(3,2){B}
- \resistor[/HLCBWz&labelangle"=:U](A)(B){$R$}
-\end{PSideBySideExample}
+ \resistor[labelangle=:U](A)(B){$R$}
+\end{pspicture}
+\end{LTXexample}
-\begin{PSideBySideExample}[xrightmargin=3.5cm](3,2)
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,2)\psgrid
\pnode(0,0){A}
\pnode(3,2){B}
- \resistor[/HLCBWz&labelangle"=0](A)(B){$R$}
-\end{PSideBySideExample}
+ \resistor[labelangle=0](A)(B){$R$}
+\end{pspicture}
+\end{LTXexample}
-\begin{PSideBySideExample}[xrightmargin=5.5cm](5,5)
+\begin{LTXexample}[width=5.5cm]
+\begin{pspicture}(5,5)\psgrid
\pnode(0,5){A}
\pnode(0,0){B}
\pnode(5,5){C}
\pnode(5,0){D}
- \transformer[/HLCBWz&primarylabel"=$n_1$,
- /HLCBWz&secondarylabel"=$n_2$](A)(B)(C)(D){$\mathcal T$}
-\end{PSideBySideExample}
-
+ \transformer[primarylabel=$n_1$,
+ secondarylabel=$n_2$](A)(B)(C)(D){$\mathcal T$}
+\end{pspicture}
+\end{LTXexample}
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,4.5)\psgrid
+ \pnode(0,.5){A}
+ \pnode(3,.5){B}
+ \Ucc[labelInside=1](A)(B){$V$}
+ \pnode(0,2){A}
+ \pnode(3,2){B}
+ \Ucc[labelInside=2](A)(B){$V$}
+ \pnode(0,3.5){A}
+ \pnode(3,3.5){B}
+ \Ucc[labelInside=3](A)(B){$V$}
+\end{pspicture}
+\end{LTXexample}
+
+\bigskip
\subsection{Current intensity and electrical potential parameters}
-If the \HLTTc{intensity} parameter is set to \texttt{true}, an arrow is drawn on the wire
-connecting one of the nodes to the dipole. If the \HLTTc{tension} parameter is set to \texttt{true},
+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},
an arrow is drawn parallel to the dipole.
-The way those arrows are drawn is set by \HLTTc{dipoleconvention} and \HLTTc{directconvention}
-parameters. \HLTTc{dipoleconvention} can take two values~: \texttt{generator} or \texttt{receptor}.
-\HLTTc{directconvention} is a boolean.
+The way those arrows are drawn is set by \texttt{dipoleconvention} and \texttt{directconvention}
+parameters. \texttt{dipoleconvention} can take two values~: \texttt{generator} or \texttt{receptor}.
+\texttt{directconvention} is a boolean.
+
-\begin{PSideBySideExample}[xrightmargin=3.5cm](3,2)
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,2)\psgrid
\pnode(0,.5){A}
\pnode(3,.5){B}
- \resistor[/HLCBWz&intensity",/HLCBWz&tension"](A)(B){}
-\end{PSideBySideExample}
+ \resistor[intensity,tension](A)(B){}
+\end{pspicture}
+\end{LTXexample}
-\begin{PSideBySideExample}[xrightmargin=3.5cm](3,2)
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,2)\psgrid
\pnode(0,.5){A}
\pnode(3,.5){B}
\resistor[intensity,tension,
- /HLCBWz&dipoleconvention"=generator](A)(B){}
-\end{PSideBySideExample}
+ dipoleconvention=generator](A)(B){}
+\end{pspicture}
+\end{LTXexample}
-\begin{PSideBySideExample}[xrightmargin=3.5cm](3,2)
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,2)\psgrid
\pnode(0,.5){A}
\pnode(3,.5){B}
\resistor[intensity,tension,
- /HLCBWz&directconvention"=false](A)(B){}
-\end{PSideBySideExample}
+ directconvention=false](A)(B){}
+\end{pspicture}
+\end{LTXexample}
-\begin{PSideBySideExample}[xrightmargin=3.5cm](3,2)
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,2)\psgrid
\pnode(0,.5){A}
\pnode(3,.5){B}
\resistor[intensity,tension,
dipoleconvention=generator,directconvention=false](A)(B){}
-\end{PSideBySideExample}
+\end{pspicture}
+\end{LTXexample}
-If \HLTTc{intensitylabel} is set to an non empty argument, then \HLTTc{intensity} is automatically
-set to true. If \HLTTc{tensionlabel} is set to an non empty argument, then \HLTTc{tension} is
+If \texttt{intensitylabel} is set to an non empty argument, then \texttt{intensity} is automatically
+set to true. If \texttt{tensionlabel} is set to an non empty argument, then \texttt{tension} is
automatically set to true.
-\begin{PSideBySideExample}[xrightmargin=3.5cm](3,2)
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,2)\psgrid
\pnode(0,.5){A}
\pnode(3,.5){B}
- \resistor[/HLCBWz&intensitylabel"=$i$,/HLCBWz&tensionlabel"=$u$](A)(B){}
-\end{PSideBySideExample}
+ \resistor[intensitylabel=$i$,tensionlabel=$u$](A)(B){}
+\end{pspicture}
+\end{LTXexample}
-\begin{PSideBySideExample}[xrightmargin=3.5cm](3,2)
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,2)\psgrid
\pnode(0,1.5){A}
\pnode(3,1.5){B}
- \resistor[intensitylabel=$i$,/HLCBWz&intensitylabeloffset"=-0.5,
- tensionlabel=$u$,/HLCBWz&tensionlabeloffset"=-1.2,
- /HLCBWz&tensionoffset"=-1](A)(B){}
-\end{PSideBySideExample}
-
-\begin{PSideBySideExample}[xrightmargin=3.5cm](3,2)
+ \resistor[intensitylabel=$i$,intensitylabeloffset=-0.5,
+ tensionlabel=$u$,tensionlabeloffset=-1.2,
+ tensionoffset=-1](A)(B){}
+\end{pspicture}
+\end{LTXexample}
+
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,2)\psgrid
\pnode(0,.5){A}
\pnode(3,.5){B}
- \resistor[intensitylabel=$i$,/HLCBWz&intensitywidth"=3\pslinewidth,
- /HLCBWz&intensitycolor"=red,/HLCBWz&intensitylabelcolor"=yellow,
- tensionlabel=$u$,/HLCBWz&tensionwidth"=2\pslinewidth,
- /HLCBWz&tensioncolor"=green,/HLCBWz&tensionlabelcolor"=blue](A)(B){}
-\end{PSideBySideExample}
+ \resistor[intensitylabel=$i$,intensitywidth=3\pslinewidth,
+ intensitycolor=red,intensitylabelcolor=yellow,
+ tensionlabel=$u$,tensionwidth=2\pslinewidth,
+ tensioncolor=green,tensionlabelcolor=blue](A)(B){}
+\end{pspicture}
+\end{LTXexample}
Some specific intensity parameters are available for tripoles and quadrupoles.
-\begin{PSideBySideExample}[xrightmargin=5.5cm](5,3)
+\begin{LTXexample}[width=5.5cm]
+\begin{pspicture}(5,3)\psgrid
\pnode(0,0){A}
\pnode(0,3){B}
\pnode(5,1.5){C}
- \OA[/HLCBWz&OAipluslabel"=$i_+$,
- /HLCBWz&OAiminuslabel"=$i_-$,
- /HLCBWz&OAioutlabel"=$i_o$](B)(A)(C)
-\end{PSideBySideExample}
-
-\begin{PSideBySideExample}[xrightmargin=5.5cm](5,3)
+ \OA[OAipluslabel=$i_+$,
+ OAiminuslabel=$i_-$,
+ OAioutlabel=$i_o$](B)(A)(C)
+\end{pspicture}
+\end{LTXexample}
+
+\begin{LTXexample}[width=5.5cm]
+\begin{pspicture}(5,3)\psgrid
\pnode(0,1.5){A}
- \pnode(5,3){B}
- \pnode(5,0){C}
- \transistor[/HLCBWz&transistoribaselabel"=$i_B$,
- /HLCBWz&transistoricollectorlabel"=$i_C$,
- /HLCBWz&transistoriemitterlabel"=$i_E$](A)(B)(C)
-\end{PSideBySideExample}
-
-\begin{PSideBySideExample}[xrightmargin=5.5cm](5,5)
+ \pnode(5,0){B}
+ \pnode(5,3){C}
+ \transistor[basesep=2cm,transistoribaselabel=$i_B$,
+ transistoricollectorlabel=$i_C$,
+ transistoriemitterlabel=$i_E$](A)(B)(C)
+\end{pspicture}
+\end{LTXexample}
+
+\begin{LTXexample}[width=5.5cm]
+\begin{pspicture}(5,5)\psgrid
\pnode(0,5){A}
\pnode(0,0){B}
\pnode(5,5){C}
\pnode(5,0){D}
- \transformer[/HLCBWz&transformeriprimarylabel"=$i_1$,
- /HLCBWz&transformerisecondarylabel"=$i_2$]%
+ \transformer[transformeriprimarylabel=$i_1$,
+ transformerisecondarylabel=$i_2$]%
(A)(B)(C)(D){$\mathcal T$}
-\end{PSideBySideExample}
+\end{pspicture}
+\end{LTXexample}
\subsection{Parallel parameters}
-If the \HLTTc{parallel} parameter is set to \texttt{true}, the dipole is drawn parallel to the line
+If the \texttt{parallel} parameter is set to \texttt{true}, the dipole is drawn parallel to the line
connecting the nodes.
-\begin{PSideBySideExample}[xrightmargin=3.5cm](3,3)
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,3)\psgrid
\pnode(0,.5){A}
\pnode(3,.5){B}
\resistor(A)(B){}
- \resistor[/HLCBWz&parallel"](A)(B){}
-\end{PSideBySideExample}
+ \resistor[parallel](A)(B){}
+\end{pspicture}
+\end{LTXexample}
-\begin{PSideBySideExample}[xrightmargin=3.5cm](3,3)
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,3)\psgrid
\pnode(0,.5){A}
\pnode(3,.5){B}
\resistor(A)(B){}
- \resistor[parallel,/HLCBWz&parallelsep"=.5](A)(B){}
-\end{PSideBySideExample}
+ \resistor[parallel,parallelsep=.5](A)(B){}
+\end{pspicture}
+\end{LTXexample}
-\begin{PSideBySideExample}[xrightmargin=3.5cm](3,3)
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,3)\psgrid
\pnode(0,.5){A}
\pnode(3,.5){B}
\resistor(A)(B){}
\resistor[parallel,parallelsep=.3,
- /HLCBWz&parallelarm"=2](A)(B){}
-\end{PSideBySideExample}
+ parallelarm=2](A)(B){}
+\end{pspicture}
+\end{LTXexample}
-\begin{PSideBySideExample}[xrightmargin=3.5cm](3,3)
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,3)\psgrid
\pnode(0,.5){A}
\pnode(3,.5){B}
\resistor(A)(B){}
\resistor[parallel,parallelsep=.3,
- parallelarm=2,/HLCBWz&parallelnode"](A)(B){}
-\end{PSideBySideExample}
+ parallelarm=2,parallelnode](A)(B){}
+\end{pspicture}
+\end{LTXexample}
-\begin{PSideBySideExample}[xrightmargin=8.5cm](8,8)
+\begin{LTXexample}[width=8.5cm]
+\begin{pspicture}(8,8)\psgrid
\pnode(0,0){A}
\pnode(8,8){B}
\multidipole(A)(B)\resistor{$R$}%
\capacitor[linecolor=red]{$C$}%
\coil[parallel,parallelsep=.1]{$L$}%
\diode{$D$}.
-\end{PSideBySideExample}
+\end{pspicture}
+\end{LTXexample}
-Note: When used with \cs{multidipole}, the parallel \HLTTc{parameter}
+Note: When used with \cs{multidipole}, the parallel \texttt{parameter}
must not be set for the first dipole.
+
+
\subsection{Wire intersections}
-\begin{PSideBySideExample}[xrightmargin=3.5cm](3,3)
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,3)\psgrid
\pnode(0,0){A}
\pnode(3,3){B}
\pnode(0,3){C}
\pnode(3,0){D}
\wire(A)(B)
- \wire[/HLCBWz&intersect",/HLCBWz&intersectA"=A,/HLCBWz&intersectB"=B](C)(D)
-\end{PSideBySideExample}
+ \wire[intersect,intersectA=A,intersectB=B](C)(D)
+\end{pspicture}
+\end{LTXexample}
Wire intersect parameters work also with \cs{multidipole}.
-\begin{PSideBySideExample}[xrightmargin=8.5cm](8,8)
+\begin{LTXexample}[width=6.5cm]
+\begin{pspicture}(7,7)\psgrid
\pnode(0,0){A}
- \pnode(8,8){B}
- \pnode(0,8){C}
- \pnode(8,0){D}
+ \pnode(6,6){B}
+ \pnode(0,6){C}
+ \pnode(6,0){D}
\wire(A)(B)
\multidipole(C)(D)\resistor{$R$}%
\wire[intersect,intersectA=A,intersectB=B]%
\capacitor{$C$}.
-\end{PSideBySideExample}
-
+\end{pspicture}
+\end{LTXexample}
+\bigskip
\subsection{Dipole style parameters}
-\begin{PSideBySideExample}[xrightmargin=3.5cm](3,2)
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}[showgrid=true](3,2)
+ \pnode(0,1){A}
+ \pnode(3,1){B}
+ \resistor[dipolestyle=zigzag](A)(B){$R$}
+\end{pspicture}
+\end{LTXexample}
+
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}[showgrid=true](3,2)
\pnode(0,1){A}
\pnode(3,1){B}
- \resistor[/HLCBWz&dipolestyle"=/HLCBWz&zigzag"](A)(B){$R$}
-\end{PSideBySideExample}
+ \resistor[dipolestyle=varistor](A)(B){U}
+\end{pspicture}
+\end{LTXexample}
-\begin{PSideBySideExample}[xrightmargin=3.5cm](3,2)
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}[showgrid=true](3,2)
\pnode(0,1){A}
\pnode(3,1){B}
- \capacitor[dipolestyle=/HLCBWz&chemical"](A)(B){$C$}
-\end{PSideBySideExample}
+ \capacitor[dipolestyle=chemical](A)(B){$C$}
+\end{pspicture}
+\end{LTXexample}
-\begin{PSideBySideExample}[xrightmargin=3.5cm](3,2)
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,2)\psgrid
\pnode(0,1){A}
\pnode(3,1){B}
- \capacitor[dipolestyle=/HLCBWz&elektor"](A)(B){$C$}
-\end{PSideBySideExample}
+ \capacitor[dipolestyle=elektor](A)(B){$C$}
+\end{pspicture}
+\end{LTXexample}
-\begin{PSideBySideExample}[xrightmargin=3.5cm](3,2)
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,2)\psgrid
\pnode(0,1){A}
\pnode(3,1){B}
- \capacitor[dipolestyle=/HLCBWz&elektorchemical"](A)(B){$C$}
-\end{PSideBySideExample}
+ \capacitor[dipolestyle=elektorchemical](A)(B){$C$}
+\end{pspicture}
+\end{LTXexample}
-\begin{PSideBySideExample}[xrightmargin=3.5cm](3,2)
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,2)\psgrid
\pnode(0,1){A}
\pnode(3,1){B}
- \coil[dipolestyle=/HLCBWz&rectangle"](A)(B){$L$}
-\end{PSideBySideExample}
+ \coil[dipolestyle=rectangle](A)(B){$L$}
+\end{pspicture}
+\end{LTXexample}
-\begin{PSideBySideExample}[xrightmargin=3.5cm](3,2)
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,2)\psgrid
\pnode(0,1){A}
\pnode(3,1){B}
- \coil[dipolestyle=/HLCBWz&curved"](A)(B){$L$}
-\end{PSideBySideExample}
+ \coil[dipolestyle=curved](A)(B){$L$}
+\end{pspicture}
+\end{LTXexample}
-\begin{PSideBySideExample}[xrightmargin=3.5cm](3,2)
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,2)\psgrid
\pnode(0,1){A}
\pnode(3,1){B}
- \coil[dipolestyle=/HLCBWz&elektor"](A)(B){$L$}
-\end{PSideBySideExample}
+ \coil[dipolestyle=elektor](A)(B){$L$}
+\end{pspicture}
+\end{LTXexample}
-\begin{PSideBySideExample}[xrightmargin=3.5cm](3,2)
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,2)\psgrid
\pnode(0,1){A}
\pnode(3,1){B}
- \coil[dipolestyle=/HLCBWz&elektorcurved"](A)(B){$L$}
-\end{PSideBySideExample}
+ \coil[dipolestyle=elektorcurved](A)(B){$L$}
+\end{pspicture}
+\end{LTXexample}
-\begin{PSideBySideExample}[xrightmargin=3.5cm](3,2)
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,2)\psgrid
\pnode(0,1){A}
\pnode(3,1){B}
- \diode[dipolestyle=/HLCBWz&thyristor"](A)(B){$T$}
-\end{PSideBySideExample}
+ \diode[dipolestyle=thyristor](A)(B){$T$}
+\end{pspicture}
+\end{LTXexample}
-\begin{PSideBySideExample}[xrightmargin=3.5cm](3,2)
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,2)\psgrid
\pnode(0,1){A}
\pnode(3,1){B}
- \diode[dipolestyle=/HLCBWz&GTO"](A)(B){$T$}
-\end{PSideBySideExample}
+ \diode[dipolestyle=GTO](A)(B){$T$}
+\end{pspicture}
+\end{LTXexample}
-\begin{PSideBySideExample}[xrightmargin=3.5cm](3,2)
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,2)\psgrid
\pnode(0,1){A}
\pnode(3,1){B}
- \diode[dipolestyle=/HLCBWz&triac"](A)(B){$T$}
-\end{PSideBySideExample}
+ \diode[dipolestyle=triac](A)(B){$T$}
+\end{pspicture}
+\end{LTXexample}
-\begin{PSideBySideExample}[xrightmargin=3.5cm](3,2)
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,2)\psgrid
\pnode(0,1){A}
\pnode(3,1){B}
- \resistor[/HLCBWz&variable"](A)(B){$R$}
-\end{PSideBySideExample}
+ \resistor[variable](A)(B){$R$}
+\end{pspicture}
+\end{LTXexample}
-\begin{PSideBySideExample}[xrightmargin=3.5cm](3,2)
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,2)\psgrid
\pnode(0,1){A}
\pnode(3,1){B}
- \capacitor[/HLCBWz&variable"](A)(B){$C$}
-\end{PSideBySideExample}
+ \capacitor[variable](A)(B){$C$}
+\end{pspicture}
+\end{LTXexample}
-\begin{PSideBySideExample}[xrightmargin=3.5cm](3,2)
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,2)\psgrid
\pnode(0,1){A}
\pnode(3,1){B}
- \coil[/HLCBWz&variable"](A)(B){$L$}
-\end{PSideBySideExample}
+ \coil[variable](A)(B){$L$}
+\end{pspicture}
+\end{LTXexample}
-\begin{PSideBySideExample}[xrightmargin=3.5cm](3,2)
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,2)\psgrid
\pnode(0,1){A}
\pnode(3,1){B}
- \battery[/HLCBWz&variable"](A)(B){$U$}
-\end{PSideBySideExample}
+ \battery[variable](A)(B){$U$}
+\end{pspicture}
+\end{LTXexample}
-\begin{PSideBySideExample}[xrightmargin=3.5cm](3,2)
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,2)\psgrid
\pnode(0,1){A}
\pnode(3,1){B}
- \coil[dipolestyle=/HLCBWz&elektor",variable](A)(B){$L$}
-\end{PSideBySideExample}
+ \coil[dipolestyle=elektor,variable](A)(B){$L$}
+\end{pspicture}
+\end{LTXexample}
In the following example the parameter \verb|dipolestyle| is used for a tripole and quadrupole, because
the coils are drawn as rectangles and the resistor as a zigzag.
-\begin{PSideBySideExample}[xrightmargin=3.5cm](3,3)
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,3)\psgrid
\pnode(0,0){A}
\pnode(3,3){B}
\pnode(3,1.5){C}
- \potentiometer[,dipolestyle=/HLCBWz&zigzag",%
+ \potentiometer[dipolestyle=zigzag,%
labelangle=:U](A)(B)(C){$P$}
-\end{PSideBySideExample}
+\end{pspicture}
+\end{LTXexample}
-\begin{PSideBySideExample}[xrightmargin=4.5cm](4,4)
+\begin{LTXexample}[width=4.5cm]
+\begin{pspicture}(4,4)\psgrid
\pnode(0,4){A}
\pnode(0,0){B}
\pnode(4,4){C}
\pnode(4,0){D}
- /HLCBWz&\transformer"[dipolestyle=/HLCBWz&rectangle"](A)(B)(C)(D){$\mathcal T$}
-\end{PSideBySideExample}
+ \transformer[dipolestyle=rectangle](A)(B)(C)(D){$\mathcal T$}
+\end{pspicture}
+\end{LTXexample}
\subsection{Tripole style parameters}
-\begin{PSideBySideExample}[xrightmargin=5.5cm](5,3)
+\begin{LTXexample}[width=5.5cm]
+\begin{pspicture}(5,3)
\pnode(0,2){A}
\pnode(5,2){B}
\pnode(0,0){C}
\Tswitch[tripolestyle=left](A)(B)(C){$K$}
-\end{PSideBySideExample}
+\end{pspicture}
+\end{LTXexample}
-\begin{PSideBySideExample}[xrightmargin=5.5cm](5,3)
+\begin{LTXexample}[width=5.5cm]
+\begin{pspicture}(5,3)
\pnode(0,2){A}
\pnode(5,2){B}
\pnode(0,0){C}
\Tswitch[tripolestyle=right](A)(B)(C){$K$}
-\end{PSideBySideExample}
+\end{pspicture}
+\end{LTXexample}
-\begin{PSideBySideExample}[xrightmargin=5.5cm](5,3)
+\begin{LTXexample}[width=5.5cm]
+\begin{pspicture}(5,3)
\pnode(0,3){A}
\pnode(0,0){B}
\pnode(5,1.5){C}
\OA[tripolestyle=french](A)(B)(C)
-\end{PSideBySideExample}
+\end{pspicture}
+\end{LTXexample}
+
+\subsection{Potentiometer tripole}
+
+\begin{pspicture}(3,3)
+ \psgrid
+ \pnode(0,1){A}
+ \pnode(3,1){B}
+ \pnode(3,2){C}
+ \potentiometer[labeloffset=0pt](A)(B)(C){P}
+\end{pspicture}
+\hfill
+\begin{pspicture}(3,3)
+ \psgrid
+ \pnode(0,2.5){A}
+ \pnode(3,2.5){B}
+ \pnode(0,1){C}
+ \potentiometer[labeloffset=0pt](A)(B)(C){P}
+\end{pspicture}
+\hfill
+\begin{pspicture}(3,3)
+ \psgrid
+ \pnode(0,0){A}
+ \pnode(3,2){B}
+ \pnode(2.5,3){C}
+ \potentiometer[labeloffset=0pt,labelangle=:U](A)(B)(C){P}
+\end{pspicture}
+
+\vspace{1cm}
+\noindent
+\begin{pspicture}(3,3)
+ \psgrid
+ \pnode(1,0){A}
+ \pnode(1,3){B}
+ \pnode(2.5,0){C}
+ \potentiometer[labeloffset=0pt](A)(B)(C){P}
+\end{pspicture}
+\hfill
+\begin{pspicture}(3,3)
+ \psgrid
+ \pnode(0,3){A}
+ \pnode(3,0){B}
+ \pnode(2,0){C}
+ \potentiometer[labeloffset=0pt,labelangle=:U](A)(B)(C){P}
+\end{pspicture}
+\hfill
+\begin{pspicture}(3,3)
+ \psgrid
+ \pnode(0,2){A}
+ \pnode(3,2){B}
+ \pnode(1.5,0){C}
+ \potentiometer[labeloffset=0pt](A)(B)(C){P}
+\end{pspicture}
+
+
+\vspace{1cm}
+\noindent
+\begin{pspicture}(3,3)
+ \psgrid
+ \pnode(1,0){A}
+ \pnode(1,3){B}
+ \pnode(2.5,0){C}
+ \potentiometer[dipolestyle=zigzag](A)(B)(C){P}
+\end{pspicture}
+\hfill
+\begin{pspicture}(3,3)
+ \psgrid
+ \pnode(0,3){A}
+ \pnode(3,0){B}
+ \pnode(2,0){C}
+ \potentiometer[dipolestyle=zigzag,labelangle=:U](A)(B)(C){P}
+\end{pspicture}
+\hfill
+\begin{pspicture}(3,3)
+ \psgrid
+ \pnode(0,2){A}
+ \pnode(3,2){B}
+ \pnode(1.5,0){C}
+ \potentiometer[dipolestyle=zigzag](A)(B)(C){P}
+\end{pspicture}
\subsection{Other Parameters}
-\begin{PSideBySideExample}[xrightmargin=5.5cm](5,3)
+\begin{LTXexample}[width=5.5cm]
+\begin{pspicture}(5,3)
\pnode(0,0){A}
\pnode(0,3){B}
\pnode(5,1.5){C}
- \OA[/HLCBWz&OAinvert"=false](B)(A)(C)
-\end{PSideBySideExample}
+ \OA[OAinvert=false](B)(A)(C)
+\end{pspicture}
+\end{LTXexample}
-\begin{PSideBySideExample}[xrightmargin=5.5cm](5,3)
+\begin{LTXexample}[width=5.5cm]
+\begin{pspicture}(5,3)
\pnode(0,0){A}
\pnode(0,3){B}
\pnode(5,1.5){C}
- \OA[/HLCBWz&OAperfect"=false](B)(A)(C)
-\end{PSideBySideExample}
+ \OA[OAperfect=false](B)(A)(C)
+\end{pspicture}
+\end{LTXexample}
-\begin{PSideBySideExample}[xrightmargin=5.5cm](5,3)
+\begin{LTXexample}[width=5.5cm]
+\begin{pspicture}(5,3)
\pnode(0,1.5){A}
- \pnode(5,3){B}
- \pnode(5,0){C}
- \transistor[/HLCBWz&transistorinvert",/HLCBWz&transistorcircle"=false](A)(B)(C)
-\end{PSideBySideExample}
+ \pnode(5,0){B}
+ \pnode(5,3){C}
+ \transistor[basesep=2cm,%
+ transistorinvert,transistorcircle=false](A)(B)(C)
+\end{pspicture}
+\end{LTXexample}
+
+\begin{LTXexample}[width=5.5cm]
+\begin{pspicture}(5,3)
+ \pnode(0,1.5){A}\psset{linewidth=1pt}
+ \transistor[basesep=2cm,arrows=o-o,
+ transistortype=FET](A){Emitter}{Collector}
+ \psline{o-}(5,3)(3,3)(3,3|Collector)(Collector)
+ \psline{o-}(5,0)(3,0)(3,3|Emitter)(Emitter)
+ \psline{o-}(A)([nodesep=2]A)
+\end{pspicture}
+\end{LTXexample}
+
+\begin{LTXexample}[width=5.5cm]
+\begin{pspicture}(5,3)
+ \pnode(0,1.5){A}\psset{linewidth=1pt}
+ \transistor[basesep=2cm,arrows=o-o,
+ transistortype=FET,
+ FETchanneltype=P](A){Emitter}{Collector}
+ \psline{o-}(5,3)(3,3)(3,3|Collector)(Collector)
+ \psline{o-}(5,0)(3,0)(3,3|Emitter)(Emitter)
+ \psline{o-}(A)([nodesep=2]A)
+\end{pspicture}
+\end{LTXexample}
+
+\clearpage
+\section{Special objects}
+
+\subsection{\texttt{\textbackslash dashpot}}
+
+
+\begin{LTXexample}[pos=t]
+\newcommand*\pswall[3]{% ll ur lr
+ \psframe[linecolor=white,fillstyle=hlines,hatchcolor=black](#1)(#2)% (ll)(ur)
+ \psline[linecolor=black](#1)(#3)}
+\begin{pspicture}[showgrid=true](0.5,1)(8,10)
+ \rput(3,9.5){\sffamily \textbf{Viscoelasticity}}
+ % Kelvin-Voigt model (spring and dashpot parallel): ===========
+ \rput[c](1.75,8.85){\sffamily Kelvin-Voigt}
+ \pswall{1,8}{2.5,8.5}{2.5,8}% top
+ \psline(1.75,8)(1.75,7)% top vertical line
+ % node definitions:
+ \pnode(1,7){ul1}\pnode(2.5,7){ur1} \pnode(1,3){ll1}\pnode(2.5,3){lr1}%
+ \psline(ul1)(ur1)% top line
+ \psline(ll1)(lr1)% bottom line
+ \resistor[dipolestyle=zigzag,linewidth=0.5pt](ul1)(ll1){}% spring
+ \dashpot[linewidth=0.5pt](ur1)(lr1){}% dashpot
+ \psline[arrowscale=3]{->}(1.75,3)(1.75,2)% force
+ % Maxwell model (spring and dashpot serial): ==================
+ \rput[c](4.5,8.85){\sffamily Maxwell}
+ \pswall{4,8}{5,8.5}{5,8}% top
+ \pnode(4.5,8){t}\pnode(4.5,4){b}% node definitions
+ \resistor[dipolestyle=zigzag,linewidth=0.5pt,labeloffset=1.8](t)(b)% spring
+ {\sffamily\small\begin{tabular}{c}\textbf{elasticity}\\(Hookean solid)\end{tabular}}% end spring
+ \dashpot[linewidth=0.5pt,labeloffset=1.8](4.5,5)(4.5,3)% dashpot
+ {\sffamily\small\begin{tabular}{c}\textbf{viscosity}\\(Newtonian fluid)\end{tabular}
+ }% end dashpot
+ \psline[arrowscale=3]{->}(4.5,3)(4.5,2)% force
+\end{pspicture}
+\end{LTXexample}
+
\section{Examples}
-\begin{SideBySideExample}[xrightmargin=8cm]
+\begin{LTXexample}[width=8cm]
\begin{pspicture}(-1.5,-1)(6,5)
- \psgrid[subgriddiv=1,griddots=10]
+% \psgrid[subgriddiv=1,griddots=10]
% Node definitions
\pnode(0,0){A}
\pnode(0,3){B}
@@ -763,11 +1040,11 @@ the coils are drawn as rectangles and the resistor as a zigzag.
% Ground
\ground(D)
\end{pspicture}
-\end{SideBySideExample}
+\end{LTXexample}
-\begin{SideBySideExample}[xrightmargin=8cm]
+\begin{LTXexample}[width=8cm]
\begin{pspicture}(-0.5,0)(7,8)
- \psgrid[subgriddiv=1,griddots=10]
+% \psgrid[subgriddiv=1,griddots=10]
% Node definitions
\pnode(0.5,1){A}
\pnode(3.5,1){B}
@@ -796,11 +1073,11 @@ the coils are drawn as rectangles and the resistor as a zigzag.
\ground(B)
\ground(C)
\end{pspicture}
-\end{SideBySideExample}
+\end{LTXexample}
-\begin{SideBySideExample}[xrightmargin=8.5cm]
+\begin{LTXexample}[width=8.5cm]
\begin{pspicture}(-1,0)(7,8)
- \psgrid[subgriddiv=1,griddots=10]
+% \psgrid[subgriddiv=1,griddots=10]
% Node definitions
\pnode(1,1){A}
\pnode(1,7){B}
@@ -814,11 +1091,11 @@ the coils are drawn as rectangles and the resistor as a zigzag.
% Wire
\wire(A)(C)
\end{pspicture}
-\end{SideBySideExample}
+\end{LTXexample}
-\begin{SideBySideExample}[xrightmargin=8.5cm]
- \begin{pspicture}(6,6)
- \psgrid[subgriddiv=1,griddots=10]
+\begin{LTXexample}[width=8.5cm]
+ \begin{pspicture}(-0.25,-0.25)(6,6)
+% \psgrid[subgriddiv=1,griddots=10]
% Node definitions
\pnode(0,3){A}
\pnode(3,3){B}
@@ -829,11 +1106,11 @@ the coils are drawn as rectangles and the resistor as a zigzag.
parallel,parallelarm=2](B)(C){$L'$}
\capacitor[parallel,parallelarm=-2](B)(C){$C$}
\end{pspicture}
-\end{SideBySideExample}
+\end{LTXexample}
-\begin{SideBySideExample}[xrightmargin=8.5cm]
+\begin{LTXexample}[width=8.5cm]
\begin{pspicture}(6,6)
- \psgrid[subgriddiv=1,griddots=10]
+% \psgrid[subgriddiv=1,griddots=10]
% Node definitions
\pnode(0,0){A}\pnode(6,0){B}
\pnode(0.3,4){Cprime}\pnode(5.7,4){Dprime}
@@ -853,89 +1130,68 @@ the coils are drawn as rectangles and the resistor as a zigzag.
\wire(Dprime)(F)
\resistor(Hprime)(Gprime){$R_3$}
\end{pspicture}
-\end{SideBySideExample}
+\end{LTXexample}
-\begin{SideBySideExample}[xrightmargin=9.5cm]
- \begin{pspicture}(9,11)
- \psgrid[subgriddiv=1,griddots=10]
+\begin{LTXexample}[pos=t]
+ \begin{pspicture}(0,-0.25)(9,11)
% Node definitions
- \pnode(0,0){A}
- \pnode(9,0){B}
- \pnode(0,6){C}
- \pnode(9,6){D}
- \pnode(4.5,1){E}
- \pnode(4.5,10.5){F}
+ \pnode(0,0){A}\pnode(9,0){B}\pnode(0,6){C}\pnode(9,6){D}\pnode(4.5,1){E}\pnode(4.5,10.5){F}
%
\switch(A)(C){$K$}
- \multidipole(A)(B)\resistor{$R$}%
- \battery[intensitylabel=$i$]{$V$}.
+ \multidipole(A)(B)\resistor{$R$}\battery[intensitylabel=$i$]{$V$}.
\wire(B)(D)
\multidipole(C)(D)\diode{$D$}\wire.
- \resistor[tensionlabel=$U_1$](C)(F){$R_1$}
- \resistor(C)(E){$R_4$}
- \capacitor[parallel,parallelarm=1.2,
- parallelsep=1.5](C)(E){$C_2$}
+ \resistor[tensionlabel=$U_1$](C)(F){$R_1$} \resistor(C)(E){$R_4$}
+ \capacitor[parallel,parallelarm=1.2,parallelsep=1.5](C)(E){$C_2$}
\coil(E)(D){$L$}
- \capacitor[parallel,parallelarm=1.2,
- parallelsep=1.5](E)(D){$C_3$}
+ \capacitor[parallel,parallelarm=1.2,parallelsep=1.5](E)(D){$C_3$}
\capacitor[tensionlabel=$U_2$](F)(D){$C_1$}
- \multidipole(E)(F)\wire%
- \wire[intersect,
- intersectA=C,intersectB=D]%
+ \multidipole(E)(F)\wire\wire[intersect,intersectA=C,intersectB=D]%
\circledipole[labeloffset=-0.7]{$E$}%
- \resistor[parallel,
- parallelsep=.6,parallelarm=.8]{$R$}.
+ \resistor[parallel,parallelsep=.6,parallelarm=.8]{$R$}.
\end{pspicture}
-\end{SideBySideExample}
-
-
-\begin{CenterExample}
- \begin{pspicture}(13,8)
- \psset{intensitycolor=red,intensitylabelcolor=red,%
- tensioncolor=green,tensionlabelcolor=green,%
- intensitywidth=3pt}
- \psgrid[griddots=5,gridlabels=7pt,subgriddiv=0]
- \circledipole[
- tension,%
- tensionlabel=$U_0$,%
- tensionoffset=0.75,%
- labeloffset=0](0,0)(0,6){\LARGE\textbf{=}}
- \wire[intensity,intensitylabel=$i_0$](0,6)(2.5,6)
- \diode[dipolestyle=thyristor](2.5,6)(4.5,6){$T_1$}
- \wire[intensity,intensitylabel=$i_1$](4.5,6)(6.5,6)
- \multidipole(6.5,7.5)(2.5,7.5)%
+\end{LTXexample}
+
+\begin{LTXexample}[pos=t]
+\begin{pspicture}(0,-0.2)(13,8)
+ \psset{intensitycolor=red,intensitylabelcolor=red,tensioncolor=green,
+ tensionlabelcolor=green, intensitywidth=3pt}
+ \circledipole[tension,tensionlabel=$U_0$,
+ tensionoffset=0.75,labeloffset=0](0,0)(0,6){\LARGE\textbf{=}}
+ \wire[intensity,intensitylabel=$i_0$](0,6)(2.5,6)
+ \diode[dipolestyle=thyristor](2.5,6)(4.5,6){$T_1$}
+ \wire[intensity,intensitylabel=$i_1$](4.5,6)(6.5,6)
+ \multidipole(6.5,7.5)(2.5,7.5)%
\coil[dipolestyle=rectangle,labeloffset=-0.75]{$L_5$}%
\diode[labeloffset=-0.75]{$D_5$}.
- \wire[intensity,intensitylabel=$i_5$](6.5,6)(6.5,7.5)
- \wire(2.5,7.5)(2.5,3)
- \wire[intensity,intensitylabel=$i_c$](2.5,4.5)(2.5,6)
- \qdisk(2.5,6){2pt}\qdisk(6.5,6){2pt}
- \diode[dipolestyle=thyristor](2.5,4.5)(4.5,4.5){$T_2$}
- \wire[intensity,intensitylabel=$i_2$](4.5,4.5)(6.5,4.5)
- \capacitor[tension,tensionlabel=$u_c$,%
- tensionoffset=-0.75,tensionlabeloffset=-1](6.5,4.5)(6.5,6){$C_k$}
- \qdisk(2.5,4.5){2pt}\qdisk(6.5,4.5){2pt}
- \wire[intensity,intensitylabel=$i_3$](6.5,4.5)(6.5,3)
- \multidipole(6.5,3)(2.5,3)%
- \coil[dipolestyle=rectangle,labeloffset=-0.75]{$L_3$}%
- \diode[labeloffset=-0.75]{$D_3$}.
- \wire(6.5,6)(9,6)\qdisk(9,6){2pt}
- \diode(9,0)(9,6){$D_4$}
- \wire[intensity,intensitylabel=$i_4$](9,3.25)(9,6)
- \wire[intensity,intensitylabel=$i_a$](9,6)(11,6)
- \multidipole(11,6)(11,0)%
- \resistor{$R_L$}
- \coil[dipolestyle=rectangle]{$L_L$}%
- \circledipole[labeloffset=0,%
- tension,tensionoffset=0.7,%
- tensionlabel=$U_B$]{\LARGE\textbf{=}}.
- \wire(0,0)(11,0)\qdisk(9,0){2pt}
- \pnode(12.5,5.5){A}\pnode(12.5,0.5){B}
- \tension(A)(B){$u_a$}
- \end{pspicture}
-\end{CenterExample}
+ \wire[intensity,intensitylabel=$i_5$](6.5,6)(6.5,7.5)
+ \wire(2.5,7.5)(2.5,3)
+ \wire[intensity,intensitylabel=$i_c$](2.5,4.5)(2.5,6)
+ \qdisk(2.5,6){2pt}\qdisk(6.5,6){2pt}
+ \diode[dipolestyle=thyristor](2.5,4.5)(4.5,4.5){$T_2$}
+ \wire[intensity,intensitylabel=$i_2$](4.5,4.5)(6.5,4.5)
+ \capacitor[tension,tensionlabel=$u_c$,tensionoffset=-0.75,
+ tensionlabeloffset=-1](6.5,4.5)(6.5,6){$C_k$}
+ \qdisk(2.5,4.5){2pt}\qdisk(6.5,4.5){2pt}
+ \wire[intensity,intensitylabel=$i_3$](6.5,4.5)(6.5,3)
+ \multidipole(6.5,3)(2.5,3)%
+ \coil[dipolestyle=rectangle,labeloffset=-0.75]{$L_3$}%
+ \diode[labeloffset=-0.75]{$D_3$}.
+ \wire(6.5,6)(9,6)\qdisk(9,6){2pt}
+ \diode(9,0)(9,6){$D_4$}
+ \wire[intensity,intensitylabel=$i_4$](9,3.25)(9,6)
+ \wire[intensity,intensitylabel=$i_a$](9,6)(11,6)
+ \multidipole(11,6)(11,0)%
+ \resistor{$R_L$}
+ \coil[dipolestyle=rectangle]{$L_L$}
+ \circledipole[labeloffset=0,tension,tensionoffset=0.7,tensionlabel=$U_B$]{\LARGE\textbf{=}}.
+ \wire(0,0)(11,0)\qdisk(9,0){2pt}
+ \pnode(12.5,5.5){A}\pnode(12.5,0.5){B}
+ \tension(A)(B){$u_a$}
+\end{pspicture}
+\end{LTXexample}
\makeatletter
@@ -943,7 +1199,8 @@ the coils are drawn as rectangles and the resistor as a zigzag.
\def\REG{\@ifnextchar[{\pst@REG}{\pst@REG[]}}
%
\def\pst@REG[#1](#2)(#3)(#4)#5{{%
- \setkeys{psset}{#1,dimen=middle,arm=0}%
+ \psset{dimen=middle,arm=0}%
+ \psset{#1}
\pst@getcoor{#2}\pst@tempa
\pst@getcoor{#3}\pst@tempb
\pst@getcoor{#4}\pst@tempc
@@ -986,50 +1243,39 @@ the coils are drawn as rectangles and the resistor as a zigzag.
\makeatother
The fellowing example was written by Manuel Luque.
-\begin{CenterExample}
- \begin{pspicture}(14,4)
- \psgrid[subgriddiv=1,griddots=10]
+
+\begin{LTXexample}[pos=t]
+ \begin{pspicture}(0,-0.5)(14,4)
+% \psgrid[subgriddiv=1,griddots=10]
\pnode(0,0){B}\pnode(0,3){A}
- \pnode(2.5,3.5){C}\pnode(2.5,-0.5){D}
- \pnode(5,3){E}\pnode(6.5,1.5){F}
- \pnode(5,0){G}\pnode(3.5,1.5){H}
- \pnode(8,2.5){I}\pnode(8,1){J}
- \pnode(10,2.5){K}\pnode(10,1){L}
- \pnode(14,2.5){M}\pnode(12,1){N}
- \pnode(3,1){H'}\pnode(14,2.5){O}
- \pnode(14,1){P}\pnode(13.5,1){Q}
- \transformer[transformeriprimarylabel=$i_1$,
- transformerisecondarylabel=$i_2$,
- primarylabel=$n_1$,secondarylabel=$n_2$]%
- (A)(B)(C)(D){$T_1$}
+ \pnode(2.5,3.5){C}\pnode(2.5,-0.5){D}\pnode(5,3){E}\pnode(6.5,1.5){F}
+ \pnode(5,0){G}\pnode(3.5,1.5){H} \pnode(8,2.5){I}\pnode(8,1){J}
+ \pnode(10,2.5){K}\pnode(10,1){L} \pnode(14,2.5){M}\pnode(12,1){N}
+ \pnode(3,1){H'}\pnode(14,2.5){O} \pnode(14,1){P}\pnode(13.5,1){Q}
+ \transformer[transformeriprimarylabel=$i_1$,transformerisecondarylabel=$i_2$,
+ primarylabel=$n_1$,secondarylabel=$n_2$](A)(B)(C)(D){$T_1$}
{\psset{fillstyle=solid,fillcolor=black}
- \diode(H)(E){}\diode(H)(G){}
- \diode(E)(F){}\diode(G)(F){}}
- \capacitor[dipolestyle=chemical](I)(J){}
- \capacitor(K)(L){}
+ \diode(H)(E){}\diode(H)(G){} \diode(E)(F){}\diode(G)(F){}}
+ \capacitor[dipolestyle=chemical](I)(J){} \capacitor(K)(L){}
\REG(K)(M)(N)%
{\shortstack{\textsf{%
\textbf{\large LM7805}}\\\textbf{+5V}}}
- \ncangle{I}{F}\psline(I)(K)
- \ncangle{E}{C}\ncangle{G}{D}
- \ncangle[arm=0]{P}{Q}
- \ncangle[arm=0]{H}{H'}
- \ground(H')\ground(J)
- \ground(L)\ground(N)
- \ground(Q)\qdisk(I){1.5pt}
- \qdisk(K){1.5pt}\qdisk(E){1.5pt}
- \qdisk(G){1.5pt}\qdisk(H){1.5pt}
- \qdisk(F){1.5pt}
- \pscircle[fillstyle=solid](A){0.075}
- \pscircle[fillstyle=solid](B){0.075}
- \pscircle[fillstyle=solid](P){0.075}
- \pscircle[fillstyle=solid](O){0.075}
+ \ncangle{I}{F}\psline(I)(K) \ncangle{E}{C}\ncangle{G}{D}
+ \ncangle[arm=0]{P}{Q} \ncangle[arm=0]{H}{H'}
+ \ground(H')\ground(J)\ground(L)\ground(N)
+ \ground(Q)\qdisk(I){1.5pt}\qdisk(K){1.5pt}\qdisk(E){1.5pt}
+ \qdisk(G){1.5pt}\qdisk(H){1.5pt}\qdisk(F){1.5pt}
+ \pscircle[fillstyle=solid](A){0.075} \pscircle[fillstyle=solid](B){0.075}
+ \pscircle[fillstyle=solid](P){0.075} \pscircle[fillstyle=solid](O){0.075}
\end{pspicture}
-\end{CenterExample}
+\end{LTXexample}
+\clearpage
The fellowing example was written by Lionel Cordesses.
-\begin{CenterExample}
+
+
+\begin{LTXexample}[pos=t]
\begin{pspicture}(11,3)
\psset{dipolestyle=elektor}
\pnode(1,2){Vin}\pnode(0.5,2){S}\pnode(0.5,0){Sm}
@@ -1048,33 +1294,503 @@ The fellowing example was written by Lionel Cordesses.
\pscircle*(A){2\pslinewidth} \pscircle*(Am){2\pslinewidth}
\pscircle*(B){2\pslinewidth} \pscircle*(Bm){2\pslinewidth}
\end{pspicture}
-\end{CenterExample}
+\end{LTXexample}
+
+\clearpage
+The fellowing example was written by Christian Hoffmann.
+
+
+\begin{LTXexample}[pos=t]
+ \SpecialCoor
+ \begin{pspicture}(0,-1)(7,6.5)%\psgrid
+ \pnode(0,6){plus}
+ \pnode(3,3){basis}
+ \pnode([nodesep=-2] basis){schalter}
+ \pnode(0,0){masse}
+ \wire[arrows=o-*](plus)(basis|plus)
+ \uput[l](plus){$U_0$}
+ \resistor[labeloffset=.8](basis|plus)(basis){$R_1$}
+ \transistor[basesep=2cm](basis){emitter}{kollektor}
+ \wire[arrows=-*](schalter)(basis)
+% \wire(basis)([nodesep=2] basis)
+ \wire(TBaseNode)(basis)
+ \switch(schalter|masse)(schalter){S}
+ \lamp(kollektor|plus)(kollektor){L}
+ \resistor(kollektor|plus)(basis|plus){$R_2$}
+ \wire(emitter)(emitter|masse)
+ \wire(emitter|masse)(basis|masse)
+ \capacitor(basis)(basis|masse){$C_1$}
+ \wire[arrows=*-](basis|masse)(schalter|masse)
+ \wire[arrows=*-o](schalter|masse)(masse)
+ \end{pspicture}
+\end{LTXexample}
+
+
+
+\clearpage
+\section{Flip Flops -- logical elements}
+
+The syntax for all logical base circuits is
+\begin{verbatim}
+logic[<options>](<originX,originY>){Label}
+\end{verbatim}
+
+\noindent where the options and the origin are optional. If they are missing,
+then the default options, described in the next section and the default
+origin $(0,0)$ is used. The origin specifies the lower left corner
+of the logical circuit.
+
+\begin{verbatim}
+logic{Demo}
+logic[logicType=and]{Demo}
+logic(0,0){Demo}
+logic[logicType=and](0,0){Demo}
+\end{verbatim}
+
+The above four ,,different`` calls of the \verb|logic| macro give the
+same output, because they are equivalent.
+
+\subsection{The Options}
+
+\begin{description}
+\item[logicShowNode (boolean):] (\emph{default:~false})
+\item[logicShowDot (boolean):] (\emph{default:~false})
+\item[logicNodestyle (command):] (\emph{default:~\textbackslash footnotesize})
+\item[logicSymbolstyle (command):] (\emph{default:~\textbackslash large})
+\item[logicSymbolpos (value):] (\emph{default:~0.5})
+\item[logicLabelstyle (command):] (\emph{default:~\textbackslash small})
+\item[logicType (string):] (\emph{default:~and})
+\item[logicChangeLR (boolean):] (\emph{default:~false})
+\item[logicWidth (length):] (\emph{default:~1.5})
+\item[logicHeight (length):] (\emph{default:~2.5})
+\item[logicWireLength (length):] (\emph{default:~0.5})
+\item[logicNInput (number):] (\emph{default:~2})
+\item[logicJInput (number):] (\emph{default:~2})
+\item[logicKInput (number):] (\emph{default:~2})
+\end{description}
+
+\subsection{Basic Logical Circuits}
+At least the basic objects require a unique label name, otherwise it is
+not sure, that all nodes will work well. The label may contain any
+alphanumerical character and most of all symbols. But it is save
+using only combinations of letters and digits. For example:
+\begin{verbatim}
+And0
+a0
+a123
+12
+NOT123a
+\end{verbatim}
+
+\verb|A_1| is not a good choice, the underscore may causes some
+problems.
+
+\subsubsection{And}
+
+\psset{subgriddiv=0,griddots=5,gridlabels=7pt}
+\begin{LTXexample}[width=4.5cm](3,3)
+ \begin{pspicture}(-1,0)(3,3)
+ \psgrid
+ \logic{AND1}
+ \end{pspicture}
+\end{LTXexample}
+
+\begin{LTXexample}[width=4.5cm](3,3)
+ \begin{pspicture}(-0.5,0)(3,3)
+ \logic[logicChangeLR=true]{AND2}
+ \end{pspicture}
+\end{LTXexample}
+
+\begin{LTXexample}[width=4.5cm](4,6)
+ \begin{pspicture}(-0.5,0)(4,5)
+ \psgrid
+ \logic[logicShowNode=true,%
+ logicWidth=2,%
+ logicHeight=4,%
+ logicNInput=6,%
+ logicChangeLR=true](1,1){AND3}
+ \end{pspicture}
+\end{LTXexample}
+
+\subsubsection{NotAnd}
+\begin{LTXexample}[width=4.5cm](3,3)
+ \begin{pspicture}(-0.5,0)(3,3)
+ \logic[logicType=nand",%
+ logicShowNode=true]{NAND1}
+ \end{pspicture}
+\end{LTXexample}
+
+
+\begin{LTXexample}[width=4.5cm](3,3)
+ \begin{pspicture}(-0.5,0)(3,3)
+ \logic[logicType=nand,%
+ logicChangeLR=true]{NAND2}
+ \end{pspicture}
+\end{LTXexample}
+
+\begin{LTXexample}[width=4.5cm](4,6)
+ \begin{pspicture}(4,5)
+ \psgrid
+ \logic[logicType=nand,%
+ logicShowNode=true,%
+ logicWidth=2,%
+ logicHeight=4,%
+ logicNInput=6,%
+ logicChangeLR=true](1,1){NAND3}
+ \end{pspicture}
+\end{LTXexample}
+
+\subsubsection{Or}
+\begin{LTXexample}[width=4.5cm](3,3)
+ \begin{pspicture}(-0.5,0)(3,3)
+ \logic[logicType=or",%
+ logicShowNode=true]{OR1}
+ \end{pspicture}
+\end{LTXexample}
+
+
+\begin{LTXexample}[width=4.5cm](3,3)
+ \begin{pspicture}(-0.5,0)(3,3)
+ \logic[logicType=or,%
+ logicChangeLR=true]{OR2}
+ \end{pspicture}
+\end{LTXexample}
+
+
+\begin{LTXexample}[width=4.5cm](4,6)
+ \begin{pspicture}(4,5)
+ \psgrid
+ \logic[logicType=or,%
+ logicShowNode=true,%
+ logicWidth=2,%
+ logicHeight=4,%
+ logicNInput=6,%
+ logicChangeLR=true](1,1){OR3}
+ \end{pspicture}
+\end{LTXexample}
+
+\clearpage
+\subsubsection{Not Or}
+
+\begin{LTXexample}[width=4.5cm](3,3)
+ \begin{pspicture}(-0.5,0)(3,3)
+ \logic[logicType=nor",%
+ logicShowNode=true]{NOR1}
+ \end{pspicture}
+\end{LTXexample}
+
+
+\begin{LTXexample}[width=4.5cm](3,3)
+ \begin{pspicture}(-0.5,0)(3,3)
+ \logic[logicType=nor,%
+ logicChangeLR=true]{NOR2}
+ \end{pspicture}
+\end{LTXexample}
+
+\begin{LTXexample}[width=4.5cm](4,6)
+ \begin{pspicture}(4,5)
+ \psgrid
+ \logic[logicType=nor,%
+ logicShowNode=true,%
+ logicWidth=2,%
+ logicHeight=4,%
+ logicNInput=6,%
+ logicChangeLR=true](1,1){NOR3}
+ \end{pspicture}
+\end{LTXexample}
+
+
+\subsubsection{Not}
+
+\begin{LTXexample}[width=4.5cm](3,3)
+ \begin{pspicture}(-0.5,0)(3,3)
+ \logic[logicType=not",%
+ logicShowNode=true]{NOT1}
+ \end{pspicture}
+\end{LTXexample}
+
+
+\begin{LTXexample}[width=4.5cm](3,3)
+ \begin{pspicture}(-0.5,0)(3,3)
+ \logic[logicType=not,%
+ logicChangeLR=true]{NOT2}
+ \end{pspicture}
+\end{LTXexample}
+
+\begin{LTXexample}[width=4.5cm](4,6)
+ \begin{pspicture}(4,5)
+ \psgrid
+ \logic[logicType=not,%
+ logicShowNode=true,%
+ logicWidth=2,%
+ logicHeight=4,%
+ logicChangeLR=true](1,1){NOT3}
+ \end{pspicture}
+\end{LTXexample}
+
+\subsubsection{Exclusive OR}
+
+\begin{LTXexample}[width=4.5cm](3,3)
+ \begin{pspicture}(-0.5,0)(3,3)
+ \logic[logicType=exor",%
+ logicShowNode=true]{ExOR1}
+ \end{pspicture}
+\end{LTXexample}
+
+
+\begin{LTXexample}[width=4.5cm](3,3)
+ \begin{pspicture}(-0.5,0)(3,3)
+ \logic[logicType=exor,%
+ logicChangeLR=true]{ExOR2}
+ \end{pspicture}
+\end{LTXexample}
+
+\begin{LTXexample}[width=4.5cm](4,6)
+ \begin{pspicture}(4,5)
+ \psgrid
+ \logic[logicType=exor,%
+ logicShowNode=true,%
+ logicNInput=6,%
+ logicWidth=2,%
+ logicHeight=4,%
+ logicChangeLR=true](1,1){ExOR3}
+ \end{pspicture}
+\end{LTXexample}
+
+
+\clearpage
+\subsubsection{Exclusive NOR}
+
+\begin{LTXexample}[width=4.5cm](3,3)
+ \begin{pspicture}(-0.5,0)(3,3)
+ \logic[logicType=exnor",%
+ logicShowNode=true]{ExNOR1}
+ \end{pspicture}
+\end{LTXexample}
+
+
+\begin{LTXexample}[width=4.5cm](3,3)
+ \begin{pspicture}(-0.5,0)(3,3)
+ \logic[logicType=exnor,%
+ logicChangeLR=true]{ExNOR2}
+ \end{pspicture}
+\end{LTXexample}
+
+\begin{LTXexample}[width=4.5cm](4,6)
+ \begin{pspicture}(4,5)
+ \psgrid
+ \logic[logicType=exnor,%
+ logicShowNode=true,%
+ logicNInput=6,%
+ logicWidth=2,%
+ logicHeight=4,%
+ logicChangeLR=true](1,1){ExNOR3}
+ \end{pspicture}
+\end{LTXexample}
+
+
+\subsection{RS Flip Flop}
+
+\begin{LTXexample}[width=4.5cm](3,4.5)
+ \begin{pspicture}(-1,-1)(3,3)
+ \logic[logicShowNode=true,%
+ logicType=RS"]{RS1}
+ \end{pspicture}
+\end{LTXexample}
+
+
+\begin{LTXexample}[width=4.5cm](3,4.5)
+ \begin{pspicture}(-1,-1)(3,3)
+ \logic[logicShowNode=true,%
+ logicType=RS,%
+ logicChangeLR=true]{RS2}
+ \end{pspicture}
+\end{LTXexample}
+
+
+\subsection{D Flip Flop}
+
+\begin{LTXexample}[width=4.5cm](3,4.5)
+ \begin{pspicture}(-1,-1)(3,3)
+ \logic[logicShowNode=true,%
+ logicType=D"]{D1}
+ \end{pspicture}
+\end{LTXexample}
+
+\begin{LTXexample}[width=4.5cm](3,4.5)
+ \begin{pspicture}(-1,-1)(3,3)
+ \logic[logicShowNode=true,%
+ logicType=D,%
+ logicChangeLR=true]{D2}
+ \end{pspicture}
+\end{LTXexample}
+
+
+\subsection{JK Flip Flop}
+\begin{LTXexample}[width=4.5cm](3,4.5)
+ \begin{pspicture}(-1,-1)(3,3)
+ \logic[logicShowNode=true,%
+ logicType=JK",%
+ logicKInput=2,%
+ logicJInput=2]{JK1}
+ \end{pspicture}
+\end{LTXexample}
+
+\begin{LTXexample}[width=4.5cm](3,4.5)
+ \begin{pspicture}(-1,-1)(3,3)
+ \logic[logicShowNode=true,%
+ logicType=JK,%
+ logicKInput=2, logicJInput=4,%
+ logicChangeLR=true]{JK2}
+ \end{pspicture}
+\end{LTXexample}
+
+\subsection{Other Options}
+
+\begin{LTXexample}[width=3.5cm](3,3)
+ \begin{pspicture}(-0.5,0)(3,2.5)
+ \logic[logicShowDot=true]{A0}
+ \end{pspicture}
+\end{LTXexample}
+
+\begin{LTXexample}[width=4.5cm](4,3)
+ \begin{pspicture}(-1,0)(3,2.5)
+ \logic[logicWireLength=1,%
+ logicShowDot=true]{A1}
+ \end{pspicture}
+\end{LTXexample}
+
+\bigskip
+The unit of \verb|logicWireLength| is the same than the actual one for pstricks, set by
+the \verb|unit| option.
+
+\subsection{The Node Names}
+Every logic circuit is defined with its name, which should be a unique one.
+If we have the following NAND circuit, then \verb|pst-circ| defines the nodes
+\begin{verbatim}
+NAND11, NAND12, NAND13, NAND14, NAND1Q
+\end{verbatim}
+
+\noindent If there exists an inverted output, like for alle Flip Flops,
+then the negated one gets the appendix \verb|neg| to the node name. For
+example:
+\begin{verbatim}
+NAND1Q, NAND1Qneg
+\end{verbatim}
+
+\begin{LTXexample}[width=3cm](3,3.5)
+ \begin{pspicture}(-0.5,0)(2.5,3)
+ \logic[logicShowNode=true,%
+ logicLabelstyle=\footnotesize,%
+ logicType=nand,%
+ logicNInput=4]{NAND1}
+ \multido{\n=1+1}{4}{%
+ \pscircle*[linecolor=red](NAND1\n){2pt}%
+ }
+ \pscircle*[linecolor=blue](NAND1Q){2pt}
+ \end{pspicture}
+\end{LTXexample}
+
+\vspace{0.5cm}
+Now it is possible to draw a line from the output to the input
+
+\begin{verbatim}
+\ncbar[angleA=0,angleB=180]{<Node A>}{<Node B>}
+\end{verbatim}
+
+It may be easier to print a grid since the drawing phase and then comment it out if
+all is finished.
+
+\bigskip
+\begin{LTXexample}[width=3.5cm](3,3.5)
+ \begin{pspicture}(-1,-1)(2.5,3)
+ \logic[logicShowNode=true,%
+ logicLabelstyle=\footnotesize,%
+ logicType=nand,%
+ logicWireLength=1,%
+ logicNInput=4]{NAND1}
+ \pnode(-0.5,0|NAND11){tempA}
+ \pnode(2,0|NAND1Q){tempB}
+ \end{pspicture}
+ \ncbar[angleA=-90,angleB=0,arm=0.75,%
+ arrows=*-*, dotsize=0.15]{tempA}{tempB}
+\end{LTXexample}
+
+\subsection{Examples}
+
+\begin{LTXexample}[pos=t]
+ \begin{pspicture}(-1,0)(5,5)
+ \psgrid
+ \psset{logicType=nor, logicLabelstyle=\normalsize,%
+ logicWidth=1, logicHeight=1.5, dotsize=0.15}
+ \logic(1.5,0){nor1}
+ \logic(1.5,3){nor2}
+ \psline(nor2Q)(4,0|nor2Q)
+ \uput[0](4,0|nor2Q){$Q$}
+ \psline(nor1Q)(4,0|nor1Q)
+ \uput[0](4,0|nor1Q){$\overline{Q}$}
+ \psline{*-}(3.50,0|nor2Q)(3.5,2.5)(1.5,2.5)
+ (0.5,1.75)(0.5,0|nor12)(nor12)
+ \psline{*-}(3.50,0|nor1Q)(3.5,2)(1.5,2)
+ (0.5,2.5)(0.5,0|nor21)(nor21)
+ \psline(0,0|nor11)(nor11)\uput[180](0,0|nor11){R}
+ \psline(0,0|nor22)(nor22)\uput[180](0,0|nor22){S}
+ \end{pspicture}
+\end{LTXexample}
+
+\bigskip
+\begin{LTXexample}[pos=t]
+ \begin{pspicture}(-4,0)(5,7)
+ \psgrid
+ \psset{logicWidth=1, logicHeight=2, dotsize=0.15}
+ \logic[logicWireLength=0](-2,0){A0}
+ \logic[logicWireLength=0](-2,5){A1}
+ \ncbar[angleA=-180,angleB=-180,arm=0.5]{A11}{A02}
+ \psline[dotsize=0.15]{-*}(-3.5,3.5)(-2.5,3.5)
+ \uput[180](-3.5,3.5){$T$}
+ \psline(-3.5,0.5)(A01)\uput[180](-3.5,0.5){$S$}
+ \psline(-3.5,6.5)(A12)\uput[180](-3.5,6.5){$R$}
+ \psset{logicType=nor, logicLabelstyle=\normalsize}
+ \logic(1,0.5){nor1}
+ \logic(1,4.5){nor2}
+ \psline(nor2Q)(4,0|nor2Q)
+ \uput[0](4,0|nor2Q){$Q$}
+ \psline(nor1Q)(4,0|nor1Q)
+ \uput[0](4,0|nor1Q){$\overline{Q}$}
+ \psline{*-}(3,0|nor2Q)(3,4)(1,4)(0,3)(0,0|nor12)(nor12)
+ \psline{*-}(3,0|nor1Q)(3,3)(1,3)(0,4)(0,0|nor21)(nor21)
+ \psline(A0Q)(nor11)
+ \psline(A1Q)(nor22)
+ \end{pspicture}
+\end{LTXexample}
+
+
+
+
+
\section{Adding new components}
Adding new components is not simple. As a matter of fact, because of the complex
-mechanism of \cs{multidipole}, there are multiple steps. The easiest way to proceed is
-to draw the component, send it to me (\texttt{\makeatletter
-christophe.jorssen@noos.fr\makeatother}) and I'll do the programming work regarding your
-component. Nevertheless, it can take some time\dots
+mechanism of \cs{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 \fvset{commandchars=/&"}
+need to define the following items:
-\begin{Verbatim}
- \def\/emph&component/_name"{\@ifnextchar[{\pst@/emph&component/_name"}{\pst@/emph&component/_name"[]}}
+\begin{lstlisting}[language=TeX]
+ \def\component_name{\@ifnextchar[{\pst@component_name}{\pst@component_name[]}}
%
- \def\pst@/emph&component/_name"[#1](#2)(#3)#4{{%
- \pst@draw@dipole{#1}{#2}{#3}{#4}\pst@draw@/emph&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@/emph&component/_name"{\@ifnextchar[{\pst@multidipole@/emph&component/_name"@}%
- {\pst@multidipole@/emph&component/_name"@[]}}
+ \def\pst@multidipole@component_name{\@ifnextchar[{\pst@multidipole@component_name@}%
+ {\pst@multidipole@component_name@[]}}
%
- \def\pst@multidipole@/emph&component/_name"@[#1]#2{%
+ \def\pst@multidipole@component_name@[#1]#2{%
\expandafter\def\csname pst@circ@tmp@\number\pst@circ@count@iii\endcsname{#2}%
- {\setkeys{psset}{#1}%
+ {\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%
@@ -1082,7 +1798,7 @@ need to define the following items \fvset{commandchars=/&"}
\edef\pst@multidipole@output{%
\the\toks0%
\pst@multidipole@def@coor%
- \noexpand\/emph&component/_name"[#1]%
+ \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}%
@@ -1090,17 +1806,16 @@ need to define the following items \fvset{commandchars=/&"}
\pst@multidipole@
}
%
- \def\pst@draw@/emph&component/_name"{%
+ \def\pst@draw@component_name{%
% The PSTricks code for your component
% The center of the component is at (0,0)
- \pnode(/emph&component/_left/_end",0){dipole@1}
- \pnode(/emph&component/_right/_end",0){dipole@2}
- }
-\end{Verbatim}
+ \pnode(component_left_end,0){dipole@1}
+ \pnode(component_right_end,0){dipole@2}}
+\end{lstlisting}
Then, you have to make some changes in the \cs{multidipole} core code\dots In the definition
-of \Verb+\pst@multidipole+, look for the last \Verb+\ifx+ test
-\begin{Verbatim}
+of \verb+\pst@multidipole+, look for the last \verb+\ifx+ test
+\begin{lstlisting}[language=TeX]
% ...
% Extract from \pst@multidipole
\else
@@ -1117,9 +1832,9 @@ of \Verb+\pst@multidipole+, look for the last \Verb+\ifx+ test
\fi
% Extract form \pst@multidipole
% ...
-\end{Verbatim}
-and add (in red)
-\begin{Verbatim}
+\end{lstlisting}
+and add (marked with \verb+%%%+)
+\begin{lstlisting}[language=TeX]
% ...
% Extract from \pst@multidipole
\else
@@ -1129,19 +1844,19 @@ and add (in red)
\ifx\LED #4%
\let\next\pst@multidipole@LED
\else
- /red&\ifx\/emph&component/_name" #4%"
- /red&\let\next\pst@multidipole@/emph&component/_name""
- /red&\else"
+ \ifx\component_name #4%%%
+ \let\next\pst@multidipole@component_name%%%
+ \else%%%
\let\next\ignorespaces
- /red&\fi"
+ \fi%%%
\fi
\fi
\fi
% Extract form \pst@multidipole
% ...
-\end{Verbatim}
-Do the same in \Verb+\pst@multidipole@+
-\begin{Verbatim}
+\end{lstlisting}
+Do the same in \verb+\pst@multidipole@+
+\begin{lstlisting}[language=TeX]
% ...
% Extract from \pst@multidipole@
\else
@@ -1151,22 +1866,22 @@ Do the same in \Verb+\pst@multidipole@+
\ifx\LED #1%
\let\next\pst@multidipole@LED
\else
- /red&\ifx\/emph&component/_name" #1%"
- /red&\let\next\pst@multidipole@/emph&component/_name""
- /red&\else"
+ \ifx\component_name #1%%%
+ \let\next\pst@multidipole@component_name%%%
+ \else%%%
\let\next\ignorespaces
\pst@multidipole@output
- /red&\fi"
+ \fi%%%
\fi
\fi
\fi
% Extract form \pst@multidipole@
% ...
-\end{Verbatim}
+\end{lstlisting}
and that's it! All you have to do then is send your modified \texttt{pst-circ.tex} to
me and it will become part of the official release of \CircPackage.
-\textbf{Important:} Pay attention to the comment character \Verb+%+
+\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}
@@ -1175,6 +1890,15 @@ We thank of course Manuel Luque for his original work on pst-circ and for his ci
drawings: this wouldn't have been possible without him. As usual, Denis Girou gave us a
precious hand with some dark tricks of \TeX{} and PSTricks. Jean-C\^ome Charpentier
wrote the outline of \cs{multidipole} (a story about riri, fifi and loulou\dots).
-Thanks also to Douglas Waud.
+
+Thanks also to Douglas Waud, Patrick Drechsler (dashpot), Alan Ristow, and Ted Pavlic.
+
+
+\nocite{*}
+
+{\raggedright
+\bibliographystyle{plain}
+\bibliography{pst-circ-doc}
+}
\end{document}
diff --git a/Master/texmf-dist/dvips/pst-circ/pst-circ.pro b/Master/texmf-dist/dvips/pst-circ/pst-circ.pro
index 2b6b1914ec5..c2210ce174c 100644
--- a/Master/texmf-dist/dvips/pst-circ/pst-circ.pro
+++ b/Master/texmf-dist/dvips/pst-circ/pst-circ.pro
@@ -1,12 +1,14 @@
%!
% PostScript prologue for pst-circ.tex.
+% version 0.01 2007-03-23 (hv)
% For distribution, see pstricks.tex.
%
/GetNode {
tx@NodeDict begin
tx@NodeDict 1 index known { load GetCenter } { pop 0 0 } ifelse
end
-} bind def /ZeroEq { abs 1E-10 lt } bind def /EqDr {
+} bind def
+/ZeroEq { abs 1E-10 lt } bind def /EqDr {
4 copy 3 -1 roll sub 7 1 roll exch sub 5 1 roll 4 -1 roll
mul 3 1 roll mul exch sub } bind def
/InterLines {
diff --git a/Master/texmf-dist/source/generic/pst-circ/Makefile b/Master/texmf-dist/source/generic/pst-circ/Makefile
new file mode 100644
index 00000000000..72804d65ca0
--- /dev/null
+++ b/Master/texmf-dist/source/generic/pst-circ/Makefile
@@ -0,0 +1,48 @@
+
+# `Makefile' for `pst-circ.pdf', hv, 2007/03/17
+
+.SUFFIXES : .tex .ltx .dvi .ps .pdf .eps
+
+PACKAGE = pst-circ
+
+MAIN = $(PACKAGE)-doc
+
+LATEX = latex
+
+ARCHNAME = $(MAIN)-$(shell date +%y%m%d)
+
+ARCHFILES = $(PACKAGE).sty $(PACKAGE).tex $(PACKAGE).pro $(MAIN).tex README Changes Makefile
+
+all : doc clean
+doc: $(MAIN).pdf
+
+$(MAIN).pdf : $(MAIN).ps
+ GS_OPTIONS=-dAutoRotatePages=/None ps2pdf $<
+
+$(MAIN).ps : $(MAIN).dvi
+ dvips $<
+
+$(MAIN).dvi : $(MAIN).tex
+ $(LATEX) $<
+ $(LATEX) $<
+ if ! test -f $(basename $<).glo ; then touch $(basename $<).glo; fi
+ if ! test -f $(basename $<).idx ; then touch $(basename $<).idx; fi
+ makeindex -s gglo.ist -t $(basename $<).glg -o $(basename $<).gls \
+ $(basename $<).glo
+ makeindex -t $(basename $<).ilg -o $(basename $<).ind \
+ $(basename $<).idx
+ bibtex $(basename $<)
+ $(LATEX) $<
+ $(LATEX) $<
+
+clean :
+ $(RM) $(addprefix $(MAIN), .log .aux .glg .glo .gls .ilg .idx .ind .tmp .toc .out .blg .Roessler .bbl )
+ $(RM) $(addprefix $(MAIN), .dvi .ps)
+
+veryclean : clean
+ $(RM) $(addprefix $(MAIN), .pdf .bbl .blg)
+
+arch :
+ zip $(ARCHNAME).zip $(ARCHFILES)
+
+# EOF
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 c7fe66cdb48..c1693b566de 100644
--- a/Master/texmf-dist/tex/generic/pst-circ/pst-circ.tex
+++ b/Master/texmf-dist/tex/generic/pst-circ/pst-circ.tex
@@ -5,8 +5,10 @@
%%
%% Package `pst-circ.tex'
%%
-%% Christophe Jorssen <Christophe.Jorssen@noos.fr>
-%% Herbert Voss <voss@perce.de>
+%% Original idea: A.Premoli I.Maio, M.Luque,
+%%
+%% Christophe Jorssen <Jorssen.lerraincy _at_ free.fr>
+%% Herbert Voss <voss _at_ pstricks.de>
%%
%% This program can be redistributed and/or modified under the terms
%% of the LaTeX Project Public License Distributed from CTAN archives
@@ -17,286 +19,294 @@
%%
%% For a ChangeLog go the the end
%%
-\def\fileversion{1.21}
-\def\filedate{2004/06/10}
-\message{`pst-circ' v\fileversion,%
- (Original idea: A.Premoli I.Maio,%
- Design: M.Luque,
- Code: C.Jorssen, H.Voss)}
-%
\csname PSTcircLoaded\endcsname
\let\PSTcircLoaded\endinput
%
% Require PSTricks and pst-node packages
%
+\ifx\PSTMultidoLoaded\endinput\else\input multido.tex\fi
\ifx\PSTricksLoaded\endinput\else\input pstricks.tex\fi
-%
\ifx\PSTnodeLoaded\endinput\else\input pst-node.tex\fi
+\ifx\PSTXKeyLoaded\endinput\else\input pst-xkey \fi
%
-% DPC interface to the `keyval' package
-%
-\input pst-key.tex
-\input multido.tex
+\def\fileversion{1.42}
+\def\filedate{2007/10/15}
+\message{`pst-circ' v\fileversion (CJ,hv,pd)}
%
\edef\PstAtCode{\the\catcode`\@} \catcode`\@=11\relax
+\pst@addfams{pst-circ}
%
\pstheader{pst-circ.pro}
-%
\SpecialCoor
%
-\newdimen\Pst@circ@position
-%
-\newcount\pst@circ@count@i
-\newcount\pst@circ@count@ii
-\newcount\pst@circ@count@iii
-%
-\newif\ifPst@circ@intensity
-\newif\ifPst@circ@tension
-\newif\ifPst@circ@dipole@convention
-\newif\ifPst@circ@direct@convention
-\newif\ifPst@circ@parallel
-\newif\ifPst@circ@parallel@node
-\newif\ifPst@circ@wire@intersect
-\newif\ifPst@circ@OA@perfect
-\newif\ifPst@circ@OA@invert
-\newif\ifPst@circ@OA@iplus
-\newif\ifPst@circ@OA@iminus
-\newif\ifPst@circ@OA@iout
-\newif\ifPst@circ@transistor@circle% hv 2003-07-23
-\newif\ifPst@circ@transistor@invert
-\newif\ifPst@circ@transistor@ibase
-\newif\ifPst@circ@transistor@icollector
-\newif\ifPst@circ@transistor@iemitter
-\newif\ifPst@circ@transistor@type
-\newif\ifPst@circ@transformer@iprimary
-\newif\ifPst@circ@transformer@isecondary
-\newif\ifPst@circ@variable
-%
-\newif\ifPst@circ@logic@showDot % hv
-\newif\ifPst@circ@logic@showNode % hv
-\newif\ifPst@circ@logic@changeLR % hv
-%
-\def\pst@string@dipole@convention@receptor{receptor}
-\def\pst@string@dipole@convention@generator{generator}
-\def\pst@string@transistor@type@PNP{PNP}
-\def\pst@string@transistor@type@NPN{NPN}
+\newdimen\Pst@position
+%
+\newcount\pst@count@i
+\newcount\pst@count@ii
+\newcount\pst@count@iii
+%
+\newif\ifPst@intensity
+\newif\ifPst@tension
+\newif\ifPst@Dconvention
+\newif\ifPst@direct@convention
+\newif\ifPst@parallel
+\newif\ifPst@parallel@node
+\newif\ifPst@wire@intersect
+\newif\ifPst@OA@perfect
+\newif\ifPst@OA@power
+\newif\ifPst@OA@invert
+\newif\ifPst@OA@iplus
+\newif\ifPst@OA@iminus
+\newif\ifPst@OA@iout
+\newif\ifPst@T@circle% hv 2003-07-23
+\newif\ifPst@T@invert
+\newif\ifPst@T@iB
+\newif\ifPst@T@iC
+\newif\ifPst@T@iE
+\newif\ifPst@T@changeLR
+\newif\ifPst@Ttype
+\newif\ifPst@FETchanneltype% Ted
+\newif\ifPst@Trafo@iprimary
+\newif\ifPst@Trafo@isecondary
+\newif\ifPst@variable
+%
+\newif\ifPst@logic@showDot % hv
+\newif\ifPst@logic@showNode % hv
+\newif\ifPst@logic@changeLR % hv
+%
+\def\pst@Dconvention@receptor{receptor}
+\def\pst@Dconvention@generator{generator}
+\def\pst@Ttype@PNP{PNP}
+\def\pst@Ttype@NPN{NPN}
+\def\pst@Ttype@FET{FET}
+\def\pst@FETchanneltype@P{P}% Ted
+\def\pst@FETchanneltype@N{N}% Ted
% start Herbert 2003-07-17
-\def\pst@string@dipole@style@thyristor{thyristor}
-\def\pst@string@dipole@style@GTO{GTO}
-\def\pst@string@dipole@style@triac{triac}
+\def\pst@Dstyle@varistor{varistor}
+\def\pst@Dstyle@thyristor{thyristor}
+\def\pst@Dstyle@GTO{GTO}
+\def\pst@Dstyle@triac{triac}
+\def\pst@Dstyle@Z{Z}
% end Herbert 2003-07-17
-\def\pst@string@dipole@style@normal{normal}
-\def\pst@string@dipole@style@chemical{chemical}
-\def\pst@string@dipole@style@elektor{elektor}
-\def\pst@string@dipole@style@elektorchemical{elektorchemical}
-\def\pst@string@dipole@style@elektorcurved{elektorcurved}
-\def\pst@string@dipole@style@curved{curved}
-\def\pst@string@dipole@style@rectangle{rectangle}
-\def\pst@string@dipole@style@open{open}
-\def\pst@string@dipole@style@close{close}
-\def\pst@string@dipole@style@zigzag{zigzag}
-\def\pst@string@tripole@style@left{left}
-\def\pst@string@tripole@style@right{right}
-\def\pst@string@tripole@style@center{center}
-\def\pst@string@tripole@style@french{french}
-%
-\define@key{psset}{intensity}[true]{\@nameuse{Pst@circ@intensity#1}}
-\define@key{psset}{intensitylabel}{\edef\psk@circ@intensity@label{#1}}
-\define@key{psset}{intensitylabelcolor}{\edef\psk@circ@intensity@labelcolor{#1}}
-\define@key{psset}{intensitylabeloffset}{\edef\psk@circ@intensity@label@offset{#1}}
-\define@key{psset}{intensitycolor}{\edef\psk@circ@intensity@color{#1}}
-\define@key{psset}{intensitywidth}{\edef\psk@circ@intensity@width{#1}}
-\define@key{psset}{tension}[true]{\@nameuse{Pst@circ@tension#1}}
-\define@key{psset}{tensionlabel}{\edef\psk@circ@tension@label{#1}}
-\define@key{psset}{tensionlabelcolor}{\edef\psk@circ@tension@labelcolor{#1}}
-\define@key{psset}{tensionoffset}{\edef\psk@circ@tension@offset{#1}}
-\define@key{psset}{tensionlabeloffset}{\edef\psk@circ@tension@label@offset{#1}}
-\define@key{psset}{tensioncolor}{\def\psk@circ@tension@color{#1}}
-\define@key{psset}{tensionwidth}{\edef\psk@circ@tension@width{#1}}
-\define@key{psset}{labeloffset}{\edef\psk@circ@label@offset{#1}}
-\define@key{psset}{labelangle}{\edef\psk@circ@label@angle{#1}}
-\define@key{psset}{dipoleconvention}{\edef\psk@circ@dipole@convention{#1}}
-\define@key{psset}{directconvention}[true]{\@nameuse{Pst@circ@direct@convention#1}}
-\define@key{psset}{dipolestyle}{\edef\psk@circ@dipole@style{#1}}
-\define@key{psset}{parallel}[true]{\@nameuse{Pst@circ@parallel#1}}
-\define@key{psset}{parallelarm}{\edef\psk@circ@parallel@arm{#1}}
-\define@key{psset}{parallelsep}{\edef\psk@circ@parallel@sep{#1}}
-\define@key{psset}{parallelnode}[true]{\@nameuse{Pst@circ@parallel@node#1}}
-\define@key{psset}{intersect}[true]{\@nameuse{Pst@circ@wire@intersect#1}}
-\define@key{psset}{intersectA}{\edef\psk@circ@wire@intersectA{#1}}
-\define@key{psset}{intersectB}{\edef\psk@circ@wire@intersectB{#1}}
-\define@key{psset}{OAperfect}[true]{\@nameuse{Pst@circ@OA@perfect#1}}
-\define@key{psset}{OAinvert}[true]{\@nameuse{Pst@circ@OA@invert#1}}
-\define@key{psset}{OAiplus}[true]{\@nameuse{Pst@circ@OA@iplus#1}}
-\define@key{psset}{OAiminus}[true]{\@nameuse{Pst@circ@OA@iminus#1}}
-\define@key{psset}{OAiout}[true]{\@nameuse{Pst@circ@OA@iout#1}}
-\define@key{psset}{OAipluslabel}{\edef\psk@circ@label@OA@iplus{#1}}
-\define@key{psset}{OAiminuslabel}{\edef\psk@circ@label@OA@iminus{#1}}
-\define@key{psset}{OAioutlabel}{\edef\psk@circ@label@OA@iout{#1}}
-\define@key{psset}{transistorcircle}[true]{\@nameuse{Pst@circ@transistor@circle#1}}% hv 2003-07-23
-\define@key{psset}{transistorinvert}[true]{\@nameuse{Pst@circ@transistor@invert#1}}
-\define@key{psset}{transistoribase}[true]{\@nameuse{Pst@circ@transistor@ibase#1}}
-\define@key{psset}{transistoricollector}[true]{\@nameuse{Pst@circ@transistor@icollector#1}}
-\define@key{psset}{transistoriemitter}[true]{\@nameuse{Pst@circ@transistor@iemitter#1}}
-\define@key{psset}{transistoribaselabel}{\edef\psk@circ@label@transistor@ibase{#1}}
-\define@key{psset}{transistoricollectorlabel}{\edef\psk@circ@label@transistor@icollector{#1}}
-\define@key{psset}{transistoriemitterlabel}{\edef\psk@circ@label@transistor@iemitter{#1}}
-\define@key{psset}{transistortype}{\edef\psk@circ@transistor@type{#1}}
-\define@key{psset}{primarylabel}{\edef\psk@circ@transformer@primary@label{#1}}
-\define@key{psset}{secondarylabel}{\edef\psk@circ@transformer@secondary@label{#1}}
-\define@key{psset}{transformeriprimary}[true]{\@nameuse{Pst@circ@transformer@iprimary#1}}
-\define@key{psset}{transformerisecondary}[true]{\@nameuse{Pst@circ@transformer@isecondary#1}}
-\define@key{psset}{transformeriprimarylabel}{\edef\psk@circ@transformer@iprimary@label{#1}}
-\define@key{psset}{transformerisecondarylabel}{\edef\psk@circ@transformer@isecondary@label{#1}}
-\define@key{psset}{tripolestyle}{\edef\psk@circ@tripole@style{#1}}
-\define@key{psset}{variable}[true]{\@nameuse{Pst@circ@variable#1}}
-%
-\define@key{psset}{logicChangeLR}[false]{\@nameuse{Pst@circ@logic@changeLR#1}}% hv
-\define@key{psset}{logicShowDot}[false]{\@nameuse{Pst@circ@logic@showDot#1}}% hv
-\define@key{psset}{logicShowNode}[false]{\@nameuse{Pst@circ@logic@showNode#1}}% hv
-%\define@key{psset}{logicOrigin}{\edef\psk@circ@logic@origin{#1}}% hv
-\define@key{psset}{logicWidth}{\edef\psk@circ@logic@width{#1}}% hv
-\define@key{psset}{logicHeight}{\edef\psk@circ@logic@height{#1}}% hv
-\define@key{psset}{logicType}{\edef\psk@circ@logic@type{#1}}% hv
-\define@key{psset}{logicNInput}{\edef\psk@circ@logic@nInput{#1}}% hv
-\define@key{psset}{logicJInput}{\edef\psk@circ@logic@JInput{#1}}% hv
-\define@key{psset}{logicKInput}{\edef\psk@circ@logic@KInput{#1}}% hv
-\define@key{psset}{logicWireLength}{\edef\psk@circ@logic@wireLength{#1}}% hv
-\define@key{psset}{logicLabelstyle}{\edef\psk@circ@logic@labelstyle{\noexpand #1}}% hv
-\define@key{psset}{logicSymbolstyle}{\edef\psk@circ@logic@symbolstyle{\noexpand #1}}% hv
-\define@key{psset}{logicSymbolpos}{\edef\psk@circ@logic@symbolpos{#1}}% hv
-\define@key{psset}{logicNodestyle}{\edef\psk@circ@logic@nodestyle{\noexpand #1}}% hv
-%
-\def\pst@string@logic@type@and{and}
-\def\pst@string@logic@type@or{or}
-\def\pst@string@logic@type@nand{nand}
-\def\pst@string@logic@type@nor{nor}
-\def\pst@string@logic@type@not{not}
-\def\pst@string@logic@type@exor{exor}
-\def\pst@string@logic@type@exnor{exnor}
-%
-\def\pst@string@logic@type@RS{RS}
-\def\pst@string@logic@type@D{D}
-\def\pst@string@logic@type@JK{JK}
-%
-\setkeys{psset}{%
- intensity=false,intensitylabel=\empty,intensitylabeloffset=0.5,
+\def\pst@Dstyle@normal{normal}
+\def\pst@Dstyle@chemical{chemical}
+\def\pst@Dstyle@elektor{elektor}
+\def\pst@Dstyle@elektorchemical{elektorchemical}
+\def\pst@Dstyle@elektorcurved{elektorcurved}
+\def\pst@Dstyle@curved{curved}
+\def\pst@Dstyle@rectangle{rectangle}
+\def\pst@Dstyle@open{open}
+\def\pst@Dstyle@close{close}
+\def\pst@Dstyle@zigzag{zigzag}
+\def\pst@Dstyle@diamond{diamond}
+\def\pst@tripole@style@left{left}
+\def\pst@tripole@style@right{right}
+\def\pst@tripole@style@center{center}
+\def\pst@tripole@style@french{french}
+%
+\define@key[psset]{pst-circ}{intensity}[true]{\@nameuse{Pst@intensity#1}}
+\define@key[psset]{pst-circ}{intensitylabel}{\def\psk@I@label{#1}}
+\define@key[psset]{pst-circ}{intensitylabelcolor}{\def\psk@I@labelcolor{#1}}
+\define@key[psset]{pst-circ}{intensitylabeloffset}{\def\psk@I@label@offset{#1}}
+\define@key[psset]{pst-circ}{intensitycolor}{\def\psk@I@color{#1}}
+\define@key[psset]{pst-circ}{intensitywidth}{\def\psk@I@width{#1}}
+\define@key[psset]{pst-circ}{tension}[true]{\@nameuse{Pst@tension#1}}
+\define@key[psset]{pst-circ}{tensionlabel}{\def\psk@tension@label{#1}}
+\define@key[psset]{pst-circ}{tensionlabelcolor}{\def\psk@tension@labelcolor{#1}}
+\define@key[psset]{pst-circ}{tensionoffset}{\def\psk@tension@offset{#1}}
+\define@key[psset]{pst-circ}{tensionlabeloffset}{\def\psk@tension@label@offset{#1}}
+\define@key[psset]{pst-circ}{tensioncolor}{\def\psk@tension@color{#1}}
+\define@key[psset]{pst-circ}{tensionwidth}{\def\psk@tension@width{#1}}
+\define@key[psset]{pst-circ}{labeloffset}{\def\psk@label@offset{#1}}
+\define@key[psset]{pst-circ}{labelangle}{\def\psk@label@angle{#1}}
+\define@key[psset]{pst-circ}{labelInside}{\def\psk@labelInside{#1}}
+\define@key[psset]{pst-circ}{dipoleconvention}{\def\psk@Dconvention{#1}}
+\define@key[psset]{pst-circ}{directconvention}[true]{\@nameuse{Pst@direct@convention#1}}
+\define@key[psset]{pst-circ}{dipolestyle}{\def\psk@Dstyle{#1}}
+\define@key[psset]{pst-circ}{parallel}[true]{\@nameuse{Pst@parallel#1}}
+\define@key[psset]{pst-circ}{parallelarm}{\def\psk@parallel@arm{#1}}
+\define@key[psset]{pst-circ}{parallelsep}{\def\psk@parallel@sep{#1}}
+\define@key[psset]{pst-circ}{parallelnode}[true]{\@nameuse{Pst@parallel@node#1}}
+\define@key[psset]{pst-circ}{intersect}[true]{\@nameuse{Pst@wire@intersect#1}}
+\define@key[psset]{pst-circ}{intersectA}{\def\psk@wire@intersectA{#1}}
+\define@key[psset]{pst-circ}{intersectB}{\def\psk@wire@intersectB{#1}}
+\define@key[psset]{pst-circ}{OAperfect}[true]{\@nameuse{Pst@OA@perfect#1}}
+\define@key[psset]{pst-circ}{OApower}[true]{\@nameuse{Pst@OA@power#1}}
+\define@key[psset]{pst-circ}{OAinvert}[true]{\@nameuse{Pst@OA@invert#1}}
+\define@key[psset]{pst-circ}{OAiplus}[true]{\@nameuse{Pst@OA@iplus#1}}
+\define@key[psset]{pst-circ}{OAiminus}[true]{\@nameuse{Pst@OA@iminus#1}}
+\define@key[psset]{pst-circ}{OAiout}[true]{\@nameuse{Pst@OA@iout#1}}
+\define@key[psset]{pst-circ}{OAipluslabel}{\def\psk@label@OA@iplus{#1}}
+\define@key[psset]{pst-circ}{OAiminuslabel}{\def\psk@label@OA@iminus{#1}}
+\define@key[psset]{pst-circ}{OAioutlabel}{\def\psk@label@OA@iout{#1}}
+\define@key[psset]{pst-circ}{transistorcircle}[true]{\@nameuse{Pst@T@circle#1}}% hv 2003-07-23
+\define@key[psset]{pst-circ}{transistorinvert}[true]{\@nameuse{Pst@T@invert#1}}
+\define@key[psset]{pst-circ}{transistoribase}[true]{\@nameuse{Pst@T@iB#1}}
+\define@key[psset]{pst-circ}{transistoricollector}[true]{\@nameuse{Pst@T@iC#1}}
+\define@key[psset]{pst-circ}{transistoriemitter}[true]{\@nameuse{Pst@T@iE#1}}
+\define@key[psset]{pst-circ}{transistoribaselabel}{\def\psk@labelT@iB{#1}}
+\define@key[psset]{pst-circ}{transistoricollectorlabel}{\def\psk@labelT@iC{#1}}
+\define@key[psset]{pst-circ}{transistoriemitterlabel}{\def\psk@labelT@iE{#1}}
+\define@key[psset]{pst-circ}{FETchanneltype}{\def\psk@FETchanneltype{#1}}% Ted 2007-10-15
+\define@key[psset]{pst-circ}{transistortype}{%
+ \def\psk@Ttype{#1}%
+ \ifx\psk@Ttype\pst@Ttype@FET\relax\@nameuse{Pst@T@circlefalse}\fi}
+\newdimen\Pst@basesep
+\define@key[psset]{pst-circ}{basesep}{\pst@getlength{#1}\Pst@basesep}
+\define@key[psset]{pst-circ}{TRot}{\pst@checknum{#1}\Pst@TRot}
+\define@key[psset]{pst-circ}{edge}{%
+ \def\psedge{#1}%
+ \ifx\psedge\@none\def\psedge##1##2{}\fi%
+}
+%
+\define@key[psset]{pst-circ}{primarylabel}{\def\psk@Trafo@primary@label{#1}}
+\define@key[psset]{pst-circ}{secondarylabel}{\def\psk@Trafo@secondary@label{#1}}
+\define@key[psset]{pst-circ}{transformeriprimary}[true]{\@nameuse{Pst@Trafo@iprimary#1}}
+\define@key[psset]{pst-circ}{transformerisecondary}[true]{\@nameuse{Pst@Trafo@isecondary#1}}
+\define@key[psset]{pst-circ}{transformeriprimarylabel}{\def\psk@Trafo@iprimary@label{#1}}
+\define@key[psset]{pst-circ}{transformerisecondarylabel}{\def\psk@Trafo@isecondary@label{#1}}
+\define@key[psset]{pst-circ}{tripolestyle}{\def\psk@tripole@style{#1}}
+\define@key[psset]{pst-circ}{variable}[true]{\@nameuse{Pst@variable#1}}
+%
+\define@key[psset]{pst-circ}{logicChangeLR}[false]{\@nameuse{Pst@logic@changeLR#1}}% hv
+\define@key[psset]{pst-circ}{logicShowDot}[false]{\@nameuse{Pst@logic@showDot#1}}% hv
+\define@key[psset]{pst-circ}{logicShowNode}[false]{\@nameuse{Pst@logic@showNode#1}}% hv
+%\define@key[psset]{pst-circ}{logicOrigin}{\def\psk@logic@origin{#1}}% hv
+\define@key[psset]{pst-circ}{logicWidth}{\def\psk@logic@width{#1}}% hv
+\define@key[psset]{pst-circ}{logicHeight}{\def\psk@logic@height{#1}}% hv
+\define@key[psset]{pst-circ}{logicType}{\def\psk@logic@type{#1}}% hv
+\define@key[psset]{pst-circ}{logicNInput}{\def\psk@logic@nInput{#1}}% hv
+\define@key[psset]{pst-circ}{logicJInput}{\def\psk@logic@JInput{#1}}% hv
+\define@key[psset]{pst-circ}{logicKInput}{\def\psk@logic@KInput{#1}}% hv
+\define@key[psset]{pst-circ}{logicWireLength}{\def\psk@logic@wireLength{#1}}% hv
+\define@key[psset]{pst-circ}{logicLabelstyle}{\def\psk@logic@labelstyle{#1}}% hv
+\define@key[psset]{pst-circ}{logicSymbolstyle}{\def\psk@logic@symbolstyle{#1}}% hv
+\define@key[psset]{pst-circ}{logicSymbolpos}{\def\psk@logic@symbolpos{#1}}% hv
+\define@key[psset]{pst-circ}{logicNodestyle}{\def\psk@logic@nodestyle{#1}}% hv
+%
+\def\pst@logic@type@and{and}
+\def\pst@logic@type@or{or}
+\def\pst@logic@type@nand{nand}
+\def\pst@logic@type@nor{nor}
+\def\pst@logic@type@not{not}
+\def\pst@logic@type@exor{exor}
+\def\pst@logic@type@exnor{exnor}
+%
+\def\pst@logic@type@RS{RS}
+\def\pst@logic@type@D{D}
+\def\pst@logic@type@JK{JK}
+%
+\psset{%
+ labelInside=0,%
+ intensity=false,intensitylabel=\@empty,intensitylabeloffset=0.5,
intensitycolor=black,intensitylabelcolor=black,intensitywidth=\pslinewidth,
- tension=false,tensionlabel=\empty,tensionoffset=1,tensionlabeloffset=1.2,
+ tension=false,tensionlabel=\@empty,tensionoffset=1,tensionlabeloffset=1.2,
tensioncolor=black,tensionlabelcolor=black,tensionwidth=\pslinewidth,
labeloffset=0.7,labelangle=0,dipoleconvention=receptor,directconvention=true,dipolestyle=normal
parallel=false,parallelarm=1.5,parallelsep=0,parallelnode=false,
intersect=false,OAperfect=true,OAinvert=true,
- OAiplus=false,OAiminus=false,OAiout=false,OAipluslabel=\empty,
- OAiminuslabel=\empty,OAioutlabel=\empty,
+ OAiplus=false,OAiminus=false,OAiout=false,OAipluslabel=\@empty,
+ OAiminuslabel=\@empty,OAioutlabel=\@empty,OApower=false,%
transistorcircle=true, transistorinvert=false, % hv 2003-07-23
- transistoribase=false,transistoricollector=false,transistoriemitter=false,transistoribaselabel=\empty,
- transistoricollectorlabel=\empty,transistoriemitterlabel=\empty,
- transistortype=PNP,
- primarylabel=\empty,secondarylabel=\empty,transformeriprimary=false,transformerisecondary=false,
- transformeriprimarylabel=\empty,transformerisecondarylabel=\empty,
- tripolestyle=normal,variable=false,%
+ transistoribase=false,transistoricollector=false,transistoriemitter=false,%
+ transistoribaselabel=\@empty,basesep=0pt,edge=\pcangle,%
+ transistoricollectorlabel=\@empty,transistoriemitterlabel=\@empty,
+ transistortype=NPN,TRot=0,%
+ primarylabel=\@empty,secondarylabel=\@empty,transformeriprimary=false,transformerisecondary=false,
+ transformeriprimarylabel=\@empty,transformerisecondarylabel=\@empty,
+ tripolestyle=normal,variable=false,%
logicShowDot=false, logicShowNode=false, logicChangeLR=false,% hv
logicWireLength=0.5, logicWidth=1.5, logicHeight=2.5, % hv
logicNInput=2, logicJInput=2, logicKInput=2, logicType=and,% hv
- logicLabelstyle=\small, logicSymbolstyle=\large,
+ logicLabelstyle=\small, logicSymbolstyle=\large,
logicSymbolpos=0.5,logicNodestyle=\footnotesize}% hv
%
+\newpsstyle{baseOpt}{edge=\pcline,arrows=-,arm=.5,angleA=0,angleB=180}
+\newpsstyle{emitterOpt}{arrows=-,arm=.5,angleA=180,angleB=-90}%
+\newpsstyle{collectorOpt}{arrows=-,arm=.5,angleA=180,angleB=90}
+%
\def\wire{\@ifnextchar[{\pst@draw@wire}{\pst@draw@wire[]}}
%
\def\tension{\@ifnextchar[{\pst@draw@tension@}{\pst@draw@tension@[]}}
%
\def\resistor{\@ifnextchar[{\pst@resistor}{\pst@resistor[]}}
-%
\def\pst@resistor[#1](#2)(#3)#4{{%
- \pst@draw@dipole{#1}{#2}{#3}{#4}\pst@draw@resistor
+ \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
+ \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
+ \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
+ \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\OA{\@ifnextchar[{\pst@OA}{\pst@OA[]}}
-%
-\def\pst@OA[#1](#2)(#3)(#4){{%
- \setkeys{psset}{#1,dimen=middle}%
- \if\psk@circ@label@OA@iplus\@empty\else
- \setkeys{psset}{OAiplus=true}%
- \fi
- \if\psk@circ@label@OA@iminus\@empty\else
- \setkeys{psset}{OAiminus=true}%
- \fi
- \if\psk@circ@label@OA@iout\@empty\else
- \setkeys{psset}{OAiout=true}%
- \fi
- \ifPst@circ@intensity
- \setkeys{psset}{OAiplus=true,OAiminus=true,OAiout=true}%
- \fi
- \pst@getcoor{#2}\pst@tempa
- \pst@getcoor{#3}\pst@tempb
- \pst@getcoor{#4}\pst@tempc
+% 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){%
+ \addbefore@par{dimen=middle}%
+ \begin@ClosedObj%
+ \if\psk@label@OA@iplus\@empty\else\psset{OAiplus=true}\fi%
+ \if\psk@label@OA@iminus\@empty\else\psset{OAiminus=true}\fi%
+ \if\psk@label@OA@iout\@empty\else\psset{OAiout=true}\fi%
+ \ifPst@intensity\psset{OAiplus=true,OAiminus=true,OAiout=true}\fi%
+ \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
@@ -308,77 +318,127 @@
/YC Y1 Y2 add 2 div def
XC YC){C@}
\rput(C@){\pst@draw@OA}
- \ncangle[arm=.5,angleA=0,angleB=180]{#2}{\ifPst@circ@OA@invert Minus@\else Plus@\fi}
- \ncput[npos=2]{\pnode{\ifPst@circ@OA@invert Minus@@\else Plus@@\fi}}
- \ifPst@circ@OA@iplus
- \ifPst@circ@OA@invert\else
+ \ncangle[arrows=-,arm=.5,angleA=0,angleB=180]{#1}{\ifPst@OA@invert Minus@\else Plus@\fi}
+ \ncput[npos=2]{\pnode{\ifPst@OA@invert Minus@@\else Plus@@\fi}}
+ \ifPst@OA@iplus
+ \ifPst@OA@invert\else
\ncput[npos=2.5]{%
- \psline[linecolor=\psk@circ@intensity@color,
- linewidth=\psk@circ@intensity@width,arrowinset=0]{->}(-.1,0)(.1,0)}
- \naput[npos=2.5]{\csname\psk@circ@intensity@labelcolor\endcsname\psk@circ@label@OA@iplus}
+ \psline[linecolor=\psk@I@color,
+ linewidth=\psk@I@width,arrowinset=0]{->}(-.1,0)(.1,0)}
+ \naput[npos=2.5]{\csname\psk@I@labelcolor\endcsname\psk@label@OA@iplus}
\fi
\fi
- \ifPst@circ@OA@iminus
- \ifPst@circ@OA@invert
+ \ifPst@OA@iminus
+ \ifPst@OA@invert
\ncput[npos=2.5]{%
- \psline[linecolor=\psk@circ@intensity@color,
- linewidth=\psk@circ@intensity@width,arrowinset=0]{->}(-.1,0)(.1,0)}
- \naput[npos=2.5]{\csname\psk@circ@intensity@labelcolor\endcsname\psk@circ@label@OA@iminus}
+ \psline[linecolor=\psk@I@color,
+ linewidth=\psk@I@width,arrowinset=0]{->}(-.1,0)(.1,0)}
+ \naput[npos=2.5]{\csname\psk@I@labelcolor\endcsname\psk@label@OA@iminus}
\fi
\fi
- \ncangle[arm=.5,angleA=0,angleB=180]{#3}{\ifPst@circ@OA@invert Plus@\else Minus@\fi}
- \ncput[npos=2]{\pnode{\ifPst@circ@OA@invert Plus@@\else Minus@@\fi}}
- \ifPst@circ@OA@iplus
- \ifPst@circ@OA@invert
+ \ncangle[arrows=-,arm=.5,angleA=0,angleB=180]{#2}{\ifPst@OA@invert Plus@\else Minus@\fi}
+ \ncput[npos=2]{\pnode{\ifPst@OA@invert Plus@@\else Minus@@\fi}}
+ \ifPst@OA@iplus
+ \ifPst@OA@invert
\ncput[npos=2.5]{%
- \psline[linecolor=\psk@circ@intensity@color,
- linewidth=\psk@circ@intensity@width,arrowinset=0]{->}(-.1,0)(.1,0)}
- \nbput[npos=2.5]{\csname\psk@circ@intensity@labelcolor\endcsname\psk@circ@label@OA@iplus}
+ \psline[linecolor=\psk@I@color,
+ linewidth=\psk@I@width,arrowinset=0]{->}(-.1,0)(.1,0)}
+ \nbput[npos=2.5]{\csname\psk@I@labelcolor\endcsname\psk@label@OA@iplus}
\fi
\fi
- \ifPst@circ@OA@iminus
- \ifPst@circ@OA@invert\else
+ \ifPst@OA@iminus
+ \ifPst@OA@invert\else
\ncput[npos=2.5]{%
- \psline[linecolor=\psk@circ@intensity@color,
- linewidth=\psk@circ@intensity@width,arrowinset=0]{->}(-.1,0)(.1,0)}
- \nbput[npos=2.5]{\csname\psk@circ@intensity@labelcolor\endcsname\psk@circ@label@OA@iminus}
+ \psline[linecolor=\psk@I@color,
+ linewidth=\psk@I@width,arrowinset=0]{->}(-.1,0)(.1,0)}
+ \nbput[npos=2.5]{\csname\psk@I@labelcolor\endcsname\psk@label@OA@iminus}
\fi
\fi
- \ncangle[arm=.5,angleA=180,angleB=0]{#4}{S@}
+ \ncangle[arrows=-,arm=.5,angleA=180,angleB=0]{#3}{S@}
\ncput[npos=2]{\pnode{S@@}}
- \ifPst@circ@OA@iout
+ \ifPst@OA@iout
\ncput[npos=2.5]{%
- \psline[linecolor=\psk@circ@intensity@color,
- linewidth=\psk@circ@intensity@width,arrowinset=0]{->}(-.1,0)(.1,0)}
- \naput[npos=2.5]{\csname\psk@circ@intensity@labelcolor\endcsname\psk@circ@label@OA@iout}
+ \psline[linecolor=\psk@I@color,
+ linewidth=\psk@I@width,arrowinset=0]{->}(-.1,0)(.1,0)}
+ \naput[npos=2.5]{\csname\psk@I@labelcolor\endcsname\psk@label@OA@iout}
\fi
- }\ignorespaces}
-%
-\def\transistor{\@ifnextchar[{\pst@transistor}{\pst@transistor[]}}
+ \psline[linestyle=none](#1)(#2)% for the end arrows
+ \psline[linestyle=none](#1)(#3)% for the end arrows
+ \end@ClosedObj
+ \ignorespaces%
+}
%
-\def\pst@transistor[#1](#2)(#3)(#4){{%
- \setkeys{psset}{#1,dimen=middle}%
- \ifx\psk@circ@transistor@type\pst@string@transistor@type@PNP
- \Pst@circ@transistor@typetrue
+\newif\ifPst@temp
+\def\transistor{\@ifnextchar[{\transistor@i}{\transistor@i[]}}
+\def\transistor@i[#1](#2){%
+ \begingroup
+ \psset{#1}
+ \@ifnextchar({\transistor@iii(#2)}{\Pst@tempfalse\transistor@ii(#2)}}
+%
+\def\transistor@ii(#1)#2#3{% with one node, the base
+ \pst@killglue%
+ \ifPst@temp\pnode(#1){TBaseNode}%
+ \else%
+ \pst@getcoor{#1}\pst@tempa%
+ \pnode(!
+ \pst@tempa /YB exch \pst@number\psyunit div def
+ /XB exch \pst@number\psxunit div def
+ /basesep \Pst@basesep\space \pst@number\psxunit div def
+ XB basesep \Pst@TRot\space cos mul add
+ YB basesep \Pst@TRot\space sin mul add){TBaseNode}% base node
+ \fi%
+ \rput{\Pst@TRot}(TBaseNode){%
+ \ifPst@T@circle\pscircle(0.3,0){0.7}\fi
+ \ifx\psk@Ttype\pst@Ttype@FET\relax%
+ \psline[arrows=-,linewidth=\psk@I@width](0,0.5)(0,-0.5)
+ \else
+ \psline[arrows=-,linewidth=4\pslinewidth](0,0.4)(0,-0.4)
+ \fi
+ \ifnum180=\Pst@TRot\relax%
+ \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
+ \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
+ \else%
+ \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
+ \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
+ \fi%
+ \ifx\psk@Ttype\pst@Ttype@FET\relax%
+ \psline[arrows=-](0.65,0.5)(0.15,0.5)(0.15,-0.5)(0.65,-0.5)
+ \else
+ \psline[arrows=-](0.5,0.5)(0,0)(0.5,-0.5)
+ \fi
+ }%
+ \ifx\psk@Ttype\pst@Ttype@FET\relax%
+% \ifx\psk@Ttype\pst@Ttype@PNP\relax%
+ \ifx\psk@FETchanneltype\pst@FETchanneltype@P\relax% Ted 2007-10-15
+ \psline[origin={#3},arrowinset=0,arrowsize=8\pslinewidth]{->}(-0.5,0)
+ \else%
+ \psline[origin={#2},arrowinset=0,arrowsize=8\pslinewidth]{<-}(-0.5,0)
+ \fi%
\else
- \Pst@circ@transistor@typefalse
- \fi
- \if\psk@circ@label@transistor@ibase\@empty\else
- \setkeys{psset}{transistoribase=true}%
- \fi
- \if\psk@circ@label@transistor@iemitter\@empty\else
- \setkeys{psset}{transistoriemitter=true}%
- \fi
- \if\psk@circ@label@transistor@icollector\@empty\else
- \setkeys{psset}{transistoricollector=true}%
+ \ifx\psk@Ttype\pst@Ttype@PNP\relax%
+ \psline[arrowinset=0,arrowsize=8\pslinewidth]{->}(#3)(TBaseNode)
+ \else%
+ \psline[arrowinset=0,arrowsize=8\pslinewidth]{->}(TBaseNode)(#2)
+ \fi%
\fi
- \ifPst@circ@intensity
- \setkeys{psset}{transistoribase=true,
- transistoriemitter=true,transistoricollector=true}%
- \fi
- \pst@getcoor{#2}\pst@tempa
- \pst@getcoor{#3}\pst@tempb
- \pst@getcoor{#4}\pst@tempc
+ \ifPst@temp\else\endgroup\fi%
+ \ignorespaces%
+}
+%
+\def\transistor@iii(#1)(#2)(#3){% with three nodes
+ \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
@@ -386,63 +446,78 @@
/X2 exch \pst@number\psxunit div def
\pst@tempc /Y3 exch \pst@number\psyunit div def
/X3 exch \pst@number\psxunit div def
- /XC X2 X3 lt {X1 X2} {X1 X3} ifelse add 2 div def
- /YC Y2 Y3 add 2 div def
- XC YC){C@}
- \rput(C@){\pst@draw@transistor}
- \ncangle[arm=.5,angleA=0,angleB=180]{#2}{base@}
- \ncput[npos=2]{\pnode{base@@}}
- \ifPst@circ@transistor@ibase
- \ncput[npos=2.5]{%
- \psline[linecolor=\psk@circ@intensity@color,
- linewidth=\psk@circ@intensity@width,arrowinset=0]{->}(-.1,0)(.1,0)}
- \naput[npos=2.5]{\csname\psk@circ@intensity@labelcolor\endcsname\psk@circ@label@transistor@ibase}
- \fi
- \ncangle[arm=.5,angleA=0,angleB=90]{#3}{\ifPst@circ@transistor@invert emitter@\else collector@\fi}
- \ncput[npos=2]{\pnode{\ifPst@circ@transistor@invert emitter@@\else collector@@\fi}}
- \ifPst@circ@transistor@iemitter
- \ifPst@circ@transistor@invert
- \ncput[npos=2.5,nrot=:U]{%
- \psline[linecolor=\psk@circ@intensity@color,
- linewidth=\psk@circ@intensity@width,arrowinset=0]{->}(-.1,0)(.1,0)}
- \nbput[npos=2.5]{\csname\psk@circ@intensity@labelcolor\endcsname\psk@circ@label@transistor@iemitter}
- \fi
- \fi
- \ifPst@circ@transistor@icollector
- \ifPst@circ@transistor@invert\else
- \ncput[npos=2.5,nrot=:U]{%
- \psline[linecolor=\psk@circ@intensity@color,
- linewidth=\psk@circ@intensity@width,arrowinset=0]{->}(-.1,0)(.1,0)}
- \nbput[npos=2.5]{\csname\psk@circ@intensity@labelcolor\endcsname\psk@circ@label@transistor@icollector}
- \fi
- \fi
- \ncangle[arm=.5,angleA=0,angleB=-90]{#4}{\ifPst@circ@transistor@invert collector@\else emitter@\fi}
- \ncput[npos=2]{\pnode{\ifPst@circ@transistor@invert collector@@\else emitter@@\fi}}
- \ifPst@circ@transistor@iemitter
- \ifPst@circ@transistor@invert\else
- \ncput[npos=2.5,nrot=:U]{%
- \psline[linecolor=\psk@circ@intensity@color,
- linewidth=\psk@circ@intensity@width,arrowinset=0]{->}(-.1,0)(.1,0)}
- \naput[npos=2.5]{\csname\psk@circ@intensity@labelcolor\endcsname\psk@circ@label@transistor@iemitter}
- \fi
- \fi
- \ifPst@circ@transistor@icollector
- \ifPst@circ@transistor@invert
- \ncput[npos=2.5,nrot=:U]{%
- \psline[linecolor=\psk@circ@intensity@color,
- linewidth=\psk@circ@intensity@width,arrowinset=0]{->}(-.1,0)(.1,0)}
- \naput[npos=2.5]{\csname\psk@circ@intensity@labelcolor\endcsname\psk@circ@label@transistor@icollector}
- \fi
- \fi
- }\ignorespaces}
-%
-\def\Tswitch{\@ifnextchar[{\pst@Tswitch}{\pst@Tswitch[]}}
+ /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
+%
+ \Pst@temptrue%
+ \transistor@ii(@@base){@@emitter}{@@collector}%
+%
+ \if\psk@labelT@iB\@empty\else\psset{transistoribase=true}\fi%
+ \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]{%
+ \psline[linecolor=\psk@I@color,linewidth=\psk@I@width,%
+ arrowsize=6\pslinewidth,arrowinset=0]{->}(-.1,0)(.1,0)}%
+ \naput[npos=0.5]{\csname\psk@I@labelcolor\endcsname\psk@labelT@iB}%
+ \fi%
+ \bgroup%
+ \psset{style=collectorOpt}%
+ \ifPst@T@invert\psedge(#3)(@@emitter)\else\psedge(#3)(@@collector)\fi%
+ \egroup%
+ \ncput[npos=2]{\pnode{\ifPst@T@invert @@emitter\else @@collector\fi}}%
+ \ifPst@T@iE% emitter 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]{->}(-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)}
+ \nbput[npos=1.5]{\csname\psk@I@labelcolor\endcsname\psk@labelT@iC}
+ \fi\fi%
+ \bgroup
+ \psset{style=emitterOpt}
+ \ifPst@T@invert\psedge(#2)(@@collector)\else\psedge(#2)(@@emitter)\fi
+ \egroup
+ \ncput[npos=2]{\pnode{\ifPst@T@invert @@collector\else @@emitter\fi}}
+ \ifPst@T@iE
+ \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)}
+ \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)}
+ \naput[npos=1.5]{\csname\psk@I@labelcolor\endcsname\psk@labelT@iC}
+ \fi\fi
+ \psline[linestyle=none](#1)(#2)% for the end arrows
+ \psline[linestyle=none](#1)(#3)% for the end arrows
+ \endgroup
+ \ignorespaces%
+}
%
-\def\pst@Tswitch[#1](#2)(#3)(#4)#5{{%
- \setkeys{psset}{#1,dimen=middle}%
- \pst@getcoor{#2}\pst@tempa
- \pst@getcoor{#3}\pst@tempb
- \pst@getcoor{#4}\pst@tempc
+\def\Tswitch{\pst@object{Tswitch}}
+\def\Tswitch@i(#1)(#2)(#3)#4{%
+ \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
@@ -454,75 +529,80 @@
/YC Y2 def
XC YC){C@}
\rput(C@){\pst@draw@Tswitch}
- \ncangle[arm=0.5,angleB=180]{#2}{Tswi@left}
- \ncangle[arm=0.5,angleB=0]{#3}{Tswi@right}
- \ncangle[arm=0.5,angleB=-90]{#4}{Tswi@center}
- \ncline[linestyle=none,fillstyle=none]{Tswi@left}{Tswi@right}
- \naput{#5}
- }\ignorespaces}
+ \ncangle[arrows=-,arm=0.5,angleB=180]{#1}{Tswi@left}
+ \ncangle[arrows=-,arm=0.5,angleB=0]{#2}{Tswi@right}
+ \ncangle[arrows=-,arm=0.5,angleB=-90]{#3}{Tswi@center}
+ \ncline[arrows=-,linestyle=none,fillstyle=none]{Tswi@left}{Tswi@right}
+ \naput{#4}
+ \pcline[linestyle=none](#1)(#2)% for the endarrows
+ \pcline[linestyle=none](#2)(#3)% for the endarrows
+ \end@ClosedObj
+ \ignorespaces%
+}
%
% 20030830 hv
%
-\def\potentiometer{\@ifnextchar[{\pst@potentiometer}{\pst@potentiometer[]}}
-%
-\def\pst@potentiometer[#1](#2)(#3)(#4)#5{{%
- \psset{arrowsize=0.2}
- \resistor[#1](#2)(#3){#5}
- \psset{#1}
- \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
- /dx X2 X1 sub def
- /dy Y2 Y1 sub def
- dx 2 div X1 add
- dy 2 div Y1 add ){Center@}
- \pst@getcoor{Center@}\pst@tempd
- \pnode(!%
- \pst@tempd /Y4 exch \pst@number\psyunit div def
- /X4 exch \pst@number\psxunit div def
- dx abs 0.01 lt{
- X3 Y4
- }{dy abs 0.01 lt {
- X4 Y3
- }{/m dy dx div def
- /x Y4 Y3 sub m X3 mul add X4 m div add m 1 m div add div def
- x dup X3 sub m mul Y3 add
- } ifelse
- }ifelse){@tempNodeB}
- \pnode(!%
- /Alpha dy dx atan def
- /dx Alpha sin 0.25 mul def
- /dy Alpha cos 0.25 mul def
- Y3 Y2 gt {X4 dx sub Y4 dy add}{X4 dx add Y4 dy sub}ifelse ){@tempNodeC}
- \psline[arrows=->](#4)(@tempNodeB)(@tempNodeC)
-}\ignorespaces}
+\def\potentiometer{\pst@object{potentiometer}}
+\def\potentiometer@i(#1)(#2)(#3)#4{%
+ \begin@ClosedObj
+ \resistor(#1)(#2){#4}
+ \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
+ /dx X2 X1 sub def
+ /dy Y2 Y1 sub def
+ dx 2 div X1 add
+ dy 2 div Y1 add ){Center@}
+ \pst@getcoor{Center@}\pst@tempd
+ \pnode(!%
+ \pst@tempd /Y4 exch \pst@number\psyunit div def
+ /X4 exch \pst@number\psxunit div def
+ dx abs 0.01 lt{
+ X3 Y4
+ }{dy abs 0.01 lt {
+ X4 Y3
+ }{/m dy dx div def
+ /x Y4 Y3 sub m X3 mul add X4 m div add m 1 m div add div def
+ x dup X3 sub m mul Y3 add
+ } ifelse
+ }ifelse){@tempNodeB}
+ \pnode(!%
+ /Alpha dy dx atan def
+ /dx Alpha sin 0.25 mul def
+ /dy Alpha cos 0.25 mul def
+ Y3 Y2 gt {X4 dx sub Y4 dy add}{X4 dx add Y4 dy sub}ifelse ){@tempNodeC}
+ \psline[arrows=->,arrowsize=0.2](#3)(@tempNodeB)(@tempNodeC)
+ \pcline[linestyle=none](#1)(#3)% for the endarrows
+ \end@ClosedObj%
+ \ignorespaces%
+}
%
% quadrupoles
%
-\def\transformer{\@ifnextchar[{\pst@transformer}{\pst@transformer[]}}
-%
-\def\pst@transformer[#1](#2)(#3)(#4)(#5)#6{{%
- \setkeys{psset}{#1,dimen=middle,arm=0}%
- \if\psk@circ@transformer@iprimary@label\@empty\else
- \setkeys{psset}{transformeriprimary=true}%
+\def\transformer{\pst@object{transformer}}
+\def\transformer@i(#1)(#2)(#3)(#4)#5{%
+ \addbefore@par{dimen=middle,arm=0}%
+ \begin@ClosedObj%
+ \if\psk@Trafo@iprimary@label\@empty\else
+ \psset{transformeriprimary=true}%
\fi
- \if\psk@circ@transformer@isecondary@label\@empty\else
- \setkeys{psset}{transformerisecondary=true}%
+ \if\psk@Trafo@isecondary@label\@empty\else
+ \psset{transformerisecondary=true}%
\fi
- \ifPst@circ@intensity
- \setkeys{psset}{transformeriprimary=true,transistorisecondary=true}%
+ \ifPst@intensity
+ \psset{transformeriprimary=true,transformerisecondary=true}%
\fi
- \pst@getcoor{#2}\pst@tempa
- \pst@getcoor{#3}\pst@tempb
- \pst@getcoor{#4}\pst@tempc
- \pst@getcoor{#5}\pst@tempd
+ \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
@@ -536,37 +616,41 @@
/YC Y1 Y3 lt {Y1} {Y3} ifelse Y2 Y4 lt {Y2} {Y4} ifelse add 2 div def
XC YC){C@}
\rput(C@){\pst@draw@transformer}
- \ncangle[arm=0.5,angleB=90]{#2}{inup@}
- \ifPst@circ@transformer@iprimary
- \ncput[npos=2.5,nrot=:U]{\psline[linecolor=\psk@circ@intensity@color,
- linewidth=\psk@circ@intensity@width,arrowinset=0]{->}(-.1,0)(.1,0)}
- \nbput[npos=2.5]{\csname\psk@circ@intensity@labelcolor\endcsname\psk@circ@transformer@iprimary@label}
+ \ncangle[arrows=-,arm=0.5,angleB=90]{#1}{inup@}
+ \ifPst@Trafo@iprimary
+ \ncput[npos=2.5,nrot=:U]{\psline[linecolor=\psk@I@color,
+ linewidth=\psk@I@width,arrowinset=0]{->}(-.1,0)(.1,0)}
+ \nbput[npos=2.5]{\csname\psk@I@labelcolor\endcsname\psk@Trafo@iprimary@label}
\fi
- \ncangle[arm=0.5,angleB=-90]{#3}{indown@}
- \ncangle[arm=0.5,angleB=90]{#4}{outup@}
- \ifPst@circ@transformer@iprimary
- \ncput[npos=2.5,nrot=:U]{\psline[linecolor=\psk@circ@intensity@color,
- linewidth=\psk@circ@intensity@width,arrowinset=0]{->}(-.1,0)(.1,0)}
- \naput[npos=2.5]{\csname\psk@circ@intensity@labelcolor\endcsname\psk@circ@transformer@isecondary@label}
+ \ncangle[arrows=-,arm=0.5,angleB=-90]{#2}{indown@}
+ \ncangle[arrows=-,arm=0.5,angleB=90]{#3}{outup@}
+ \ifPst@Trafo@iprimary
+ \ncput[npos=2.5,nrot=:U]{\psline[linecolor=\psk@I@color,
+ linewidth=\psk@I@width,arrowinset=0]{->}(-.1,0)(.1,0)}
+ \naput[npos=2.5]{\csname\psk@I@labelcolor\endcsname\psk@Trafo@isecondary@label}
\fi
- \ncangle[arm=0.5,angleB=-90]{#5}{outdown@}
- \ncline[linestyle=none,fillstyle=none]{indown@}{inup@}
- \naput{\psk@circ@transformer@primary@label}
- \ncline[linestyle=none,fillstyle=none]{outdown@}{outup@}
- \nbput{\psk@circ@transformer@secondary@label}
- \ncline[linestyle=none,fillstyle=none]{indown@}{outdown@}
- \nbput{#6}
- }\ignorespaces}
+ \ncangle[arrows=-,arm=0.5,angleB=-90]{#4}{outdown@}
+ \ncline[arrows=-,linestyle=none,fillstyle=none]{indown@}{inup@}
+ \naput{\psk@Trafo@primary@label}
+ \ncline[arrows=-,linestyle=none,fillstyle=none]{outdown@}{outup@}
+ \nbput{\psk@Trafo@secondary@label}
+ \ncline[arrows=-,linestyle=none,fillstyle=none]{indown@}{outdown@}
+ \nbput{#5}
+ \pcline[linestyle=none](#1)(#3)% for the end arrows
+ \pcline[linestyle=none](#2)(#4)% for the end arrows
+ \end@ClosedObj%
+ \ignorespaces%
+}
%
% Start hv 2003-07-23
-\def\optoCoupler{\@ifnextchar[{\pst@optoCoupler}{\pst@optoCoupler[]}}
-%
-\def\pst@optoCoupler[#1](#2)(#3)(#4)(#5)#6{{%
- \setkeys{psset}{#1,dimen=middle,arm=0}%
- \pst@getcoor{#2}\pst@tempa
- \pst@getcoor{#3}\pst@tempb
- \pst@getcoor{#4}\pst@tempc
- \pst@getcoor{#5}\pst@tempd
+\def\optoCoupler{\pst@object{optoCoupler}}
+\def\optoCoupler@i(#1)(#2)(#3)(#4)#5{%
+ \addbefore@par{dimen=middle,arm=0}%
+ \begin@ClosedObj%
+ \pst@getcoor{#1}\pst@tempa
+ \pst@getcoor{#2}\pst@tempb
+ \pst@getcoor{#3}\pst@tempc
+ \pst@getcoor{#4}\pst@tempd
\pnode(!%
\pst@tempa /Y1 exch \pst@number\psyunit div def
/X1 exch \pst@number\psxunit div def
@@ -580,13 +664,17 @@
/YC Y1 Y3 lt {Y1} {Y3} ifelse Y2 Y4 lt {Y2} {Y4} ifelse add 2 div def
XC YC){C@}
\rput(C@){\pst@draw@optoCoupler}
- \ncangle[arm=0.5,angleB=90]{#2}{inup@}
- \ncangle[arm=0.5,angleB=-90]{#3}{indown@}
- \ncangle[arm=0.5,angleB=90]{#4}{outup@}
- \ncangle[arm=0.5,angleB=-90]{#5}{outdown@}
- \ncline[linestyle=none,fillstyle=none]{indown@}{outdown@}
- \nbput{#6}
-}\ignorespaces}
+ \ncangle[arrows=-,arm=0.5,angleB=90]{#1}{inup@}
+ \ncangle[arrows=-,arm=0.5,angleB=-90]{#2}{indown@}
+ \ncangle[arrows=-,arm=0.5,angleB=90]{#3}{outup@}
+ \ncangle[arrows=-,arm=0.5,angleB=-90]{#4}{outdown@}
+ \ncline[arrows=-,linestyle=none,fillstyle=none]{indown@}{outdown@}
+ \nbput{#5}
+ \pcline[linestyle=none](#1)(#3)% for the end arrows
+ \pcline[linestyle=none](#2)(#4)% for the end arrows
+ \end@ClosedObj%
+ \ignorespaces%
+}
%
% The logical circuits part
%
@@ -594,20 +682,20 @@
%
\def\ground{\@ifnextchar[{\pst@ground}{\pst@ground[]}}
\def\pst@ground[#1]{%
- \@ifnextchar({\pst@groundi[#1]{0}}{\pst@groundi[#1]}%
+ \@ifnextchar({\pst@groundi[#1]{0}}{\pst@groundi[#1]}%
}
\def\pst@groundi[#1]#2(#3){{%
- \psset{#1}%
- \rput{#2}(#3){%
- \psframe[fillstyle=vlines,%
- linestyle=none,%
- fillstyle=none,%
- hatchwidth=0.5\pslinewidth](-0.5,-0.7)(0.5,-0.5)
- \psline[linewidth=1.5\pslinewidth](-0.5,-0.5)(0.5,-0.5)
- \psline(0,0)(0,-0.5)
- \pscircle*(#3){2\pslinewidth}%
- }
- \ignorespaces%
+ \psset{#1}%
+ \rput{#2}(#3){%
+ \psframe[fillstyle=vlines,%
+ linestyle=none,%
+ fillstyle=none,%
+ hatchwidth=0.5\pslinewidth](-0.5,-0.7)(0.5,-0.5)
+ \psline[linewidth=1.5\pslinewidth](-0.5,-0.5)(0.5,-0.5)
+ \psline(0,0)(0,-0.5)
+ \pscircle*(#3){2\pslinewidth}%
+ }
+ \ignorespaces%
}}
%
% end hv 2003-08-29
@@ -616,7 +704,7 @@
\def\multidipole{\@ifnextchar[{\pst@multidipole}{\pst@multidipole[]}}
%
\def\pst@multidipole[#1](#2)(#3)#4{%
- \setkeys{psset}{#1}%
+ \psset{#1}%
\pst@getcoor{#2}\pst@tempa
\pst@getcoor{#3}\pst@tempb
\pst@Verb{%
@@ -634,8 +722,8 @@
/X@length Xend Xbegin sub Yend Ybegin sub Pyth @angle cos mul Xend@ Xbegin@ lt {neg} if def
/Y@length Xend Xbegin sub Yend Ybegin sub Pyth @angle sin mul Yend@ Ybegin@ lt {neg} if def
grestore}%
- \pst@circ@count@i=\z@
- \let\pst@multidipole@output\empty
+ \pst@count@i=\z@
+ \let\pst@multidipole@output\@empty
\ifx\resistor #4%
\let\next\pst@multidipole@resistor
\else
@@ -674,8 +762,12 @@
\else
\ifx\LED #4%
\let\next\pst@multidipole@LED
- \else
- \let\next\ignorespaces
+ \else%%% pd change
+ \ifx\dashpot #4%%% pd change
+ \let\next\pst@multidipole@dashpot
+ \else%%% pd change
+ \let\next\ignorespaces
+ \fi%%% pd change
\fi
\fi
\fi
@@ -689,8 +781,8 @@
\fi
\fi
\fi
- \advance\pst@circ@count@i\@ne
- \advance\pst@circ@count@iii\@ne
+ \advance\pst@count@i\@ne
+ \advance\pst@count@iii\@ne
\next
}
%
@@ -733,9 +825,13 @@
\else
\ifx\LED #1%
\let\next\pst@multidipole@LED
- \else
- \let\next\ignorespaces
- \pst@multidipole@output
+ \else%%% pd change
+ \ifx\dashpot #1%%% pd change
+ \let\next\pst@multidipole@dashpot
+ \else%%% pd change
+ \let\next\ignorespaces
+ \pst@multidipole@output
+ \fi%%% pd change
\fi
\fi
\fi
@@ -749,47 +845,68 @@
\fi
\fi
\fi
- \advance\pst@circ@count@i\@ne
- \advance\pst@circ@count@iii\@ne
+ \advance\pst@count@i\@ne
+ \advance\pst@count@iii\@ne
\next
}
%
\def\pst@multidipole@resistor{\@ifnextchar[{\pst@multidipole@resistor@}{\pst@multidipole@resistor@[]}}
%
\def\pst@multidipole@resistor@[#1]#2{%
- \expandafter\def\csname pst@circ@tmp@\number\pst@circ@count@iii\endcsname{#2}%
- {\setkeys{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%
+ \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@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}%
+ (! 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@circ@tmp@\number\pst@circ@count@iii\endcsname{#2}%
- {\setkeys{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
+ \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@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}
+ (! 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@
}
@@ -797,19 +914,19 @@
\def\pst@multidipole@battery{\@ifnextchar[{\pst@multidipole@battery@}{\pst@multidipole@battery@[]}}
%
\def\pst@multidipole@battery@[#1]#2{%
- \expandafter\def\csname pst@circ@tmp@\number\pst@circ@count@iii\endcsname{#2}%
- {\setkeys{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
+ \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@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}
+ (! 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@
}
@@ -817,19 +934,19 @@
\def\pst@multidipole@coil{\@ifnextchar[{\pst@multidipole@coil@}{\pst@multidipole@coil@[]}}
%
\def\pst@multidipole@coil@[#1]#2{%
- \expandafter\def\csname pst@circ@tmp@\number\pst@circ@count@iii\endcsname{#2}%
- {\setkeys{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
+ \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@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}
+ (! 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@
}
@@ -837,19 +954,19 @@
\def\pst@multidipole@Ucc{\@ifnextchar[{\pst@multidipole@Ucc@}{\pst@multidipole@Ucc@[]}}
%
\def\pst@multidipole@Ucc@[#1]#2{%
- \expandafter\def\csname pst@circ@tmp@\number\pst@circ@count@iii\endcsname{#2}%
- {\setkeys{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
+ \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@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}
+ (! 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@
}
@@ -857,19 +974,19 @@
\def\pst@multidipole@Icc{\@ifnextchar[{\pst@multidipole@Icc@}{\pst@multidipole@Icc@[]}}
%
\def\pst@multidipole@Icc@[#1]#2{%
- \expandafter\def\csname pst@circ@tmp@\number\pst@circ@count@iii\endcsname{#2}%
- {\setkeys{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
+ \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@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}
+ (! 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@
}
@@ -877,19 +994,19 @@
\def\pst@multidipole@switch{\@ifnextchar[{\pst@multidipole@switch@}{\pst@multidipole@switch@[]}}
%
\def\pst@multidipole@switch@[#1]#2{%
- \expandafter\def\csname pst@circ@tmp@\number\pst@circ@count@iii\endcsname{#2}%
- {\setkeys{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
+ \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@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}
+ (! 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@
}
@@ -897,39 +1014,38 @@
\def\pst@multidipole@diode{\@ifnextchar[{\pst@multidipole@diode@}{\pst@multidipole@diode@[]}}
%
\def\pst@multidipole@diode@[#1]#2{%
- \expandafter\def\csname pst@circ@tmp@\number\pst@circ@count@iii\endcsname{#2}%
- {\setkeys{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
+ \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@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}
+ (! 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@circ@tmp@\number\pst@circ@count@iii\endcsname{#2}%
- {\setkeys{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
+ \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@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}
+ (! 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@
}
@@ -937,19 +1053,19 @@
\def\pst@multidipole@lamp{\@ifnextchar[{\pst@multidipole@lamp@}{\pst@multidipole@lamp@[]}}
%
\def\pst@multidipole@lamp@[#1]#2{%
- \expandafter\def\csname pst@circ@tmp@\number\pst@circ@count@iii\endcsname{#2}%
- {\setkeys{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
+ \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@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}
+ (! 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@
}
@@ -957,19 +1073,19 @@
\def\pst@multidipole@circledipole{\@ifnextchar[{\pst@multidipole@circledipole@}{\pst@multidipole@circledipole@[]}}
%
\def\pst@multidipole@circledipole@[#1]#2{%
- \expandafter\def\csname pst@circ@tmp@\number\pst@circ@count@iii\endcsname{#2}%
- {\setkeys{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
+ \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@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}
+ (! 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@
}
@@ -977,19 +1093,19 @@
\def\pst@multidipole@LED{\@ifnextchar[{\pst@multidipole@LED@}{\pst@multidipole@LED@[]}}
%
\def\pst@multidipole@LED@[#1]#2{%
- \expandafter\def\csname pst@circ@tmp@\number\pst@circ@count@iii\endcsname{#2}%
- {\setkeys{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
+ \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@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}
+ (! 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@
}
@@ -997,209 +1113,280 @@
\def\pst@multidipole@wire{\@ifnextchar[{\pst@multidipole@wire@}{\pst@multidipole@wire@[]}}
%
\def\pst@multidipole@wire@[#1]{%
- {\setkeys{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
+ {\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\wire[#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\wire[#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@def@coor{%
\noexpand\pst@Verb{%
- /X@\the\pst@circ@count@i\space \the\pst@circ@count@i\space 1 sub X@length \noexpand\the\pst@circ@count@i\space div mul Xbegin@ add def
- /Y@\the\pst@circ@count@i\space \the\pst@circ@count@i\space 1 sub Y@length \noexpand\the\pst@circ@count@i\space div mul Ybegin@ add def
- /X@\the\pst@circ@count@ii\space \the\pst@circ@count@i\space X@length \noexpand\the\pst@circ@count@i\space div mul Xbegin@ add def
- /Y@\the\pst@circ@count@ii\space \the\pst@circ@count@i\space Y@length \noexpand\the\pst@circ@count@i\space div mul Ybegin@ add def
+ /X@\the\pst@count@i\space \the\pst@count@i\space 1 sub X@length \noexpand\the\pst@count@i\space div mul Xbegin@ add def
+ /Y@\the\pst@count@i\space \the\pst@count@i\space 1 sub Y@length \noexpand\the\pst@count@i\space div mul Ybegin@ add def
+ /X@\the\pst@count@ii\space \the\pst@count@i\space X@length \noexpand\the\pst@count@i\space div mul Xbegin@ add def
+ /Y@\the\pst@count@ii\space \the\pst@count@i\space Y@length \noexpand\the\pst@count@i\space div mul Ybegin@ add def
}%
\ignorespaces}
%
%%%%%%%%%%%%%%%%%%%%%%%%
%
+\def\pst@draw@dipole#1#2#3#4#5{% suggestion by Alain Ristow
+ \psset{dimen=middle}%
+ \psset{#1}%
+ \if\psk@I@label\@empty\else\psset{intensity=true}\fi
+ \if\psk@tension@label\@empty\else\psset{tension=true}\fi
+ \ifx\psk@Dconvention\pst@Dconvention@generator
+ \Pst@Dconventiontrue
+ \else
+ \ifx\psk@Dconvention\pst@Dconvention@receptor
+ \Pst@Dconventionfalse
+ \fi
+ \fi
+ \pcline[arrows=-,linestyle=none,fillstyle=none](#2)(#3)
+ \ncput[nrot=:U]{\pnode{dipole@M}}
+ \ifPst@parallel
+ \pcline[arrows=-,linestyle=none,fillstyle=none](#2)(dipole@M)
+ \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)
+ \ncput[npos=0]{\pnode{dipole@@@1}}
+ \ncput[npos=1]{\pnode{dipole@@@2}}
+ \ncput[nrot=:U]{#5}
+ \pcline[arrows=-](dipole@@1)(dipole@@@1)
+ \pcline[arrows=-](dipole@@@1)(dipole@1)
+ \pcline[arrows=-](dipole@2)(dipole@@@2)
+ \pcline[arrows=-](dipole@@@2)(dipole@@2)
+ \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)
+ \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)
+ \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)
+ \pst@intensity{#2}{#3}
+ \pst@tension{#2}{#3}
+ \fi%
+ }%
+%
+\iffalse % the original stuff
\def\pst@draw@dipole#1#2#3#4#5{%
- \setkeys{psset}{#1,dimen=middle}%
- \if\psk@circ@intensity@label\@empty\else
- \setkeys{psset}{intensity=true}%
- \fi
- \if\psk@circ@tension@label\@empty\else
- \setkeys{psset}{tension=true}%
- \fi
- \ifx\psk@circ@dipole@convention\pst@string@dipole@convention@generator
- \Pst@circ@dipole@conventiontrue
+ \psset{dimen=middle}%
+ \psset{#1}%
+ \if\psk@I@label\@empty\else\psset{intensity=true}\fi
+ \if\psk@tension@label\@empty\else\psset{tension=true}\fi
+ \ifx\psk@Dconvention\pst@Dconvention@generator
+ \Pst@Dconventiontrue
\else
- \ifx\psk@circ@dipole@convention\pst@string@dipole@convention@receptor
- \Pst@circ@dipole@conventionfalse
+ \ifx\psk@Dconvention\pst@Dconvention@receptor
+ \Pst@Dconventionfalse
\fi
\fi
- \pcline[linestyle=none,fillstyle=none](#2)(#3)
+ \pcline[arrows=-,linestyle=none,fillstyle=none](#2)(#3)
\ncput[nrot=:U]{\pnode{dipole@M}}
- \ifPst@circ@parallel
- \pcline[linestyle=none,fillstyle=none](#2)(dipole@M)
- \ncput[npos=\psk@circ@parallel@sep]{\pnode{dipole@@1}}
- \pcline[linestyle=none,fillstyle=none](#3)(dipole@M)
- \ncput[npos=\psk@circ@parallel@sep]{\pnode{dipole@@2}}
- \pcline[linestyle=none,fillstyle=none,offset=\psk@circ@parallel@arm](dipole@@1)(dipole@@2)
+ \ifPst@parallel
+ \pcline[arrows=-,linestyle=none,fillstyle=none](#2)(dipole@M)
+ \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)
\ncput[npos=0]{\pnode{dipole@@@1}}
\ncput[npos=1]{\pnode{dipole@@@2}}
\ncput[nrot=:U]{#5}
- \pcline(dipole@@1)(dipole@@@1)
- \pcline(dipole@@@1)(dipole@1)
- \pcline(dipole@2)(dipole@@@2)
- \pcline(dipole@@@2)(dipole@@2)
- \ifPst@circ@parallel@node
+ \pcline[arrows=-](dipole@@1)(dipole@@@1)
+ \pcline[arrows=-](dipole@@@1)(dipole@1)
+ \pcline[arrows=-](dipole@2)(dipole@@@2)
+ \pcline[arrows=-](dipole@@@2)(dipole@@2)
+ \ifPst@parallel@node
\pscircle*(dipole@@1){2\pslinewidth}
\pscircle*(dipole@@2){2\pslinewidth}
\fi
- \pcline[linestyle=none,fillstyle=none,offset=\psk@circ@label@offset](dipole@@@1)(dipole@@@2)
- \ncput[nrot=\psk@circ@label@angle]{#4}
- \pst@circ@intensity{dipole@@@1}{dipole@@@2}
- \pst@circ@tension{dipole@@@1}{dipole@@@2}
+ \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[linestyle=none,fillstyle=none,offset=\psk@circ@label@offset](#2)(#3)
- \ncput[nrot=\psk@circ@label@angle]{#4}
- \pcline(#2)(dipole@1)
- \pcline(dipole@2)(#3)
- \pst@circ@intensity{#2}{#3}
- \pst@circ@tension{#2}{#3}
+ \pcline[arrows=-,linestyle=none,fillstyle=none,offset=\psk@label@offset](#2)(#3)
+ \ncput[nrot=\psk@label@angle]{#4}
+ \pcline[arrows=-](#2)(dipole@1)
+ \pcline[arrows=-](dipole@2)(#3)
+ \pcline[linestyle=none](#2)(#3)
+ \pst@intensity{#2}{#3}
+ \pst@tension{#2}{#3}
\fi
}
+\fi
%
-\def\pst@circ@intensity#1#2{%
- \ifPst@circ@intensity
- \ifPst@circ@direct@convention
- \pcline[linestyle=none,fillstyle=none](#1)(dipole@1)
+\def\pst@intensity#1#2{%
+ \ifPst@intensity
+ \ifPst@direct@convention
+ \pcline[arrows=-,linestyle=none,fillstyle=none](#1)(dipole@1)
\ncput[nrot=:U]{%
- \psline[linecolor=\psk@circ@intensity@color,
- linewidth=\psk@circ@intensity@width,arrowinset=0]{->}(-.1,0)(.1,0)}
- \pcline[linestyle=none,fillstyle=none,offset=\psk@circ@intensity@label@offset](#1)(dipole@1)
- \ncput[nrot=\psk@circ@label@angle]{\csname\psk@circ@intensity@labelcolor\endcsname\psk@circ@intensity@label}
+ \psline[linecolor=\psk@I@color,
+ linewidth=\psk@I@width,arrowinset=0]{->}(-.1,0)(.1,0)}
+ \pcline[arrows=-,linestyle=none,fillstyle=none,offset=\psk@I@label@offset](#1)(dipole@1)
+ \ncput[nrot=\psk@label@angle]{\csname\psk@I@labelcolor\endcsname\psk@I@label}
\else
- \pcline[linestyle=none,fillstyle=none](dipole@2)(#2)
+ \pcline[arrows=-,linestyle=none,fillstyle=none](dipole@2)(#2)
\ncput[nrot=:U]{%
- \psline[linecolor=\psk@circ@intensity@color,linewidth=\psk@circ@intensity@width]{<-}(-.1,0)(.1,0)}
- \pcline[linestyle=none,fillstyle=none,offset=\psk@circ@intensity@label@offset](dipole@2)(#2)
- \ncput[nrot=\psk@circ@label@angle]{\csname\psk@circ@intensity@labelcolor\endcsname\psk@circ@intensity@label}
+ \psline[linecolor=\psk@I@color,linewidth=\psk@I@width]{<-}(-.1,0)(.1,0)}
+ \pcline[arrows=-,linestyle=none,fillstyle=none,offset=\psk@I@label@offset](dipole@2)(#2)
+ \ncput[nrot=\psk@label@angle]{\csname\psk@I@labelcolor\endcsname\psk@I@label}
\fi
\fi
}
%
-\def\pst@circ@tension#1#2{%
- \ifPst@circ@tension
- \pcline[linestyle=none,fillstyle=none,offset=\psk@circ@tension@offset](#1)(dipole@1)
+\def\pst@tension#1#2{%
+ \ifPst@tension
+ \pcline[arrows=-,linestyle=none,fillstyle=none,%
+ offset=\psk@tension@offset](#1)(dipole@1)
\ncput[npos=.5]{\pnode{tension@1}}
- \pcline[linestyle=none,fillstyle=none,offset=-\psk@circ@tension@offset](#2)(dipole@2)
+ \pcline[arrows=-,linestyle=none,fillstyle=none,
+ offset=-\psk@tension@offset](#2)(dipole@2)
\ncput[npos=.5]{\pnode{tension@2}}
- \ifPst@circ@direct@convention
- \ifPst@circ@dipole@convention
- \pcline[linecolor=\psk@circ@tension@color,
- linewidth=\psk@circ@tension@width,arrowinset=0]{<-}(tension@1)(tension@2)
+ \ifPst@direct@convention
+ \ifPst@Dconvention
+ \pcline[linecolor=\psk@tension@color,
+ linewidth=\psk@tension@width,arrowinset=0]{<-}(tension@1)(tension@2)
\else
- \pcline[linecolor=\psk@circ@tension@color,
- linewidth=\psk@circ@tension@width,arrowinset=0]{->}(tension@1)(tension@2)
+ \pcline[linecolor=\psk@tension@color,
+ linewidth=\psk@tension@width,arrowinset=0]{->}(tension@1)(tension@2)
\fi
\else
- \ifPst@circ@dipole@convention
- \pcline[linecolor=\psk@circ@tension@color,
- linewidth=\psk@circ@tension@width,arrowinset=0]{->}(tension@1)(tension@2)
+ \ifPst@Dconvention
+ \pcline[linecolor=\psk@tension@color,
+ linewidth=\psk@tension@width,arrowinset=0]{->}(tension@1)(tension@2)
\else
- \pcline[linecolor=\psk@circ@tension@color,
- linewidth=\psk@circ@tension@width,arrowinset=0]{<-}(tension@1)(tension@2)
+ \pcline[linecolor=\psk@tension@color,
+ linewidth=\psk@tension@width,arrowinset=0]{<-}(tension@1)(tension@2)
\fi
\fi
- \pcline[linestyle=none,fillstyle=none,offset=\psk@circ@tension@label@offset](dipole@1)(dipole@2)
- \ncput[nrot=\psk@circ@label@angle]{%
- \csname\psk@circ@tension@labelcolor\endcsname\psk@circ@tension@label}
+ \pcline[arrows=-,linestyle=none,fillstyle=none,%
+ offset=\psk@tension@label@offset](dipole@1)(dipole@2)
+ \ncput[nrot=\psk@label@angle]{%
+ \csname\psk@tension@labelcolor\endcsname\psk@tension@label}
\fi
}
%
\def\pst@draw@resistor{%
- \ifx\psk@circ@dipole@style\pst@string@dipole@style@zigzag
+ \ifx\psk@Dstyle\pst@Dstyle@zigzag
\pnode(-0.75,0){dipole@1}
\pnode(0.75,0){dipole@2}
\multips(-0.75,0)(0.5,0){3}%
- {\psline[linewidth=1.5\pslinewidth](0,0)(0.125,0.25)(0.375,-0.25)(0.5,0)}%
+ {\psline[arrows=-,linewidth=1.5\pslinewidth]%
+ (0,0)(0.125,0.25)(0.375,-0.25)(0.5,0)}%
\else
\pnode(-0.5,0){dipole@1}
\pnode(0.5,0){dipole@2}
\psframe[linewidth=1.5\pslinewidth](-0.5,-0.25)(0.5,0.25)
\fi
- \ifPst@circ@variable%
+ \ifPst@variable%
\psline{->}(-0.5,-0.55)(0.5,0.55)%
\fi
+ \ifx\psk@Dstyle\pst@Dstyle@varistor
+ \psline[linewidth=0.8pt](-0.75,-0.55)(-0.5,-0.55)(0.5,0.55)%
+ \fi
}
%
+% pd start ====================================================
+\def\pst@draw@dashpot{%
+ \pnode(0,0){dipole@1}%
+ \pnode(0.5,0){dipole@2}%
+ \psline[linewidth=1.5\pslinewidth]%
+ (-0.5,-0.5)(0.5,-0.5)(0.5,0.5)(-0.5,0.5)%
+ \psline[linewidth=1.5\pslinewidth](0,-0.4)(0,0.4)%
+}
+% pd end ======================================================
\def\pst@draw@capacitor{%
\bgroup
\psset{linewidth=1.5\pslinewidth}%
- \ifx\psk@circ@dipole@style\pst@string@dipole@style@chemical
- \psline(-0.2,-0.5)(-0.2,0.5)
- \psarc(1.1875,0){1.0625}{154.8}{205.2}
+ \ifx\psk@Dstyle\pst@Dstyle@chemical
+ \psline[arrows=-](-0.2,-0.5)(-0.2,0.5)
+ \psarc[arrows=-](1.1875,0){1.0625}{154.8}{205.2}
\pnode(-0.2,0){dipole@1}
\pnode(0.125,0){dipole@2}
\else
- \ifx\psk@circ@dipole@style\pst@string@dipole@style@elektorchemical
+ \ifx\psk@Dstyle\pst@Dstyle@elektorchemical
\psframe[framearc=0.01,dimen=outer](-0.2284123,0.2743733)(-0.0557103,-0.2743733)
\psframe[framearc=0.01,dimen=outer,fillstyle=solid,fillcolor=black](0.0557103,0.2743733)(0.2284123,-0.2743733)
\pnode(-0.2284123,0){dipole@1}
\pnode(0.2284123,0){dipole@2}
\else
- \ifx\psk@circ@dipole@style\pst@string@dipole@style@elektor
+ \ifx\psk@Dstyle\pst@Dstyle@elektor
\psframe[framearc=0.01,dimen=outer,fillstyle=solid,fillcolor=black](-0.2284123,0.2743733)(-0.0557103,-0.2743733)
\psframe[framearc=0.01,dimen=outer,fillstyle=solid,fillcolor=black](0.0557103,0.2743733)(0.2284123,-0.2743733)
\pnode(-0.2284123,0){dipole@1}
\pnode(0.2284123,0){dipole@2}
\else
- \psline(-0.2,-0.5)(-0.2,0.5)
- \psline(0.2,-0.5)(0.2,0.5)
+ \psline[arrows=-](-0.2,-0.5)(-0.2,0.5)
+ \psline[arrows=-](0.2,-0.5)(0.2,0.5)
\pnode(-0.2,0){dipole@1}
\pnode(0.2,0){dipole@2}
\fi
\fi
\fi
- \ifPst@circ@variable%
- \psline{->}(-0.5,-0.55)(0.5,0.55)%
+ \ifPst@variable%
+ \psline[arrows=->](-0.5,-0.55)(0.5,0.55)%
\fi
\egroup
}
%
\def\pst@draw@OA{%
- \ifx\psk@circ@tripole@style\pst@string@tripole@style@french
+ \ifx\psk@tripole@style\pst@tripole@style@french
\psframe[linewidth=1.5\pslinewidth](-1,-0.75)(1,0.75)
\pspolygon(-0.4,-0.2)(-0.4,0.2)(-0.05,0)
\else
- \psline(-1,-0.75)(-1,0.75)
- \psline(-1,0.75)(1,0)
- \psline(-1,-0.75)(1,0)
+ \pspolygon[arrows=-](-1,-0.75)(-1,0.75)(1,0)(-1,-0.75)
+ \ifPst@OA@power
+ \psline{-o}(0,0.375)(0,0.75)\uput[90](0,0.75){$+$}
+ \psline{-o}(0,-0.375)(0,-0.75)\uput[-90](0,-0.75){$-$}
+ \fi
\fi
- \pnode(-1,0.25){\ifPst@circ@OA@invert Minus@\else Plus@\fi}
- \pnode(-1,-0.25){\ifPst@circ@OA@invert Plus@\else Minus@\fi}
+ \pnode(-1,0.25){\ifPst@OA@invert Minus@\else Plus@\fi}
+ \pnode(-1,-0.25){\ifPst@OA@invert Plus@\else Minus@\fi}
\pnode(1,0){S@}
- \uput{0.1}[0](-1,0.25){\ifPst@circ@OA@invert$-$\else$+$\fi}
- \uput{0.1}[0](-1,-0.25){\ifPst@circ@OA@invert$+$\else$-$\fi}
- \ifPst@circ@OA@perfect
- \rput(0.25,0){$\infty$}
- \fi
- }
+ \uput{0.1}[0](-1,0.25){\ifPst@OA@invert$-$\else$+$\fi}
+ \uput{0.1}[0](-1,-0.25){\ifPst@OA@invert$+$\else$-$\fi}
+ \ifPst@OA@perfect\rput(0.25,0){$\infty$}\fi%
+}
%
\def\pst@draw@battery{%
- \psline[linewidth=1.5\pslinewidth](-0.10,-0.5)(-0.10,0.5)
- \psline[linewidth=3\pslinewidth](0.10,-0.25)(0.10,0.25)
+ \psline[arrows=-,linewidth=1.5\pslinewidth](-0.10,-0.5)(-0.10,0.5)
+ \psline[arrows=-,linewidth=3\pslinewidth](0.10,-0.25)(0.10,0.25)
\pnode(-0.1,0){dipole@1}
\pnode(0.1,0){dipole@2}
- \ifPst@circ@variable%
+ \ifPst@variable%
\psline{->}(-0.75,-0.5)(0.75,0.5)%
\fi
}
%
\def\pst@draw@coil{%
- \ifx\psk@circ@dipole@style\pst@string@dipole@style@curved
- \pscurve(-0.7,0)(-0.6,0.3)(-0.35,0)(-0.4,-0.2)
+ \ifx\psk@Dstyle\pst@Dstyle@curved
+ \pscurve[arrows=-](-0.7,0)(-0.6,0.3)(-0.35,0)(-0.4,-0.2)
(-0.5,0)(-0.4,0.3)(-0.15,0)(-0.2,-0.2)(-0.3,0)
(-0.2,0.3)(0.05,0)(0,-0.2)(-0.1,0)
(0,0.3)(0.25,0)(0.2,-0.2)(0.1,0)
@@ -1208,7 +1395,7 @@
\pnode(-0.7,0){dipole@1}
\pnode(0.5,0){dipole@2}
\else
- \ifx\psk@circ@dipole@style\pst@string@dipole@style@elektor
+ \ifx\psk@Dstyle\pst@Dstyle@elektor
\psarcn[arrows=c-](-0.3885794,0){0.1295265}{-180}{0}
\psarcn(-0.1295265,0){0.1295265}{-180}{0}
\psarcn(0.1295265,0){0.1295265}{-180}{0}
@@ -1216,59 +1403,63 @@
\pnode(-0.5181058,0){dipole@1}
\pnode(0.5181058,0){dipole@2}
\else
- \ifx\psk@circ@dipole@style\pst@string@dipole@style@elektorcurved
+ \ifx\psk@Dstyle\pst@Dstyle@elektorcurved
\psarcn[arrows=c-c](-0.408167,0.089453){0.211665}{-155}{-410}
\psarcn[arrows=-c](-0.136056,0.089453){0.211665}{-130}{-410}
\psarcn[arrows=-c](0.136055,0.089453){0.211665}{-130}{-410}
\psarcn[arrows=-c](0.408167,0.089453){0.211665}{-130}{-385}
\pnode(-0.6,0){dipole@1}
\pnode(0.6,0){dipole@2}
- \else
- \ifx\psk@circ@dipole@style\pst@string@dipole@style@rectangle
- \pnode(-0.5,0){dipole@1}
- \pnode(0.5,0){dipole@2}
- \psframe[linewidth=1.5\pslinewidth,fillstyle=solid,fillcolor=black](-0.5,-0.25)(0.5,0.25)
- \else
- \pscurve[linewidth=1.5\pslinewidth](-1,0)(-0.75,0.5)(-0.5,0)
- \pscurve[linewidth=1.5\pslinewidth](-0.5,0)(-0.25,0.5)(0,0)
- \pscurve[linewidth=1.5\pslinewidth](0,0)(0.25,0.5)(0.5,0)
- \pscurve[linewidth=1.5\pslinewidth](0.5,0)(0.75,0.5)(1,0)
- \pnode(-1,0){dipole@1}
- \pnode(1,0){dipole@2}
- \fi
- \fi
- \fi
- \fi
- \ifPst@circ@variable%
- \psline{->}(-0.75,-0.5)(0.75,0.5)%
- \fi
+ \else
+ \ifx\psk@Dstyle\pst@Dstyle@rectangle
+ \pnode(-0.5,0){dipole@1}
+ \pnode(0.5,0){dipole@2}
+ \psframe[linewidth=1.5\pslinewidth,fillstyle=solid,fillcolor=black](-0.5,-0.25)(0.5,0.25)
+ \else
+ \pscurve[arrows=-,linewidth=1.5\pslinewidth](-1,0)(-0.75,0.5)(-0.5,0)
+ \pscurve[arrows=-,linewidth=1.5\pslinewidth](-0.5,0)(-0.25,0.5)(0,0)
+ \pscurve[arrows=-,linewidth=1.5\pslinewidth](0,0)(0.25,0.5)(0.5,0)
+ \pscurve[arrows=-,linewidth=1.5\pslinewidth](0.5,0)(0.75,0.5)(1,0)
+ \pnode(-1,0){dipole@1}
+ \pnode(1,0){dipole@2}
+ \fi\fi\fi\fi%
+ \ifPst@variable\psline{->}(-0.75,-0.5)(0.75,0.5)\fi%
}
%
\def\pst@draw@Ucc{%
\pnode(-0.5,0){dipole@1}
\pnode(0.5,0){dipole@2}
- \psline[linewidth=2\pslinewidth]{->}(-0.35,0)(0.35,0)
- \pscircle[linewidth=1.5\pslinewidth](0,0){0.5}
- }
+ \ifx\psk@Dstyle\pst@Dstyle@diamond
+ \pspolygon[linewidth=1.5\pslinewidth](-0.5,0)(0,0.5)(0.5,0)(0,-0.5)
+ \else
+ \pscircle[linewidth=1.5\pslinewidth](0,0){0.5}
+ \fi
+ \ifcase\psk@labelInside\or% do nothing
+ \psline[arrows=-,linewidth=2\pslinewidth]{->}(-0.35,0)(0.35,0)\or% case 1
+ \uput{0.1}[0]{90}(-0.5,0){$-$}% case 2
+ \uput{0.1}[0]{90}(0,0){$+$}\or% case 3
+ \rput(0,0){\large\bf =}
+ \fi
+}
%
\def\pst@draw@Icc{%
\pnode(-0.5,0){dipole@1}
\pnode(0.5,0){dipole@2}
\pscircle[linewidth=1.5\pslinewidth](0,0){0.5}
- \psline[linewidth=1.5\pslinewidth](0,-0.5)(0,0.5)
+ \psline[arrows=-,linewidth=1.5\pslinewidth](0,-0.5)(0,0.5)
}
%
\def\pst@draw@switch{%
- \ifx\psk@circ@dipole@style\pst@string@dipole@style@close
+ \ifx\psk@Dstyle\pst@Dstyle@close
\pnode(-0.5,0){dipole@1}
\pnode(0.5,0){dipole@2}
\qdisk(-0.5,0){1.5pt}
\qdisk(0.5,0){1.5pt}
- \psline[linewidth=2\pslinewidth](-0.5,0.05)(0.5,0.05)
+ \psline[arrows=-,linewidth=2\pslinewidth](-0.5,0.05)(0.5,0.05)
\else
\pnode(-0.55,0){dipole@1}
\pnode(0.5,0){dipole@2}
- \psline[linewidth=2\pslinewidth](-0.5,0)(0.5,0.5)
+ \psline[arrows=-,linewidth=2\pslinewidth](-0.5,0)(0.5,0.5)
\psarcn[arrowinset=0]{->}(-0.5,0){0.75}{45}{-45}
\pscircle[fillstyle=solid](-0.5,0){0.07}
\qdisk(0.5,0){1.5pt}
@@ -1276,43 +1467,42 @@
}
%
\def\pst@draw@diode{%
-% start Herbert 2003-07-23
- \ifx\psk@circ@dipole@style\pst@string@dipole@style@triac
+ \ifx\psk@Dstyle\pst@Dstyle@triac
\pspolygon[linewidth=1.5\pslinewidth](-0.25,-0.4)(-0.25,0)(0.25,-0.2)
\pspolygon[linewidth=1.5\pslinewidth](0.25,0)(-0.25,0.2)(0.25,0.4)
- \psline[linewidth=1.5\pslinewidth](-0.25,-0.4)(-0.25,0.4)
- \psline[linewidth=1.5\pslinewidth](0.25,-0.4)(0.25,0.4)
- \psline[linewidth=\pslinewidth](0.25,-0.2)(0.5,-0.3)(0.5,-0.6)
+ \psline[arrows=-,linewidth=1.5\pslinewidth](-0.25,-0.4)(-0.25,0.4)
+ \psline[arrows=-,linewidth=1.5\pslinewidth](0.25,-0.4)(0.25,0.4)
+ \psline[arrows=-,linewidth=\pslinewidth](0.25,-0.2)(0.5,-0.3)(0.5,-0.6)
\else
-% end Herbert 2003-07-23
- \pspolygon[linewidth=1.5\pslinewidth](-0.25,-0.2)(-0.25,0.2)(0.25,0)
- \psline[linewidth=1.5\pslinewidth](0.25,0.2)(0.25,-0.2)
-% start Herbert 2003-07-17
- \ifx\psk@circ@dipole@style\pst@string@dipole@style@thyristor
- \psline[linewidth=1.5\pslinewidth](0,-0.1)(0,-0.35)
+ \pspolygon[arrows=-,linewidth=1.5\pslinewidth](-0.25,-0.2)(-0.25,0.2)(0.25,0)
+ \psline[arrows=-,linewidth=1.5\pslinewidth](0.25,0.2)(0.25,-0.2)
+ \ifx\psk@Dstyle\pst@Dstyle@thyristor
+ \psline[arrows=-,linewidth=1.5\pslinewidth](0,-0.1)(0,-0.35)
\fi
- \ifx\psk@circ@dipole@style\pst@string@dipole@style@GTO
- \psline[linewidth=1.5\pslinewidth](-0.1,-0.12)(-0.1,-0.35)
- \psline[linewidth=1.5\pslinewidth](0,-0.1)(0,-0.35)
+ \ifx\psk@Dstyle\pst@Dstyle@GTO
+ \psline[arrows=-,linewidth=1.5\pslinewidth](-0.1,-0.12)(-0.1,-0.35)
+ \psline[arrows=-,linewidth=1.5\pslinewidth](0,-0.1)(0,-0.35)
\fi
\fi
-% end Herbert 2003-07-17
\pnode(-0.25,0){dipole@1}
\pnode(0.25,0){dipole@2}
}
%
\def\pst@draw@Zener{%
\pspolygon[linewidth=1.5\pslinewidth](-0.25,-0.2)(-0.25,0.2)(0.25,0)
- \psline[linewidth=1.5\pslinewidth](0.25,0.2)(0.25,-0.2)
- \psline[linewidth=1.5\pslinewidth](0.25,0.25)(0.25,-0.25)(0,-0.25)
+ \ifx\psk@Dstyle\pst@Dstyle@Z
+ \psline[arrows=-,linewidth=1.5\pslinewidth](0.1,0.35)(0.25,0.25)(0.25,-0.25)(0.4,-0.35)
+ \else
+ \psline[arrows=-,linewidth=1.5\pslinewidth](0.25,0.25)(0.25,-0.25)(0,-0.25)
+ \fi
\pnode(-0.25,0){dipole@1}
\pnode(0.25,0){dipole@2}
}
%
\def\pst@draw@lamp{%
\pscircle[linewidth=1.5\pslinewidth]{0.5}
- \psline[linewidth=1.5\pslinewidth](0.5;45)(0.5;225)
- \psline[linewidth=1.5\pslinewidth](0.5;135)(0.5;315)
+ \psline[arrows=-,linewidth=1.5\pslinewidth](0.5;45)(0.5;225)
+ \psline[arrows=-,linewidth=1.5\pslinewidth](0.5;135)(0.5;315)
\pnode(-0.5,0){dipole@1}
\pnode(0.5,0){dipole@2}
}
@@ -1324,53 +1514,23 @@
}
%
\def\pst@draw@LED{%
- \pspolygon[linewidth=1.5\pslinewidth](-0.25,-0.2)(-0.25,0.2)(0.25,0)
- \psline[linewidth=1.5\pslinewidth](0.25,0.2)(0.25,-0.2)
+ \pspolygon[arrows=-,linewidth=1.5\pslinewidth](-0.25,-0.2)(-0.25,0.2)(0.25,0)
+ \psline[arrows=-,linewidth=1.5\pslinewidth](0.25,0.2)(0.25,-0.2)
\pnode(-0.25,0){dipole@1}
\pnode(0.25,0){dipole@2}
- \bgroup%
- \psset{arrows=->}%
- \multips(-0.25,0.3)(0.25,0){3}{\psline(0.25,0.22)}%
- \egroup%
-}
-%
-\def\pst@draw@transistor{%
- \ifPst@circ@transistor@circle
- \pscircle(0,0){0.8}
- \fi
- \psline[linewidth=4\pslinewidth](-0.3,-0.5)(-0.3,0.5)
- \psline(-0.3,-0.25)(0.25,-0.5)(0.25,-0.759934)
- \ifPst@circ@transistor@invert\else
- \pnode(-0.3,-0.25){@emitter}
- \pnode(0.25,-0.5){@@emitter}
- \fi
- \pnode(0.25,-0.759934){\ifPst@circ@transistor@invert collector@\else emitter@\fi}
- \psline(-0.3,0.25)(0.25,0.5)(0.25,0.759934)
- \ifPst@circ@transistor@invert
- \pnode(-0.3,0.25){@emitter}
- \pnode(0.25,0.5){@@emitter}
- \fi
- \pnode(0.25,0.759934){\ifPst@circ@transistor@invert emitter@\else collector@\fi}
- \psline(-0.3,0)(-.8,0)
- \pnode(-.8,0){base@}
- \ifPst@circ@transistor@type
- \ncline[linestyle=none,fillstyle=none]{@@emitter}{@emitter}
- \else
- \ncline[linestyle=none,fillstyle=none]{@emitter}{@@emitter}
- \fi
- \ncput[nrot=:U]{\psline[arrowinset=0,arrowscale=2]{->}(0,0)(.2,0)}
+ \multips(-0.25,0.3)(0.25,0){3}{\psline[arrows=->](0.25,0.22)}%
}
%
\def\pst@draw@Tswitch{%
- \ifx\psk@circ@tripole@style\pst@string@tripole@style@right
- \psline[linewidth=2\pslinewidth](0.5,0)(0,-1)
+ \ifx\psk@tripole@style\pst@tripole@style@right
+ \psline[arrows=-,linewidth=2\pslinewidth](0.5,0)(0,-1)
\psarcn[arrowinset=0]{<-}(0,-1){0.75}{135}{45}
\else
- \ifx\psk@circ@tripole@style\pst@string@tripole@style@left
- \psline[linewidth=2\pslinewidth](-0.5,0)(0,-1)
+ \ifx\psk@tripole@style\pst@tripole@style@left
+ \psline[arrows=-,linewidth=2\pslinewidth](-0.5,0)(0,-1)
\psarcn[arrowinset=0]{->}(0,-1){0.75}{135}{45}
\else
- \psline[linewidth=2\pslinewidth](0,0.1)(0,-1)
+ \psline[arrows=-,linewidth=2\pslinewidth](0,0.1)(0,-1)
\psarcn[linewidth=1pt,arrowinset=0]{<->}(0,-1){0.75}{135}{45}
\fi
\fi
@@ -1383,14 +1543,14 @@
}
%
\def\pst@draw@transformer{
- \ifx\psk@circ@dipole@style\pst@string@dipole@style@rectangle
+ \ifx\psk@Dstyle\pst@Dstyle@rectangle
\psframe[fillstyle=solid,fillcolor=black](-0.7,-0.75)(-0.2,0.75)
\psframe[fillstyle=solid,fillcolor=black](0.7,-0.75)(0.2,0.75)
- \psline[linewidth=0.1cm](0,-0.75)(0,0.75)
+ \psline[arrows=-,linewidth=0.1cm](0,-0.75)(0,0.75)
\pnode(-0.5,0.75){inup@}
\pnode(-0.5,-0.75){indown@}
\else
- \pscurve(-0.5,0.9)(-0.2,0.8)(-0.5,0.7)(-0.7,0.8)(-0.5,0.82)(-0.2,0.6)
+ \pscurve[arrows=-](-0.5,0.9)(-0.2,0.8)(-0.5,0.7)(-0.7,0.8)(-0.5,0.82)(-0.2,0.6)
(-0.5,0.5)(-0.7,0.6)(-0.5,0.62)(-0.2,0.4)
(-0.5,0.3)(-0.7,0.4)(-0.5,0.42)(-0.2,0.2)
(-0.5,0.1)(-0.7,0.2)(-0.5,0.22)(-0.2,0)
@@ -1398,16 +1558,16 @@
(-0.5,-0.3)(-0.7,-0.2)(-0.5,-0.18)(-0.2,-0.4)
(-0.5,-0.5)(-0.7,-0.4)(-0.5,-0.38)(-0.2,-0.6)
(-0.5,-0.7)(-0.7,-0.6)(-0.5,-0.58)(-.2,-0.8)(-0.5,-0.9)
- \pscurve(0.5,0.7)(0.2,0.6)(0.5,0.5)(0.7,0.6)(0.5,0.62)
+ \pscurve[arrows=-](0.5,0.7)(0.2,0.6)(0.5,0.5)(0.7,0.6)(0.5,0.62)
(0.2,0.4)(0.5,0.3)(0.7,0.4)(0.5,0.42)
(0.2,0.2)(0.5,0.1)(0.7,0.2)(0.5,0.22)
(0.2,0.)(0.5,-0.1)(0.7,0)(0.5,0.02)
(0.2,-0.2)(0.5,-0.3)(0.7,-0.2)(0.5,-0.18)
(0.2,-0.4)(0.5,-0.5)(0.7,-0.4)(0.5,-0.38)
(0.2,-0.6)(0.5,-0.7)
- \psline(-0.1,0.7)(-0.1,-0.7)
- \psline(0,0.7)(0,-0.7)
- \psline(0.1,0.7)(0.1,-0.7)
+ \psline[arrows=-](-0.1,0.7)(-0.1,-0.7)
+ \psline[arrows=-](0,0.7)(0,-0.7)
+ \psline[arrows=-](0.1,0.7)(0.1,-0.7)
\pnode(-0.5,0.9){inup@}
\pnode(-0.5,-0.9){indown@}
\fi
@@ -1418,19 +1578,19 @@
\def\pst@draw@optoCoupler{%
% diode
\pspolygon[linewidth=1.5\pslinewidth](-0.5,-0.25)(-0.7,0.25)(-0.3,0.25)
- \psline[linewidth=1.5\pslinewidth](-0.7,-0.25)(-0.3,-0.25)
+ \psline[arrows=-,linewidth=1.5\pslinewidth](-0.7,-0.25)(-0.3,-0.25)
\psline{->}(-0.2,0.2)(0,0.1)
\psline{->}(-0.2,0)(0,-0.1)
% transistor
- \psline[linewidth=4\pslinewidth](0.25,-0.3)(0.25,0.3)
- \psline[linewidth=1.5\pslinewidth](0.25,0)(0.75,0.5)
- \psline[linewidth=1.5\pslinewidth](0.25,0)(0.75,-0.5)
+ \psline[arrows=-,linewidth=4\pslinewidth](0.25,-0.3)(0.25,0.3)
+ \psline[arrows=-,linewidth=1.5\pslinewidth](0.25,0)(0.75,0.5)
+ \psline[arrows=-,linewidth=1.5\pslinewidth](0.25,0)(0.75,-0.5)
\pnode(0.75,-0.5){d@1}
\pnode(0.25,0){d@2}
- \ifx\psk@circ@transistor@type\pst@string@transistor@type@PNP
- \ncline[linestyle=none,fillstyle=none]{d@1}{d@2}
+ \ifx\psk@Ttype\pst@Ttype@PNP
+ \ncline[arrows=-,linestyle=none,fillstyle=none]{d@1}{d@2}
\else
- \ncline[linestyle=none,fillstyle=none]{d@2}{d@1}
+ \ncline[arrows=-,linestyle=none,fillstyle=none]{d@2}{d@1}
\fi
\ncput[nrot=:U]{\psline[arrowinset=0,arrowscale=2]{->}(0,0)(.2,0)}
\pnode(-0.5,0.25){inup@}
@@ -1442,65 +1602,65 @@
\def\pst@draw@logic[#1]{\@ifnextchar({\pst@draw@logici[#1]}{\pst@draw@logici[#1](0,0)}}
%
\def\pst@draw@logici[#1](#2)#3{{%
- \setkeys{psset}{#1}%
+ \psset{#1}%
\rput[lb](#2){%
- \psframe[linewidth=2\pslinewidth](0,0)(\psk@circ@logic@width,\psk@circ@logic@height)%
+ \psframe[linewidth=2\pslinewidth](0,0)(\psk@logic@width,\psk@logic@height)%
}
\pst@getcoor{#2}\pst@tempa
- \ifPst@circ@logic@changeLR\def\logic@LR{true}\else\def\logic@LR{false}\fi%
+ \ifPst@logic@changeLR\def\logic@LR{true}\else\def\logic@LR{false}\fi%
\pstVerb{
/YA \pst@tempa exch pop \pst@number\psyunit div def
- /YB YA \psk@circ@logic@height\space add def
+ /YB YA \psk@logic@height\space add def
\logic@LR {%
/XB \pst@tempa pop \pst@number\psxunit div def
- /XA XB \psk@circ@logic@width\space add def
+ /XA XB \psk@logic@width\space add def
}{%
/XA \pst@tempa pop \pst@number\psxunit div def
- /XB XA \psk@circ@logic@width\space add def
+ /XB XA \psk@logic@width\space add def
} ifelse
/dy YB YA sub def
}
- \ifx\psk@circ@logic@type\pst@string@logic@type@RS%---------------- RS -----------------
+ \ifx\psk@logic@type\pst@logic@type@RS%---------------- RS -----------------
\pnode(! XA YA dy 4 div add){#3S}
\pnode(! XA YA dy 4 div 3 mul add){#3R}
\psline(#3R)(! XA 0.5 \logic@LR {add}{sub} ifelse YA dy 4 div 3 mul add)
\psline(#3S)(! XA 0.5 \logic@LR {add}{sub} ifelse YA dy 4 div add)
- \uput[\ifPst@circ@logic@changeLR 180\else 0\fi](#3R){\psk@circ@logic@nodestyle R}
- \uput[\ifPst@circ@logic@changeLR 180\else 0\fi](#3S){\psk@circ@logic@nodestyle S}
+ \uput[\ifPst@logic@changeLR 180\else 0\fi](#3R){\psk@logic@nodestyle R}
+ \uput[\ifPst@logic@changeLR 180\else 0\fi](#3S){\psk@logic@nodestyle S}
\pnode(! XB 0.2 \logic@LR {sub}{add} ifelse YA dy 4 div add){#3Qneg}
\pscircle[linewidth=0.5pt](! XB 0.1 \logic@LR {sub}{add} ifelse YA dy 4 div add){0.1}
\pnode(! XB YA dy 4 div 3 mul add){#3Q}
- \psline(#3Q)(! XB \psk@circ@logic@wireLength\space \logic@LR {sub}{add} ifelse YA dy 4 div 3 mul add)
- \psline(#3Qneg)(! XB \psk@circ@logic@wireLength\space \logic@LR {sub}{add} ifelse YA dy 4 div add)
- \uput[\ifPst@circ@logic@changeLR 0\else 180\fi](#3Q){\psk@circ@logic@nodestyle Q}
- \uput{0.4}[\ifPst@circ@logic@changeLR 0\else 180\fi](#3Qneg){\psk@circ@logic@nodestyle $\mathrm{\overline{Q}}$}
- \ifPst@circ@logic@showDot
- \qdisk(! XA \psk@circ@logic@wireLength\space \logic@LR {add}{sub} ifelse YA dy 4 div 3 mul add){3pt}
- \qdisk(! XA \psk@circ@logic@wireLength\space \logic@LR {add}{sub} ifelse YA dy 4 div add){3pt}
- \qdisk(! XB \psk@circ@logic@wireLength\space \logic@LR {sub}{add} ifelse YA dy 4 div 3 mul add){3pt}
- \qdisk(! XB \psk@circ@logic@wireLength\space \logic@LR {sub}{add} ifelse YA dy 4 div add){3pt}
+ \psline(#3Q)(! XB \psk@logic@wireLength\space \logic@LR {sub}{add} ifelse YA dy 4 div 3 mul add)
+ \psline(#3Qneg)(! XB \psk@logic@wireLength\space \logic@LR {sub}{add} ifelse YA dy 4 div add)
+ \uput[\ifPst@logic@changeLR 0\else 180\fi](#3Q){\psk@logic@nodestyle Q}
+ \uput{0.4}[\ifPst@logic@changeLR 0\else 180\fi](#3Qneg){\psk@logic@nodestyle $\mathrm{\overline{Q}}$}
+ \ifPst@logic@showDot
+ \qdisk(! XA \psk@logic@wireLength\space \logic@LR {add}{sub} ifelse YA dy 4 div 3 mul add){3pt}
+ \qdisk(! XA \psk@logic@wireLength\space \logic@LR {add}{sub} ifelse YA dy 4 div add){3pt}
+ \qdisk(! XB \psk@logic@wireLength\space \logic@LR {sub}{add} ifelse YA dy 4 div 3 mul add){3pt}
+ \qdisk(! XB \psk@logic@wireLength\space \logic@LR {sub}{add} ifelse YA dy 4 div add){3pt}
\fi
\rput[b](!%
/dx XB XA sub 2 div def
- XA dx add YA 0.1 add){\psk@circ@logic@labelstyle #3}
+ XA dx add YA 0.1 add){\psk@logic@labelstyle #3}
\else
- \ifx\psk@circ@logic@type\pst@string@logic@type@D%---------------- D -----------------
+ \ifx\psk@logic@type\pst@logic@type@D%---------------- D -----------------
\pnode(! XA YA dy 2 div add){#3C}
\pnode(! XA YA dy 4 div 3 mul add){#3D}
\psline(#3D)(! XA 0.5 \logic@LR {add}{sub} ifelse YA dy 4 div 3 mul add)
\psline(#3C)(! XA 0.5 \logic@LR {add}{sub} ifelse YA dy 2 div add)
\psline[linewidth=0.5pt](! XA YA dy 2 div add 0.15 add)
(! XA 0.4 \logic@LR {sub}{add} ifelse YA dy 2 div add)(! XA YA dy 2 div add 0.15 sub)
- \uput[\ifPst@circ@logic@changeLR 180\else 0\fi](#3D){\psk@circ@logic@nodestyle D}
- \uput{0.5}[\ifPst@circ@logic@changeLR 180\else 0\fi](#3C){\psk@circ@logic@nodestyle C}
+ \uput[\ifPst@logic@changeLR 180\else 0\fi](#3D){\psk@logic@nodestyle D}
+ \uput{0.5}[\ifPst@logic@changeLR 180\else 0\fi](#3C){\psk@logic@nodestyle C}
\pnode(! XB 0.2 \logic@LR {sub}{add} ifelse YA dy 4 div add){#3Qneg}
\pscircle[linewidth=0.5pt](! XB 0.1 \logic@LR {sub}{add} ifelse YA dy 4 div add){0.1}
\pnode(! XB YA dy 4 div 3 mul add){#3Q}
\psline(#3Q)(! XB 0.5 \logic@LR {sub}{add} ifelse YA dy 4 div 3 mul add)
\psline(#3Qneg)(! XB 0.5 \logic@LR {sub}{add} ifelse YA dy 4 div add)
- \uput[\ifPst@circ@logic@changeLR 0\else 180\fi](#3Q){\psk@circ@logic@nodestyle Q}
- \uput{0.4}[\ifPst@circ@logic@changeLR 0\else 180\fi](#3Qneg){\psk@circ@logic@nodestyle $\mathrm{\overline{Q}}$}
- \ifPst@circ@logic@showDot
+ \uput[\ifPst@logic@changeLR 0\else 180\fi](#3Q){\psk@logic@nodestyle Q}
+ \uput{0.4}[\ifPst@logic@changeLR 0\else 180\fi](#3Qneg){\psk@logic@nodestyle $\mathrm{\overline{Q}}$}
+ \ifPst@logic@showDot
\qdisk(! XA 0.5 \logic@LR {add}{sub} ifelse YA dy 4 div 3 mul add){3pt}
\qdisk(! XA 0.5 \logic@LR {add}{sub} ifelse YA dy 2 div add){3pt}
\qdisk(! XB 0.5 \logic@LR {sub}{add} ifelse YA dy 4 div 3 mul add){3pt}
@@ -1508,38 +1668,38 @@
\fi
\rput[b](!%
/dx XB XA sub 2 div def
- XA dx add YA 0.1 add){\psk@circ@logic@labelstyle #3}
+ XA dx add YA 0.1 add){\psk@logic@labelstyle #3}
\else
- \ifx\psk@circ@logic@type\pst@string@logic@type@JK%---------------- JK -----------------
- \multido{\n=1+1}{\psk@circ@logic@JInput}{%
+ \ifx\psk@logic@type\pst@logic@type@JK%---------------- JK -----------------
+ \multido{\n=1+1}{\psk@logic@JInput}{%
\pnode(!%
- /Step dy 2 div \psk@circ@logic@JInput\space div def
+ /Step dy 2 div \psk@logic@JInput\space div def
/yNew Step \n\space mul def
XA YA yNew add Step 2 div sub){#3J\n}
\pst@getcoor{#3J\n}\pst@tempc
- \uput[\ifPst@circ@logic@changeLR 180\else 0\fi](#3J\n){\psk@circ@logic@nodestyle J\n}
+ \uput[\ifPst@logic@changeLR 180\else 0\fi](#3J\n){\psk@logic@nodestyle J\n}
\pnode(!
/YC \pst@tempc exch pop \pst@number\psyunit div def
/XC \pst@tempc pop \pst@number\psxunit div def
XC 0.5 \logic@LR {add}{sub} ifelse YC){tempJ\n}
\psline(#3J\n)(tempJ\n)% input
- \ifPst@circ@logic@showDot
+ \ifPst@logic@showDot
\qdisk(tempJ\n){3pt}
\fi
}
- \multido{\n=1+1}{\psk@circ@logic@KInput}{%
+ \multido{\n=1+1}{\psk@logic@KInput}{%
\pnode(!%
- /Step dy 2 div \psk@circ@logic@KInput\space div def
+ /Step dy 2 div \psk@logic@KInput\space div def
/yNew Step \n\space mul def
XA YB yNew sub Step 2 div add){#3K\n}
\pst@getcoor{#3K\n}\pst@tempc
- \uput[\ifPst@circ@logic@changeLR 180\else 0\fi](#3K\n){\psk@circ@logic@nodestyle K\n}
+ \uput[\ifPst@logic@changeLR 180\else 0\fi](#3K\n){\psk@logic@nodestyle K\n}
\pnode(!
/YC \pst@tempc exch pop \pst@number\psyunit div def
/XC \pst@tempc pop \pst@number\psxunit div def
XC 0.5 \logic@LR {add}{sub} ifelse YC){tempK\n}
\psline(#3K\n)(tempK\n)% input
- \ifPst@circ@logic@showDot
+ \ifPst@logic@showDot
\qdisk(tempK\n){3pt}
\fi
}
@@ -1547,108 +1707,108 @@
(! XA 0.4 \logic@LR {sub}{add} ifelse YA dy 2 div add)(! XA YA dy 2 div add 0.15 sub)
\pnode(! XA YA dy 2 div add){#3C}
\psline(#3C)(! XA 0.5 \logic@LR {add}{sub} ifelse YA dy 2 div add)
- \uput{0.5}[\ifPst@circ@logic@changeLR 180\else 0\fi](#3C){\psk@circ@logic@nodestyle C}
+ \uput{0.5}[\ifPst@logic@changeLR 180\else 0\fi](#3C){\psk@logic@nodestyle C}
\pnode(! XB 0.2 \logic@LR {sub}{add} ifelse YA dy 4 div add){#3Qneg}
\pscircle[linewidth=0.5pt](! XB 0.1 \logic@LR {sub}{add} ifelse YA dy 4 div add){0.1}
\pnode(! XB YA dy 4 div 3 mul add){#3Q}
\psline(#3Q)(! XB 0.5 \logic@LR {sub}{add} ifelse YA dy 4 div 3 mul add)
\psline(#3Qneg)(! XB 0.5 \logic@LR {sub}{add} ifelse YA dy 4 div add)
- \uput[\ifPst@circ@logic@changeLR 0\else 180\fi](#3Q){\psk@circ@logic@nodestyle Q}
- \uput{0.4}[\ifPst@circ@logic@changeLR 0\else 180\fi](#3Qneg){\psk@circ@logic@nodestyle $\mathrm{\overline{Q}}$}
- \ifPst@circ@logic@showDot
+ \uput[\ifPst@logic@changeLR 0\else 180\fi](#3Q){\psk@logic@nodestyle Q}
+ \uput{0.4}[\ifPst@logic@changeLR 0\else 180\fi](#3Qneg){\psk@logic@nodestyle $\mathrm{\overline{Q}}$}
+ \ifPst@logic@showDot
\qdisk(! XB 0.5 \logic@LR {sub}{add} ifelse YA dy 4 div 3 mul add){3pt}
\qdisk(! XB 0.5 \logic@LR {sub}{add} ifelse YA dy 4 div add){3pt}
\qdisk(! XA 0.5 \logic@LR {add}{sub} ifelse YA dy 2 div add){3pt}
- \fi
+ \fi
\rput[b](!%
/dx XB XA sub 2 div def
- XA dx add YA 0.1 add){\psk@circ@logic@labelstyle #3}
+ XA dx add YA 0.1 add){\psk@logic@labelstyle #3}
\else%---------------- default AND/NAND/OR/NOR/NOT/EXOR/ENOR -----------------
- \ifx\psk@circ@logic@type\pst@string@logic@type@not
+ \ifx\psk@logic@type\pst@logic@type@not
\def\@nMax{1}
- \else
- \def\@nMax{\psk@circ@logic@nInput}
- \fi
+ \else
+ \def\@nMax{\psk@logic@nInput}
+ \fi
\multido{\n=1+1}{\@nMax}{%
\pnode(!%
- /Step dy \psk@circ@logic@nInput\space div def
+ /Step dy \psk@logic@nInput\space div def
/yNew Step \n\space mul def
XA YA yNew add \@nMax\space 1 gt {Step 2 div sub} if){#3\n}
\pst@getcoor{#3\n}\pst@tempc
\pnode(!
/YC \pst@tempc exch pop \pst@number\psyunit div def
/XC \pst@tempc pop \pst@number\psxunit div def
- XC \psk@circ@logic@wireLength\space \logic@LR {add}{sub} ifelse YC){temp#3\n}
+ XC \psk@logic@wireLength\space \logic@LR {add}{sub} ifelse YC){temp#3\n}
\psline(#3\n)(temp#3\n)% input
- \ifPst@circ@logic@showDot
+ \ifPst@logic@showDot
\qdisk(temp#3\n){3pt}
\fi
- \ifPst@circ@logic@showNode
- \uput[\ifPst@circ@logic@changeLR 180\else 0\fi](#3\n){\psk@circ@logic@nodestyle\n}
+ \ifPst@logic@showNode
+ \uput[\ifPst@logic@changeLR 180\else 0\fi](#3\n){\psk@logic@nodestyle\n}
\fi
}
- \ifx\psk@circ@logic@type\pst@string@logic@type@not\else
- \ifx\psk@circ@logic@type\pst@string@logic@type@nand\else
- \ifx\psk@circ@logic@type\pst@string@logic@type@nor\else
- \ifx\psk@circ@logic@type\pst@string@logic@type@exnor\else
- \pnode(! XB YA dy 2 div add){#3Q}
- \psline(#3Q)(! XB \psk@circ@logic@wireLength\space \logic@LR {sub}{add} ifelse YA dy 2 div add)% output
- \ifPst@circ@logic@showDot
- \qdisk(! XB \psk@circ@logic@wireLength\space \logic@LR {sub}{add} ifelse YA dy 2 div add){3pt}
+ \ifx\psk@logic@type\pst@logic@type@not\else
+ \ifx\psk@logic@type\pst@logic@type@nand\else
+ \ifx\psk@logic@type\pst@logic@type@nor\else
+ \ifx\psk@logic@type\pst@logic@type@exnor\else
+ \pnode(! XB YA dy 2 div add){#3Q}
+ \psline(#3Q)(! XB \psk@logic@wireLength\space \logic@LR {sub}{add} ifelse YA dy 2 div add)% output
+ \ifPst@logic@showDot
+ \qdisk(! XB \psk@logic@wireLength\space \logic@LR {sub}{add} ifelse YA dy 2 div add){3pt}
\fi
- \ifPst@circ@logic@showNode
- \uput[\ifPst@circ@logic@changeLR 0\else 180\fi](#3Q){\psk@circ@logic@nodestyle Q}
+ \ifPst@logic@showNode
+ \uput[\ifPst@logic@changeLR 0\else 180\fi](#3Q){\psk@logic@nodestyle Q}
\fi
- \fi
- \fi
- \fi
- \fi
- \ifx\psk@circ@logic@type\pst@string@logic@type@and\else% NotX output
- \ifx\psk@circ@logic@type\pst@string@logic@type@or\else
- \ifx\psk@circ@logic@type\pst@string@logic@type@exor\else
+ \fi
+ \fi
+ \fi
+ \fi
+ \ifx\psk@logic@type\pst@logic@type@and\else% NotX output
+ \ifx\psk@logic@type\pst@logic@type@or\else
+ \ifx\psk@logic@type\pst@logic@type@exor\else
\pnode(! XB 0.2 \logic@LR {sub}{add} ifelse YA dy 2 div add){#3Q}
\pscircle[linewidth=0.5pt](! XB 0.1 \logic@LR {sub}{add} ifelse YA dy 2 div add){0.1}
- \psline(#3Q)(! XB \psk@circ@logic@wireLength\space \logic@LR {sub}{add} ifelse YA dy 2 div add)% output
- \ifPst@circ@logic@showDot
- \qdisk(! XB \psk@circ@logic@wireLength\space \logic@LR {sub}{add} ifelse YA dy 2 div add){3pt}
+ \psline(#3Q)(! XB \psk@logic@wireLength\space \logic@LR {sub}{add} ifelse YA dy 2 div add)% output
+ \ifPst@logic@showDot
+ \qdisk(! XB \psk@logic@wireLength\space \logic@LR {sub}{add} ifelse YA dy 2 div add){3pt}
\fi
- \ifPst@circ@logic@showNode
- \uput{0.4}[\ifPst@circ@logic@changeLR 0\else 180\fi](#3Q){\psk@circ@logic@nodestyle Q}
+ \ifPst@logic@showNode
+ \uput{0.4}[\ifPst@logic@changeLR 0\else 180\fi](#3Q){\psk@logic@nodestyle Q}
\fi
\fi
\fi
- \fi
- \ifx\psk@circ@logic@type\pst@string@logic@type@or
+ \fi
+ \ifx\psk@logic@type\pst@logic@type@or
\def\logic@type{$\ge\kern-5pt 1$}
\else
- \ifx\psk@circ@logic@type\pst@string@logic@type@not
+ \ifx\psk@logic@type\pst@logic@type@not
\def\logic@type{1}
\else
- \ifx\psk@circ@logic@type\pst@string@logic@type@nand
+ \ifx\psk@logic@type\pst@logic@type@nand
\def\logic@type{\&}
\else
- \ifx\psk@circ@logic@type\pst@string@logic@type@nor
+ \ifx\psk@logic@type\pst@logic@type@nor
\def\logic@type{$\ge\kern-5pt 1$}
\else
- \ifx\psk@circ@logic@type\pst@string@logic@type@exor
+ \ifx\psk@logic@type\pst@logic@type@exor
\def\logic@type{=1}
\else
- \ifx\psk@circ@logic@type\pst@string@logic@type@exnor
+ \ifx\psk@logic@type\pst@logic@type@exnor
\def\logic@type{=}
\else
\def\logic@type{\&}
- \fi
- \fi
- \fi
+ \fi
+ \fi
+ \fi
\fi
- \fi
+ \fi
\fi
\rput(!%
- /dx XB XA sub \psk@circ@logic@symbolpos\space mul def
- XA dx add YB 0.3 sub){\psk@circ@logic@symbolstyle\textbf{\logic@type}}
+ /dx XB XA sub \psk@logic@symbolpos\space mul def
+ XA dx add YB 0.3 sub){\psk@logic@symbolstyle\textbf{\logic@type}}
\rput[b](!%
/dx XB XA sub 2 div def
- XA dx add YA 0.1 add){\psk@circ@logic@labelstyle #3}
+ XA dx add YA 0.1 add){\psk@logic@labelstyle #3}
\fi
\fi
\fi% end of no special RS/JK/D
@@ -1657,23 +1817,20 @@
% end hv 2003-07-28
%
\def\pst@draw@wire[#1](#2)(#3){{%
- \setkeys{psset}{#1}%
- \if\psk@circ@intensity@label\@empty\else
- \setkeys{psset}{intensity=true}%
+ \psset{#1}%
+ \ifx\psk@I@label\@empty\else\psset{intensity=true}\fi
+ \ifx\psk@Dconvention\pst@Dconvention@generator
+ \Pst@Dconventiontrue
+ \else\ifx\psk@Dconvention\pst@Dconvention@receptor\Pst@Dconventionfalse\fi
\fi
- \ifx\psk@circ@dipole@convention\pst@string@dipole@convention@generator
- \Pst@circ@dipole@conventiontrue
- \else
- \ifx\psk@circ@dipole@convention\pst@string@dipole@convention@receptor
- \Pst@circ@dipole@conventionfalse
- \fi
- \fi
- \ifPst@circ@wire@intersect
- \pnode(#2){Inter@1}
- \pnode(#3){Inter@2}
+ \bgroup
+ \pnode(#2){Inter@1}
+ \pnode(#3){Inter@2}
+ \psset{arrows=-}
+ \ifPst@wire@intersect
\rput(!
- /N@Inter@1 GetNode /N@Inter@2 GetNode /N@\psk@circ@wire@intersectA\space
- GetNode /N@\psk@circ@wire@intersectB\space GetNode InterLines
+ /N@Inter@1 GetNode /N@Inter@2 GetNode /N@\psk@wire@intersectA\space
+ GetNode /N@\psk@wire@intersectB\space GetNode InterLines
\pst@number\psyunit div exch \pst@number\psxunit div exch){\pnode{@M}}%
\ncline[linestyle=none,fillstyle=none]{Inter@1}{@M}
\ncput[nrot=:U,npos=.85]{\pnode{@M1}}
@@ -1684,34 +1841,36 @@
\ncarc[arcangle=90]{@M1}{@M2}
\else
\pcline(#2)(#3)
- \ifPst@circ@intensity
- \ifPst@circ@direct@convention
+ \ifPst@intensity
+ \ifPst@direct@convention
\ncput[nrot=:U]{%
- \psline[linecolor=\psk@circ@intensity@color,
- linewidth=\psk@circ@intensity@width,arrowinset=0]{->}(-.1,0)(.1,0)}
- \pcline[linestyle=none,fillstyle=none,offset=\psk@circ@intensity@label@offset](#2)(#3)
- \ncput[nrot=\psk@circ@label@angle]{\csname\psk@circ@intensity@labelcolor\endcsname\psk@circ@intensity@label}
+ \psline[linecolor=\psk@I@color,
+ linewidth=\psk@I@width,arrowinset=0]{->}(-.1,0)(.1,0)}
+ \pcline[linestyle=none,fillstyle=none,offset=\psk@I@label@offset](#2)(#3)
+ \ncput[nrot=\psk@label@angle]{\csname\psk@I@labelcolor\endcsname\psk@I@label}
\else
\ncput[nrot=:U]{%
- \psline[linecolor=\psk@circ@intensity@color,linewidth=\psk@circ@intensity@width]{<-}(-.1,0)(.1,0)}
- \pcline[linestyle=none,fillstyle=none,offset=\psk@circ@intensity@label@offset](#2)(#3)
- \ncput[nrot=\psk@circ@label@angle]{\csname\psk@circ@intensity@labelcolor\endcsname\psk@circ@intensity@label}
+ \psline[linecolor=\psk@I@color,linewidth=\psk@I@width]{<-}(-.1,0)(.1,0)}
+ \pcline[linestyle=none,fillstyle=none,offset=\psk@I@label@offset](#2)(#3)
+ \ncput[nrot=\psk@label@angle]{\csname\psk@I@labelcolor\endcsname\psk@I@label}
\fi
\fi
\fi
+ \egroup
+ \ncline[linestyle=none]{Inter@1}{Inter@2}
}\ignorespaces}
%
%
\def\pst@draw@tension@[#1](#2)(#3)#4{{%
- \setkeys{psset}{#1}%
+ \psset{#1}%
\pnode(#2){pst@tempa} % hv
\pnode(#3){pst@tempb} % hv
\ncline[linestyle=none,fillstyle=none]{pst@tempa}{pst@tempb}
\ncput[nrot=:U,npos=0.05]{\pnode{@M1}}
\ncput[nrot=:U,npos=0.95]{\pnode{@M2}}
- \ncline[arrowinset=0,linecolor=\psk@circ@tension@color]{->}{@M1}{@M2}
- \pcline[linestyle=none,fillstyle=none,offset=\psk@circ@label@offset](@M1)(@M2)
- \ncput[nrot=\psk@circ@label@angle]{\csname\psk@circ@tension@labelcolor\endcsname #4}
+ \ncline[arrowinset=0,linecolor=\psk@tension@color]{->}{@M1}{@M2}
+ \pcline[arrows=-,linestyle=none,fillstyle=none,offset=\psk@label@offset](@M1)(@M2)
+ \ncput[nrot=\psk@label@angle]{\csname\psk@tension@labelcolor\endcsname #4}
}\ignorespaces}
%
\def\node(#1){%
@@ -1719,15 +1878,3 @@
%
\endinput
%
-%% ChangeLog
-%% 1.21 2004-06-10 (hv) option for the logic symbol
-%% 1.20 2004-04-30 (hv) options for the logic part
-%% 1.2b 2003-08-30 (hv) new tripole potentiometer,
-%% fixes some typos in the doc
-%% 1.2a 2003-08-28 (hv) added options for ground
-%% 1.2 2003-07-28 (hv) added dipolestyle "optoCoupler" and the logic part (Flip Flops)
-%% 1.1b 2003-07-24 (hv) added dipolestyle "triac" and use "rectangle" also for the
-%% quadrupol transformer; added quadrupol optoCoupler
-%% 1.1a 2003-07-22 (hv) fix a bug with tension
-%% 1.1 2003-07-18 (hv) fix some bugs and added new dipolestyles for the diode/resistor
-%% 1.0 2003-07-10 (cj) first CTAN version
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 b6b3c68e4ab..31dd14f6045 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,11 @@
-\ProvidesPackage{pst-circ}[2004/06/10 package wrapper for PSTricks pst-circ.tex (cj/hv)]
-\input pst-circ.tex
+\RequirePackage{pstricks}
+\ProvidesPackage{pst-circ}[2004/10/31 package wrapper for
+ pst-circ.tex (hv)]
+\input{pst-circ.tex}
+\IfFileExists{pst-circ.pro}{%
+ \ProvidesFile{pst-circ.pro}
+ [2007/09/04 v. 0.14, PostScript prologue file (hv)]
+ \@addtofilelist{pst-circ.pro}}{}%
+\ProvidesFile{pst-circ.tex}
+ [\filedate\space v\fileversion\space `PST-circ' (CJ,hv)]
\endinput