diff options
author | Karl Berry <karl@freefriends.org> | 2009-12-31 01:28:27 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2009-12-31 01:28:27 +0000 |
commit | e7bbf19e758762cc76a2e8d23e34cd252496b3c3 (patch) | |
tree | 4b36404cb843b4c8fa22d8eada8134eab177f1a3 | |
parent | 01294f46bb60e2b571fe1cc4b8a4428366240d8b (diff) |
new pstricks package pst-platon 0.01 (25dec09)
git-svn-id: svn://tug.org/texlive/trunk@16538 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-platon/Changes | 6 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-platon/README | 10 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-platon/pst-platon-doc.bib | 181 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-platon/pst-platon-doc.pdf | bin | 0 -> 114566 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-platon/pst-platon-doc.tex | 265 | ||||
-rw-r--r-- | Master/texmf-dist/source/generic/pst-platon/Makefile | 70 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/pst-platon/pst-platon.sty | 240 | ||||
-rwxr-xr-x | Master/tlpkg/bin/tlpkg-ctan-check | 2 | ||||
-rwxr-xr-x | Master/tlpkg/libexec/ctan2tds | 1 | ||||
-rw-r--r-- | Master/tlpkg/tlpsrc/collection-pstricks.tlpsrc | 1 | ||||
-rw-r--r-- | Master/tlpkg/tlpsrc/pst-platon.tlpsrc | 0 |
11 files changed, 775 insertions, 1 deletions
diff --git a/Master/texmf-dist/doc/generic/pst-platon/Changes b/Master/texmf-dist/doc/generic/pst-platon/Changes new file mode 100644 index 00000000000..211e1ac1bc0 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-platon/Changes @@ -0,0 +1,6 @@ +pst-platon.sty -------- +v. 0.01 2009-12-25 initial CTAN version + + +pst-am-doc.tex -------- +2009-12-25 first documentation diff --git a/Master/texmf-dist/doc/generic/pst-platon/README b/Master/texmf-dist/doc/generic/pst-platon/README new file mode 100644 index 00000000000..e8786ac2679 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-platon/README @@ -0,0 +1,10 @@ +pst-platon: platonic solids + +pst-platon.sty - The LaTeX file +pst-platon-doc.pdf - The documentation +pst-platon-doc.tex - The documentation, source +pst-platon-doc.bib - The documentation, bibfile + + +-- +Herbert Voss 2012-12-25 diff --git a/Master/texmf-dist/doc/generic/pst-platon/pst-platon-doc.bib b/Master/texmf-dist/doc/generic/pst-platon/pst-platon-doc.bib new file mode 100644 index 00000000000..cb8f1f164c5 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-platon/pst-platon-doc.bib @@ -0,0 +1,181 @@ +%% -*-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 = {fifth}, + publisher = {DANTE -- Lob.media}, + year = {2008}, + address = {Heidelberg/Hamburg} +} + +@Book{companion04, + author = {Frank Mittelbach and Michel Goosens et al}, + title = {The {\LaTeX} {C}ompanion}, + edition = {second}, + publisher = {Addison-Wesley Publishing Company}, + year = {2004}, + address = {Boston} +} + +@Book{begleiter05, + author = {Frank Mittelbach and Michel Goosens et al}, + title = {Der {\LaTeX} {B}egleiter}, + edition = {zweite}, + publisher = {Pearson Education}, + year = {2005}, + address = {M\"unchen} +} + +@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} +} +@Article{ dtk02.2:jackson.voss:plot-funktionen, + author = {Laura E. Jackson and Herbert Vo{\ss}}, + title = {Die Plot-Funktionen von {\texttt{pst-plot}}}, + journal = dtk, + year = 2002, + volume = {2/02}, + altvolume = 2, + altnumber = 14, + month = jun, + pages = {27--34}, + annote = bretter, + keywords = {}, + abstract = { Im letzten Heft wurden die mathematischen Funktionen von + \PS~im Zusammenhang mit dem {\LaTeX}-Paket + \texttt{pst-plot} zum Zeichnen von Funktionen beschrieben + und durch Beispiele erl{\"a}utert. In diesem Teil werden + die bislang nur erw{\"a}hnten Plot-Funktionen f{\"u}r + externe Daten behandelt. } +} + +@Article{ dtk02.1:voss:mathematischen, + author = {Herbert Vo{\ss}}, + title = {Die mathematischen {F}unktionen von {P}ost{S}cript}, + journal = dtk, + year = 2002, + volume = {1/02}, + altvolume = 1, + altnumber = 14, + month = mar, + pages = {}, + annote = bretter, + keywords = {}, + abstract = { \PS, faktisch genauso alt wie {\TeX}, ist im + Verh{\"a}ltnis dazu allgemein noch weniger bekannt, wenn es + darum geht zu beurteilen, was es denn nun im eigentlichen + Sinne ist. Au{\ss}erdem wird h{\"a}ufig vergessen, dass + sich mit den \PS-Funktionen viele Dinge erledigen lassen, + bei denen sonst auf externe Programme zur{\"u}ckgegriffen + wird. Dies wird im Folgenden f{\"u}r die mathematischen + Funktionen im Zusammenhang mit dem Paket \texttt{pst-plot} + gezeigt. } +} + +@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 = second, + year = {2007}, + address = {Reading, Mass.} +} + +@Book{voss:chaos, + author = {Herbert Vo{\ss}}, + title = {Chaos und {F}raktale selbst programmieren: von {M}andelbrotmengen {\"u}ber {F}arbmanipulationen zur perfekten Darstellung}, + publisher = {{Franzis Verlag}}, + year = {1994}, + address = {Poing} +} + +@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{pst-plot, + Title = {\texttt{pst-plot}: Plotting two dimensional functions and data}, + Author = {{Timothy Van} Zandt}, + Organization = {}, + Address = {\url{CTAN:graphics/pstricks/generic/pst-plot.tex}}, + Note = {}, + year = 1999 +} + +@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 +} + +@MISC{xkeyval, + author = {Hendri Adriaens}, + title = {xkeyval package}, + howpublished = {\url{CTAN:/macros/latex/contrib/xkeyval}}, + year = 2004 +} + +@book{voss06, + Title = {Mathematiksatz in \LaTeX{}}, + Author = {Herbert Vo\ss}, + Publisher = {Lehmanns Media/DANTE}, + Edition= {first}, + Address= {Berlin/Heidelberg}, + Year= {2009}, +} diff --git a/Master/texmf-dist/doc/generic/pst-platon/pst-platon-doc.pdf b/Master/texmf-dist/doc/generic/pst-platon/pst-platon-doc.pdf Binary files differnew file mode 100644 index 00000000000..ba19eb58bd5 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-platon/pst-platon-doc.pdf diff --git a/Master/texmf-dist/doc/generic/pst-platon/pst-platon-doc.tex b/Master/texmf-dist/doc/generic/pst-platon/pst-platon-doc.tex new file mode 100644 index 00000000000..a62a135f7ff --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-platon/pst-platon-doc.tex @@ -0,0 +1,265 @@ +%% $Id: pst-platon-doc.tex 208 2009-12-25 08:54:53Z herbert $ +\documentclass[11pt,english,BCOR10mm,DIV12,bibliography=totoc,parskip=false,smallheadings + headexclude,footexclude,oneside]{pst-doc} +\usepackage[utf8]{inputenc} +\usepackage{pst-platon} +\let\pstFV\fileversion +\lstset{language=PSTricks,basicstyle=\footnotesize\ttfamily} +% +\def\bgImage{\psset{psscale=2,PstPicture=false,faceNameFont=\huge\sffamily} + \psIcosahedron%[Frame=false,Viewpoint=-1 0.5 1.2]} +} +\title{\texttt{pst-platon}} +\subtitle{A PSTricks package for drawing platonic solids; v.\pstFV} +\author{Manuel Luque \\ Herbert Vo\ss} +\docauthor{} +\date{\today} + +\begin{document} +\maketitle + +\begin{abstract} +A platonic solid is a convex polyhedron that is a regular polygon. +The faces of a platonic solid are congruent regular polygons, +with the same number of faces meeting at each vertex. +All edges are congruent, as are its vertices and angles. +There exists five platonic solids. +\end{abstract} + +\vfill +\clearpage + + +\tableofcontents + +\newpage + +\section{The optional Arguments} +\subsection{\nxLkeyword{PstPicture}} +With \Lkeyset{PstPicture=true} (default) the image is set into a \Lenv{pspicture} environment, which +reserves some space. The correct bounding box depends to the viewpoint. With setting of \Lkeyset{PstPicture=false} +you can set the image inside your own \Lenv{pspicture} environment with other coordinates. All +solids areplaced relative to the origin of the coordinate system. Use \Lcs{rput} to place the +platonic solid elsewhere. + +\begin{LTXexample}[pos=t,rframe=] +\begin{pspicture}[showgrid=true](-1,-2)(10,5) +\psTetrahedron[PstPicture=false] +\rput(2,2){\psTetrahedron[PstPicture=false,Viewpoint=1 1.2 0.5]} +\psset{unit=1.3} +\rput(5,3){\psTetrahedron[PstPicture=false,Frame=false,Viewpoint=-1 0.5 2]} +\end{pspicture} +\end{LTXexample} + +\subsection{\nxLkeyword{Frame}} + +With \Lkeyset{Frame=true} (default) the unique cube with a=1 is printed with +dotted lines. + +\begin{LTXexample}[width=7cm,rframe=] +\psTetrahedron +\psTetrahedron[Frame=false] +\end{LTXexample} + +\clearpage + +\subsection{\nxLkeyword{Viewpoint}} + +With \Lkeyword{Viewpoint} the three dimensional view point from which the +solid is seen can be set. The default is \verb=1 1 1=. + +\begin{LTXexample}[width=10.5cm,rframe=,wide] +\psTetrahedron +\psTetrahedron[Viewpoint=-1 1 .5] +\psTetrahedron[Viewpoint=0.4 -1 .5] +\end{LTXexample} + +\subsection{\nxLkeyword{faceName}} + +With \Lkeyword{faceName} the name of the faces can be set with setting +it to one of the macros \Lcs{Alph} (default), \Lcs{alph}, \Lcs{arabic}, +\Lcs{Roman}, and \Lcs{roman}. + +\begin{LTXexample}[width=10.5cm,rframe=,wide] +\psHexahedron% +\psHexahedron[faceName=\alph]% +\psHexahedron[faceName=\Roman] +\end{LTXexample} + + +\subsection{\nxLkeyword{faceNameFont}} + +With \Lkeyword{faceNameFont} the font for the face name can be set. +Any valid \LaTeX\ command is possible. + +\begin{LTXexample}[width=10.5cm,rframe=,wide] +\psHexahedron% +\psHexahedron[faceNameFont=\Huge]% +\psHexahedron[faceNameFont=\Huge\sffamily] +\end{LTXexample} + +\subsection{\nxLkeyword{psscale}} + +The solids can be magnified by the keyword \Lkeyword{psscale} +which is preset to 1. + +\begin{LTXexample}[width=8cm,rframe=] +\psOctahedron[Frame=false] +\psOctahedron[Frame=false,psscale=2] +\end{LTXexample} + +\subsection{Colors} +The faces are defined by the colors of type A or B with +\begin{verbatim} +\newcommand\colorTypeA{% +\definecolor{ColorA}{cmyk}{0.1,0.1,0.05,0} +\definecolor{ColorB}{cmyk}{0.15,0.15,0.05,0} +... +} +\newcommand\colorTypeB{% +\definecolor{ColorA}{cmyk}{0.1,0.2,0.1,0} +\definecolor{ColorB}{cmyk}{0.15,0.2,0.15,0} +... +} +\end{verbatim} + +New types can be definied in the same way and then set by the keyword \Lkeyword{colorType}=\Larga{type}. + +\begin{LTXexample}[width=5cm,rframe=] +\newcommand\colorTypeC{% + \colorlet{ColorA}{red} + \colorlet{ColorB}{green} + \colorlet{ColorC}{blue} + \definecolor{ColorD}{rgb}{0.55,0.2,0.15} +} +\psTetrahedron[colorType=C] +\end{LTXexample} + + +\section{The Platonic Solids} +There are the five platonic solids with the macronames +\Lcs{psTetrahedron}, \Lcs{psHexahedron}, \Lcs{psOctahedron}, \Lcs{psDodecahedron}, +and \Lcs{psIcosahedron}. + + +\subsection{Tetrahedron} + +\begin{LTXexample}[width=5cm,rframe=] +\psTetrahedron +\end{LTXexample} + +\begin{LTXexample}[width=5cm,rframe=] +\psTetrahedron[Viewpoint=1 1.2 0.5] +\end{LTXexample} + +\begin{LTXexample}[width=5cm,rframe=] +\psTetrahedron[Frame=false,Viewpoint=0.7 -0.5 -0.8] +\end{LTXexample} + +\begin{LTXexample}[pos=t,rframe=] +\psTetrahedron[Frame=false,Viewpoint=1 1.2 0.7] +\psTetrahedron[Frame=false,Viewpoint=-1 0.5 2] +\psTetrahedron[Frame=false,Viewpoint=0.7 -0.5 -0.8] +\end{LTXexample} + +\subsection{Hexahedron} +\begin{LTXexample}[width=5cm,rframe=] +\psHexahedron +\end{LTXexample} + +\begin{LTXexample}[width=5cm,rframe=] +\psHexahedron[Viewpoint=1 1.2 0.5] +\end{LTXexample} + +\begin{LTXexample}[width=5cm,rframe=] +\psHexahedron[Frame=false,Viewpoint=0.7 -0.5 -0.8] +\end{LTXexample} + +\begin{LTXexample}[pos=t,rframe=] +\psHexahedron[Frame=false,Viewpoint=1 1.2 0.7] +\psHexahedron[Frame=false,Viewpoint=-1 0.5 2] +\psHexahedron[Frame=false,Viewpoint=0.7 -0.5 -0.8] +\end{LTXexample} + + +\subsection{Octahedron} +\begin{LTXexample}[width=5cm,rframe=] +\psOctahedron +\end{LTXexample} + +\begin{LTXexample}[width=5cm,rframe=] +\psOctahedron[Viewpoint=1 1.2 0.5] +\end{LTXexample} + +\begin{LTXexample}[width=5cm,rframe=] +\psOctahedron[Frame=false,Viewpoint=0.7 -0.5 -0.8] +\end{LTXexample} + +\begin{LTXexample}[pos=t,rframe=] +\psset{psscale=2} +\psOctahedron[Frame=false,Viewpoint=1 1.2 0.7] +\psOctahedron[Frame=false,Viewpoint=-1 0.5 2] +\psOctahedron[Frame=false,Viewpoint=0.7 -0.5 -0.8] +\end{LTXexample} + +\clearpage +\subsection{Dodecahedron} +\begin{LTXexample}[width=5cm,rframe=] +\psDodecahedron +\end{LTXexample} + +\begin{LTXexample}[pos=t,rframe=] +\psDodecahedron[Viewpoint=-0.5 0.9 0.9] +\psDodecahedron[Viewpoint=-0.5 0.7 -1.2] +\psDodecahedron[Viewpoint=0.5 -0.7 -0.5] +\end{LTXexample} + +\begin{LTXexample}[pos=t,rframe=] +\psDodecahedron[Frame=false,Viewpoint=-0.2 0.2 0.2] +\psDodecahedron[Frame=false,Viewpoint=-0.707 -0.707 -1] +\psDodecahedron[Frame=false,Viewpoint=0.6 -0.7 -0.5] +\end{LTXexample} + +\subsection{Isocahedron} + +\begin{LTXexample}[width=5cm,rframe=] +\psIcosahedron +\end{LTXexample} + +\begin{LTXexample}[pos=t,rframe=] +\psIcosahedron[Viewpoint=1 1.2 0.5] +\psIcosahedron[Viewpoint=-1 1.2 0.5] +\psIcosahedron[Viewpoint=-1 -1.2 0.5] +\psIcosahedron[Viewpoint=1 -1.2 0.5] +\end{LTXexample} + +\begin{LTXexample}[pos=t,rframe=] +\psIcosahedron[Frame=false,Viewpoint=0.5 -1 1] +\psIcosahedron[Frame=false,Viewpoint=-1 0.5 1.2] +\psIcosahedron[Frame=false,Viewpoint=0.7 -0.5 -0.8] +\psIcosahedron[Frame=false,Viewpoint=-0.7 -0.7 -0.2] +\end{LTXexample} + + + +\section{List of all optional arguments for \texttt{pst-platon}} + +\xkvview{family=pst-platon,columns={key,type,default}} + + + + + +\nocite{*} +\bgroup +\RaggedRight +\bibliographystyle{plain} +\bibliography{pst-platon-doc} +\egroup + +\printindex + + + +\end{document} + diff --git a/Master/texmf-dist/source/generic/pst-platon/Makefile b/Master/texmf-dist/source/generic/pst-platon/Makefile new file mode 100644 index 00000000000..36b9679cea0 --- /dev/null +++ b/Master/texmf-dist/source/generic/pst-platon/Makefile @@ -0,0 +1,70 @@ + +# `Makefile' for `pst-am.pdf', hv, 2009/12/08 + +.SUFFIXES : .tex .ltx .dvi .ps .pdf .eps + +PACKAGE = pst-platon + +MAIN = $(PACKAGE)-doc + +LATEX = latex + +ARCHNAME = $(MAIN)-$(shell date +%y%m%d) + +ARCHFILES = $(PACKAGE).sty $(PACKAGE).tex $(PACKAGE).pro $(MAIN).tex README Changes Makefile + +TDS = ~/PSTricks/PSTricks-TDS + +all : doc clean +doc: $(MAIN).pdf + +$(MAIN).pdf : $(MAIN).ps + GS_OPTIONS=-dAutoRotatePages=/None ps2pdf $< + +$(MAIN).ps : $(MAIN).dvi + dvips $< + +$(MAIN).dvi : $(MAIN).tex + $(LATEX) $< + $(LATEX) $< + if ! test -f $(basename $<).glo ; then touch $(basename $<).glo; fi + if ! test -f $(basename $<).idx ; then touch $(basename $<).idx; fi + makeindex -s gglo.ist -t $(basename $<).glg -o $(basename $<).gls \ + $(basename $<).glo + makeindex -t $(basename $<).ilg -o $(basename $<).ind \ + $(basename $<).idx + bibtex $(basename $<) + $(LATEX) $< + $(LATEX) $< + +clean : + $(RM) $(addprefix $(MAIN), .log .aux .glg .glo .gls .ilg .idx .ind .tmp .toc .out .blg .bbl) + $(RM) $(addprefix $(MAIN), .dvi .ps .eps) + +veryclean : clean + $(RM) $(addprefix $(MAIN), .pdf .bbl .blg) + +arch : + zip $(ARCHNAME).zip $(ARCHFILES) + +tds: + cp -u Changes $(TDS)/doc/latex/$(PACKAGE)/ + cp -u README $(TDS)/doc/latex/$(PACKAGE)/ + cp -u $(MAIN).pdf $(TDS)/doc/latex/$(PACKAGE)/ +# + cp -u Changes $(TDS)/tex/latex/$(PACKAGE)/ + cp -u $(PACKAGE).sty $(TDS)/tex/latex/$(PACKAGE)/ +# +# cp -u Changes $(TDS)/tex/generic/$(PACKAGE)/ +# cp -u $(PACKAGE).tex $(TDS)/tex/generic/$(PACKAGE)/ +# +# cp -u Changes $(TDS)/dvips/$(PACKAGE)/ +# cp -u $(PACKAGE).pro $(TDS)/dvips/$(PACKAGE)/ +# + cp -u Changes $(TDS)/source/$(PACKAGE)/ + cp -u $(MAIN).tex $(TDS)/source/$(PACKAGE)/ + cp -u $(MAIN).bib $(TDS)/source/$(PACKAGE)/ + cp -u Makefile $(TDS)/source/$(PACKAGE)/ + + +# EOF diff --git a/Master/texmf-dist/tex/latex/pst-platon/pst-platon.sty b/Master/texmf-dist/tex/latex/pst-platon/pst-platon.sty new file mode 100644 index 00000000000..b21d9de1e8b --- /dev/null +++ b/Master/texmf-dist/tex/latex/pst-platon/pst-platon.sty @@ -0,0 +1,240 @@ +%% $Id: pst-platon.sty 208 2009-12-25 08:54:53Z herbert $ +%% +%% This is file `pst-platon.sty', +%% +%% 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. +%% +%% Manuel Luque <Mluque5130 _at_ aol.com> (France) +%% Herbert Voss <hvoss _at_ tug.org (Germany) +%% +%% 2009/12/24 +%% +%% DESCRIPTION: +%% `pst-platon' is a package intended for drawing the +%% platonic solids +% +\NeedsTeXFormat{LaTeX2e} +\RequirePackage{pstricks} +\RequirePackage{pst-3d} +\RequirePackage{pst-xkey} +\ifx\PSTFPloaded\endinput\else\input{pst-fp.tex}\fi +\def\fileversion{0.01} +\def\filedate{2009/12/25} +% +\ProvidesPackage{pst-platon}[\filedate\ v\fileversion\ platonic solids (ml,hv)] +% +\newcommand\colorTypeA{% +\definecolor{ColorA}{cmyk}{0.1,0.1,0.05,0} +\definecolor{ColorB}{cmyk}{0.15,0.15,0.05,0} +\definecolor{ColorC}{cmyk}{0.2,0.2,0.05,0} +\definecolor{ColorD}{cmyk}{0.25,0.25,0.05,0} +\definecolor{ColorE}{cmyk}{0.3,0.3,0.05,0} +\definecolor{ColorF}{cmyk}{0.35,0.35,0.05,0} +\definecolor{ColorG}{cmyk}{0.4,0.4,0.05,0} +\definecolor{ColorH}{cmyk}{0.45,0.45,0.05,0} +\definecolor{ColorI}{cmyk}{0.5,0.5,0.05,0} +\definecolor{ColorJ}{cmyk}{0.55,0.55,0.05,0} +\definecolor{ColorK}{cmyk}{0.6,0.6,0.05,0} +\definecolor{ColorL}{cmyk}{0.65,0.65,0.05,0} +\definecolor{ColorM}{cmyk}{0.2,0.22,0.07,0} +\definecolor{ColorN}{cmyk}{0.32,0.33,0.09,0} +\definecolor{ColorO}{cmyk}{0.22,0.20,0.05,0} +\definecolor{ColorP}{cmyk}{0.32,0.30,0.05,0} +\definecolor{ColorQ}{cmyk}{0.12,0.2,0.07,0} +\definecolor{ColorR}{cmyk}{0.27,0.33,0.09,0} +\definecolor{ColorS}{cmyk}{0.18,0.20,0.05,0} +\definecolor{ColorT}{cmyk}{0.37,0.30,0.05,0}} +\newcommand\colorTypeB{% +\definecolor{ColorA}{cmyk}{0.1,0.2,0.1,0} +\definecolor{ColorB}{cmyk}{0.15,0.2,0.15,0} +\definecolor{ColorC}{cmyk}{0.2,0.2,0.2,0} +\definecolor{ColorD}{cmyk}{0.25,0.2,0.25,0} +\definecolor{ColorE}{cmyk}{0.3,0.2,0.3,0} +\definecolor{ColorF}{cmyk}{0.35,0.2,0.35,0} +\definecolor{ColorG}{cmyk}{0.4,0,0.4,0} +\definecolor{ColorH}{cmyk}{0.45,0,0.45,0}} +% +\def\pst@t{0.333} +\SpecialCoor% +% +\pst@addfams{pst-platon} +\define@boolkey[psset]{pst-platon}[Pst@]{PstPicture}[true]{} +\define@boolkey[psset]{pst-platon}[Pst@]{Frame}[true]{} +\define@key[psset]{pst-platon}{Viewpoint}[1 1 1]{% + \def\psk@platon@Viewpoint{#1}% + \expandafter\psset@platon@viewpoint#1\@nil} +\def\psset@platon@viewpoint#1 #2 #3\@nil{% + \def\psk@platon@Viewpointx{#1}% + \def\psk@platon@Viewpointy{#2}% + \def\psk@platon@Viewpointz{#3}} +\psset[pst-platon]{Viewpoint=1 1 1,Frame=true,PstPicture=true} +\define@key[psset]{pst-platon}{faceName}[\Alph]{\let\pst@faceName#1} +\define@key[psset]{pst-platon}{faceNameFont}[{\huge\sffamily\bfseries}]{\def\psk@faceNameFont{#1}} +\psset[pst-platon]{faceName=\Alph,faceNameFont={\huge\sffamily\bfseries}} +\define@key[psset]{pst-platon}{colorType}[A]{\csname colorType#1\endcsname} +\psset[pst-platon]{colorType=A} +% +\newcounter{face@counter} +% +\def\pst@ifpos(#1,#2,#3){% + \@ifnextchar[{\pst@ifpos@i(#1,#2,#3)}{\pst@ifpos@i(#1,#2,#3)[#1,#2,#3]}} +\def\pst@ifpos@i(#1,#2,#3)[#4,#5,#6]#7#8{% + \pstFPmul\pst@tempA\psk@platon@Viewpointx{#1}% + \pstFPmul\pst@tempB\psk@platon@Viewpointy{#2}% + \pstFPadd\pst@tempC\pst@tempA\pst@tempB% + \pstFPmul\pst@tempA\psk@platon@Viewpointz{#3}% + \pstFPadd\pst@tempB\pst@tempA\pst@tempC% + \ifdim\pst@tempB pt>\z@ \ThreeDput[normal=#1 #2 #3](#4,#5,#6){#7% + \rput(0,0){\psk@faceNameFont\setcounter{face@counter}{#8}% + \pst@faceName{face@counter}}}\fi% +} +% +\def\psTetrahedron{\pst@object{psTetrahedron}} +\def\psTetrahedron@i{{% + \pst@killglue% + \addbefore@par{fillstyle=solid,dimen=middle,radius=1.633,colorType=B}% + \use@par% + \def\faceA[##1]{\pspolygon[##1](\psk@radius;90)(\psk@radius;210)(\psk@radius;330)} + \def\faceB[##1]{\pspolygon[##1](\psk@radius;30)(\psk@radius;150)(\psk@radius;270)} + \psset[pst-3d]{viewpoint=\psk@platon@Viewpoint}% + \psscalebox{\psk@@psscale}{% + \ifPst@PstPicture\pspicture(-1.4,-1.6)(1.4,1.6)\fi% + \pst@ifpos(1,1,-1)[\pst@t,\pst@t,-\pst@t]{\faceA[fillcolor=ColorA]}{1}% face 1 + \pst@ifpos(-1,1,1)[-\pst@t,\pst@t,\pst@t]{\faceB[fillcolor=ColorB]}{2}% face 2 + \pst@ifpos(1,-1,1)[\pst@t,-\pst@t,\pst@t]{\faceB[fillcolor=ColorC]}{3}% face 3 + \pst@ifpos(-1,-1,-1)[-\pst@t,-\pst@t,-\pst@t]{\faceA[fillcolor=ColorC]}{4}% face 4 + \ifPst@Frame\pst@showFrame{}\fi + \ifPst@PstPicture\endpspicture\fi% +}}\ignorespaces} +% +\def\psHexahedron{\pst@object{psHexahedron}} +\def\psHexahedron@i{{% + \pst@killglue% + \addbefore@par{fillstyle=solid,dimen=middle,colorType=B}% + \use@par% + \def\face[##1]{\psframe[##1](-1,-1)(1,1)}% + \psscalebox{\psk@@psscale}{% + \ifPst@PstPicture\pspicture(-1.4,-1.7)(1.4,1.7)\fi% + \psset[pst-3d]{viewpoint=\psk@platon@Viewpoint}% + \pst@ifpos(1,0,0){\face[fillcolor=ColorA]}{1} % face1 + \pst@ifpos(0,1,0){\face[fillcolor=ColorB]}{2} % face2 + \pst@ifpos(-1,0,0){\face[fillcolor=ColorC]}{3}% face3 + \pst@ifpos(0,-1,0){\face[fillcolor=ColorD]}{4}% face4 + \pst@ifpos(0,0,1){\face[fillcolor=ColorE]}{5} % face5 + \pst@ifpos(0,0,-1){\face[fillcolor=ColorF]}{6}% face6 + \ifPst@Frame\pst@showFrame\fi + \ifPst@PstPicture\endpspicture\fi% +}}\ignorespaces} +% +\def\psOctahedron{\pst@object{psOctahedron}} +\def\psOctahedron@i{{% + \pst@killglue% + \addbefore@par{fillstyle=solid,dimen=middle,radius=0.8165,colorType=B}% + \use@par% + \def\faceA[##1]{\pspolygon[##1](\psk@radius;90)(\psk@radius;210)(\psk@radius;330)} + \def\faceB[##1]{\pspolygon[##1](\psk@radius;30)(\psk@radius;150)(\psk@radius;270)} + \psset[pst-3d]{viewpoint=\psk@platon@Viewpoint}% + \psscalebox{\psk@@psscale}{% + \ifPst@PstPicture\pspicture(-1,-1)(1,1)\fi% + \pst@ifpos(1,1,1)[\pst@t,\pst@t,\pst@t]{\faceA[fillcolor=ColorA]}{1}% face 1 + \pst@ifpos(-1,1,1)[-\pst@t,\pst@t,\pst@t]{\faceA[fillcolor=ColorB]}{2}% face 2 + \pst@ifpos(-1,-1,1)[-\pst@t,-\pst@t,\pst@t]{\faceA[fillcolor=ColorC]}{3}% face 3 + \pst@ifpos(1,-1,1)[\pst@t,-\pst@t,\pst@t]{\faceA[fillcolor=ColorD]}{4}% face 4 + \pst@ifpos(1,1,-1)[\pst@t,\pst@t,-\pst@t]{\faceB[fillcolor=ColorE]}{5}% face 5 + \pst@ifpos(-1,1,-1)[-\pst@t,\pst@t,-\pst@t]{\faceB[fillcolor=ColorF]}{6}% face 6 + \pst@ifpos(1,-1,-1)[\pst@t,-\pst@t,-\pst@t]{\faceB[fillcolor=ColorG]}{7}% face 7 + \pst@ifpos(-1,-1,-1)[-\pst@t,-\pst@t,-\pst@t]{\faceB[fillcolor=ColorH]}{8}% face 8 + \ifPst@Frame\pst@showFrame\fi + \ifPst@PstPicture\endpspicture\fi% +}}\ignorespaces} +% +\def\psDodecahedron{\pst@object{psDodecahedron}} +\def\psDodecahedron@i{{% + \pst@killglue% + \addbefore@par{fillstyle=solid,colorType=A}% + \use@par% + \def\RA{1.05146}\def\rb{0.723607}\def\ra{1.17082}% + \def\rc{0.723607}\def\rd{1.17082}% + \psset[pst-3d]{viewpoint=\psk@platon@Viewpoint}% + \def\faceA[##1]{\pspolygon[##1](\RA;18)(\RA;90)(\RA;162)(\RA;234)(\RA;306)}% + \def\faceB[##1]{\pspolygon[##1](\RA;270)(\RA;-18)(\RA;54)(\RA;126)(\RA;198)}% + \def\faceC[##1]{\pspolygon[##1](\RA;0)(\RA;72)(\RA;144)(\RA;216)(\RA;288)}% + \def\faceD[##1]{\pspolygon[##1](\RA;36)(\RA;108)(\RA;180)(\RA;252)(\RA;324)}% + \psscalebox{\psk@@psscale}{% + \ifPst@PstPicture\pspicture(-1.1,-1.8)(1.1,1.8)\fi% + \pst@ifpos(0,\ra,\rb){\faceA[fillcolor=ColorA]}{1}% face1 + \pst@ifpos(0,-\ra,\rb){\faceA[fillcolor=ColorB]}{2}% face2 + \pst@ifpos(0,\ra,-\rb){\faceB[fillcolor=ColorC]}{3}% face3 + \pst@ifpos(0,-\ra,-\rb){\faceB[fillcolor=ColorD]}{4}% face4 + \pst@ifpos(\rc,0,\rd){\faceB[fillcolor=ColorE]}{5}% face5 + \pst@ifpos(-\rc,0,\rd){\faceB[fillcolor=ColorF]}{6}% face6 + \pst@ifpos(\rc,0,-\rd){\faceA[fillcolor=ColorG]}{7}% face7 + \pst@ifpos(-\rc,0,-\rd){\faceA[fillcolor=ColorH]}{8}% face8 + \pst@ifpos(\rd,\rc,0){\faceC[fillcolor=ColorI]}{9}% face9 + \pst@ifpos(-\rd,\rc,0){\faceD[fillcolor=ColorJ]}{10}% face10 + \pst@ifpos(\rd,-\rc,0){\faceD[fillcolor=ColorK]}{11}% face11 + \pst@ifpos(-\rd,-\rc,0){\faceC[fillcolor=ColorL]}{12}%face12 + \ifPst@Frame\pst@showFrame\fi% + \ifPst@PstPicture\endpspicture\fi% +}}\ignorespaces} +% +\def\psIcosahedron{\pst@object{psIcosahedron}} +\def\psIcosahedron@i{{% + \pst@killglue% + \addbefore@par{fillstyle=solid,radius=1.1547,colorType=A}% + \use@par% + \def\rb{0.539345}\def\ra{1.41202}% + \def\rc{0.539345}\def\rd{1.41202}% + \def\Nx{0.381966}\def\Ny{0.381966}\def\Nz{0.381966}% + \def\Ox{0.872678}\def\Oy{0.872678}\def\Oz{0.872678}% + \def\nx{1}\def\ny{0.381966}\def\nz{0}% + \def\ox{1.42102}\def\oy{0.53945}\def\oz{0}% + \def\faceA[##1]{\pspolygon[##1](\psk@radius;90)(\psk@radius;210)(\psk@radius;330)} + \def\faceB[##1]{\pspolygon[##1](\psk@radius;-90)(\psk@radius;30)(\psk@radius;150)} + \def\faceC[##1]{\pspolygon[##1](\psk@radius;-69.0948)(\psk@radius;50.9502)(\psk@radius;170.9502)} + \def\faceD[##1]{\pspolygon[##1](\psk@radius;-110.9052)(\psk@radius;9.4598)(\psk@radius;129.4598)} + \def\faceE[##1]{\pspolygon[##1](\psk@radius;69.0948)(\psk@radius;189.09498)(\psk@radius;309.09498)} + \def\faceF[##1]{\pspolygon[##1](\psk@radius;110.9052)(\psk@radius;230.9052)(\psk@radius;350.9052)} + \def\faceG[##1]{\pspolygon[##1](\psk@radius;0)(\psk@radius;120)(\psk@radius;240)} + \def\faceH[##1]{\pspolygon[##1](\psk@radius;60)(\psk@radius;180)(\psk@radius;300)} + \psscalebox{\psk@@psscale}{% + \ifPst@PstPicture\pspicture(-1,-2)(1,2)\fi% + \psset[pst-3d]{viewpoint=\psk@platon@Viewpoint}% + \pst@ifpos(0,\ra,\rb){\faceA[fillcolor=ColorA]}{1}% face1 + \pst@ifpos(0,-\ra,\rb){\faceA[fillcolor=ColorB]}{2}% face2 + \pst@ifpos(0,\ra,-\rb){\faceB[fillcolor=ColorC]}{3}% face3 + \pst@ifpos(0,-\ra,-\rb){\faceB[fillcolor=ColorD]}{4}% face4 + \pst@ifpos(\rc,0,\rd){\faceB[fillcolor=ColorE]}{5}% face5 + \pst@ifpos(-\rc,0,\rd){\faceB[fillcolor=ColorF]}{6}% face6 + \pst@ifpos(\rc,0,-\rd){\faceA[fillcolor=ColorG]}{7}% face7 + \pst@ifpos(-\rc,0,-\rd){\faceA[fillcolor=ColorH]}{8}% face8 + \pst@ifpos(\Nx,\Ny,\Nz)[\Ox,\Oy,\Oz]{\faceC[fillcolor=ColorI]}{9}% face9 + \pst@ifpos(-\Nx,\Ny,\Nz)[-\Ox,\Oy,\Oz]{\faceD[fillcolor=ColorJ]}{10}% face10 + \pst@ifpos(\Nx,-\Ny,\Nz)[\Ox,-\Oy,\Oz]{\faceD[fillcolor=ColorK]}{11}% face11 + \pst@ifpos(-\Nx,-\Ny,\Nz)[-\Ox,-\Oy,\Oz]{\faceC[fillcolor=ColorL]}{12}% face12 + \pst@ifpos(\Nx,\Ny,-\Nz)[\Ox,\Oy,-\Oz]{\faceE[fillcolor=ColorM]}{13}% face13 + \pst@ifpos(\Nx,-\Ny,-\Nz)[\Ox,-\Oy,-\Oz]{\faceF[fillcolor=ColorN]}{14}% face14 + \pst@ifpos(-\Nx,-\Ny,-\Nz)[-\Ox,-\Oy,-\Oz]{\faceE[fillcolor=ColorO]}{15}% face15 + \pst@ifpos(-\Nx,\Ny,-\Nz)[-\Ox,\Oy,-\Oz]{\faceF[fillcolor=ColorP]}{16}% face16 + \pst@ifpos(\nx,\ny,\nz)[\ox,\oy,\oz]{\faceG[fillcolor=ColorQ]}{17}% face17 + \pst@ifpos(\nx,-\ny,\nz)[\ox,-\oy,\oz]{\faceH[fillcolor=ColorR]}{18}% face18 + \pst@ifpos(-\nx,-\ny,\nz)[-\ox,-\oy,\oz]{\faceG[fillcolor=ColorS]}{19}% face19 + \pst@ifpos(-\nx,\ny,\nz)[-\ox,\oy,\oz]{\faceH[fillcolor=ColorT]}{20}% face20 + \ifPst@Frame\pst@showFrame\fi% + \ifPst@PstPicture\endpspicture\fi% +}}\ignorespaces} +% +\def\pst@showFrame{{% + \psset{fillstyle=none,linestyle=dotted}% + \ThreeDput[normal=1 0 0](1,0,0){\psframe(-1,-1)(1,1)}% + \ThreeDput[normal=0 1 0](0,1,0){\psframe(-1,-1)(1,1)}% + \ThreeDput[normal=0 0 1](0,0,1){\psframe(-1,-1)(1,1)}% + \ThreeDput[normal=0 0 -1](0,0,-1){\psframe(-1,-1)(1,1)}% + \ThreeDput[normal=-1 0 0](-1,0,0){\psframe(-1,-1)(1,1)}% + \ThreeDput[normal=0 -1 0](0,-1,0){\psframe(-1,-1)(1,1)}% +}} +% +\endinput + diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check index 3f72e028a33..cd216f354dd 100755 --- a/Master/tlpkg/bin/tlpkg-ctan-check +++ b/Master/tlpkg/bin/tlpkg-ctan-check @@ -215,7 +215,7 @@ my @WorkingTLP = qw( pst-gantt pst-geo pst-grad pst-infixplot pst-jtree pst-knot pst-labo pst-lens pst-light3d pst-math pst-mirror pst-ob3d pst-optexp pst-optic - pst-osci pst-pad pst-poly pst-pdf pst-pdgr pst-qtree + pst-osci pst-pad pst-platon pst-poly pst-pdf pst-pdgr pst-qtree pst-sigsys pst-solides3d pst-soroban pst-spectra pst-slpe pst-stru pst-support pst-text pst-thick pst-tree pst-uml pst-vowel pst-vue3d diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds index 62612bdfd7f..44c0dcde101 100755 --- a/Master/tlpkg/libexec/ctan2tds +++ b/Master/tlpkg/libexec/ctan2tds @@ -507,6 +507,7 @@ $Master = "$mydir/../.."; 'pst-osci', "&MAKEpst", 'pst-pad', "&MAKEpst", 'pst-pdgr', "&MAKEpst", + 'pst-platon', "&MAKEpst", 'pst-poly', "&MAKEpst", 'pst-qtree', "&MAKEpst", 'pst-sigsys', "&MAKEpst", diff --git a/Master/tlpkg/tlpsrc/collection-pstricks.tlpsrc b/Master/tlpkg/tlpsrc/collection-pstricks.tlpsrc index 863210f06f2..077a813cf54 100644 --- a/Master/tlpkg/tlpsrc/collection-pstricks.tlpsrc +++ b/Master/tlpkg/tlpsrc/collection-pstricks.tlpsrc @@ -48,6 +48,7 @@ depend pst-optic depend pst-osci depend pst-pad depend pst-pdgr +depend pst-platon depend pst-poly depend pst-qtree depend pst-sigsys diff --git a/Master/tlpkg/tlpsrc/pst-platon.tlpsrc b/Master/tlpkg/tlpsrc/pst-platon.tlpsrc new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/Master/tlpkg/tlpsrc/pst-platon.tlpsrc |