%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% %% %% This is file `pst-marble.tex' %% %% %% %% IMPORTANT NOTICE: %% %% %% %% Package `pst-marble' %% %% Copyright (C) 2018 Aubrey Jaffer %% %% %% %% Aubrey Jaffers, with help of Manuel Luque, Jürgen Gilg %% %% Email address: agj@alum.mit.edu %% %% %% %% This program can redistributed and/or modified under %% %% the terms of the LaTeX Project Public License %% %% Distributed from CTAN archives in directory %% %% macros/latex/base/lppl.txt; either version 1.3c of %% %% the License, or (at your option) any later version. %% %% %% %% DESCRIPTION: %% %% `pst-marble' is a PSTricks package to draw marble-like patterns %% %% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \csname PSTMARBLELoaded\endcsname \let \PSTMARBLELoaded\endinput \ifx\PSTricksLoaded\endinput\else\input pstricks.tex\fi \ifx\PSTXKeyLoaded\endinput \else\input pst-xkey.tex\fi \def\fileversion{1.0} \def\filedate{2018/10/19} \message{`PST' v\fileversion, \filedate} % \pstheader{pst-marble.pro} % \edef\PstAtCode{\the\catcode`\@} \catcode`\@=11\relax \pst@addfams{pst-marble} \define@key[psset]{pst-marble}{background}{\def\pst@marble@background{#1 }} \define@key[psset]{pst-marble}{viscosity}{\def\pst@marble@visc{#1 }} %\define@key[psset]{pst-marble}{resolution}{\def\pst@marble@resolution{#1 }} % \define@key[psset]{pst-marble}{actions}{\def\pst@marble@actions{#1 }} % colors are red, green, and blue components between 0 and 1. \define@key[psset]{pst-marble}{colors}{\def\pst@marble@colors{#1 }} \define@boolkey[psset]{pst-marble}[Pst@]{drawcontours}[true]{} \define@boolkey[psset]{pst-marble}[Pst@]{bckg}[true]{} \psset[pst-marble]{background=1 1 1, viscosity=1000, bckg=true, actions=0 0 40 colors length concentric-bands, colors={ [0.960 0.764 0.576] [0.316 0.362 0.298] [0.200 0.050 0.015] [0.023 0.145 0.451] [0.866 0.353 0.050] [0.200 0.050 0.015] }, drawcontours=false }% \def\psMarble{\def\pst@par{}\pst@object{psMarble}} \def\psMarble@i{\@ifnextchar({\psMarble@ii}{\psMarble@ii(10,10)}} \def\psMarble@ii(#1,#2){% \begin@SpecialObj \addto@pscode{% /cm {\pst@number\psunit mul } bind def /background [\pst@marble@background] def /colors [\pst@marble@colors] def /pagewidth #1 cm def % en cm /pageheight #2 cm def % en cm \pst@number\pslinewidth\space 1000 div setlinewidth plotdict begin /loy pageheight -2 div def /hiy pageheight 2 div def /hix pagewidth 2 div def /lox pagewidth -2 div def /orgx hix lox add 2 div def /orgy hiy loy add 2 div def orgx orgy translate /actions [ \pst@marble@actions ] def /acnt actions length def \ifPst@drawcontours /Contours {stroke} def \else /Contours {fill} def \fi \ifPst@bckg gsave background aload pop setrgbcolor lox loy pagewidth pageheight rectfill grestore \fi gsave lox loy pagewidth pageheight rectclip \pst@marble@visc marble grestore end }% fin du code ps \end@SpecialObj }% % fin de la commande PSTricks \catcode`\@=\PstAtCode\relax \endinput