summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/pst-cox/pst-coxcoor.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/generic/pst-cox/pst-coxcoor.tex')
-rw-r--r--Master/texmf-dist/tex/generic/pst-cox/pst-coxcoor.tex374
1 files changed, 374 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/generic/pst-cox/pst-coxcoor.tex b/Master/texmf-dist/tex/generic/pst-cox/pst-coxcoor.tex
new file mode 100644
index 00000000000..1cb59e7d978
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/pst-cox/pst-coxcoor.tex
@@ -0,0 +1,374 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% polygonesCoordinate\pst-coxcoor.tex
+% Authors: J.-G. Luque and M. Luque
+% Purpose: Library pst-coxcoor.tex
+% Created: 02/02/2008
+% License: LGPL
+% Project: PST-Cox V1.00
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Copyright © 2008 Jean-Gabriel Luque, Manuel Luque.
+% This work may be distributed and/or modified under the condition of
+% the Lesser GPL.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% This file is part of PST-Cox V1.00.
+%
+% PST-Cox V1.00 is free software: you can redistribute it and/or modify
+% it under the terms of the Lesser GNU General Public License as published by
+% the Free Software Foundation, either version 3 of the License, or
+% (at your option) any later version.
+%
+% PST-Cox V1.00 is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% Lesser GNU General Public License for more details.
+%
+% You should have received a copy of the Lesser GNU General Public License
+% along with PST-Cox V1.00. If not, see <http://www.gnu.org/licenses/>.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\def\fileversion{0.98 Beta}
+\def\filedate{2008/14/01}
+
+\message{`Pst-Coxeter-Coordinates' v\fileversion, \filedate\space
+(Jean-Gabriel Luque and Manuel Luque)}
+
+\csname PstCoxeterCoordinatesLoaded\endcsname
+\let\PstCoxeterCoordinatesLoaded\endinput
+% Require PSTricks and pst-xkey
+\ifx\PSTnodeLoaded\endinput\else\input pstricks.tex\fi
+\ifx\PSTXKeyLoaded\endinput\else\input pst-xkey.tex\fi
+%
+% Catcodes changes.
+\edef\PstAtCode{\the\catcode`\@}
+\catcode`\@=11\relax
+
+\pst@addfams{pst-coxeter}
+ %%% Parameter choice. Allows to choice the polytope. To each integer
+ %%% 0<i<74 corresponds a polytope.
+\define@key[psset]{pst-coxeter}{choice}{%
+\pst@cntg=#1\relax \ifnum\pst@cntg>80 \typeout{choice < or = 80 and
+not `\the\pst@cntg'. Value 1 forced.} \pst@cntg=1
+ \fi
+\edef\psk@pstCoxeter@choice{#1}}
+\psset{choice=1}
+%
+%
+% Graphical parameters
+%
+% Colors
+% Color of Vertices
+% Example: \CoxeterCoordinates[colorVertices=blue,choice=5]
+\define@key[psset]{pst-coxeter}{colorVertices}{%
+\pst@getcolor{#1}\pscolorVertices}
+% by default the color of the vertices is green
+\psset{colorVertices=green}
+% Color of centers
+% Example: \CoxeterCoordinates[colorCenters=blue,choice=5]
+\define@key[psset]{pst-coxeter}{colorCenters}{%
+\pst@getcolor{#1}\pscolorCenters}
+ \psset{colorCenters=blue}
+% Color of centers of the faces
+% Example: \CoxeterCoordinates[colorCentersFaces=blue,choice=5]
+\define@key[psset]{pst-coxeter}{colorCentersFaces}{%
+\pst@getcolor{#1}\pscolorCentersFaces}
+ \psset{colorCentersFaces=red}
+%
+% Color of centers of the Cells
+% Example: \CoxeterCoordinates[colorCentersCells=blue,choice=5]
+\define@key[psset]{pst-coxeter}{colorCentersCells}{%
+\pst@getcolor{#1}\pscolorCentersCells}
+% by default the color of the centers is red.
+\psset{colorCentersCells=magenta}
+%
+%
+% Dot styles
+% style of Vertices
+% Example: \CoxeterCoordinates[styleVertices=*pentagon,P=5]
+\def\psset@styleVertices#1{%
+\@ifundefined{psds@#1}%
+{\@pstrickserr{styleVertices `#1' not defined}\@eha}%
+{\edef\psk@styleVertices{#1}}}
+% by default the vertices are represented by a (empty) circle (styleVertices=o)
+ \psset@styleVertices{o}
+% style of Centers
+% Example: \CoxeterCoordinates[styleCenters=*pentagon,choice=5]
+\def\psset@styleCenters#1{%
+\@ifundefined{psds@#1}%
+{\@pstrickserr{styleCenters `#1' not defined}\@eha}%
+{\edef\psk@styleCenters{#1}}}
+% by default the vertices are represented by a disk (styleVertices=*)
+ \psset@styleCenters{*}
+%
+% style of Centers of the faces
+% Example: \CoxeterCoordinates[styleCentersFaces=*pentagon,choice=5]
+%
+\def\psset@styleCentersFaces#1{%
+\@ifundefined{psds@#1}%
+{\@pstrickserr{styleCentersFaces `#1' not defined}\@eha}%
+{\edef\psk@styleCentersFaces{#1}}}
+%
+% by default the centers of the faces are represented by a disk (styleCentersFaces=*)
+%
+ \psset@styleCentersFaces{*}
+ % style of Centers of the Cells
+% Example: \CoxeterCoordinates[styleCentersCells=*pentagon,choice=5]
+\def\psset@styleCentersCells#1{%
+\@ifundefined{psds@#1}%
+{\@pstrickserr{styleCentersCells `#1' not defined}\@eha}%
+{\edef\psk@styleCentersCells{#1}}}
+% by default the centers of the cells are represented by a disk (stylesCentersCells=*)
+ \psset@styleCentersCells{*}
+%
+%
+% Dot sizes
+% Size of vertices
+% Example: \CoxeterCoordinates[sizeVertices=0.1,choice=5]
+\newdimen\pssizeVertices
+\def\psset@sizeVertices#1{\pssetlength\pssizeVertices{#1}}
+\psset@sizeVertices{0.05}
+% Sizes of centers
+% Example: \CoxeterCoordinates[sizeCenters=0.1,choice=5]
+\newdimen\pssizeCenters
+\def\psset@sizeCenters#1{\pssetlength\pssizeCenters{#1}}
+\psset@sizeCenters{0.05}
+%
+% Sizes of centers of the faces
+% Example: \CoxeterCoordinates[sizeCentersFaces=0.1,choice=5]
+%
+\newdimen\pssizeCentersFaces
+\def\psset@sizeCentersFaces#1{\pssetlength\pssizeCentersFaces{#1}}
+\psset@sizeCentersFaces{0.05}
+%
+% Sizes of centers of the cells
+% Example: \CoxeterCoordinates[sizeCentersCells=0.1,choice=5]
+%
+\newdimen\pssizeCentersCells
+\def\psset@sizeCentersCells#1{\pssetlength\pssizeCentersCells{#1}}
+\psset@sizeCentersCells{0.05}%
+%
+\newif\ifPst@drawvertices
+\define@key[psset]{pst-coxeter}{drawvertices}[true]{%
+\@nameuse{Pst@drawvertices#1}}
+%
+\newif\ifPst@drawedges
+\define@key[psset]{pst-coxeter}{drawedges}[true]{%
+\@nameuse{Pst@drawedges#1}}
+%
+\newif\ifPst@drawcenters
+\define@key[psset]{pst-coxeter}{drawcenters}[true]{%
+\@nameuse{Pst@drawcenters#1}}
+%
+%
+\newif\ifPst@drawcentersfaces
+\define@key[psset]{pst-coxeter}{drawcentersfaces}[false]{%
+\@nameuse{Pst@drawcentersfaces#1}}
+%
+%
+\newif\ifPst@drawcenterscells
+\define@key[psset]{pst-coxeter}{drawcenterscells}[false]{%
+\@nameuse{Pst@drawcenterscells#1}}
+%
+\psset{drawvertices=true,drawedges=true,drawcenters=true}
+%
+%% Prologue for postscript
+\pstheader{pst-coxeter.pro}
+%
+% definition if the macro \CoxeterCoordinates
+%
+\def\CoxeterCoordinates{\pst@object{CoxeterCoordinates}}
+\def\CoxeterCoordinates@i{\@ifnextchar[{\CoxeterCoordinates@do}{\CoxeterCoordinates@do[]}}
+\def\CoxeterCoordinates@do[#1]{{%
+\psset{#1}%
+\begin@ClosedObj
+\addto@pscode{%
+%
+% List of the polytopes
+% The option choice allows to choice the polytope
+% Each values of choice corresponds to a variable cox***datas
+% The variables cox***datas are defined in the file pst-coxcoor.pro
+%
+/choice \the\pst@cntg\space def
+ choice 1 eq {cox233datas} if
+ choice 2 eq {cox332datas} if
+ choice 3 eq {cox333datas} if
+ choice 4 eq {cox342datas} if
+ choice 5 eq {cox344datas} if
+ choice 6 eq {cox343datas} if
+ choice 7 eq {cox434datas} if
+ choice 8 eq {cox24333datas} if
+ choice 9 eq {cox33333datas} if
+ choice 10 eq {cox33342datas} if
+ choice 11 eq {cox3333333datas} if
+ choice 12 eq {cox382datas} if
+ choice 13 eq {cox283datas} if
+ choice 14 eq {cox353datas} if
+ choice 15 eq {cox443datas} if
+ choice 16 eq {cox432datas} if
+ choice 17 eq {cox234datas} if
+ choice 18 eq {cox264datas} if
+ choice 19 eq {cox462datas} if
+ choice 20 eq {cox535datas} if
+ choice 21 eq {cox2103datas} if
+ choice 22 eq {cox3102datas} if
+ choice 23 eq {cox253datas} if
+ choice 24 eq {cox352datas} if
+ choice 25 eq {cox243datas} if
+ choice 26 eq {cox23243datas} if
+ choice 27 eq {cox34232datas} if
+ choice 28 eq {cox3423232datas} if
+ choice 29 eq {cox2323243datas} if
+ choice 30 eq {cox23252datas} if
+ choice 31 eq {cox25232datas} if
+ choice 32 eq {cox2323242datas} if
+ choice 33 eq {cox2423232datas} if
+ choice 34 eq {cox2324232datas} if
+ choice 35 eq {cox2323252datas} if
+ choice 36 eq {cox2523232datas} if
+ choice 37 eq {cox3523datas} if %
+ choice 38 eq {cox5525datas} if
+ choice 39 eq {cox2523datas} if
+ choice 40 eq {cox3522datas} if
+ choice 41 eq {cox31032datas} if
+ choice 42 eq {cox21033datas} if
+ choice 43 eq {cox3832datas} if
+ choice 44 eq {cox2833datas} if
+ choice 45 eq {cox562datas} if
+ choice 46 eq {cox265datas} if
+ choice 47 eq {cox4833datas} if
+ choice 48 eq {cox3834datas} if
+ choice 49 eq {cox552datas} if
+ choice 50 eq {cox255datas} if
+ choice 51 eq {cox51032datas} if
+ choice 52 eq {cox21035datas} if
+ choice 53 eq {cox532datas} if
+ choice 54 eq {cox235datas} if
+ choice 55 eq {cox542datas} if
+ choice 56 eq {cox245datas} if
+choice 57 eq {cox51033datas} if
+ choice 58 eq {cox31035datas} if
+ choice 59 eq {cox543datas} if
+ choice 60 eq {cox345datas} if
+choice 61 eq {cox533datas} if
+ choice 62 eq {cox335datas} if
+ choice 63 eq {cox5523datas} if
+ choice 64 eq {cox3525datas} if
+ choice 65 eq {cox252232datas} if
+ choice 66 eq {cox232522datas} if
+ choice 67 eq {cox252252datas} if
+ choice 68 eq {cox252522datas} if
+ choice 69 eq {cox263datas} if
+ choice 70 eq {cox362datas} if
+ choice 71 eq {cox25223232datas} if
+ choice 72 eq {cox23232522datas} if
+ choice 73 eq {cox23252252datas} if
+ choice 74 eq {cox23252522datas} if
+ choice 75 eq {cox25223252datas} if
+ choice 76 eq {cox25225232datas} if
+ choice 77 eq {cox25232522datas} if
+ choice 78 eq {cox25252232datas} if
+ choice 79 eq {cox25252252datas} if
+ choice 80 eq {cox252252522datas} if
+ %%% <-- add new polytope here
+ 0 0 translate
+ %%% Usefull definitions
+/pscolorVertices {\pst@usecolor\pscolorVertices currentrgbcolor} def
+/pscolorCenters {\pst@usecolor\pscolorCenters currentrgbcolor} def
+ /pscolorCentersFaces {\pst@usecolor\pscolorCentersFaces currentrgbcolor} def
+ /pscolorCentersCells {\pst@usecolor\pscolorCentersCells currentrgbcolor} def
+/unit \pst@number\psunit\space def % pts -> cm
+/unit \pst@number\psunit\space def % pts -> cm
+1 setlinejoin
+ %%%% Drawing the edges
+\ifPst@drawedges
+ 0 1 NbrEdges 1 sub { % from 0 to nbedges-1 (draw all the edges)
+ /CompteurVertices ED
+ /CompteurIntermediaireSommets CompteurVertices NbrVerticesInAnEdge mul
+ def
+newpath ListePoints CompteurIntermediaireSommets get aload pop
+ /Y exch def /X exch def
+ X unit mul Y unit mul moveto
+1 1 NbrVerticesInAnEdge 1 sub { % from 1 to nbvertices in an edge -1
+ /CompteurEdges ED
+ListePoints CompteurIntermediaireSommets CompteurEdges add get aload
+pop
+ /Y exch def /X exch def
+ X unit mul Y unit mul lineto
+ }
+ for
+closepath stroke } for \fi %
+ %%%% Drawing of the Vertices
+/DS \pst@number\pssizeVertices\space def
+\@nameuse{psds@\psk@styleVertices}%
+\ifPst@drawvertices
+% We draw all the vertices of all edges
+0 1 NbrEdges NbrVerticesInAnEdge mul 1 sub { % From 0 to nbEdges*NbVerticesInEdges-1
+/CompteurEdges ED
+ ListePoints CompteurEdges get aload pop
+ /Y exch def /X exch def
+ pscolorVertices
+ X unit mul Y unit mul
+ Dot
+ stroke
+} for
+ \fi
+%
+% Drawing of the Centers of the Faces
+%
+/DS \pst@number\pssizeCentersFaces\space def
+\@nameuse{psds@\psk@styleCentersFaces}%
+\ifPst@drawcentersfaces
+0 1 NbrFaces 1 sub{ % from 0 to NbrFaces-1
+/CompteurFaces ED
+ ListeFaces CompteurFaces get aload pop
+ /Y exch def /X exch def
+ pscolorCentersFaces
+ X unit mul Y unit mul
+ Dot
+ stroke
+} for
+ \fi
+%
+% Drawing the centers of the Cells
+%
+/DS \pst@number\pssizeCentersCells\space def
+\@nameuse{psds@\psk@styleCentersCells}%
+\ifPst@drawcenterscells
+0 1 NbrCells 1 sub{ % from 0 to nbCells-1
+/CompteurCells ED
+ ListeCells CompteurCells get aload pop
+ /Y exch def /X exch def
+ pscolorCentersCells
+ X unit mul Y unit mul
+ Dot
+ stroke
+} for \fi
+%
+% Drawing the centers of the Edges
+%
+ /DS \pst@number\pssizeCenters\space def
+\@nameuse{psds@\psk@styleCenters}%
+\ifPst@drawcenters
+0 1 NbrEdges 1 sub { % from 0 to NbrEdges -1
+ /CompteurVertices ED
+ /CompteurIntermediaireSommets CompteurVertices NbrVerticesInAnEdge mul
+ def
+ /XM 0 def /YM 0 def
+0 1 NbrVerticesInAnEdge 1 sub { %
+ /CompteurEdges ED
+ ListePoints CompteurEdges CompteurIntermediaireSommets add get aload pop
+ /Y ED /X ED
+ /XM XM X add def
+ /YM YM Y add def
+ }
+ for
+ pscolorCenters
+ XM NbrVerticesInAnEdge div unit mul YM NbrVerticesInAnEdge div unit mul %1.5 0 360 arc
+ Dot
+ stroke
+} for \fi
+}%
+\end@ClosedObj
+}}
+\catcode`\@=\PstAtCode\relax
+\endinput
+%%
+%% END: pst-coxeter3.tex