From 778ba561199969808c132ea6968f1202ec315e4c Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 12 May 2017 22:00:19 +0000 Subject: pst-spinner (12may17) git-svn-id: svn://tug.org/texlive/trunk@44305 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/pst-spinner/Changes | 14 + Master/texmf-dist/doc/latex/pst-spinner/README | 15 + .../pst-spinner/doc/images/cercle-chromatique.eps | 21 ++ .../latex/pst-spinner/doc/images/spirales-hsb.eps | 66 ++++ .../doc/latex/pst-spinner/doc/pst-spinner-doc.bib | 117 +++++++ .../doc/latex/pst-spinner/doc/pst-spinner-doc.pdf | Bin 0 -> 1489145 bytes .../doc/latex/pst-spinner/doc/pst-spinner-doc.tex | 353 +++++++++++++++++++++ .../doc/latex/pst-spinner/dvips/pst-spinner.pro | 121 +++++++ .../doc/latex/pst-spinner/latex/pst-spinner.sty | 19 ++ .../doc/latex/pst-spinner/tex/pst-spinner.tex | 72 +++++ Master/tlpkg/bin/tlpkg-ctan-check | 2 +- Master/tlpkg/tlpsrc/collection-pstricks.tlpsrc | 1 + Master/tlpkg/tlpsrc/pst-spinner.tlpsrc | 0 13 files changed, 800 insertions(+), 1 deletion(-) create mode 100644 Master/texmf-dist/doc/latex/pst-spinner/Changes create mode 100644 Master/texmf-dist/doc/latex/pst-spinner/README create mode 100644 Master/texmf-dist/doc/latex/pst-spinner/doc/images/cercle-chromatique.eps create mode 100644 Master/texmf-dist/doc/latex/pst-spinner/doc/images/spirales-hsb.eps create mode 100644 Master/texmf-dist/doc/latex/pst-spinner/doc/pst-spinner-doc.bib create mode 100644 Master/texmf-dist/doc/latex/pst-spinner/doc/pst-spinner-doc.pdf create mode 100644 Master/texmf-dist/doc/latex/pst-spinner/doc/pst-spinner-doc.tex create mode 100644 Master/texmf-dist/doc/latex/pst-spinner/dvips/pst-spinner.pro create mode 100644 Master/texmf-dist/doc/latex/pst-spinner/latex/pst-spinner.sty create mode 100644 Master/texmf-dist/doc/latex/pst-spinner/tex/pst-spinner.tex create mode 100644 Master/tlpkg/tlpsrc/pst-spinner.tlpsrc (limited to 'Master') diff --git a/Master/texmf-dist/doc/latex/pst-spinner/Changes b/Master/texmf-dist/doc/latex/pst-spinner/Changes new file mode 100644 index 00000000000..9f98dbe65a7 --- /dev/null +++ b/Master/texmf-dist/doc/latex/pst-spinner/Changes @@ -0,0 +1,14 @@ +%% $Id: Changes 449 2017-05-10 14:34:18Z herbert $ +%% +pst-spinner.pro ----------- +0.01 2017-05-11 - first CTAN version + + +pst-spinner.sty ----------- +0.01 2017-05-11 - first CTAN version + + +pst-spinner.tex ----------- + +1.01 2017-05-11 - first CTAN version + diff --git a/Master/texmf-dist/doc/latex/pst-spinner/README b/Master/texmf-dist/doc/latex/pst-spinner/README new file mode 100644 index 00000000000..cab7c48100a --- /dev/null +++ b/Master/texmf-dist/doc/latex/pst-spinner/README @@ -0,0 +1,15 @@ +%% Package `pst-spinner' +%% +%% Manuel Luque and Herbert Voss +%% +%% 2017 +%% + +This package aims to propose a model of the fidget spinner gadget. +It exists under different forms with 2, 3 poles and even more. +We chosed the most popular model: the triple Fidget Spinner. +You can run the PSTricks related documents with xelatex. If +you use an background image or an animation then you have to +choose the latex->dvips->ps2pdf sequence, which is, of course, +only one click in many Editors. + diff --git a/Master/texmf-dist/doc/latex/pst-spinner/doc/images/cercle-chromatique.eps b/Master/texmf-dist/doc/latex/pst-spinner/doc/images/cercle-chromatique.eps new file mode 100644 index 00000000000..b240fd79130 --- /dev/null +++ b/Master/texmf-dist/doc/latex/pst-spinner/doc/images/cercle-chromatique.eps @@ -0,0 +1,21 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%BoundingBox: -150 -150 150 150 + + +/secteur {newpath + 0 0 moveto + Radius i 1 sub cos mul + 0 0 Radius i 1 sub i 1 add arc + closepath + } def +0 0 translate +/CM {28.45 mul} bind def +/Radius {radius CM} def +/radius 5 def + +0 1 360 {/i exch def /HUE i 360 div def + secteur + HUE 1 1 sethsbcolor fill} for +% manuel.luque27@gmail.com + + diff --git a/Master/texmf-dist/doc/latex/pst-spinner/doc/images/spirales-hsb.eps b/Master/texmf-dist/doc/latex/pst-spinner/doc/images/spirales-hsb.eps new file mode 100644 index 00000000000..65b1aaa4aec --- /dev/null +++ b/Master/texmf-dist/doc/latex/pst-spinner/doc/images/spirales-hsb.eps @@ -0,0 +1,66 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%BoundingBox: -215 -215 215 215 +%%Title: C:\Fichiers_LaTeX\2017\spiralmosaic\spirales-hsb-2.ps +%%Creator: GSview from C:\Fichiers_LaTeX\2017\spiralmosaic\spirales-hsb-2.ps +%%CreationDate: Wed Apr 26 11:46:50 2017 +%%Pages: 1 +%%EndComments +%%Page: 1 1 +%%BeginDocument: C:\Fichiers_LaTeX\2017\spiralmosaic\spirales-hsb-2.ps +/cm {2.845 mul 5 mul} bind def +/Rmax 15 cm def +/k 4 def % nombre de tours +% ni pair !!! +/ni 8 def +gsave +newpath +Rmax 0 moveto +0 0 Rmax 0 360 arc +closepath +stroke +grestore +newpath +Rmax 0 moveto +0 0 Rmax 0 360 arc +closepath +clip +/t01 {r_0 360 mul ni div neg} def +/t02 {r_0 1 add 360 mul ni div neg} def +/RadiusA {ni 360 div t mul r_0 add } def +/RadiusB {ni 360 div t mul r_0 1 add add } def +/spiraleA { +RadiusA t cos mul cm RadiusA t sin mul cm moveto +t01 1 k 360 mul {/t exch def +RadiusA t cos mul cm RadiusA t sin mul cm lineto + } for +} def +% spirale suivante générée en partant de la fin +/spiraleB { +k 360 mul -1 t02 {/t exch def +RadiusB t cos mul cm RadiusB t sin mul cm lineto + } for +closepath +} def + +2 1 ni 1 add {/r_0 exch def +%gsave +% 2 spirales tournant a droite +newpath +/t t01 def +spiraleA +/t t02 def +spiraleB +closepath +r_0 2 sub ni 1 add div 1 1 sethsbcolor +%stroke % +fill +newpath +/t t01 def +spiraleA +1 setgray +% stroke +% +} for + +%%EndDocument +%%Trailer diff --git a/Master/texmf-dist/doc/latex/pst-spinner/doc/pst-spinner-doc.bib b/Master/texmf-dist/doc/latex/pst-spinner/doc/pst-spinner-doc.bib new file mode 100644 index 00000000000..d1b2076e1ac --- /dev/null +++ b/Master/texmf-dist/doc/latex/pst-spinner/doc/pst-spinner-doc.bib @@ -0,0 +1,117 @@ +%% -*-bibtex-*- +@STRING{tugboat = {TUGboat} } +@STRING{beiprogramm = {{\TeX}-Beiprogramm} } +@STRING{bretter = {Bretter, die die Welt bedeuten} } +@STRING{dtk = {{D}ie {\TeX}nische {K}om{\"o}die} } +@STRING{editorial = {Editorial} } +@STRING{fremdebuehne = {Von fremden B{\"u}hnen} } +@STRING{fundus = {Aus dem Fundus} } +@STRING{hinterbuehne = {Hinter der B{\"u}hne} } +@STRING{leserbrief = {Leserbrief(e)} } +@STRING{magazin = {Magazin} } +@STRING{rezension = {Rezensionen} } +@STRING{schonimmer = {Was Sie schon immer {\"u}ber {\TeX} wissen wollten \dots} } +@STRING{theaterkasse = {Von der Theaterkasse} } +@STRING{theatertage = {{\TeX}-Theatertage} } + +@Book{PSTricks2, + author = {Herbert Vo\ss}, + title = {{\PST} {G}rafik f\"ur \TeX{} und \LaTeX}, + edition = {7}, + publisher = {DANTE -- Lehmanns}, + year = {2016}, + address = {Heidelberg/Berlin} +} + +@Book{PSTricks-E, + author = {Herbert Vo\ss}, + title = {{\PST} {G}raphics for \LaTeX}, + edition = {1}, + publisher = {UIT}, + year = {2011}, + address = {Cambridge} +} + +@Book{companion04, + author = {Frank Mittelbach and Michel Goosens et al}, + title = {The {\LaTeX} {C}ompanion}, + edition = {2}, + publisher = {Addison-Wesley Publishing Company}, + year = {2004}, + address = {Boston} +} + +@Book{unbound, + author = {Alan Hoenig}, + title = {\TeX{} {U}nbound: \LaTeX{} \& \TeX{} {S}trategies, {F}onts, {G}raphics, and {M}ore}, + publisher = {Oxford University Press}, + year = {1998}, + address = {London} +} +@Book{tlgc2, + author = {Michel Goosens and Frank Mittelbach and Sebastian Rahtz and Denis Roegel and Herbert Vo{\ss}}, + title = {The {\LaTeX} {G}raphics {C}ompanion}, + publisher = {{Addison-Wesley Publishing Company}}, + edition = 2, + year = {2007}, + address = {Reading, Mass.} +} + +@Article{girou:01:, + author = {Denis Girou}, + title = {Pr\'esentation de {PST}ricks}, + journal = {Cahier {GUT}enberg}, + year = 1994, + volume = {16}, + month = apr, + pages = {21-70} +} + +@Article{girou:02:, + author = {{Timothy Van} Zandt and Denis Girou}, + title = {Inside {PST}ricks}, + journal = TUGboat, + year = 1994, + volume = {15}, + month = sep, + pages = {239-246} +} + +@Book{PostScript, + Author = {Kollock, Nikolai G.}, + Title = {PostScript richtig eingesetzt: vom {K}onzept zum + praktischen {E}insatz}, + Publisher = {IWT}, + Address = {Vaterstetten}, + year = 1989, +} + +@Manual{pstricks, + Title = {PSTricks - {\PS} macros for generic {\TeX}}, + Author = {{Timothy Van} Zandt}, + Organization = {}, + Address = {\url{http://www.tug.org/application/PSTricks}}, + Note = {}, + year = 1993 +} + +@Manual{multido, + Title = {\texttt{multido.tex} - a loop macro, that supports fixed-point addition}, + Author = {{Timothy Van} Zandt}, + Organization = {}, + Address = {\url{CTAN:/graphics/pstricks/generic/multido.tex}}, + Note = {}, + year = 1997 +} + +@online{wikipedia, + author = {WikipediA}, + sortlabel = {Wikipedia}, + sortname = {Wikipedia}, + title = {Fidget spinner}, + date = {2017-05-11}, + urldate = {2017-05-11}, + url = {https://en.wikipedia.org/wiki/Fidget_spinner}, +} + +%% $Id: pst-spinner-doc.bib 452 2017-05-11 16:21:02Z herbert $ diff --git a/Master/texmf-dist/doc/latex/pst-spinner/doc/pst-spinner-doc.pdf b/Master/texmf-dist/doc/latex/pst-spinner/doc/pst-spinner-doc.pdf new file mode 100644 index 00000000000..f228c943b86 Binary files /dev/null and b/Master/texmf-dist/doc/latex/pst-spinner/doc/pst-spinner-doc.pdf differ diff --git a/Master/texmf-dist/doc/latex/pst-spinner/doc/pst-spinner-doc.tex b/Master/texmf-dist/doc/latex/pst-spinner/doc/pst-spinner-doc.tex new file mode 100644 index 00000000000..7ee4b0122f5 --- /dev/null +++ b/Master/texmf-dist/doc/latex/pst-spinner/doc/pst-spinner-doc.tex @@ -0,0 +1,353 @@ +%% $Id: pst-spinner-doc.tex 453 2017-05-11 19:40:46Z herbert $ +% +\documentclass[11pt,english,BCOR10mm,DIV12,bibliography=totoc,parskip=false,smallheadings, + headexclude,footexclude,oneside]{pst-doc} +\listfiles +\usepackage{dtk-logos} +\usepackage[autostyle]{csquotes} +\usepackage{biblatex} +\addbibresource{\jobname.bib} +\usepackage[utf8]{inputenc} +\usepackage{pst-spinner,animate} +\let\belowcaptionskip\abovecaptionskip +% +\def\textat{\char064}% +\newdimen\fullWidth +\lstset{explpreset={pos=l,width=-99pt,overhang=0pt,hsep=\columnsep,vsep=\bigskipamount,rframe={}}, + escapechar=§} + +\def\bgImage{% +\psset{unit=0.75cm} +\begin{pspicture}(-4,-4)(4,4) +\psFidgetSpinner[colorMask=blue,linewidth=0.05,mask,customize,customizeMask,image=images/spirales-hsb.eps,rotation=-30] +\rput(0,0){\color{white}\textbf{PSTricks}} +\end{pspicture}} + + +\begin{document} +\title{\texttt{pst-spinner}\\ + \small v.\pstspinnerFV} +%\docauthor{Herbert Vo\ss} +\author{Manuel Luque\\Herbert Voß} +\date{\today} + +\maketitle + +\fullWidth=\linewidth +\advance\fullWidth by \marginparsep +\advance\fullWidth by \marginparwidth + + +\begin{abstract} +A fidget spinner is a type of stress-relieving toy. A basic fidget spinner consists of a bearing +in the center of a design made from any of a variety of materials including brass, +stainless steel, titanium, copper and plastic. The toy may help people who have trouble +focusing or fidgeting by acting as a release mechanism for nervous energy or stress.~\parencite{wikipedia} +\vfill +\noindent +Thanks to: +\end{abstract} + +\clearpage +\tableofcontents + + +\clearpage + +%\author{manuel.luque27@gmail.com} + +\section{Introduction} +This package aims to propose a model of the fidget spinner gadget. It exists under different +forms, with 2, 3 poles and even more. We chosed the most popular model: the triple Fidget Spinner. The dimensions +of the model are linked to that of the ball bearings: outer diameter 22 mm and inner diameter 8 mm. The composite axis +of a quality ball bearing is in the center of an equilateral triangle at the tops of which are placed bearings +With balls identical to that of the axis but of any quality or colored rings. The contour of the object is +Consisting of perfectly connected circular arcs. + +\section{Theory} +For calculations the Fidget Spinner is written in a circle of radius $R$. All other dimensions are deduced. +In the diagram $r_1$ is the outer radius of a ball bearing. A is the distance between a ball bearing and the edge +outside the object. $R_1 + a$ is the radius of the circle tangent to the circle of radius $R$, +$r_2$ is the radius of the circle arc of +connection to the circles of radius $r_1 + a$ and to the central circle of radius $r_1 + 2a$. + +\begin{center} +\psset{dimen=middle} +\begin{pspicture}(-6,-7)(6,5) +\psgrid[subgriddiv=0,griddots=10,gridlabels=0] +\pstVerb{/arctan { +dup 0 ge + {1 atan} + {neg 1 atan neg} +ifelse +} def + /R1 4.5 def + /r1 1.1 def + /a1 R1 3 div r1 sub def + /rho R1 r1 sub a1 sub def + /r2 2 r1 mul a1 mul 3 a1 dup mul mul add rho dup mul add rho r1 a1 2 mul add mul sub + rho 2 a1 mul sub div def + /rho2 r2 r1 add 2 a1 mul add def + /alpha1 rho rho2 2 div sub rho2 3 sqrt mul 2 div div arctan def + /beta1 rho rho2 add neg 3 sqrt rho2 rho sub mul div arctan def + /alpha2 rho 2 div neg rho2 add 3 sqrt 2 div rho mul neg div arctan def +}% +\pscircle{! R1} +\pscircle{! rho} +\pnode(! 0 R1){A} +\pnode(!R1 3 sqrt mul -2 div R1 -2 div){B} +\pnode(!R1 3 sqrt mul 2 div R1 -2 div){C} +\pnode(! 0 rho){O1} +\pnode(!rho 3 sqrt mul -2 div rho -2 div){O2} +\pnode(!rho 3 sqrt mul 2 div rho -2 div){O3} +\pnode(! rho2 3 sqrt mul 2 div neg rho2 2 div ){A'} +\pnode(! rho2 3 sqrt mul 2 div rho2 2 div ){B'} +\pnode(! 0 rho2 neg){C'} +\pspolygon(A')(B')(C') +\pspolygon(O1)(O2)(O3) +\pscircle[linecolor={[rgb]{0 0.5 0}}]{!r1} +\pscircle{!r1 a1 add} +\pscircle{!r1 a1 2 mul add} +\pscircle[linecolor={[rgb]{0 0.5 0}}](O1){!r1} +\pscircle[linecolor={[rgb]{0 0.5 0}}](O2){!r1} +\pscircle[linecolor={[rgb]{0 0.5 0}}](O3){!r1} +\pscircle(O3){!r1 a1 add} +\pscircle(O1){!r1 a1 add} +\pscircle(O2){!r1 a1 add} +\psline(A)(O) +\psline(B)(O) +\psline(C)(O) +\psdots(O1)(O2)(O3) +\pscircle[linecolor=red,linestyle=dashed]{!rho2} +\pscircle[linecolor=red](A'){!r2} +\pscircle[linecolor=red](B'){!r2} +\pscircle[linecolor=red](C'){!r2} +\psdots[linecolor=red](A')(O1)(B')(O3)(C')(O2) +\pspolygon(A')(O1)(B')(O3)(C')(O2) +\psarc[linecolor=blue,linewidth=0.1]{->}(O1){!r1 a1 add}{!alpha1 neg}{!alpha1 180 add} +\psarcn[linecolor=red,linewidth=0.1]{->}(A'){!r2}{!alpha1}{!beta1} +\psarc[linecolor=blue,linewidth=0.1]{->}(O2){!r1 a1 add}{!180 beta1 add}{!alpha2} +\psarcn[linecolor=red,linewidth=0.1]{->}(C'){!r2}{!alpha2 180 sub}{!alpha2 neg} +\psarc[linecolor=blue,linewidth=0.1]{->}(O3){!r1 a1 add}{!alpha2 neg 180 add}{!360 beta1 sub} +\psarcn[linecolor=red,linewidth=0.1]{->}(B'){!r2}{!beta1 180 sub neg}{!alpha1 180 sub neg} +\uput[ul](0,0){$O$} +\uput[ul](O1){$O_1$} +\uput[d](O2){$O_2$} +\uput[d](O3){$O_3$} +\pcline{->}(O1)(!r1 30 cos mul rho r1 30 sin mul add) +\aput{:U}{$r_1$} +\rput(!r1 30 cos mul rho r1 30 sin mul add){\pcline{<->}(0,0)(!a1 30 cos mul a1 30 sin mul)\aput{:U}{$a$}} +\uput[u](A'){$O'_1$} +\uput[u](B'){$O'_3$} +\rput(B'){\pcline{->}(0,0)(! r2 30 cos mul r2 30 sin mul)\aput{:U}{$r_2$}} +\uput[d](C'){$O'_2$} +\end{pspicture} +\end{center} + + +\section{The Macro} + +For calculations, the Fidget Spinner is written in a circle of radius R. All other dimensions are deduced. +The colors of the rings can be chosen as well as the background color of the object. This object can be customized with +a picture. +The command is: + +\begin{BDef} +\Lcs{psFidgetSpinner}\OptArgs +\end{BDef} + + +\section{Optional arguments} + +\subsection{The Radius \Lkeyword{R}} +The radius of the circle in which the triple Fidget spinenr is inscribed. It is preset to \nxLkeyword{R=3.9}. +\subsection{The colors} + +The colors with their default value. They are numbered in the order: central bearing, peripheral rings, +and central cap. + + \begin{itemize} + \item \Lkeyset{color0=honeydew} + \item \Lkeyset{color1=red} + \item \Lkeyset{color2=green} + \item \Lkeyset{color3=blue} + \item \Lkeyset{colorMask=honeydew} + \end{itemize} + +\subsection{Rotation} +With the optional argument \Lkeyword{rotation} the output of the spinner can be rotated. + +\subsection{\Lkeyword{mask}} +A boolean value to customize the object with an image in eps format. Preset to \false. + +\subsection{Lkeyword{customizeMask}} +A boolean value. When set to \true\ the image is also printed on the cap of the central ball roll. + +\subsection{\Lkeyword{image}} +Defines the name including the path of the image and is preset to empty. + + + +\subsection{Background color} +The background color is set with the default PSTricks parameter \Lkeyword{fillcolor} and +the linecolor and linewidth with \Lkeyword{linecolor} and \Lkeyword{linewidth}. + + +\section{examples} + + +\begin{LTXexample}[width=0.6\linewidth,frame=,pos=r] +\begin{pspicture}(-4,-4)(4,4) +\psgrid[subgriddiv=5, + gridlabels=0, + gridwidth=1pt, + gridcolor=orange, + subgridwidth=0.1pt, + subgridcolor=orange](-4,-4)(4,4) +\psFidgetSpinner[fillcolor=cyan!10, + linewidth=0.05,mask] +\end{pspicture} +\end{LTXexample} + + +\begin{LTXexample}[width=0.6\linewidth,frame=,pos=r] +\begin{pspicture}(-4,-4)(4,4) +\psgrid[subgriddiv=5, + gridlabels=0, + gridwidth=1pt, + gridcolor=orange, + subgridwidth=0.1pt, + subgridcolor=orange](-4,-4)(4,4) +\psFidgetSpinner[fillcolor=cyan!10, + linewidth=0.05,mask=false] +\end{pspicture} +\end{LTXexample} + + + + + +\begin{LTXexample}[width=0.6\linewidth,frame=,pos=r] +\begin{pspicture}(-4,-4)(4,4) +\psgrid[subgriddiv=5, + gridlabels=0, + gridwidth=1pt, + gridcolor=orange, + subgridwidth=0.1pt, + subgridcolor=orange](-4,-4)(4,4) +\psFidgetSpinner[colorMask=blue, + linewidth=0.05,mask,customize, + customizeMask, + image=images/spirales-hsb.eps] +\rput(0,0){\color{white}\textbf{PSTricks}} +\end{pspicture} +\end{LTXexample} + + + +\begin{LTXexample}[width=0.6\linewidth,frame=,pos=r] +\begin{pspicture}(-4,-4)(4,4) +\psgrid[subgriddiv=5, + gridlabels=0, + gridwidth=1pt, + gridcolor=orange, + subgridwidth=0.1pt, + subgridcolor=orange](-4,-4)(4,4) +\psFidgetSpinner[colorMask=blue,linewidth=0.05, + mask,customize,customizeMask, + image=images/spirales-hsb.eps, + rotation=-30] +\rput(0,0){\color{white}\textbf{PSTricks}} +\end{pspicture} +\end{LTXexample} + + +\begin{center} +\begin{animateinline}[controls,loop, + begin={\begin{pspicture}(-4,-4)(4,4)}, + end={\end{pspicture}}]{25}% 25 images/s +\multiframe{72}{i=0+5}{% +\psgrid[subgriddiv=5,% + gridlabels=0,% + gridwidth=1pt,% + gridcolor=orange, + subgridwidth=0.1pt,% + subgridcolor=orange](-4,-4)(4,4) +\rput{\i}{\psFidgetSpinner[R=3.9,fillcolor=cyan!10,linewidth=0.05,mask]} +\rput(0,0){\textbf{PSTricks}} +} +\end{animateinline} +\end{center} + +\begin{verbatim} +\begin{animateinline}[ + controls,loop, + begin={\begin{pspicture}(-4,-4)(4,4)}, + end={\end{pspicture}}]{25}% 25 images/s +\multiframe{72}{i=0+5}{% +\psgrid[subgriddiv=5, + gridlabels=0, + gridwidth=1pt, + gridcolor=orange, + subgridwidth=0.1pt, + subgridcolor=orange](-4,-4)(4,4) +\rput{\i}{\psFidgetSpinner[R=3.9,fillcolor=cyan!10,linewidth=0.05,mask]} +\rput(0,0){\textbf{PSTricks}}} +\end{animateinline} +\end{verbatim} + +\iffalse + +\begin{center} +\begin{animateinline}[controls,loop, + begin={\begin{pspicture}(-4,-4)(4,4)}, + end={\end{pspicture}}]{25}% 25 images/s +\multiframe{72}{i=0+5}{% +\psgrid[subgriddiv=5, + gridlabels=0, + gridwidth=1pt, + gridcolor=orange, + subgridwidth=0.1pt, + subgridcolor=orange](-4,-4)(4,4) +\psFidgetSpinner[R=3.9,colorMask=blue,linewidth=0.05,mask,customize, + customizeMask,image=images/spirales-hsb.eps,rotation=\i] +\rput(0,0){\color{white}\textbf{PSTricks}}} +\end{animateinline} +\end{center} + +\begin{verbatim} +\begin{animateinline}[controls,loop, + begin={\begin{pspicture}(-4,-4)(4,4)}, + end={\end{pspicture}}]{25}% 25 images/s +\multiframe{72}{i=0+5}{% +\psgrid[subgriddiv=5, + gridlabels=0, + gridwidth=1pt, + gridcolor=orange, + subgridwidth=0.1pt, + subgridcolor=orange](-4,-4)(4,4) +\psFidgetSpinner[R=3.9,colorMask=blue,linewidth=0.05,mask,customize,customizeMask, + image=images/spirales-hsb.eps,rotation=\i] +\rput(0,0){\color{white}\textbf{PSTricks}}} +\end{animateinline} +\end{verbatim} + +\fi + + +\clearpage +\section{List of all optional arguments for \texttt{pst-spinner}} + +\xkvview{family=pst-spinner,columns={key,type,default}} + + +\nocite{*} +\bgroup +\RaggedRight +\printbibliography +\egroup + +\printindex + + +\end{document} \ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/pst-spinner/dvips/pst-spinner.pro b/Master/texmf-dist/doc/latex/pst-spinner/dvips/pst-spinner.pro new file mode 100644 index 00000000000..2a4957b1e7d --- /dev/null +++ b/Master/texmf-dist/doc/latex/pst-spinner/dvips/pst-spinner.pro @@ -0,0 +1,121 @@ +%% Package `pst-spinner.pro' +%% +%% +%% 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. +%% +/tx@spinnerDict 20 dict def tx@spinnerDict begin +% +/arctan { dup 0 ge { 1 atan }{ neg 1 atan neg } ifelse } def + +/BallBearing { + /point exch def + /couleur exch def + newpath + point ri 0 360 arc + point ri 0.15 cm add 360 0 arcn + closepath + 0.25 setgray + fill + newpath + point r1 0 360 arc + point r1 0.15 cm sub 360 0 arcn + closepath + 0.25 setgray + fill + newpath + point r1 0.15 cm sub 0 360 arc + point ri 0.15 cm add 360 0 arcn + closepath + couleur + fill +} def +% +% le contour du triple fidget spinner +/TripleSpinner { + 1 setlinejoin + newpath + O1 /yO1 exch def /xO1 exch def + xO1 r1 a1 add alpha1 neg cos mul add + yO1 r1 a1 add alpha1 neg sin mul add + moveto + O1 r1 a1 add alpha1 neg alpha1 180 add arc + A' r2 alpha1 beta1 arcn + O2 r1 a1 add 180 beta1 add alpha2 arc + C' r2 alpha2 180 sub alpha2 neg arcn + O3 r1 a1 add alpha2 neg 180 add 360 beta1 sub arc + B' r2 beta1 180 sub neg alpha1 180 sub neg arcn + r1 rho moveto + O1 r1 360 0 arcn + r1 0 moveto + 0 0 r1 360 0 arcn + O2 moveto r1 0 rmoveto + O2 r1 360 0 arcn + O3 moveto r1 0 rmoveto + O3 r1 360 0 arcn +} def +% +/makeSpinner { + 1 setlinecap + /r1 1.1 cm def + /ri 0.4 cm def + /a1 R1 3 div r1 sub def + /rho R1 r1 sub a1 sub def + /r2 2 r1 mul a1 mul 3 a1 dup mul mul add rho dup mul add rho r1 a1 2 mul add mul sub + rho 2 a1 mul sub div def + /rho2 r2 r1 add 2 a1 mul add def + /alpha1 rho rho2 2 div sub rho2 3 sqrt mul 2 div div arctan def + /beta1 rho rho2 add neg 3 sqrt rho2 rho sub mul div arctan def + /alpha2 rho 2 div neg rho2 add 3 sqrt 2 div rho mul neg div arctan def + /A {0 R1} def + /B {R1 3 sqrt mul -2 div R1 -2 div} def + /C {R1 3 sqrt mul 2 div R1 -2 div} def + /O1 {0 rho} def + /O2 {rho 3 sqrt mul -2 div rho -2 div} def + /O3 {rho 3 sqrt mul 2 div rho -2 div} def + /A' {rho2 3 sqrt mul 2 div neg rho2 2 div} def + /B' {rho2 3 sqrt mul 2 div rho2 2 div} def + /C' {0 rho2 neg} def + gsave + spinnerROT rotate + gsave + TripleSpinner + clip + ifPst@customize { spinnerImage }{ spinnerFillColor fill } ifelse + grestore + TripleSpinner + spinnerLineColor + spinnerLW SLW + stroke + {color1} {O1} BallBearing + {color2} {O2} BallBearing + {color3} {O3} BallBearing + {color0} {0 0} BallBearing + grestore + ifPst@mask { + ifPst@customizeMask { + gsave + newpath + r1 0 moveto + 0 0 r1 0 360 arc + closepath + clip + spinnerImage + grestore + }{ + newpath + 0 0 r1 0 360 arc + colorMask + fill + } ifelse + 0 0 r1 0 360 arc + 0.5 setlinewidth + 0 setgray + stroke + } if +} def % makeSpinner +% +end +%% +%% end \ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/pst-spinner/latex/pst-spinner.sty b/Master/texmf-dist/doc/latex/pst-spinner/latex/pst-spinner.sty new file mode 100644 index 00000000000..4fc59dabb32 --- /dev/null +++ b/Master/texmf-dist/doc/latex/pst-spinner/latex/pst-spinner.sty @@ -0,0 +1,19 @@ +%% $Id: pst-spinner.sty 453 2017-05-11 19:40:46Z herbert $ +% +%% 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. +%% +\RequirePackage{pstricks} +\RequirePackage{pst-node} +\ProvidesPackage{pst-spinner}[2017/05/11 package wrapper for + pst-spinner.tex] +\input{pst-spinner.tex} +\ProvidesFile{pst-spinner.tex} + [\filedate\space v\fileversion\space `PSt-spinner' (ml,hv)] +\IfFileExists{pst-spinner.pro}{% + \ProvidesFile{pst-spinner.pro} + [2017/05/11 v. 0.01, PostScript prologue file (hv)] + \@addtofilelist{pst-spinner.pro}}{}% + +\endinput diff --git a/Master/texmf-dist/doc/latex/pst-spinner/tex/pst-spinner.tex b/Master/texmf-dist/doc/latex/pst-spinner/tex/pst-spinner.tex new file mode 100644 index 00000000000..da149b90273 --- /dev/null +++ b/Master/texmf-dist/doc/latex/pst-spinner/tex/pst-spinner.tex @@ -0,0 +1,72 @@ +%% Package `pst-spinner.tex' +%% +%% +%% 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. +%% +%% DESCRIPTION: +%% dessiner les triple fidget spinner +%% +\let\PSTSPINNERLoaded\endinput +% Requires PSTricks, pst-xkey, pst-node packages +\ifx\PSTricksLoaded\endinput\else\input pstricks.tex\fi +\ifx\PSTXKeyLoaded\endinput\else\input pst-xkey.tex \fi +\ifx\PSTnodeLoaded\endinput\else\input pst-node.tex\fi +% +\def\fileversion{1.01} +\let\pstspinnerFV\fileversion +\def\filedate{2017/05/11} +\message{`PST' v\fileversion, \filedate} + +\edef\PstAtCode{\the\catcode`\@} \catcode`\@=11\relax +\pst@addfams{pst-spinner} +%% prologue for postcript +\pstheader{pst-spinner.pro}% +% +\define@key[psset]{pst-spinner}{R}{\def\pst@spinner@R{#1 }} % rayon de cercle circonscrit au spinner +\define@key[psset]{pst-spinner}{rotation}{\def\pst@spinner@rotation{#1 }} % angle de rotation +%% couleurs definies par l'utilisateur +\definecolor{honeydew}{rgb}{0.94 1 0.94} +\define@key[psset]{pst-spinner}{color0}{\pst@getcolor{#1}\pscolor} +\define@key[psset]{pst-spinner}{color1}{\pst@getcolor{#1}\pscolora} +\define@key[psset]{pst-spinner}{color2}{\pst@getcolor{#1}\pscolorb} +\define@key[psset]{pst-spinner}{color3}{\pst@getcolor{#1}\pscolorc} +\define@key[psset]{pst-spinner}{colorMask}{\pst@getcolor{#1}\pscolorMask} +\define@boolkey[psset]{pst-spinner}[Pst@]{mask}[true]{} % cache du roulement à billes du centre +\define@boolkey[psset]{pst-spinner}[Pst@]{customize}[true]{} % personnaliser le fidget +\define@boolkey[psset]{pst-spinner}[Pst@]{customizeMask}[true]{} % personnaliser le capuchon de roulement central +\define@key[psset]{pst-spinner}{image}{\edef\psk@spinner@image{#1}} % chemin des dessins +% +\psset[pst-spinner]{R=3.9,rotation=0,color0=honeydew,color1=red,color2=green, + color3=blue!75,colorMask=honeydew,mask=true,customize=false,customizeMask=false, + image={}} +\def\psFidgetSpinner{\def\pst@par{}\pst@object{psFidgetSpinner}} +\def\psFidgetSpinner@i{% + \begin@SpecialObj + \addto@pscode{ + tx@spinnerDict begin + /cm {\pst@number\psunit mul} bind def + /R1 \pst@spinner@R\space cm def + /color0 {\pst@usecolor\pscolor } def + /color1 {\pst@usecolor\pscolora } def + /color2 {\pst@usecolor\pscolorb } def + /color3 {\pst@usecolor\pscolorc } def + /colorMask {\pst@usecolor\pscolorMask} def + /spinnerROT \pst@spinner@rotation def + /ifPst@customize \ifPst@customize true \else false \fi def + /spinnerImage { (\psk@spinner@image) run } def + /spinnerFillColor { \pst@usecolor\psfillcolor } def + /spinnerLineColor { \pst@usecolor\pslinecolor } def + /spinnerLW \pst@number\pslinewidth\space def + /ifPst@mask \ifPst@mask true \else false \fi def + /ifPst@customizeMask \ifPst@customizeMask true \else false \fi def + makeSpinner + end + }% + \showpointsfalse + \end@SpecialObj + \ignorespaces} +% +\catcode`\@=\PstAtCode\relax +\endinput \ No newline at end of file diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check index 1f8b4d46cb9..c881b535924 100755 --- a/Master/tlpkg/bin/tlpkg-ctan-check +++ b/Master/tlpkg/bin/tlpkg-ctan-check @@ -508,7 +508,7 @@ my @TLP_working = qw( pst-platon pst-plot pst-poly pst-pdf pst-pulley pst-qtree pst-rubans pst-shell pst-sigsys pst-slpe pst-solarsystem pst-solides3d pst-soroban - pst-spectra pst-spirograph + pst-spectra pst-spinner pst-spirograph pst-stru pst-support pst-text pst-thick pst-tools pst-tree pst-tvz pst-uml pst-vectorian pst-vowel pst-vue3d pst2pdf pstool pstricks pstricks-add pstricks_calcnotes pstring diff --git a/Master/tlpkg/tlpsrc/collection-pstricks.tlpsrc b/Master/tlpkg/tlpsrc/collection-pstricks.tlpsrc index df73e5f040e..e947b86833a 100644 --- a/Master/tlpkg/tlpsrc/collection-pstricks.tlpsrc +++ b/Master/tlpkg/tlpsrc/collection-pstricks.tlpsrc @@ -82,6 +82,7 @@ depend pst-solarsystem depend pst-solides3d depend pst-soroban depend pst-spectra +depend pst-spinner depend pst-spirograph depend pst-stru depend pst-support diff --git a/Master/tlpkg/tlpsrc/pst-spinner.tlpsrc b/Master/tlpkg/tlpsrc/pst-spinner.tlpsrc new file mode 100644 index 00000000000..e69de29bb2d -- cgit v1.2.3