From 20a9dc1fd2b5ab0e49fa366ab9865a5b2b11d76f Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 19 Jun 2010 21:44:32 +0000 Subject: pst-sigsys 1.3 (19jun10) git-svn-id: svn://tug.org/texlive/trunk@19063 c570f23f-e606-0410-a88d-b1316a301751 --- .../tex/generic/pst-sigsys/pst-sigsys.tex | 136 +++++++++++++++------ 1 file changed, 100 insertions(+), 36 deletions(-) (limited to 'Master/texmf-dist/tex/generic/pst-sigsys') 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{{% -- cgit v1.2.3