%% BEGIN pst-coil.tex %% %% Coils and zigzags with PSTricks %% See the PSTricks User's Guide for documentation. %% For use with the PostScript header file `pst-coil.pro'. %% %% %% COPYRIGHT 1993, 1994, 1999 by Timothy Van Zandt, tvz@nwu.edu. %% 2006 Herbert Voss, hvoss@tug.org %% %% This program can be redistributed and/or modified under the terms %% of the LaTeX Project Public License Distributed from CTAN %% archives in directory macros/latex/base/lppl.txt. %% \message{ v\fileversion, \filedate} \csname PSTcoilsLoaded\endcsname \let\PSTcoilsLoaded\endinput \ifx\PSTricksLoaded\endinput\else \def\next{\input pstricks.tex}\expandafter\next \fi \ifx\PSTXKeyLoaded\endinput\else\input pst-xkey \fi % \def\fileversion{1.00} \def\filedate{2006/11/05} % \edef\TheAtCode{\the\catcode`\@} \catcode`\@=11 % \pst@addfams{pst-coil} \pstheader{pst-coil.pro} \edef\pst@theheaders{\pst@theheaders,pst-coil.pro} \def\pst@coildict{tx@CoilDict begin } % \define@key[psset]{pst-coil}{coilwidth}{\pst@getlength{#1}\psk@coilwidth} \define@key[psset]{pst-coil}{coilheight}{\pst@checknum{#1}\pscoilheight} \define@key[psset]{pst-coil}{coilarmA}{\pst@getlength{#1}\psk@coilarmA} \define@key[psset]{pst-coil}{coilarmB}{\pst@getlength{#1}\psk@coilarmB} \define@key[psset]{pst-coil}{coilarm}{% \pst@getlength{#1}\psk@coilarmA% \let\psk@coilarmB\psk@coilarmA} \define@key[psset]{pst-coil}{coilaspect}{\pst@getangle{#1}\psk@coilaspect} \define@key[psset]{pst-coil}{coilinc}{\pst@getangle{#1}\psk@coilinc} % \psset[pst-coil]{coilaspect=45,coilarm=.5cm,coilheight=1,coilwidth=1cm,coilinc=10} % \def\pscoil{\def\pst@par{}\pst@object{pscoil}} \def\pscoil@i{\pst@getarrows\pscoil@ii} \def\pscoil@ii(#1){\@ifnextchar({\pscoil@iii{1}(#1)}{\pscoil@iii{\z@}(0,0)(#1)}} \def\pscoil@iii#1(#2)(#3){% \begin@OpenObj \pst@getcoor{#2}\pst@tempa \pst@getcoor{#3}\pst@tempb \pst@optcp{#1}\pst@tempa \addto@pscode{% \pst@tempa \pst@tempb \psk@coilwidth \pscoilheight \psk@coilarmA \psk@coilarmB \psk@coilaspect \psk@coilinc \pst@coildict \tx@Coil end }% \showpointsfalse \end@OpenObj} \def\tx@CoilLoop{CoilLoop } \def\tx@Coil{Coil } \def\psCoil{\def\pst@par{}\pst@object{psCoil}} \def\psCoil@i#1#2{% \begin@AltOpenObj \showpointsfalse \pst@getangle{#1}\pst@tempa \pst@getangle{#2}\pst@tempb \addto@pscode{% \pst@tempa \pst@tempb \psk@coilwidth \pscoilheight \psk@coilaspect \psk@coilinc \pst@coildict \tx@AltCoil end \@nameuse{psls@\pslinestyle} }% \end@OpenObj} \def\tx@AltCoil{AltCoil } % \def\pszigzag{\def\pst@par{}\pst@object{pszigzag}} \def\pszigzag@i{\pst@getarrows\pszigzag@ii} \def\pszigzag@ii(#1){\@ifnextchar({\pszigzag@iii{1}(#1)}{\pszigzag@iii{\z@}(0,0)(#1)}} \def\pszigzag@iii#1(#2)(#3){% \begin@OpenObj \pst@getcoor{#2}\pst@tempa \pst@getcoor{#3}\pst@tempb \pst@optcp{#1}\pst@tempa \addto@pscode{% \pst@tempa \pst@tempb \pscoilheight \psk@coilwidth \psk@coilarmA \psk@coilarmB \pst@coildict \tx@ZigZag end \psline@iii \tx@Line }% \end@OpenObj} % \def\tx@ZigZag{ZigZag } % \def\nccoil{\pst@object{nccoil}} \def\nccoil@i{\check@arrow{\nccoil@ii}} \def\nccoil@ii#1#2{\nc@object{Open}{#1}{#2}{.5}{% \tx@NCCoor tx@Dict begin % DG/SR modification begin - Mar. 19, 1998 - Patch 2 4 2 roll % DG/SR modification end \psk@coilwidth \pscoilheight \psk@coilarmA \psk@coilarmB \psk@coilaspect \psk@coilinc \pst@coildict \tx@Coil end end }} % \def\pccoil{\def\pst@par{}\pst@object{pccoil}} \def\pccoil@i{\pc@object\nccoil@ii} \def\nczigzag{\pst@object{nczigzag}} \def\nczigzag@i{\check@arrow{\nczigzag@ii}} \def\nczigzag@ii#1#2{\nc@object{Open}{#1}{#2}{.5}{% \tx@NCCoor tx@Dict begin % DG/SR modification begin - Mar. 19, 1998 - Patch 2 4 2 roll % DG/SR modification end \pscoilheight \psk@coilwidth \psk@coilarmA \psk@coilarmB \pst@coildict \tx@ZigZag end \psline@iii \tx@Line end }} % \def\pczigzag{\def\pst@par{}\pst@object{pczigzag}} \def\pczigzag@i{\pc@object\nczigzag@ii} % \catcode`\@=\TheAtCode\relax \endinput %% %% END pst-coil.tex