diff options
author | Karl Berry <karl@freefriends.org> | 2009-01-14 00:42:36 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2009-01-14 00:42:36 +0000 |
commit | 646227dfa8135f57fbdaf259d889b55065bb763a (patch) | |
tree | 985c56dc267f654b7a84c83b774989a45d1257bc | |
parent | a1bced89d26fce38304a5f035d000839f561d258 (diff) |
pst-solides3d update (12jan09)
git-svn-id: svn://tug.org/texlive/trunk@11864 c570f23f-e606-0410-a88d-b1316a301751
4 files changed, 124 insertions, 102 deletions
diff --git a/Master/texmf-dist/doc/generic/pst-solides3d/README b/Master/texmf-dist/doc/generic/pst-solides3d/README index 713806717ec..e16b8a02084 100644 --- a/Master/texmf-dist/doc/generic/pst-solides3d/README +++ b/Master/texmf-dist/doc/generic/pst-solides3d/README @@ -1,60 +1,30 @@ -fichier README.txt pour pst-solides3d +%% Package `pst-solides3d.tex' +%% +%% Manuel Luque, Arnaud Schmittbuhl,Jean-Paul Vignault, +%% Herbert Voss +%% +%% 2009-01-12 +%% -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. +Save the files -1) Installation de pst-solides3d, méthode "propre" -================================================== +pst-solides3d.sty +pst-solides3d.tex +solides3d.pro -Installation hints for 'pst-solides3d' on your TeX system +in any place, where latex or any other TeX program will find it. +If you like to get the documentation file in another format run -The package consists of the three main files for 'pst-solides3d' +latex pst-solides3d-doc-EN.tex +latex pst-solides3d-doc-EN.tex +dvips pst-solides3d-doc-EN.dvi - solides.pro : the prolog file for 'pst-solides3d' - pst-solides3d.sty : the appropriate style file - pst-solides3d.tex : the appropriate tex file +to get a PostScript file. But pay attention, that the pst-optic +files are saved in the above mentioned way, before you run +latex on the documentation file. -some extension files for 'pst-rubans' - - pst-rubans.sty : the appropriate style file - pst-rubans.tex : the appropriate tex file - -and as well some modified 'pstricks' base files, which will be -included in the next possible distribution of 'pstricks' - - pstricks.pro : the prolog file for pstricks - pstricks.tex : the appropriate style file - - -Save the files pst-solides3d.sty|tex, pst-rubans.sty|tex and -pstricks.tex in a directory, which is part of your local TeX tree. - -However the solides.pro and the pstricks.pro file should go into the -folder $TEXMF/dvips/pstricks/ - -Do not forget to run texhash to update this tree (for MiKTeX users do -not forget to update file name data base). -For more detailed information see the documentation of your personal -LaTeX distribution on installing packages into your local TeX system. - - -2) Installation de pst-solides3d, méthode "provisoire" -====================================================== - -Pour faire fonctionner le package pst-solides3d, vous avez besoin des -fichiers : - solides.pro - pst-solides3d.tex - pst-solides3d.sty -qui sont a rajouter dans le repertoire de compilation. Ces fichiers -donnent accès à l'ensemble des macros proposées, à l'exception de -l'option [algebraic]. - -Pour faire fonctionner l'option [algebraic] du package pst-solides3d, -vous avez besoin des dernieres versions de - pstricks.tex - pstricks.pro -qui sont distribuees avec ce package. Ces fichiers sont eux aussi a -placer dans le repertoire de compilation. +The intermediate DVI file works only with viewers which can +interprete the embedded PostScript code, like the one from KDE. +For another PDF output read the Introduction from +the documentation. diff --git a/Master/texmf-dist/dvips/pst-solides3d/solides.pro b/Master/texmf-dist/dvips/pst-solides3d/solides.pro index 7e410935f83..a6c1c06c3e1 100644 --- a/Master/texmf-dist/dvips/pst-solides3d/solides.pro +++ b/Master/texmf-dist/dvips/pst-solides3d/solides.pro @@ -1,6 +1,6 @@ %! % PostScript prologue for pst-solides3d.tex. -% Version 4.09, 2008/07/23 +% Version 4.13, 2008/10/30 % %% COPYRIGHT 2008 by Jean-Paul Vignault %% @@ -3356,6 +3356,57 @@ end %%%% geometrie 3d (calculs) %%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%% ### p3dtoplane ### +%% syntaxe : x y z P p3dtoplan --> X Y +/p3dtoplane { +5 dict begin + /leplan exch def + /M defpoint3d + leplan plangetbase 0 getp3d /U defpoint3d + leplan plangetbase 1 getp3d /V defpoint3d + leplan plangetorigine /I defpoint3d + I M vecteur3d U scalprod3d + I M vecteur3d V scalprod3d +end +} def + +%%%%% ### pplaneto3d ### +%% syntaxe : x y P pplaneto3d --> X Y Z +/pplaneto3d { +6 dict begin + /leplan exch def + /y exch def + /x exch def + leplan plangetbase 0 getp3d /U defpoint3d + leplan plangetbase 1 getp3d /V defpoint3d + leplan plangetorigine /I defpoint3d + U x mulv3d + V y mulv3d addv3d + I addv3d +end +} def + +%%%%% ### orthoprojplane3d ### +%% Projection orthogonale d'un point 3d sur un plan +%% Mx My Mz (=le point a projeter) +%% Ax Ay Az (=un point du plan) +%% Vx Vy Vz (un vecteur normal au plan) +/orthoprojplane3d { +4 dict begin + dup isplan { + /monplan exch def + monplan plangetorigine + monplan plangetbase aload pop vectprod3d + } if + /V defpoint3d + /A defpoint3d + /M defpoint3d + /VN {V unitaire3d} def + VN M A vecteur3d VN scalprod3d mulv3d + M addv3d +end +} def + %%%%% ### sortp3d ### /sortp3d { 6 dict begin @@ -6230,7 +6281,7 @@ end end } def -%% syntaxe : plantype getbase --> [u v w] +%% syntaxe : plantype getbase --> [u v] %% ou u, v et w vecteurs de R^3 /plangetbase { 1 dict begin @@ -8854,6 +8905,7 @@ end a b neg c neg %% 7 ] def S F generesolid +end } def %%%%% ### newcylindre ### @@ -10184,7 +10236,9 @@ end dup solidinhue solidputinhuecolors } if } ifelse - } if + } { + /activationgestioncouleurs true def + } ifelse 0 1 fcol length 2 idiv 1 sub { /i exch def @@ -10637,8 +10691,8 @@ gsave linecolor linestyle tx@Dict /solidname known { - texte args definition cvx exec - solidname cvlit exch defpoint3d + args definition cvx exec + solidname cvlit defpoint3d tx@Dict /solidname undef } if args definition cvx exec newvecteur @@ -10814,7 +10868,7 @@ gsave } if texte args definition cvx exec pos (text3d) append cvx exec tx@Dict /solidname known { - texte args definition cvx exec + args definition cvx exec solidname cvlit defpoint3d tx@Dict /solidname undef } if @@ -11046,14 +11100,14 @@ end proj-action (none) eqstring not { l@pl@n plangetrange aload pop setyrange setxrange - newpath - xmin ymin l@pl@n pointplan smoveto - xmin ymax l@pl@n pointplan slineto - xmax ymax l@pl@n pointplan slineto - xmax ymin l@pl@n pointplan slineto - xmin ymin l@pl@n pointplan slineto - planprojpst projpath - clip +%% newpath +%% xmin ymin l@pl@n pointplan smoveto +%% xmin ymax l@pl@n pointplan slineto +%% xmax ymax l@pl@n pointplan slineto +%% xmax ymin l@pl@n pointplan slineto +%% xmin ymin l@pl@n pointplan slineto +%% planprojpst projpath +%% clip solidlinewidth setlinewidth linestyle linecolor @@ -11068,14 +11122,14 @@ end proj-action (none) eqstring not { l@pl@n plangetrange aload pop setyrange setxrange - newpath - xmin ymin l@pl@n pointplan smoveto - xmin ymax l@pl@n pointplan slineto - xmax ymax l@pl@n pointplan slineto - xmax ymin l@pl@n pointplan slineto - xmin ymin l@pl@n pointplan slineto - planprojpst projpath - clip +%% newpath +%% xmin ymin l@pl@n pointplan smoveto +%% xmin ymax l@pl@n pointplan slineto +%% xmax ymax l@pl@n pointplan slineto +%% xmax ymin l@pl@n pointplan slineto +%% xmin ymin l@pl@n pointplan slineto +%% planprojpst projpath +%% clip planprojpst bprojscene solidlinewidth setlinewidth linestyle diff --git a/Master/texmf-dist/tex/generic/pst-solides3d/pst-solides3d.tex b/Master/texmf-dist/tex/generic/pst-solides3d/pst-solides3d.tex index 799492dc8ca..dee5f4aaf0e 100644 --- a/Master/texmf-dist/tex/generic/pst-solides3d/pst-solides3d.tex +++ b/Master/texmf-dist/tex/generic/pst-solides3d/pst-solides3d.tex @@ -20,8 +20,8 @@ \ifx\PSTXKeyLoaded\endinput\else\input pst-xkey \fi \ifx\MultidoLoaded\endinput\else\input multido.tex \fi % JPV & ML & AS & HV -\def\fileversion{4.10} -\def\filedate{2008/07/24} +\def\fileversion{4.11} +\def\filedate{2008/10/29} \message{`PSTSOLIDESIIID' v\fileversion, \filedate} % \pstheader{solides.pro} @@ -594,8 +594,8 @@ XpointVue YpointVue ZpointVue /viewpoint defpoint3d \def\psSolid{\def\pst@par{}\pst@object{psSolid}} \def\psSolid@i{\@ifnextchar({\psSolid@ii}{\psSolid@ii(0.,0.,0.)}} -\def\psSolid@ii(#1,#2,#3){% - \ifPst@solidmemory\begingroup\use@par\else\begin@ClosedObj\fi +\def\psSolid@ii(#1,#2,#3){{% + \ifPst@solidmemory\use@par\else\begin@ClosedObj\fi \addto@pscode{ 1 setlinejoin \tx@optionssolides @@ -608,16 +608,16 @@ XpointVue YpointVue ZpointVue /viewpoint defpoint3d \psk@solides@object\space end }% fin du code ps - \ifPst@solidmemory\endgroup\else\end@ClosedObj\fi - \ignorespaces} + \ifPst@solidmemory\else\end@ClosedObj\fi + \ignorespaces}} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% la macro \codejps %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def\codejps#1{{% -\define@key[psset]{pst-solides3d}{object}{\def\psk@solides@object{#1}} -\psSolid[object={#1} exec](0,0,0)}} +\define@key[psset]{pst-solides3d}{object}{\def\psk@solides@object{#1}}% +\psSolid[object={#1} exec](0,0,0)}}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% la macro \psTransformPoint @@ -648,14 +648,15 @@ XpointVue YpointVue ZpointVue /viewpoint defpoint3d % \psPoint[options du point de vue](x y z) \def\psPoint{\def\pst@par{}\pst@object{psPoint}} \def\psPoint@i(#1,#2,#3)#4{{% coordonnees cartesiennes - \begin@SpecialObj +% \begin@SpecialObj \pnode(! \tx@optionssolides SolidesDict begin #1 #2 #3 3dto2d cm_1 exch cm_1 exch end){#4}% - \end@SpecialObj}\ignorespaces% +% \end@SpecialObj +}\ignorespaces% } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -677,9 +678,9 @@ XpointVue YpointVue ZpointVue /viewpoint defpoint3d /zP Rayon #3 sin mul def}% \psSolid[object=vecteur,RotZ=#2,RotY=-#3, args=1.7 0 0](xP,yP,zP) -\endgroup% -\ignorespaces} -% + \endgroup% + \ignorespaces% +} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% les axes IIId %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -785,37 +786,34 @@ end } def \end@ClosedObj% \fi }} -% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% la macro \defFunction %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\def\defFunction{\@ifnextchar[{\defFunction@i}{\defFunction@i[]}} +\def\defFunction{\@ifnextchar[{\defFunction@i}{\defFunction@i[]}}% \def\defFunction@i[#1]#2(#3)#4#5#6{% \pst@killglue -% \psset{solidmemory} -% \global\Pst@solidmemorytrue + \global\Pst@solidmemorytrue \begingroup - \psset{#1} + \psset{#1}% \defFunction@ii{#3}\edef\@tempa{\the\toks@}% \ifPst@algebraic \toks@={}% \def\@tempb{#4}\ifx\@tempb\@empty \else\store@toks@after\@tempb\fi \def\@tempb{#5}\ifx\@tempb\@empty \else\store@toks@after\@tempb\fi \def\@tempb{#6}\ifx\@tempb\@empty \else\store@toks@after\@tempb\fi - \pstVerb{ -% \codejps{ + \codejps{% /#2 { 3 dict begin \@tempa \the\toks@ gere_pst-deffunction end } def }% 20080625 \else - \pstVerb{ -% \codejps{ + \codejps{% /#2 { 3 dict begin \the\toks@ #4 #5 #6 gere_pst-deffunction end } def }% 20080625 - \fi% - \endgroup} + \fi + \endgroup}% % -\def\defFunction@ii#1{\defFunction@iii#1,,,\end} +\def\defFunction@ii#1{\defFunction@iii#1,,,\end}% \def\defFunction@iii#1,#2,#3,#4\end{% \toks@={}% \def\arg@ii{#1}\ifx\arg@ii\@empty \else\store@toks@before\arg@ii\fi @@ -826,7 +824,7 @@ end } def \def\store@toks@before#1{% \edef\@tmpPSDefns{/#1 exch def \the\toks@}% \global\toks@=\expandafter{\@tmpPSDefns}% -} +}% \def\store@toks@after#1{% \edef\@tmpPSDefns{\the\toks@ (#1) tx@AlgToPs begin AlgToPs end cvx }% \global\toks@=\expandafter{\@tmpPSDefns}% diff --git a/Master/texmf-dist/tex/latex/pst-solides3d/pst-solides3d.sty b/Master/texmf-dist/tex/latex/pst-solides3d/pst-solides3d.sty index 4022d7b0082..322d09b778d 100644 --- a/Master/texmf-dist/tex/latex/pst-solides3d/pst-solides3d.sty +++ b/Master/texmf-dist/tex/latex/pst-solides3d/pst-solides3d.sty @@ -6,6 +6,6 @@ [\filedate\space v\fileversion\space `PST-solides3D'] \IfFileExists{solides.pro}{% \ProvidesFile{solides.pro} - [2008/07/28 v. 4.09, PostScript prologue file] + [2008/10/30 v. 4.13, PostScript prologue file] \@addtofilelist{solides.pro}}{}% \endinput |