summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2009-12-31 01:28:27 +0000
committerKarl Berry <karl@freefriends.org>2009-12-31 01:28:27 +0000
commite7bbf19e758762cc76a2e8d23e34cd252496b3c3 (patch)
tree4b36404cb843b4c8fa22d8eada8134eab177f1a3
parent01294f46bb60e2b571fe1cc4b8a4428366240d8b (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/Changes6
-rw-r--r--Master/texmf-dist/doc/generic/pst-platon/README10
-rw-r--r--Master/texmf-dist/doc/generic/pst-platon/pst-platon-doc.bib181
-rw-r--r--Master/texmf-dist/doc/generic/pst-platon/pst-platon-doc.pdfbin0 -> 114566 bytes
-rw-r--r--Master/texmf-dist/doc/generic/pst-platon/pst-platon-doc.tex265
-rw-r--r--Master/texmf-dist/source/generic/pst-platon/Makefile70
-rw-r--r--Master/texmf-dist/tex/latex/pst-platon/pst-platon.sty240
-rwxr-xr-xMaster/tlpkg/bin/tlpkg-ctan-check2
-rwxr-xr-xMaster/tlpkg/libexec/ctan2tds1
-rw-r--r--Master/tlpkg/tlpsrc/collection-pstricks.tlpsrc1
-rw-r--r--Master/tlpkg/tlpsrc/pst-platon.tlpsrc0
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
new file mode 100644
index 00000000000..ba19eb58bd5
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pst-platon/pst-platon-doc.pdf
Binary files differ
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