%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% PiCTeX Erweiterungen von Andreas Schrell  %
%                          Windhoevel 2     %
%                          5600 Wuppertal 2 %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Version 1.0                    29.10.1989 %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Befehle f"ur die Benutzer:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% \setsignal            zur Benutzung wie \setlinear        %
%                       \plot erzeugt danach Signalverlaeufe%
%                       fuer Impulsdiagramme. Es werden TeX-%
%                       Linien benutzt, daher schneller als %
%                       \plot mit \setlinear                %
% Bsp:                                                      %
% \setsignal \plot 0 1  1 0  2 1  4 0  7 1  8 0 /           %
% erzeugt                                                   %
% 0 1 2 3 4 5 6 7 8                                         %
% __   ___       _                                          %
%   ! !   !     ! !                                         %
%   !_!   !_____! !                                         %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% \setmsignal           zur Benutzung wie \setlinear        %
%                       \plot erzeugt danach Signalverlaeufe%
%                       fuer Impulsdiagramme. Es werden TeX-%
%                       Linien benutzt, daher schneller als %
%                       \plot mit \setlinear                %
% Bsp:                                                      %
% \setmsignal \plot 0 1 1  2 2  4 3  6 0  7 1 1      %
% erzeugt                                                   %
% 0 1 2 3 4 5 6 7 8                                         %
%      ---                                                  %
%     !   !                                                 %
%    -    !                                                 %
% --!     !    -                                            %
%         !___!                                             %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\catcode`!=11

\def\setsignal{%
 \let\!drawcurve=\!scurve}
 
\def\!scurve #1 #2 {%
 \edef\!hxS{#1}%
 \edef\!hyS{#2}%
 \!sjoin}
 
\def\!sjoin#1 #2 {%
 \putrule from {\!hxS} {\!hyS} to {#1} {\!hyS}
 \putrule from {#1} {\!hyS} to {#1} {#2}
 \edef\!hxS{#1}%
 \edef\!hyS{#2}%
 \!ifnextchar/{\!finish}{\!sjoin}}


\def\setmsignal{%
 \let\!drawcurve=\!smcurve}
 
\def\!smcurve #1 #2 #3 {%
 \edef\!hxS{#2}%
 \edef\!hyS{#3}%
 \putrule from {#1} {\!hyS} to {\!hxS} {\!hyS}
 \!smjoin}
 
\def\!smjoin#1 #2 {%
 \putrule from {\!hxS} {\!hyS} to {\!hxS} {#2}
 \putrule from {\!hxS} {#2} to {#1} {#2}
 \edef\!hxS{#1}%
 \edef\!hyS{#2}%
 \!ifnextchar/{\!finish}{\!smjoin}}

\catcode`!=12

