From b3d72971aeaf06ea2627c5ebca11fef7d76e0d5b Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 12 Dec 2009 01:01:09 +0000 Subject: new pstricks package pst-thick (9dec09) git-svn-id: svn://tug.org/texlive/trunk@16369 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/tex/generic/pst-thick/pst-thick.tex | 109 +++++++++++++++++++++ 1 file changed, 109 insertions(+) create mode 100644 Master/texmf-dist/tex/generic/pst-thick/pst-thick.tex (limited to 'Master/texmf-dist/tex/generic/pst-thick') diff --git a/Master/texmf-dist/tex/generic/pst-thick/pst-thick.tex b/Master/texmf-dist/tex/generic/pst-thick/pst-thick.tex new file mode 100644 index 00000000000..4732b4243cb --- /dev/null +++ b/Master/texmf-dist/tex/generic/pst-thick/pst-thick.tex @@ -0,0 +1,109 @@ +%% $Id: pst-thick.tex 170 2009-12-08 21:30:53Z herbert $ +%% +%% This is file `pst-thick.tex', +%% +%% IMPORTANT NOTICE: +%% +%% Package `pst-thick.tex' +%% +%% MAnuel Luque +%% Herbert Voss +%% +%% This program can be redistributed and/or modified under the terms +%% of the LaTeX Project Public License Distributed from CTAN archives +%% in directory CTAN:/macros/latex/base/lppl.txt. +%% +%% DESCRIPTION: +%% `pst-mirror' is a PSTricks package to view objects ob a spherical sphere +%% +%% +% +\ifx\PSTPlotLoaded\endinput\else\input pst-plot.tex\fi +\ifx\PSTNodeLoaded\endinput\else\input pst-node.tex\fi +\ifx\PSTXKeyLoaded\endinput\else\input pst-xkey.tex\fi +% +\def\fileversion{1.0} +\def\filedate{2009/12/08} +\edef\PstAtCode{\the\catcode`\@} \catcode`\@=11\relax + +\definecolor{darkgreen}{cmyk}{1,0,1,0.5} +\newpsstyle{vide}{fillstyle=none} +\newpsstyle{thickline}{fillstyle=solid,fillcolor=red!25,linecolor=red,plotpoints=360} +\newpsstyle{onlythecurvered}{linecolor=red,plotpoints=360} +\newpsstyle{onlythecurveblue}{linecolor=blue,plotpoints=360} +\newpsstyle{thicklineblue}{fillstyle=solid,fillcolor=blue!25,linecolor=blue,plotpoints=360} +\newpsstyle{rainbow}{fillstyle=ccslopes,linecolor=red,plotpoints=360} +\newpsstyle{solide}{fillstyle=solid,fillcolor=black,plotpoints=360} +\newpsstyle{serpent}{fillstyle=gradient,gradbegin=darkgreen,gradend=yellow,gradmidpoint=0,linecolor=green,gradangle=90,plotpoints=360} +\newpsstyle{default}{}% lignes noires, rien à l'intérieur + +\pst@addfams{pst-thick} +% +\define@key[psset]{pst-thick}{E}[1]{\def\psk@thick@E{#1}} +\define@key[psset]{pst-thick}{K}[0]{\def\psk@thick@K{#1}}% K=0 => angle de rotation/normale à la courbe +\define@key[psset]{pst-thick}{stylethick}[thickline]{\def\psk@thick@stylethick{#1}}% style +\define@key[psset]{pst-thick}{stylecurve1}[onlythecurvered]{\def\psk@thick@stylecurveA{#1}}% style +\define@key[psset]{pst-thick}{stylecurve2}[onlythecurvered]{\def\psk@thick@stylecurveB{#1}}% style +\psset[pst-thick]{E=1,K=0,stylethick=thickline,stylecurve1=onlythecurvered,stylecurve2=onlythecurvered} + +\define@boolkey[psset]{pst-thick}[Pst@]{curveonly}[true]{} +\psset[pst-thick]{curveonly=false} + +\SpecialCoor + +\def\CalculsCurves{% + /ds dx dup mul dy dup mul add sqrt def + /dx dx ds div def + /dy dy ds div def + /dx' K cos dx mul K sin dy mul sub def + /dy' K sin dx mul K cos dy mul add def + /nx E 2 div dy' mul neg def % normale x + /ny E 2 div dx' mul def % normale y + /x1 x0 nx add def + /y1 y0 ny add def + x1 y1 } + +\def\psthick{\pst@object{psthick}}% +\def\psthick@i#1#2#3{{% + \use@par + \ifPst@curveonly + \parametricplot[style=\psk@thick@stylecurveA]{#1}{#2}{% + /E \psk@thick@E\space def /K \psk@thick@K\space def + #3 \CalculsCurves }% + \parametricplot[style=\psk@thick@stylecurveB]{#2}{#1}{% + /E \psk@thick@E\space def + /K \psk@thick@K\space def + #3 + /ds dx dup mul dy dup mul add sqrt def + /dx dx ds div def + /dy dy ds div def + /dx' K cos dx mul K sin dy mul sub def + /dy' K sin dx mul K cos dy mul add def + /nx E 2 div dy' mul neg def % normale x + /ny E 2 div dx' mul def % normale y + x0 nx add y0 ny add } + \else + \pscustom[style=\psk@thick@stylethick]{% + \parametricplot{#1}{#2}{% + /E \psk@thick@E\space def + /K \psk@thick@K\space def + #3 \CalculsCurves }% + \parametricplot{#2}{#1}{ #3 \CalculsCurves } + \closepath + } + \fi}\ignorespaces} + +\def\fonctionSinus#1#2{% + /P #1 def % période (10 unités) + /A #2 def % amplitude + /O 360 P div def % pulsation 2*pi/P + /x0 t def + /y0 t O mul sin A mul def % A*sin(O*t) + /dx dt def + /dy t dt add O mul sin + t O mul sin + sub + A mul def } + +\catcode`\@=\PstAtCode\relax +\endinput -- cgit v1.2.3