summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/pst-sigsys
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2010-06-19 21:44:32 +0000
committerKarl Berry <karl@freefriends.org>2010-06-19 21:44:32 +0000
commit20a9dc1fd2b5ab0e49fa366ab9865a5b2b11d76f (patch)
treeae6bfeb58b8621212058da48cb0d25e2fec02d4c /Master/texmf-dist/tex/generic/pst-sigsys
parent09e4efe52bc2ae36e52a5cc724348286b16292a4 (diff)
pst-sigsys 1.3 (19jun10)
git-svn-id: svn://tug.org/texlive/trunk@19063 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic/pst-sigsys')
-rw-r--r--Master/texmf-dist/tex/generic/pst-sigsys/pst-sigsys.tex136
1 files changed, 100 insertions, 36 deletions
diff --git a/Master/texmf-dist/tex/generic/pst-sigsys/pst-sigsys.tex b/Master/texmf-dist/tex/generic/pst-sigsys/pst-sigsys.tex
index e6d7f79b885..7019400e5ae 100644
--- a/Master/texmf-dist/tex/generic/pst-sigsys/pst-sigsys.tex
+++ b/Master/texmf-dist/tex/generic/pst-sigsys/pst-sigsys.tex
@@ -1,5 +1,5 @@
%%
-%% This is file `pst-sigsys.tex' v 1.2.
+%% This is file `pst-sigsys.tex' v 1.3.
%%
%% IMPORTANT NOTICE:
%%
@@ -9,6 +9,7 @@
%% v 1.0: 01/15/2009
%% v 1.1: 04/01/2009
%% v 1.2: 01/15/2010
+%% v 1.3: 06/18/2010
%%
%% This program can be redistributed and/or modified under the terms
%% of the LaTeX Project Public License Distributed from CTAN archives
@@ -26,8 +27,8 @@
\ifx\PSTnodesLoaded\endinput\else\input pst-node.tex\fi
\ifx\PSTXKeyLoaded\endinput\else \input pst-xkey \fi
-\def\pstsigsysFV{1.2}
-\def\pstsigsysFD{2010/01/15}
+\def\pstsigsysFV{1.3}
+\def\pstsigsysFD{2010/06/18}
\message{`PST-SigSys' v\pstsigsysFV, \pstsigsysFD\space (fd)}
@@ -73,6 +74,10 @@
\newdimen\ss@opsep
\newdimen\ss@ldotssep
\newdimen\ss@ldotssize
+\newdimen\ss@aoffset
+\newdimen\ss@knoblength
+\newdimen\ss@knobwidth
+\def\ss@knobangle{}
%
\newdimen\ss@temp@dimA
\newdimen\ss@temp@dimB
@@ -81,7 +86,7 @@
\def\ss@temp{}
\def\ss@temp@choice{}
%
-%%% Adds two numbers. %%%
+%%% add two numbers %%%
\newdimen\ss@calc@dim
\def\ss@calc{}
\def\ss@addnum#1#2#3{%
@@ -93,15 +98,7 @@
%
\def\pst@scale#1{\pssetlength{#1}{\ss@scale#1}}
%
-%%% Scales the line width. %%%
-\def\ss@LW{}
-\def\pst@scaleLW#1#2{%
-\pssetlength{\ss@calc@dim}{#1\pslinewidth}%
-\pst@dimtonum{\ss@calc@dim}{\ss@LW}%
-\let#2\ss@LW%
-}
-%
-%%% Draws a cross. %%%
+%%% draw a cross %%%
\def\ss@cross@temp{}
\def\pst@cross(#1;#2)#3{%
\ss@addnum{#2}{90}\ss@cross@temp%
@@ -109,8 +106,22 @@
\psline[linewidth=#3,arrows=-](-#1;\ss@cross@temp)(#1;\ss@cross@temp)%
}
%
-%%% Sets the frame width using the golden ratio. %%%
-\def\pst@frame@width#1#2{%
+%%% set frame width %%%
+\def\pst@frame@width#1{%
+\pssetlength{\ss@temp@dimA}{#1}%
+\divide\ss@temp@dimA 2\relax%
+\edef\psk@framewidth{\pst@number\ss@temp@dimA}%
+}
+%
+%%% set frame height %%%
+\def\pst@frame@height#1{%
+\pssetlength{\ss@temp@dimA}{#1}%
+\divide\ss@temp@dimA 2\relax%
+\edef\psk@frameheight{\pst@number\ss@temp@dimA}%
+}
+%
+%%% set the frame width using the golden ratio %%%
+\def\pst@gratio@width#1#2{%
\pssetlength{\ss@temp@dimA}{#1}%
\pssetlength{\ss@temp@dimB}{#2\ss@temp@dimA}%
\divide\ss@temp@dimA 2\relax%
@@ -119,8 +130,8 @@
\edef\psk@frameheight{\pst@number\ss@temp@dimB}%
}
%
-%%% Sets the frame height using the golden ratio. %%%
-\def\pst@frame@height#1#2{%
+%%% set the frame height using the golden ratio %%%
+\def\pst@gratio@height#1#2{%
\pssetlength{\ss@temp@dimA}{#1}%
\pssetlength{\ss@temp@dimB}{#2\ss@temp@dimA}%
\divide\ss@temp@dimA 2\relax%
@@ -178,6 +189,7 @@
\define@key[psset]{pst-sigsys}{stemhead}[]{\def\ss@stemhead{#1}}
\define@boolkey[psset]{pst-sigsys}[ss@]{stemtag}[true]{}
\define@key[psset]{pst-sigsys}{stemtagformat}[]{\def\ss@stemtagformat{#1}}
+\define@boolkey[psset]{pst-sigsys}[ss@]{killzero}[true]{}
\define@key[psset]{pst-sigsys}{order}{\def\ss@order{#1}}
\define@key[psset]{pst-sigsys}{zerowidth}{\pssetlength{\ss@zerowidth}{#1}}
\define@key[psset]{pst-sigsys}{zeroradius}{\pssetlength{\ss@zeroradius}{#1}}
@@ -197,23 +209,33 @@
\define@key[psset]{pst-sigsys}{angle}{\def\ss@angle{#1}}
\define@key[psset]{pst-sigsys}{ldotssize}{\pssetlength{\ss@ldotssize}{#1}}
\define@key[psset]{pst-sigsys}{ldotssep}{\pssetlength{\ss@ldotssep}{#1}}
-\define@key[psset]{pst-sigsys}{gratioWh}{\pst@frame@width{#1}{.6180339887}}
-\define@key[psset]{pst-sigsys}{gratioWv}{\pst@frame@width{#1}{1.618033989}}
-\define@key[psset]{pst-sigsys}{gratioHh}{\pst@frame@height{#1}{1.618033989}}
-\define@key[psset]{pst-sigsys}{gratioHv}{\pst@frame@height{#1}{.6180339887}}
+\define@key[psset]{pst-sigsys}{gratioWh}{\pst@gratio@width{#1}{.6180339887}}
+\define@key[psset]{pst-sigsys}{gratioWv}{\pst@gratio@width{#1}{1.618033989}}
+\define@key[psset]{pst-sigsys}{gratioHh}{\pst@gratio@height{#1}{1.618033989}}
+\define@key[psset]{pst-sigsys}{gratioHv}{\pst@gratio@height{#1}{.6180339887}}
+\define@key[psset]{pst-sigsys}{aoffset}{\pssetlength{\ss@aoffset}{#1}}
+\define@key[psset]{pst-sigsys}{knoblength}{\pssetlength{\ss@knoblength}{#1}}
+\define@key[psset]{pst-sigsys}{knobwidth}{\pssetlength{\ss@knobwidth}{#1}}
+\define@key[psset]{pst-sigsys}{knobangle}{\def\ss@knobangle{#1}}
+
+\define@key[psset]{pst-sigsys}{framewidth}{\pst@frame@width{#1}}
+\define@key[psset]{pst-sigsys}{frameheight}{\pst@frame@height{#1}}
+\define@key[psset]{pst-sigsys}{FillColor}{\psset{fillstyle=solid,fillcolor=#1}}
%--- end keys --------------------------------------------
%--- default key values ----------------------------------
-\psset[pst-sigsys]{scale=1}% global
+\psset[pst-sigsys]{scale=1,angle=0}% global
\psset[pst-sigsys]{xlpos=b,ylpos=r}% psaxeslabels
-\psset[pst-sigsys]{ticklength=.075}% psTick
-\psset[pst-sigsys]{signalsep=5pt}% pssignal
-\psset[pst-sigsys]{stemhead=*,stemtag=false,stemtagformat=\scriptstyle}% psstem
+\psset[pst-sigsys]{ticklength=.15}% psTick
+\psset[pst-sigsys]{signalsep=5pt}% pssignal
+\psset[pst-sigsys]{stemhead=*,stemtag=false,stemtagformat=\scriptstyle,killzero=false}% psstem
\psset[pst-sigsys]{zerowidth=.7pt,zeroradius=.08,zeroradiusinc=.07,order=1}% pszero
\psset[pst-sigsys]{polewidth=.7pt,polelength=.12}% pspole
\psset[pst-sigsys]{opwidth=.7pt,oplength=.125,opsep=.1,operation=plus}% pscircleop and psframeop
-\psset[pst-sigsys]{ldotssize=.05,ldotssep=.15,angle=0}% psldots
+\psset[pst-sigsys]{ldotssize=.05,ldotssep=.15}% psldots
+\psset[pst-sigsys]{aoffset=0}% psadaptive
+\psset[pst-sigsys]{knobwidth=.7pt,knoblength=1,knobangle=45}% psknob
%--- end default key values ------------------------------
\pst@addfams{pst-sigsys}
@@ -244,20 +266,22 @@
%--- pstick ----------------------------------------------
\def\pstick{\def\pst@par{}\pst@object{pstick}}
-\def\pstick@i{\@ifnextchar({\pstick@ii{0}}{\pstick@ii}}
+\def\pstick@i{\@ifnextchar({\pstick@ii{\ss@angle}}{\pstick@ii}}
\def\pstick@ii#1(#2)#3{{%
\use@par%
-\rput{#1}(#2){\psline(-#3,0)(#3,0)}%
+\pssetlength{\ss@temp@dimA}{#3}%
+\pssetlength{\ss@temp@dimA}{.5\ss@temp@dimA}%
+\rput(#2){\psline(-\ss@temp@dimA;#1)(\ss@temp@dimA;#1)}%
}\ignorespaces}
%--- end pstick ------------------------------------------
%--- psTick ----------------------------------------------
\def\psTick{\def\pst@par{}\pst@object{psTick}}
-\def\psTick@i{\@ifnextchar({\psTick@ii{0}}{\psTick@ii}}
+\def\psTick@i{\@ifnextchar({\psTick@ii{\ss@angle}}{\psTick@ii}}
\def\psTick@ii#1(#2){{%
\use@par%
-\rput{#1}(#2){\psline(-\ss@ticklength,0)(\ss@ticklength,0)}%
+\pstick@ii#1(#2){\ss@ticklength}%
}\ignorespaces}
%--- end psTick ------------------------------------------
@@ -278,10 +302,15 @@
\use@par%
\ss@temp@cnt=#1%
\@for\ss@for@ind:=#3\do{%
+\pssetlength{\ss@temp@dimA}{\ss@for@ind}%
+\ifss@killzero%
+\ifdim\ss@temp@dimA=\z@\else%
\psline{-\ss@stemhead}(\ss@temp@cnt,0)(\ss@temp@cnt,\ss@for@ind)%
+\fi\else%
+\psline{-\ss@stemhead}(\ss@temp@cnt,0)(\ss@temp@cnt,\ss@for@ind)%
+\fi%
%
\ifss@stemtag%
-\pssetlength{\ss@temp@dimA}{\ss@for@ind}%
\ifdim\ss@temp@dimA<\z@%
\rput[b](\ss@temp@cnt,\pslabelsep){$\ss@stemtagformat\the\ss@temp@cnt$}%
\else%
@@ -411,18 +440,20 @@
%--- psldots ---------------------------------------------
\def\psldots{\def\pst@par{}\pst@object{psldots}}
-\def\psldots@i(#1){{%
+\def\psldots@i{\@ifnextchar({\psldots@ii{\ss@angle}}{\psldots@ii}}
+\def\psldots@ii#1(#2){{%
\use@par%
\pst@scale{\ss@ldotssep}%
\pst@scale{\ss@ldotssize}%
-\rput(#1){\psdots[dotsize=\ss@ldotssize](-\ss@ldotssep;\ss@angle)(0,0)(\ss@ldotssep;\ss@angle)}%
+\rput(#2){\psdots[dotsize=\ss@ldotssize](-\ss@ldotssep;#1)(0,0)(\ss@ldotssep;#1)}%
}\ignorespaces}
%--- end psldots -----------------------------------------
%--- ldotsnode -------------------------------------------
\def\ldotsnode{\def\pst@par{}\pst@object{ldotsnode}}
-\def\ldotsnode@i(#1)#2{{%
+\def\ldotsnode@i{\@ifnextchar({\ldotsnode@ii{\ss@angle}}{\ldotsnode@ii}}
+\def\ldotsnode@ii#1(#2)#3{{%
\use@par%
\ss@temp@dimC=.5\ss@signalsep%
\ss@temp@dimB=.5\ss@ldotssize%
@@ -432,8 +463,8 @@
\advance\ss@temp@dimA\ss@temp@dimC%
\edef\psk@framewidth{\pst@number\ss@temp@dimA}%
\edef\psk@frameheight{\pst@number\ss@temp@dimB}%
-\rput{\ss@angle}(#1){\fnode[style=inv@frame](0,0){#2}}%
-\psldots(#1)%
+\rput{#1}(#2){\fnode[style=inv@frame](0,0){#3}}%
+\psldots{#1}(#2)%
}\ignorespaces}
%--- end ldotsnode ---------------------------------------
@@ -457,6 +488,39 @@
%--- end psfblock ----------------------------------------
+%--- psadaptive ------------------------------------------
+\def\psadaptive{\def\pst@par{}\pst@object{psadaptive}}
+\def\psadaptive@i{\check@arrow{\psadaptive@ii}}
+\def\psadaptive@ii#1(#2)#3{{%
+\use@par%
+\rput(#1){\pnode(#2){ss@nodeA}}%
+\rput(ss@nodeA){\pnode(\ss@aoffset,0){#3}}%
+\psLNode(#1)(ss@nodeA){-1}{ss@nodeB}%
+\ifdim\ss@aoffset>\z@%
+\ncdiagg[armA=\ss@aoffset,angleA=180]{-}{#3}{#1}%
+\else%
+\ncdiagg[armA=-\ss@aoffset,angleA=0]{-}{#3}{#1}%
+\fi%
+\ncline{#1}{ss@nodeB}%
+}\ignorespaces}
+%--- end psadaptive --------------------------------------
+
+
+%--- psknob ----------------------------------------------
+\def\psknob{\def\pst@par{}\pst@object{psknob}}
+\def\psknob@i(#1)#2{{%
+\psset{arrows=->}%
+\use@par%
+\pst@scale{\ss@knobwidth}%
+\pst@scale{\ss@knoblength}%
+\pssetlength{\ss@temp@dimA}{\psk@radius}%
+\pst@scale{\ss@temp@dimA}%
+\cnode[linewidth=\ss@knobwidth](#1){\ss@temp@dimA}{#2}%
+\pstick[linewidth=\ss@knobwidth]{\ss@knobangle}(#1){\ss@knoblength}%
+}\ignorespaces}
+%--- end psknob ------------------------------------------
+
+
%--- psusampler ------------------------------------------
\def\psusampler{\def\pst@par{}\pst@object{psusampler}}
\def\psusampler@i(#1)#2#3{{%