diff options
Diffstat (limited to 'Master/texmf-dist/doc/generic/pst-osci')
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-osci/Changes | 7 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-osci/oscilloscope.pdf | bin | 0 -> 806454 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-osci/oscilloscope.tex | 361 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-osci/pst-osci.doc | 539 |
4 files changed, 368 insertions, 539 deletions
diff --git a/Master/texmf-dist/doc/generic/pst-osci/Changes b/Master/texmf-dist/doc/generic/pst-osci/Changes new file mode 100644 index 00000000000..36936331bfc --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-osci/Changes @@ -0,0 +1,7 @@ +..... pst-osci.tex +2.82 2005-11-07 - using pst-xkey (hv) + - some modification to the code (hv) + +..... pst-func.sty + 2005-11-07 new version + diff --git a/Master/texmf-dist/doc/generic/pst-osci/oscilloscope.pdf b/Master/texmf-dist/doc/generic/pst-osci/oscilloscope.pdf Binary files differnew file mode 100644 index 00000000000..2a59cdbc1ad --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-osci/oscilloscope.pdf diff --git a/Master/texmf-dist/doc/generic/pst-osci/oscilloscope.tex b/Master/texmf-dist/doc/generic/pst-osci/oscilloscope.tex new file mode 100644 index 00000000000..fc9f3719709 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-osci/oscilloscope.tex @@ -0,0 +1,361 @@ +\documentclass [a4paper,12pt,dvips]{article}
+\usepackage[latin1]{inputenc}%accepte les accents
+\usepackage[francais]{babel}% règles de césure
+\usepackage{pstricks} +\usepackage{pst-osci} +\usepackage{pst-char,pst-text}%,pst-plot}
+%\usepackage[usenames] {pstcol}
+
+\title {pst-osci \& AllColor}
+\author {Raoul \textsc{Hatterer}}
+\begin {document}
+\maketitle
+\section {Présentation}
+J'ai trouvé ce package magnifique de puissance et de simplicité mais les couleurs employées ne passant pas à l'impression noir et blanc j'ai ajouté une option qui emploie des nuances de gris pour palier à ce problème.
+\section {Utilisation}
+\subsection {En préambule}
+\verb+\usepackage{pst-osci}+
+
+Remarque: \verb+\usepackage{pstcol}+ n'est pas utilisable.
+\subsection {Commande}
+\verb+\Oscillo[options éventuelles]+
+
+\subsection{Compilation}
+Sous MacOSX j'utilise \emph{altpdflatex} ce qui doit correspondre à \emph{latex+dvips+ps2pdf}.
+\subsection {Nouvelle option}
+\verb+AllColor+ qui par defaut est à \verb+true+ mais qui lorsqu'on la met à \verb+false+ permet d'obtenir des oscillogrammes qui passent mieux à l'impression.
+
+\section {Exemples}
+Je reprends les exemples du document \emph{pst-osci.pdf} de Manuel \textsc{Luque} et Christophe \textsc{Jorssen}\footnote{Les auteurs du package \emph{pst-osci}} pour m'assurer qu'ils fonctionnent tels quels puis en rajoutant \verb+AllColor=false+. La taille est réduite à 50 \% grâce à \verb+\psscalebox {0.5}{ }+.
+
+\subsection{Oscillo \& Oscillo[AllColor=false]}
+\psscalebox{0.5}{\Oscillo \hspace{1cm}\Oscillo[AllColor=false]}
+
+\subsection{Oscillo[offset2= 5] \& Oscillo[offset2= 5, AllColor=false]}
+\psscalebox{0.5}{\Oscillo[offset2= 5] \hspace{1cm} \Oscillo[offset2= 5,AllColor=false]}
+
+Remarque: À partir de là, je ne précise plus que la figure de droite a été obtenue en rajoutant l'option \verb+AllColor=false+.
+% Extrema invisible
+\subsection{ Extrema invisible: Oscillo[offset2=5, amplitude1=5]}
+\psscalebox{0.5}{\Oscillo[offset2=5, amplitude1=5] \hspace{1cm}
+\Oscillo[offset2=5, amplitude1=5,AllColor=false]}
+
+% Good sensivity choice
+\subsection{Good sensivity choice: Oscillo[offset2=5,amplitude1=5, sensivity1=2]}
+\psscalebox{0.5}{\Oscillo[offset2=5,amplitude1=5, sensivity1=2]\hspace{1cm}
+\Oscillo[offset2=5,amplitude1=5, sensivity1=2,AllColor=false]}
+
+% Different amplitude
+\subsection{Different amplitude: Oscillo[amplitude1=3, amplitude2=1.5]}
+\psscalebox{0.5}{\Oscillo[amplitude1=3, amplitude2=1.5]\hspace{1cm}
+\Oscillo[amplitude1=3, amplitude2=1.5,AllColor=false]}
+% Different period
+\subsubsection{Different period: Oscillo[amplitude1=3,amplitude2=1.5, period2=50]}
+\psscalebox{0.5}{\Oscillo[amplitude1=3,amplitude2=1.5, period2=50]\hspace{1cm}
+\Oscillo[amplitude1=3,amplitude2=1.5, period2=50,AllColor=false]}
+% Different phase
+\subsection {Different phase: Oscillo[amplitude1=3,amplitude2=1.5, phase1=60, phase2=-30]}
+\psscalebox{0.5}{\Oscillo[amplitude1=3,amplitude2=1.5, phase1=60, phase2=-30]\hspace{1cm}
+\Oscillo[amplitude1=3,amplitude2=1.5, phase1=60, phase2=-30,AllColor=false]}
+
+\subsection{Damping and amplification: Oscillo[amplitude1=3,amplitude2=1.5,
+damping2=0.005, damping1=-0.005]}
+\psscalebox{0.5}{\Oscillo[amplitude1=3,amplitude2=1.5,
+damping2=0.005, damping1=-0.005]\hspace{1cm}
+\Oscillo[amplitude1=3,amplitude2=1.5,
+damping2=0.005, damping1=-0.005,AllColor=false]}
+
+
+\subsection {Changing the plot style}
+\psscalebox{0.5}{\newpsstyle{BlueDots}{plotstyle=dots,
+linecolor=blue,linewidth=0.02,plotpoints=50}
+\Oscillo[amplitude1=3, plotstyle2=BlueDots,amplitude2=2]\hspace{1cm}
+\newpsstyle{GreenDash}{linestyle=dashed,
+linecolor=green,linewidth=0.035,plotpoints=50}
+\Oscillo[amplitude1=2,phase1=90,amplitude2=3.8,period1=25,
+period2=50,phase2=10, plotstyle1=GreenDash]}
+\\
+
+\psscalebox{0.5}{\newpsstyle{BlueDots}{plotstyle=dots,
+linecolor=blue,linewidth=0.02,plotpoints=50}
+\Oscillo[amplitude1=3, plotstyle2=BlueDots,amplitude2=2,AllColor=false]\hspace{1cm}
+\newpsstyle{GreenDash}{linestyle=dashed,
+linecolor=green,linewidth=0.035,plotpoints=50}
+\Oscillo[amplitude1=2,phase1=90,amplitude2=3.8,period1=25,
+period2=50,phase2=10, plotstyle1=GreenDash,AllColor=false]}
+
+
+\begin{verbatim}
+\newpsstyle{BlueDots}{plotstyle=dots,
+linecolor=blue,linewidth=0.02,plotpoints=50}
+\Oscillo[amplitude1=3, plotstyle2=BlueDots,amplitude2=2]\hspace{1cm}
+\newpsstyle{GreenDash}{linestyle=dashed,
+linecolor=green,linewidth=0.035,plotpoints=50}
+\Oscillo[amplitude1=2,phase1=90,amplitude2=3.8,period1=25,
+period2=50,phase2=10, plotstyle1=GreenDash]
+\end{verbatim}
+
+Remarque: Ce n'est plus possible si l'on met \verb+AllColor=false+. Mais rien ne vous empêche de faire des \verb+linecolor=black+ (cependant les \textsc{on} et \textsc{off} ne passeront pas mieux à l'impression qu'auparavant).
+
+\subsection{Channel C: operations}
+\psscalebox{0.5}{\Oscillo[amplitude2=1.5,period2=50,period1=10,
+combine= true, operation= add]
+\Oscillo[amplitude2=1.5,period2=50,period1=10,
+combine= true, operation= add,offset1=2,offset2=2]
+% SignalA and SignalB are invisible
+\Oscillo[amplitude2=1.5,period2=50,period1=10,
+combine= true, operation= add,offset1=6,offset2=6]}
+\\
+
+\psscalebox{0.5}{\Oscillo[amplitude2=1.5,period2=50,period1=10,
+combine= true, operation= add,AllColor=false]
+\Oscillo[amplitude2=1.5,period2=50,period1=10,
+combine= true, operation= add,offset1=2,offset2=2,AllColor=false]
+% SignalA and SignalB are invisible
+\Oscillo[amplitude2=1.5,period2=50,period1=10,
+combine= true, operation= add,offset1=6,offset2=6,AllColor=false]}
+
+\begin{verbatim}
+\Oscillo[amplitude2=1.5,period2=50,period1=10,
+combine= true, operation= add]
+\Oscillo[amplitude2=1.5,period2=50,period1=10,
+combine= true, operation= add,offset1=2,offset2=2]
+% SignalA and SignalB are invisible
+\Oscillo[amplitude2=1.5,period2=50,period1=10,
+combine= true, operation= add,offset1=6,offset2=6]
+\end{verbatim}
+
+\subsection{Subtraction: Oscillo[amplitude2=1.5,period2=50,period1=10,
+combine= true,operation= sub]}
+
+\psscalebox{0.5}{\Oscillo[amplitude2=1.5,period2=50,period1=10,
+combine= true,
+operation= sub]\hspace{1cm}
+\Oscillo[amplitude2=1.5,period2=50,period1=10,
+combine= true,
+operation= sub,AllColor=false]}
+
+\subsection {Multiplications}
+\psscalebox{0.5}{\Oscillo[amplitude2=1.5,period2=50,period1=10,
+combine= true, operation= mul]\hspace{1cm}
+\Oscillo[amplitude1=1,amplitude2=2,
+period2=50,period1=2, combine= true, operation= mul]}
+\\
+
+\psscalebox{0.5}{\Oscillo[amplitude2=1.5,period2=50,period1=10,
+combine= true, operation= mul,AllColor=false]\hspace{1cm}
+\Oscillo[amplitude1=1,amplitude2=2,
+period2=50,period1=2, combine= true, operation= mul,AllColor=false]}
+
+\begin{verbatim}
+\Oscillo[amplitude2=1.5,period2=50,period1=10,
+combine= true, operation= mul]
+\Oscillo[amplitude1=1,amplitude2=2,
+period2=50,period1=2, combine= true, operation= mul]
+\end{verbatim}
+
+\subsection{Channel C: XY-mode}
+\psscalebox{0.5}{\Oscillo[ Lissajous= true,amplitude2=2]
+\Oscillo[Lissajous=true,amplitude2=3,phase2=45]
+\Oscillo[Lissajous=true,amplitude2=2,phase2=90]}
+\\
+
+\psscalebox{0.5}{\Oscillo[ Lissajous=true,amplitude2=2,AllColor=false]
+\Oscillo[Lissajous=true,amplitude2=3,phase2=45,AllColor=false]
+\Oscillo[Lissajous=true,amplitude2=2,phase2=90,AllColor=false]}
+\begin{verbatim}
+\Oscillo[ Lissajous= true,amplitude2=2]
+\Oscillo[Lissajous=true,amplitude2=3,phase2=45]
+\Oscillo[Lissajous=true,amplitude2=2,phase2=90]
+\end{verbatim}
+
+\psscalebox{0.5}{\Oscillo[amplitude1=3.5,phase1=90,amplitude2=3.5,
+period1=20,period2=10,phase2=0,Lissajous=true]
+\Oscillo[amplitude1=3.5,phase1=90,amplitude2=3.5,
+period1=25,period2=5,phase2=60,Lissajous=true]
+\Oscillo[amplitude1=3.5,phase1=90,
+amplitude2=3.5,period1=50,period2=50,
+Lissajous=true,damping1=0.01,damping2=0.01]}
+\\
+
+\psscalebox{0.5}{\Oscillo[amplitude1=3.5,phase1=90,amplitude2=3.5,
+period1=20,period2=10,phase2=0,Lissajous=true,AllColor=false]
+\Oscillo[amplitude1=3.5,phase1=90,amplitude2=3.5,
+period1=25,period2=5,phase2=60,Lissajous=true,AllColor=false]
+\Oscillo[amplitude1=3.5,phase1=90,
+amplitude2=3.5,period1=50,period2=50,
+Lissajous=true,damping1=0.01,damping2=0.01,AllColor=false]}
+
+\begin{verbatim}
+\Oscillo[amplitude1=3.5,phase1=90,amplitude2=3.5,
+period1=20,period2=10,phase2=0,Lissajous=true]
+\Oscillo[amplitude1=3.5,phase1=90,amplitude2=3.5,
+period1=25,period2=5,phase2=60,Lissajous=true]
+\Oscillo[amplitude1=3.5,phase1=90,
+amplitude2=3.5,period1=50,period2=50,
+Lissajous=true,damping1=0.01,damping2=0.01]
+\end{verbatim}
+
+\subsection{Non sinusoidal signals}
+
+%\subsubsection*{Exponential signals}
+\psscalebox{0.5}{\Oscillo[amplitude1=3.5,phase1=90,
+period1= 2E30,offset2=5,damping1=0.02]\hspace{1cm}
+\Oscillo[amplitude1=3.5,phase1=90,
+period1= 2E30,offset2=3,amplitude2=-3,damping1=0.02,
+period2= 2E31,damping2=0.02,phase2=90]}
+
+\psscalebox{0.5}{\Oscillo[amplitude1=3.5,phase1=90,
+period1= 2E30,offset2=5,damping1=0.02,AllColor=false]\hspace{1cm}
+\Oscillo[amplitude1=3.5,phase1=90,
+period1= 2E30,offset2=3,amplitude2=-3,damping1=0.02,
+period2= 2E31,damping2=0.02,phase2=90,AllColor=false]}
+
+\begin{verbatim}
+\Oscillo[amplitude1=3.5,phase1=90,
+period1= 2E30,offset2=5,damping1=0.02]
+\Oscillo[amplitude1=3.5,phase1=90,
+period1= 2E30,offset2=3,amplitude2=-3,da
+period2= 2E31,damping2=0.02,phase2=90]
+\end{verbatim}
+
+\psscalebox{0.5}{\Oscillo[ Wave1= \TriangleA,amplitude2=2,period2=20,period1=25]\hspace{1cm}
+\Oscillo[ Wave1= \RectangleA,amplitude2=2,period2=20,period1=25]}
+\\
+
+\psscalebox{0.5}{\Oscillo[ Wave1= \TriangleA,amplitude2=2,period2=20,period1=25,AllColor=false]\hspace{1cm}
+\Oscillo[ Wave1= \RectangleA,amplitude2=2,period2=20,period1=25,AllColor=false]}
+
+\subsection{Combine examples}
+\psscalebox{0.5}{\Oscillo[Wave2=\TriangleB,combine=true,operation=mul,amplitude2=2,period2=50,period1=2,amplitude1=1]
+\Oscillo[combine=true,operation=add,amplitude2=1.5,Wave1=\RectangleA,amplitude1=1.5,period2=15]
+\Oscillo[combine=true,operation=add,amplitude2=1.5,Wave1=\RectangleA,amplitude1=1.5,period2=15,Wave2=\TriangleB]}
+\\
+
+\psscalebox{0.5}{\Oscillo[Wave2=\TriangleB,combine=true,operation=mul,amplitude2=2,period2=50,period1=2,amplitude1=1,AllColor=false]
+\Oscillo[combine=true,operation=add,amplitude2=1.5,Wave1=\RectangleA,amplitude1=1.5,period2=15,AllColor=false]
+\Oscillo[combine=true,operation=add,amplitude2=1.5,Wave1=\RectangleA,amplitude1=1.5,period2=15,Wave2=\TriangleB,AllColor=false]
+}
+\begin{verbatim}
+\Oscillo[Wave2=\TriangleB,combine=true,operation=mul,amplitude2=2,
+period2=50,period1=2,amplitude1=1]
+\Oscillo[combine=true,operation=add,amplitude2=1.5,
+Wave1=\RectangleA,amplitude1=1.5,period2=15]
+\Oscillo[combine=true,operation=add,amplitude2=1.5,
+Wave1=\RectangleA,amplitude1=1.5,period2=15,Wave2=\TriangleB]
+\end{verbatim}
+
+\subsection{Dog's tooth signal}
+\psscalebox{0.5}{\Oscillo[combine=true,operation=mul,amplitude2=1.5,
+Wave1= \RDogToothA,amplitude1=1.5,period2=15]\hspace{1cm}
+\Oscillo[amplitude1=3.5,phase1=90,amplitude2=3.5,
+period1=25,period2=6.25,phase2=0,Lissajous=true,Wave2=\RDogToothB]}
+\\
+
+\psscalebox{0.5}{\Oscillo[combine=true,operation=mul,amplitude2=1.5,
+Wave1= \RDogToothA,amplitude1=1.5,period2=15,AllColor=false]\hspace{1cm}
+\Oscillo[amplitude1=3.5,phase1=90,amplitude2=3.5,
+period1=25,period2=6.25,phase2=0,Lissajous=true,Wave2=\RDogToothB,AllColor=false]}
+
+\begin{verbatim}
+\Oscillo[combine=true,operation=mul,amplitude2=1.5,
+Wave1= \RDogToothA,amplitude1=1.5,period2=15]
+\Oscillo[amplitude1=3.5,phase1=90,amplitude2=3.5,
+period1=25,period2=6.25,phase2=0,Lissajous=true,Wave2=\RDogToothB]
+\end{verbatim}
+
+\subsection{Frequency modulation examples}
+\psscalebox{0.5}{\Oscillo[ periodmodulation1=200, freqmod1=5,period1=30,
+timediv=50,plotpoints=1000,amplitude2=2,period2=200]
+\Oscillo[amplitude1=1,amplitude2=1,
+period2=25,period1=2,combine=true,operation=mul]
+\Oscillo[amplitude1=1,amplitude2=1, CC2=2,
+period2=25,period1=2,combine=true,operation=mul,offset1=5]}
+\\
+
+\psscalebox{0.5}{\Oscillo[ periodmodulation1=200, freqmod1=5,period1=30,
+timediv=50,plotpoints=1000,amplitude2=2,period2=200,AllColor=false]
+\Oscillo[amplitude1=1,amplitude2=1,
+period2=25,period1=2,combine=true,operation=mul,AllColor=false]
+\Oscillo[amplitude1=1,amplitude2=1, CC2=2,
+period2=25,period1=2,combine=true,operation=mul,offset1=5,AllColor=false]}
+
+\begin{verbatim}
+\Oscillo[ periodmodulation1=200, freqmod1=5,period1=30,
+timediv=50,plotpoints=1000,amplitude2=2,period2=200]
+\Oscillo[amplitude1=1,amplitude2=1,
+period2=25,period1=2,combine=true,operation=mul]
+\Oscillo[amplitude1=1,amplitude2=1, CC2=2,
+period2=25,period1=2,combine=true,operation=mul,offset1=5]
+\end{verbatim}
+
+\psscalebox{0.5}{\Oscillo[amplitude1=1,amplitude2=1,CC2=1.5,Wave2=\TriangleB,
+period2=25,period1=2,combine=true,operation=mul,offset1=5]
+\Oscillo[amplitude1=1,amplitude2=1,CC2=2,Wave2=\RDogToothB,
+period2=25,period1=2,combine=true,operation=mul,offset1=5]
+\Oscillo[amplitude1=1,amplitude2=1,CC2=-2,Wave2=\LDogToothB,
+period2=20,period1=3,combine=true,operation=mul,offset1=5]}
+\\
+
+\psscalebox{0.5}{\Oscillo[amplitude1=1,amplitude2=1,CC2=1.5,Wave2=\TriangleB,
+period2=25,period1=2,combine=true,operation=mul,offset1=5,AllColor=false]
+\Oscillo[amplitude1=1,amplitude2=1,CC2=2,Wave2=\RDogToothB,
+period2=25,period1=2,combine=true,operation=mul,offset1=5,AllColor=false]
+\Oscillo[amplitude1=1,amplitude2=1,CC2=-2,Wave2=\LDogToothB,
+period2=20,period1=3,combine=true,operation=mul,offset1=5,AllColor=false]}
+
+\begin{verbatim}
+\Oscillo[amplitude1=1,amplitude2=1,CC2=1.5,Wave2=\TriangleB,
+period2=25,period1=2,combine=true,operation=mul,offset1=5]
+\Oscillo[amplitude1=1,amplitude2=1,CC2=2,Wave2=\RDogToothB,
+period2=25,period1=2,combine=true,operation=mul,offset1=5]
+\Oscillo[amplitude1=1,amplitude2=1,CC2=-2,Wave2=\LDogToothB,
+period2=20,period1=3,combine=true,operation=mul,offset1=5]
+\end{verbatim}
+
+\psscalebox{0.5}{\Oscillo[amplitude1=1,amplitude2=1,CC2=2,Wave2=\RDogToothB,
+period2=25,period1=2,combine=true,operation=mul,
+offset1=5,offset3=-1]\hspace{1cm}
+\Oscillo[amplitude1=1,amplitude2=1,CC2=-2,Wave2=\LDogToothB,
+period2=20,period1=3,combine=true,operation=mul,
+offset1=5,offset3=1]}
+\\
+
+\psscalebox{0.5}{\Oscillo[amplitude1=1,amplitude2=1,CC2=2,Wave2=\RDogToothB,
+period2=25,period1=2,combine=true,operation=mul,
+offset1=5,offset3=-1,AllColor=false]\hspace{1cm}
+\Oscillo[amplitude1=1,amplitude2=1,CC2=-2,Wave2=\LDogToothB,
+period2=20,period1=3,combine=true,operation=mul,
+offset1=5,offset3=1,AllColor=false]}
+
+\begin{verbatim}
+\Oscillo[amplitude1=1,amplitude2=1,CC2=2,Wave2=\RDogToothB,
+period2=25,period1=2,combine=true,operation=mul,
+offset1=5,offset3=-1]\hspace{1cm}
+\Oscillo[amplitude1=1,amplitude2=1,CC2=-2,Wave2=\LDogToothB,
+period2=20,period1=3,combine=true,operation=mul,
+offset1=5,offset3=1]
+\end{verbatim}
+
+\subsection{More examples}
+\psscalebox{0.5}{\Oscillo[amplitude1=3.5,phase1=90,amplitude2=3.5,period1=50,
+period2=50,phase2=0,Lissajous=true,damping1=0.01,
+Wave2=\RectangleB]
+\Oscillo[amplitude1=2,amplitude2=1.8,Wave1=\RectangleA,
+Fourier=500,period1=25,period2=12.5,combine=true,
+operation=add,Wave2=\RectangleB]
+\Oscillo[amplitude1=4,amplitude2=3,period1=50,
+period2=5,Lissajous=true,Wave1=\RectangleA]}
+\\
+
+\psscalebox{0.5}{\Oscillo[amplitude1=3.5,phase1=90,amplitude2=3.5,period1=50,
+period2=50,phase2=0,Lissajous=true,damping1=0.01,
+Wave2=\RectangleB,AllColor=false]
+\Oscillo[amplitude1=2,amplitude2=1.8,Wave1=\RectangleA,
+Fourier=500,period1=25,period2=12.5,combine=true,
+operation=add,Wave2=\RectangleB,AllColor=false]
+\Oscillo[amplitude1=4,amplitude2=3,period1=50,
+period2=5,Lissajous=true,Wave1=\RectangleA,AllColor=false]}
+
+
+\end {document}
diff --git a/Master/texmf-dist/doc/generic/pst-osci/pst-osci.doc b/Master/texmf-dist/doc/generic/pst-osci/pst-osci.doc deleted file mode 100644 index 549dbd95b4e..00000000000 --- a/Master/texmf-dist/doc/generic/pst-osci/pst-osci.doc +++ /dev/null @@ -1,539 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -*- Mode: Latex -*- %%%%%%%%%%%%%%%%%%%%%%%%%% -%% pst-osci.doc --- Documentation for `pst-osci' PSTricks package -%% -%% Authors : Manuel LUQUE <Mluque5130@aol.com> -%% Christophe JORSSEN <Christophe.Jorssen@wanadoo.fr> -%% Created : Thu 2 Sept 1999 -%% Last mod. by : Christophe JORSSEN <Christophe.Jorssen@wanadoo.fr> -%% Last mod. the : Wed 17 Nov 1999 -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\documentclass{article} - -\usepackage{pstcol,pst-osci,multicol} % PSTricks package for Oscilloscope screen shots -\usepackage[baw,pstricks]{fvrb-ex} % Example environments with `fancyvrb' -\usepackage[a4paper,left=1.5cm,right=1.5cm,top=1.5cm,bottom=1.5cm]{geometry} -\usepackage{fancyhdr} - -% Modifications in `fvrb-ex' to use only 7 bits characters as escape ones -% * will be for comment in place of £, and /() for commands in place of §µ¶ -% (this work here because these four characters are not used in the examples) - -\makeatletter - -\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 - -% Example environments with numbers, single frame, label on top and margin -\fvset{numbers=none,frame=single,labelposition=topline} - -% For macro names -\DeclareRobustCommand\cs[1]{\texttt{\char`\\#1}} - -\newcommand{\OsciPackage}{\textbf{`pst-osci'}} -\let\phi\varphi - -\lhead{\OsciPackage}\rhead{A PSTricks package for oscilloscopes} \pagestyle{fancy} - -\begin{document} - -\title{\OsciPackage\thanks{Thanks to Denis \textsc{Girou} for his most valuable -help and his encouragements.}\\ A PSTricks package for oscilloscopes} -\author{\shortstack{\makeatletter Manuel \textsc{Luque} \texttt{<Mluque5130@aol.com>}\\ -Christophe \textsc{Jorssen} \texttt{<Christophe.Jorssen@wanadoo.fr>}\makeatother}} -\date{\shortstack{Version 2.7\\ \small Documentation revised November 17, 1999}} - -\maketitle - -\begin{center} -\psframebox[framearc=0.3,framesep=5mm,linewidth=0.7mm]{% -\parbox{15cm}{% -{\Large\textbf{Abstract}}: \OsciPackage{} is a PSTricks package to draw easily -oscilloscope screen shots. Three channels can be used to represent the most common -signals (damped or not): namely sinusoidal ($y=A\exp (-\lambda t)\sin -(\frac{2\pi}{T}t+m\cdot\sin(\frac{2\pi}{T_m}t)+\phi) + c$), rectangular, triangular, -dog's tooth (left and right oriented). The third channel allows you to add, to -subtract or to multiply the two other signals. \textsc{Lissajous} diagrams (XY-mode) -can also be obtained.}} -\end{center} - -\setlength{\columnseprule}{0.6pt} -\begin{multicols}{2} -{\parskip 0pt \tableofcontents} -\end{multicols} - -\section{Introduction} - -\OsciPackage{} offers a unique macro with few parameters to interact on it (it is -the same approach as in Denis \textsc{Girou}'s \textbf{`pst-poly'} package). -\par -The syntax is simply: \fbox{\cs{Oscillo}\texttt{[optional\_parameters]}}. -\par -\textbf{As for a real oscilloscope, it is important to choose the correct sensivity -for each channel in relation to the amplitude of the signal. If you did the wrong -choice, you will get bad-looking curves.} -\par -The style of the curves can be customized using the standard PSTricks parameters. - -\section{Usage} - -\subsection{Parameters} - -There are thirty specific parameters defined to change the way the screen shots are -drawn. -\par -Henceforth, the signals represented on channels A, B and C will be called `SignalA', -`SignalB' and `SignalC'. -\begin{description} - -\item[\HLTTc{period1} (real):] period $T_1$ (in ms) of SignalA (\emph{default:~20}). - -\item[\HLTTc{period2} (real):] period $T_2$ (in ms) of SignalB (\emph{default:~20}). - -\item[\HLTTc{amplitude1} (real):] amplitude $A_1$ (in V) of SignalA (\emph{default:~2}). - -\item[\HLTTc{amplitude2} (real):] amplitude $A_2$ (in V) of SignalB -(\emph{default:~0 -- no signal}). - -\item[\HLTTc{periodmodulation1} (real):] period $T_{m1}$ (in ms) of SignalA -(\emph{default:~100}). - -\item[\HLTTc{periodmodulation2} (real):] period $T_{m2}$ (in ms) of SignalB -(\emph{default:~100}). - -\item[\HLTTc{freqmod1} (real):] modulation factor $m_1$ of SignalA (\emph{default:~0}). - -\item[\HLTTc{freqmod2} (real):] modulation factor $m_2$ of SignalB (\emph{default:~0}). - -\item[\HLTTc{phase1} (real):] phase $\phi_1$ (in deg) of SignalA (\emph{default:~0}). - -\item[\HLTTc{phase2} (real):] phase $\phi_2$ (in deg) of SignalB (\emph{default:~0}). - -\item[\HLTTc{CC1} (real):] continuous component $c_1$ (in V) of SignalA (\emph{default:~0}). - -\item[\HLTTc{CC2} (real):] continuous component $c_2$ (in V) of SignalB (\emph{default:~0}). - -\item[\HLTTc{damping1} (real):] damping $\lambda_1$ of SignalA -(\emph{default:~0 -- no damping}). - -\item[\HLTTc{damping2} (real):] damping $\lambda_2$ of SignalB -(\emph{default:~0 -- no damping}). - -\item[\HLTTc{wave1}:] type of the SignalA chosen between \cs{SinusA}, \cs{RectangleA}, -\cs{TriangleA}, \cs{LDogToothA}, \cs{RDogToothA} (\emph{default: \cs{SinusA}}). - -\item[\HLTTc{wave2}:] type of the SignalB chosen between \cs{SinusB}, \cs{RectangleB}, -\cs{TriangleB}, \cs{LDogToothB}, \cs{RDogToothB} (\emph{default: \cs{SinusB}}). - -\item[\HLTTc{timediv} (real):] scale (in ms) of the time axis (\emph{default:~5}). - -\item[\HLTTc{Lissajous} (boolean):] switch to XY-mode (true) or not (false) -(\emph{default: false}). - -\item[\HLTTc{sensivity1} (real):] scale (in V) of the channel A vertical axis -(\emph{default:~1}). - -\item[\HLTTc{sensivity2} (real):] scale (in V) of the channel B vertical axis -(\emph{default:~1}). - -\item[\HLTTc{plotstyle1}:] determines what kind of plot you will get for -channel A (\emph{default: GreenContA}). Note that you can customize the plotstyle -using the \cs{newpsstyle} macro (see below for examples). - -\item[\HLTTc{plotstyle2}:] determines what kind of plot you will get for -channel B (\emph{default: BlueContB}). Same remark as above. - -\item[\HLTTc{plotstyle3}:] determines what kind of plot you will get for -XY-mode (\emph{default: RedContLissajous}). Same remark as above. - -\item[\HLTTc{plotstyle4}:] determines what kind of plot you will get for -add, sub or mul operation (third channel) (\emph{default: MagentaContAddSub}). Same -remark as above. - -\item[\HLTTc{combine} (boolean):] if true allows to draw combination of SignalA -and SignalB on channel C (namely addition, subtraction or multiplication) -(\emph{default: false -- no signal}). See next item. - -\item[\HLTTc{operation}:] determines what kind of operation will be applied to -SignalA and SignalB to get SignalC. The valid parameters are add, sub and mul -(\emph{default: \cs{relax} -- no operation}). - -\item[\HLTTc{Fourier} (integer):] see below (Section \ref{Rectangular}) -(\emph{default:~100}). - -\item[\HLTTc{offset1} (real):] offset $c'_1$ (in V) of SignalA (\emph{default:~0}). - -\item[\HLTTc{offset2} (real):] offset $c'_2$ (in V) of SignalB (\emph{default:~0}). - -\item[\HLTTc{offset3} (real):] offset $c'_2$ (in V) of SignalC (\emph{default:~0}). - - -\end{description} - -\subsection{Rectangular, triangular and dog's tooth signals\label{Rectangular}} - -The parameter \HLTTc{Fourier} controls the precision of the Fourier transform used to -draw rectangular, triangular and dog's tooth signals. The number of terms is fixed to -100 by default in order to minimize the computation time. But you can give -\HLTTc{Fourier} any value you want. -\par -Note that those signals can also be damped using the \HLTTc{damping1} and -\HLTTc{damping2} parameters. By default, there is no damping ($\lambda=1$). - -\subsection{\OsciPackage{} and \LaTeX} - -\OsciPackage{} defines colors that may interact with the \textbf{`color'} package. -You should then use the \textbf{`pst-col'} package and load \OsciPackage{} this way: -\begin{Verbatim} - \usepackage{pstcol,pst-osci} -\end{Verbatim} - -\subsection{Reducing the size of the Oscilloscope} - -The oscilloscope is put inside a 10\,cm square \HLTTc{pspicture} environment. There -are two ways to reduce the size of the box, depending on the fonts you use. - -\subsubsection{Using PostScript fonts} - -We recommend that solution because it allows you to treat fonts like any other -PostScript object. As a matter of fact, you can, for instance, put your \cs{Oscillo} -macro inside a PSTricks \cs{scalebox}. It is very simple and offers good results. -However, pay attention to the fact that, if you are using non-PS fonts, the result -will look ugly! - -\subsubsection{Using non-PostScript fonts} - -If you use non-PS fonts and if you want to reduce the size of the Oscilloscope, you -should type something like: -\begin{Verbatim} - {\psset{unit=0.5}\footnotesize\Oscillo} -\end{Verbatim} - -\section{Examples} - -\subsection{Basic examples} - -\begin{CenterExample}[label={The \cs{Oscillo} macro, default parameters}] - \Oscillo -\end{CenterExample} - -\textbf{In order to minimize the size of the file, all the oscilloscopes are drawn -scaled $\frac{1}{2}$. This reduced scale is not represented.} - -\makeatletter -\let\Oldpst@Oscillo\pst@Oscillo -\def\pst@Oscillo[#1]{\scalebox{0.5}{\Oldpst@Oscillo[#1]}} -\makeatother - -\par -If you only want to see SignalA then set \HLTTc{offset2} in order to have -$\HLTTc{offset2}\in ]-\infty,-4\times \HLTTc{sensivity2}[ \cup -]4\times\HLTTc{sensivity2},+\infty[$: - -\begin{SideBySideExample}[label=SignalB invisible, xrightmargin=5.5cm] - \Oscillo[offset2=/HLCBWz(5)] -\end{SideBySideExample} - -Let's have a look at Channel A: - -\begin{CenterExample}[label=The importance of sensivity] - % Extrema invisible - \Oscillo[offset2=5,/HLCBWz(amplitude1)=5] - % Good sensivity choice - £\hfill - \Oscillo[offset2=5,amplitude1=5,/HLCBWz(sensivity1)=2] -\end{CenterExample} - -Now, let's have two signals on Channel A and B. By default, the two signals have the -same period and the same phase: - -\begin{CenterExample} - % Different amplitude - \Oscillo[amplitude1=3,/HLCBWz(amplitude2)=1.5] - % Different period - £\hfill - \Oscillo[amplitude1=3,amplitude2=1.5,/HLCBWz(period2)=50] - % Different phase - £\hfill - \Oscillo[amplitude1=3,amplitude2=1.5,/HLCBWz(phase1)=60,/HLCBWz(phase2)=-30] -\end{CenterExample} - -\begin{SideBySideExample}[label=Damping and amplification,xrightmargin=5.5cm] - \Oscillo[amplitude1=3,amplitude2=1.5, - /HLCBWz(damping2)=0.005,/HLCBWz(damping1)=-0.005] -\end{SideBySideExample} - -\begin{SideBySideExample}[label=Changing the time scale,xrightmargin=5.5cm] - \Oscillo[amplitude2=1.5,/HLCBWz(timediv)=10] -\end{SideBySideExample} - -\begin{SideBySideExample}[label=Vertical translations,xrightmargin=5.5cm] - \Oscillo[amplitude1=1.5,amplitude2=1.5, - /HLCBWz(offset1)=1.5,/HLCBWz(offset2)=-1.5] -\end{SideBySideExample} - -\begin{CenterExample}[label=Changing the plot style] - /HLCBWz(\newpsstyle){BlueDots}{plotstyle=dots, - linecolor=blue,linewidth=0.02,plotpoints=50} - \Oscillo[amplitude1=3,/HLCBWz(plotstyle2)=BlueDots,amplitude2=2] - /HLCBWz(\newpsstyle){GreenDash}{linestyle=dashed, - linecolor=green,linewidth=0.035,plotpoints=50} - £\hfill - \Oscillo[amplitude1=2,phase1=90,amplitude2=3.8,period1=25, - period2=50,phase2=10,/HLCBWz(plotstyle1)=GreenDash] -\end{CenterExample} - -\subsection{Channel C: operations} - -Note that \HLTTc{offset1} and \HLTTc{offset2} are \textbf{not} taken into account in -the operations when the \HLTTc{combine} parameter is set to true. - -\begin{CenterExample}[label=Additions] - \Oscillo[amplitude2=1.5,period2=50,period1=10, - /HLCBWz(combine)=/HLCBWz(true),/HLCBWz(operation)=/HLCBWz(add)] - £\hfill - \Oscillo[amplitude2=1.5,period2=50,period1=10, - /HLCBWz(combine)=/HLCBWz(true),/HLCBWz(operation)=/HLCBWz(add),offset1=2,offset2=2] - £\hfill - % SignalA and SignalB are invisible - \Oscillo[amplitude2=1.5,period2=50,period1=10, - /HLCBWz(combine)=/HLCBWz(true),/HLCBWz(operation)=/HLCBWz(add),offset1=6,offset2=6] -\end{CenterExample} - -\begin{SideBySideExample}[label=Subtraction,xrightmargin=5.5cm] - \Oscillo[amplitude2=1.5,period2=50,period1=10, - /HLCBWz(combine)=/HLCBWz(true), - /HLCBWz(operation)=/HLCBWz(sub)] -\end{SideBySideExample} - -\begin{CenterExample}[label=Multiplications] - \Oscillo[amplitude2=1.5,period2=50,period1=10, - /HLCBWz(combine)=/HLCBWz(true),/HLCBWz(operation)=/HLCBWz(mul)] - £\hfill - \Oscillo[amplitude1=1,amplitude2=2, - period2=50,period1=2,/HLCBWz(combine)=/HLCBWz(true),/HLCBWz(operation)=/HLCBWz(mul)] -\end{CenterExample} - -\subsection{Channel C: XY-mode} - -\begin{SideBySideExample}[label={Basic \textsc{Lissajous} curve},xrightmargin=5.5cm] - \Oscillo[/HLCBWz(Lissajous)=/HLCBWz(true),amplitude2=2] -\end{SideBySideExample} - -\begin{CenterExample} - \Oscillo[Lissajous=true,amplitude2=3,phase2=45] - £\hfill - \Oscillo[Lissajous=true,amplitude2=2,phase2=90] -\end{CenterExample} - -\begin{CenterExample} - \Oscillo[amplitude1=3.5,phase1=90,amplitude2=3.5, - period1=20,period2=10,phase2=0,Lissajous=true] - £\hfill - \Oscillo[amplitude1=3.5,phase1=90,amplitude2=3.5, - period1=25,period2=5,phase2=60,Lissajous=true] -\end{CenterExample} - -\begin{SideBySideExample}[label={A damped \textsc{Lissajous} diagram},xrightmargin=5.5cm] - \Oscillo[amplitude1=3.5,phase1=90, - amplitude2=3.5,period1=50,period2=50, - Lissajous=true,damping1=0.01,damping2=0.01] -\end{SideBySideExample} - -\subsection{Non sinusoidal signals} - -\begin{CenterExample}[label=Exponential signals] - \Oscillo[amplitude1=3.5,phase1=90, - period1=/HLCBWz(2E30),offset2=5,damping1=0.02] - £\hfill - \Oscillo[amplitude1=3.5,phase1=90, - period1=/HLCBWz(2E30),offset2=3,amplitude2=-3,damping1=0.02, - period2=/HLCBWz(2E31),damping2=0.02,phase2=90] -\end{CenterExample} - -\textbf{Note:} the maximum value for \HLTTc{period1} and \HLTTc{period2} is $\pm$2E31. - -\begin{CenterExample}[label={Non-sinusoidal signals}] - \Oscillo[/HLCBWz(Wave1)=/HLCBWz(\TriangleA),amplitude2=2,period2=20,period1=25] - £\hfill - \Oscillo[/HLCBWz(Wave1)=/HLCBWz(\RectangleA),amplitude2=2,period2=20,period1=25] -\end{CenterExample} - -\begin{CenterExample}[label=Combine examples] - \Oscillo[Wave2=\TriangleB,combine=true,operation=mul,amplitude2=2, - period2=50,period1=2,amplitude1=1] - £\hfill - \Oscillo[combine=true,operation=add,amplitude2=1.5, - Wave1=\RectangleA,amplitude1=1.5,period2=15] - £\hfill - \Oscillo[combine=true,operation=add,amplitude2=1.5, - Wave1=\RectangleA,amplitude1=1.5,period2=15,Wave2=\TriangleB] -\end{CenterExample} - -\begin{CenterExample}[label={Dog's tooth signal}] - \Oscillo[combine=true,operation=mul,amplitude2=1.5, - /HLCBWz(Wave1)=/HLCBWz(\RDogToothA),amplitude1=1.5,period2=15] - £\hfill - \Oscillo[amplitude1=3.5,phase1=90,amplitude2=3.5, - period1=25,period2=6.25,phase2=0,Lissajous=true,Wave2=\RDogToothB] -\end{CenterExample} - -\subsection{Frequency modulation examples} - -\begin{SideBySideExample}[xrightmargin=5.5cm] - \Oscillo[/HLCBWz(periodmodulation1)=200,/HLCBWz(freqmod1)=5,period1=30, - timediv=50,plotpoints=1000,amplitude2=2,period2=200] -\end{SideBySideExample} - -\begin{SideBySideExample}[xrightmargin=5.5cm] - \Oscillo[amplitude1=1,amplitude2=1, - period2=25,period1=2,combine=true,operation=mul] -\end{SideBySideExample} - -\begin{SideBySideExample}[xrightmargin=5.5cm] - \Oscillo[amplitude1=1,amplitude2=1,/HLCBWz(CC2)=2, - period2=25,period1=2,combine=true,operation=mul,offset1=5] -\end{SideBySideExample} - -\begin{SideBySideExample}[xrightmargin=5.5cm] - \Oscillo[amplitude1=1,amplitude2=1,CC2=1.5,Wave2=\TriangleB, - period2=25,period1=2,combine=true,operation=mul,offset1=5] -\end{SideBySideExample} - -\begin{SideBySideExample}[xrightmargin=5.5cm] - \Oscillo[amplitude1=1,amplitude2=1,CC2=2,Wave2=\RDogToothB, - period2=25,period1=2,combine=true,operation=mul,offset1=5] -\end{SideBySideExample} - -\begin{SideBySideExample}[xrightmargin=5.5cm] - \Oscillo[amplitude1=1,amplitude2=1,CC2=-2,Wave2=\LDogToothB, - period2=20,period1=3,combine=true,operation=mul,offset1=5] -\end{SideBySideExample} - -\begin{SideBySideExample}[xrightmargin=5.5cm] - \Oscillo[amplitude1=1,amplitude2=1,CC2=2,Wave2=\RDogToothB, - period2=25,period1=2,combine=true,operation=mul, - offset1=5,offset3=-1] -\end{SideBySideExample} - -\begin{SideBySideExample}[xrightmargin=5.5cm] - \Oscillo[amplitude1=1,amplitude2=1,CC2=-2,Wave2=\LDogToothB, - period2=20,period1=3,combine=true,operation=mul, - offset1=5,offset3=1] -\end{SideBySideExample} - -\subsection{More examples} - -\begin{SideBySideExample}[xrightmargin=5.5cm] - \Oscillo[amplitude1=3.5,phase1=90,amplitude2=3.5,period1=50, - period2=50,phase2=0,Lissajous=true,damping1=0.01, - Wave2=\RectangleB] -\end{SideBySideExample} - -\begin{SideBySideExample}[xrightmargin=5.5cm] - \Oscillo[amplitude1=2,amplitude2=1.8,Wave1=\RectangleA, - Fourier=500,period1=25,period2=12.5,combine=true, - operation=add,Wave2=\RectangleB] -\end{SideBySideExample} - -\begin{SideBySideExample}[xrightmargin=5.5cm] - \Oscillo[amplitude1=4,amplitude2=3,period1=50, - period2=5,Lissajous=true,Wave1=\RectangleA] -\end{SideBySideExample} - -\begin{SideBySideExample}[xrightmargin=5.5cm] - \Oscillo[amplitude1=3,phase1=90,amplitude2=3,damping1=0.05, - period1=25,period2=12.5,phase2=0, - Lissajous=true,Wave2=\RDogToothB] -\end{SideBySideExample} - -\begin{SideBySideExample}[xrightmargin=5.5cm] - \Oscillo[amplitude1=4,amplitude2=3,period1=25, - period2=50,Lissajous=true,damping1=0.02, - Wave2=\TriangleB] -\end{SideBySideExample} - -\begin{SideBySideExample}[xrightmargin=5.5cm] - \Oscillo[Wave2=\LDogToothB,combine=true,operation=mul, - amplitude2=2,period2=50,period1=2,amplitude1=1] -\end{SideBySideExample} - -\begin{SideBySideExample}[xrightmargin=5.5cm] - \Oscillo[amplitude1=3.5,phase1=90,amplitude2=3.5,period1=50, - period2=50,phase2=0,Lissajous=true,damping1=0.01, - Wave2=\RectangleB,damping2=0.01] -\end{SideBySideExample} - -\end{document} |