summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2009-03-28 22:52:37 +0000
committerKarl Berry <karl@freefriends.org>2009-03-28 22:52:37 +0000
commit48066adf939ff889ed9e33a4a8e5ede53db58d28 (patch)
tree98aec5997b916cfc7614afb4f0f21477f5a6a39a
parent88e63a5d68668d620c783cdbf51e0c5bab111b7c (diff)
pst-calendar missing (from Herbert Voss, 28mar09)
git-svn-id: svn://tug.org/texlive/trunk@12554 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/pst-calendar/Changes7
-rw-r--r--Master/texmf-dist/doc/latex/pst-calendar/README13
-rw-r--r--Master/texmf-dist/doc/latex/pst-calendar/pst-calendar-docDE.ltx226
-rw-r--r--Master/texmf-dist/doc/latex/pst-calendar/pst-calendar-docDE.pdfbin0 -> 138683 bytes
-rw-r--r--Master/texmf-dist/doc/latex/pst-calendar/pst-calendar-docDE.tex131
-rw-r--r--Master/texmf-dist/doc/latex/pst-calendar/pst-calendar-docFR.pdfbin0 -> 164316 bytes
-rw-r--r--Master/texmf-dist/doc/latex/pst-calendar/pst-calendar-docFR.tex382
-rw-r--r--Master/texmf-dist/tex/latex/pst-calendar/pst-calendar.sty496
-rwxr-xr-xMaster/tlpkg/bin/tlpkg-ctan-check2
-rw-r--r--Master/tlpkg/tlpsrc/collection-pstricks.tlpsrc1
-rw-r--r--Master/tlpkg/tlpsrc/pst-calendar.tlpsrc2
11 files changed, 1259 insertions, 1 deletions
diff --git a/Master/texmf-dist/doc/latex/pst-calendar/Changes b/Master/texmf-dist/doc/latex/pst-calendar/Changes
new file mode 100644
index 00000000000..884b50f3718
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pst-calendar/Changes
@@ -0,0 +1,7 @@
+..... pst-calendar.sty
+0.47 2005-11-09 first CTAN version
+
+
+..... pst-calendar-docFR.tex
+ 2004-11-09 first CTAN version
+
diff --git a/Master/texmf-dist/doc/latex/pst-calendar/README b/Master/texmf-dist/doc/latex/pst-calendar/README
new file mode 100644
index 00000000000..cf3a6469bf2
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pst-calendar/README
@@ -0,0 +1,13 @@
+Save the files pst-calendar.sty in a directory, which is part of your
+local TeX tree.
+Then do not forget to run texhash to update this tree.
+For more information see the documentation of your LATEX distribution
+on installing packages into your LATEX distribution or the
+TeX Frequently Asked Questions:
+(http://www.tex.ac.uk/cgi-bin/texfaq2html?label=instpackages).
+
+pst-calendar needs pstricks, fp, pst-3d, multido and pst-xkey
+which should be all part of your
+local TeX installation, otherwise get it from a CTAN server, f.ex.
+ftp://ftp.ctan.org
+
diff --git a/Master/texmf-dist/doc/latex/pst-calendar/pst-calendar-docDE.ltx b/Master/texmf-dist/doc/latex/pst-calendar/pst-calendar-docDE.ltx
new file mode 100644
index 00000000000..caa831ddd34
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pst-calendar/pst-calendar-docDE.ltx
@@ -0,0 +1,226 @@
+\documentclass[11pt,a4paper,ngerman]{article}
+\usepackage[latin1]{inputenc}%
+\usepackage[T1]{fontenc}
+\usepackage{babel}
+\usepackage{lmodern}
+\parindent=0pt
+\parskip=5pt plus 3pt minus 2pt
+\usepackage{enumerate,longtable,url}
+\let\OldUrl=\url
+\renewcommand\url[1]{\protect\OldUrl{#1}}
+
+\usepackage[scaled]{luximono}
+%
+\usepackage{xspace,nonfloat}
+\usepackage[bottom]{footmisc}
+%
+\usepackage{tabularx}
+\usepackage{longtable}
+\usepackage{ltxtable}
+\usepackage{varioref}
+\usepackage[NewCommands,NewParameters]{ragged2e}
+\usepackage{url}
+\def\UrlFont{\ttfamily}
+\makeatletter
+%\def\verbatim@font{\small\normalfont\ttfamily}
+%
+\usepackage[dvipsnames,prologue,table]{pstricks}
+\colorlet{tableheadcolor}{gray!25}
+\colorlet{tablerowcolor}{gray!12}
+\newcommand\XCBox[1]{\fcolorbox{black}{#1}{\phantom{aa}} \small #1}
+\usepackage{pst-calendar}
+\let\PSTfileversion\fileversion
+\SpecialCoor
+\psset{griddots=10,subgriddiv=0,gridlabels=7pt}
+%
+\definecolor{hellgelb}{rgb}{1,1,0.8}
+\definecolor{shadecolor}{rgb}{0.9,0.9,0.9}
+\definecolor{sphgrau}{rgb}{0.40,0.40,0.40}
+%
+% ------------------------------- Namen Abkuerungen ----------------------
+\newcommand{\La}%
+ {L\kern-.36em
+ {\setbox0\hbox{T}%
+ \vbox to\ht0{\hbox{$\m@th$%
+ \csname S@\f@size\endcsname
+ \fontsize\sf@size\z@
+ \math@fontsfalse\selectfont
+ A}%
+ \vss}%
+ }}
+\def\AllTeX{(\La\kern-.075em)\kern-.075em\TeX\xspace}
+\def\AMS{American Mathematical Society\xspace}
+\def\AmS{$\mathcal{A}$\kern-.1667em\lower.5ex\hbox
+ {$\mathcal{M}$}\kern-.125em$\mathcal{S}$}
+\def\AmSLaTeX{\AmS-\LaTeX\xspace}
+\let\latex\LaTeX
+\let\tex\TeX
+%
+\def\BibTeX{\textsc{Bib}\kern-.08em\TeX\index{BiBTeX@Bib\TeX}}
+\def\PT{Plain \TeX\index{Plain TeX@Plain \TeX}\xspace}
+\def\PST{{\texttt{PSTricks}}\xspace}
+\def\CTAN{{\texttt{CTAN}}\index{CTAN}\xspace}
+\def\PDF{{\texttt{PDF}}\xspace}
+\def\pst{{\texttt{pstricks}}\xspace}
+\def\PS{PostScript\xspace}
+\def\CT{Con\TeX t\index{ConTeXt@Con\TeX t}\xspace}
+\def\GS{Ghostscript\index{Ghostscript}\xspace}
+\def\GeX{G\kern-.1667em\lower.5ex\hbox{E}\kern-.125emX\@}
+\def\at{\char064}
+\def\VTeX{\texttt{V\TeX}\index{VTeX@\texttt{V\protect\TeX}}}
+\newcommand*\CMD[1]{{\texttt{\textbackslash #1}}}
+\newcommand\Paket[1]{\texttt{#1}}
+\providecommand\Programm[1]{\textsf{#1}}
+\providecommand\RaggedRight{\raggedright}
+%
+\def\Index#1{\index{#1}#1}
+\index{Environment|see{Umgebung}}
+\def\eIndex#1{\index{Umgebung!#1@\texttt{#1}}\index{#1@\texttt{#1}}}
+\def\tIndex#1{\index{#1@\texttt{#1}}}
+\def\cIndex#1{\index{#1@\protect\CMD{#1}}}
+\def\pIndex#1{\index{Parameter@\textbf{Parameter}!#1@\texttt{#1}}\index{#1@\texttt{#1}}}
+\def\ppIndex#1{\index{Parameter@\textbf{Parameter}!#1@\texttt{#1}}}
+\def\sIndex#1{\index{Syntax@\textbf{Syntax}!\protect\CMD{#1}}}
+\def\csIndex#1{\sIndex{#1}\cIndex{#1}}
+\def\PIndex#1{\index{Paket@\textbf{Paket}!\texttt{#1}}}
+\def\mIndex#1{\texttt{#1}\tIndex{#1}\pIndex{#1}}
+\def\aref#1{$\rightarrow$\vref{#1}}
+\def\PSindex#1{\index{PostScript!#1}}
+\def\Makroindex#1{\index{Makro!#1@\protect\CMD{#1}}}
+\def\Optindex#1{\index{Parameter@\textbf{Parameter}!\texttt{#1}}}
+\def\ttindex#1{\index{#1@\texttt{#1}}}
+\def\vert{\ensuremath{|}}
+%
+\let\Olddegrees\textdegrees
+\def\textdegrees{\ensuremath{\mbox{\Olddegrees}}}
+\def\sa{\ensuremath{\sphericalangle}\xspace}% needs amssymb
+%
+%
+%%-------------------------------- danger ---------------------------------------------
+\usepackage{manfnt}
+\usepackage{lettrine}
+\newsavebox{\dBox}
+
+\newenvironment{dangerPar*}
+{\gdef\dangerSym{\dbend\,\dbend}\@dangerPar}
+{\end@dangerPar}
+
+\newenvironment{dangerPar}
+{\gdef\dangerSym{\dbend\phantom{\,\dbend}}\@dangerPar}
+{\end@dangerPar}
+
+\def\@dangerPar{%
+ \begin{lrbox}{\dBox}
+ \minipage[c]{\linewidth-\widthof{\dangerSym}-\columnsep}%
+}
+\def\end@dangerPar{%
+ \endminipage
+ \end{lrbox}%
+ \trivlist\item\relax
+ \noindent
+ \minipage[c]{\widthof{\dangerSym}}
+ \raisebox{\height}[.9\height][.1\height]{\dangerSym}% ???
+ \endminipage
+ \hfill
+ \minipage[c]{\wd\dBox}
+ \usebox{\dBox}
+ \endminipage%
+ \endtrivlist
+}
+\newsavebox{\bombbox}
+\sbox\bombbox{%
+ \psset{unit=.55ex}%
+ \begin{pspicture}(-4,-4)(4,4)
+ \pscircle[fillcolor=gray,fillstyle=solid]{4}
+ \rput{45}{\psscaleboxto(6,0){\textsf{\textbf{PS}}}}
+ \psellipse*(0,3.8)(1,.2)
+ \psellipse*(0,5.5)(1,.2)
+ \psframe*(-1,3.8)(1,5.5)
+ \psbezier(0,5.5)(0,7)(1,8)(3.5,8)
+ \multido{\r=-0+40}{9}{\rput{\r}(3.5,8){\psline(0,0)(.4,0)}}
+ \end{pspicture}}
+
+\newcommand\danger{%
+ \lettrine[lines=2,lraise=0.65,nindent=0pt,findent=.5em]{{\small\dbend}}}
+
+\newcommand\ddanger{%
+ \lettrine[lines=2,lraise=0.65,nindent=0pt,findent=.5em]{%
+ {\small\dbend\,\dbend}}}
+
+\newcommand\DANGER{%
+ \lettrine[lines=3,lraise=0.01,lhang=0,nindent=0pt,findent=.75em]{%
+ \usebox\bombbox}}
+%%------------------------------- Rest ------------------------------------------
+\pretolerance=500
+\tolerance=1000
+\hbadness=3000
+\vbadness=3000
+\hyphenpenalty=400
+
+%-------------------------------- Listings -------------------------------------
+\usepackage{showexpl}% not a real PSTricks package
+%
+\renewcommand{\ttdefault}{ul9}% Luxi Mono
+%\lstset{language=PSTricks,keywordstyle=\small\fontfamily{ul9}\bfseries}
+\lstset{wide=true}
+%
+%-------------------------------- Allgemein -------------------------------------
+%\addtolength\belowcaptionskip{-10pt}
+%
+\providecommand\dante{DANTE \eV}
+\providecommand\eV{e.V\kern-.18em\@ifnextchar.{}{.}}
+\def\textat{\protect\makeatletter\texttt{@}\protect\makeatother}
+
+\def\lBrace{\texttt{\{}}
+\def\rBrace{\texttt{\}}}
+\def\lBracket{\texttt{[}}
+\def\rBracket{\texttt{]}}
+%
+\newcounter{SX@refC}% for texlive8
+\def\PSTemph#1{\textit{\texttt{#1}}}
+%
+\def\LPack#1{\texttt{#1}\PIndex{#1}}
+\def\Lmenv#1{\texttt{#1}\eIndex{#1}}
+\def\Lmcs#1{\CMD{#1}\Makroindex{#1}\cIndex{#1}}
+\let\xLcs\Lmcs
+\let\Lmsyn\Lmcs
+\let\Lcs\CMD
+\let\Lit\texttt
+\def\Loption#1{\texttt{#1}\Optindex{#1}\ttindex{#1}}
+\def\LProg#1{\texttt{#1}\pIndex{#1}}
+\let\Prog\LProg
+\def\LFile#1{\texttt{#1}\tIndex{#1}}
+\def\LColor#1{\texttt{#1}\index{Farbe!#1@\texttt{#1}}}
+\def\Lindex#1{#1\index{#1}}% Ausgeben und in den Index
+\def\Lext#1{\texttt{#1}\index{Dateiendung!#1@\texttt{#1}}}
+\def\LClass#1{\texttt{#1}}
+\def\Lmnotation#1{\texttt{#1}\tIndex{#1}}
+\newcommand\Larga{}
+\DeclareRobustCommand\Larga[1]{$\langle$\PSTemph{#1}$\rangle$}
+\newcommand\LargA{}
+\DeclareRobustCommand\LargA[1]{\lBrace$\langle$\PSTemph{#1}$\rangle$\rBrace}
+\newcommand\Largs{}
+\DeclareRobustCommand\Largs[1]{\lBracket$\langle$\PSTemph{#1}$\rangle$\rBracket}
+\newcommand\Largb{}
+\DeclareRobustCommand\Largb[1]{\lBrace$\langle$\PSTemph{#1}$\rangle$\rBrace}
+\newcommand\Largr{}
+\DeclareRobustCommand\Largr[1]{\PSTemph{({#1})}}
+\DeclareRobustCommand\Largra[1]{(\Larga{#1})}
+\newcommand\Larg{}
+\DeclareRobustCommand\Larg[1]{\lBrace\texttt{#1}\rBrace}
+\def\begEnv#1{\CMD{begin\{#1\}}\tIndex{#1}}
+\def\endEnv#1{\CMD{end\{#1\}}}
+\def\OptArg{\Largs{Optionen}}
+\def\Largrao{($\langle x_0,y_0\rangle$)}
+\def\Largrai{($\langle x_1,y_1\rangle$)}
+\def\Largraii{($\langle x_2,y_2\rangle$)}
+\def\Largraiii{($\langle x_3,y_3\rangle$)}
+\def\Largran{($\langle x_n,y_n\rangle$)}
+%
+\input random
+%
+\begin{document}
+
+\input{pst-calendar-docDE}
+
+\end{document}
diff --git a/Master/texmf-dist/doc/latex/pst-calendar/pst-calendar-docDE.pdf b/Master/texmf-dist/doc/latex/pst-calendar/pst-calendar-docDE.pdf
new file mode 100644
index 00000000000..86ae9dbb863
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pst-calendar/pst-calendar-docDE.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/pst-calendar/pst-calendar-docDE.tex b/Master/texmf-dist/doc/latex/pst-calendar/pst-calendar-docDE.tex
new file mode 100644
index 00000000000..23522d6f7ac
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pst-calendar/pst-calendar-docDE.tex
@@ -0,0 +1,131 @@
+\title{\texttt{PST-Calendar} - plotting calendars\\
+\footnotesize{version \PSTfileversion}}
+\author{%
+Manuel Luque\thanks{\url{Mluque5130@aol.com}} and
+Herbert Vo\ss\thanks{\url{voss@pstricks.de}}}
+\date{\today}
+\maketitle
+
+\begin{abstract}
+\texttt{pst-calendar} stellt zwei Makros für das Erstellen von Kalenderblättern
+oder Kalender-Dodekaedern. Der Monat und das Jahr können frei gewählt werden,
+wobei Kalender nur zwischen 2000 und 2099 möglich sind. Die Berechnung
+erfolgt ausschließlich mit den Makros des \LPack{fp}-Pakets.
+\end{abstract}
+
+%\tableofcontents
+
+
+\section{\LPack{pst-calendar} -- Verschiedene Kalenderoperationen}
+
+Das Paket hat die drei Optionen \Loption{french}, \Loption{english} und \Loption{ngerman}.
+Standardmäßig wird \verb+english+ ausgewählt, womit die Monats- und WOchennamen dann
+in eben dieser Sprache ausgegeben werden. Für die Dokumentation wurde \verb+ngerman+
+ausgewählt.
+
+
+Dieses Paket bietet keine Kalenderoperationen im mathematischen Sinne, sondern erlaubt
+die Ausgabe von Kalenderblättern. \LPack{pst-calendar} verfügt über speziellen Sprachanpassungen
+für Englisch (Standard),Französisch und Deutsch. Dies bezieht sich auch auf die Optionen, die
+in Tabelle~\ref{tab:calendrier:options} zusammengestellt sind.
+Es existiert keine spezielle
+\TeX-Version, sodass hier spezielle Anpassungen nötig werden, wenn nicht mit \LaTeX\
+gearbeitet wird.
+
+\Lmsyn{psCalendar}\OptArg\\
+\Lmsyn{psCalDodecaeder}\OptArg
+
+Ohne Angabe von Daten wird immer vom aktuellen Tagesdatum ausgegangen und der entsprechende Monat
+für \Lmcs{psCalendar} und die entsprechenden Monate für \Lmcs{psCalDodecaeder} ausgegeben.
+\begin{table}[htb]
+\caption{Zusammenstellung der verfügbaren Optionen für \texttt{calendrierfp}}\label{tab:calendrier:options}
+\begin{tabularx}{\linewidth}{@{}ll@{}c>{\RaggedRight}X@{}}
+\emph{Name} & \emph{Wert} & \emph{Vorgabe} & \emph{Bedeutung}\\\hline
+\Loption{Jahr} & \Larga{Integer} & \verb+\number\year+ & betrachteter Jahr\\
+\Loption{Monat} & \Larga{$1\ldots 12$} & \verb+\number\month+ & betrachteter Monat\\
+\Loption{MonatT} & \Larga{$1\ldots 12$} & \verb+\number\month+ & Markierung des aktuellen Tages im angegebenen Monat\\
+\Loption{Tag} & \Larga{$1\ldots 31$} & \verb+\number\day+ & betrachteter Monat\\
+\Loption{style} & \Larga{Monat} & \verb+\number\month+ & vorne liegender Monat beim Dodekaeder
+\end{tabularx}
+\end{table}
+
+
+\bgroup
+\begin{LTXexample}[pos=t]
+\psscalebox{0.5}{\psCalendar}
+\psscalebox{0.5}{\psCalendar[Jahr=2006,Monat=1]}
+\psscalebox{0.5}{\psCalendar[Jahr=2006,Tag=23,Monat=2,MonatT=2]}
+\end{LTXexample}
+\egroup
+
+Das einzige Problem sind die Feiertage, die bislang noch ausschließlich auf den französichen
+Vorgaben aufbauen. Die entsprechenden Kode-Sequenzen in dem Paket sind jedoch leicht zu
+erkennen und entsprechend zu ändern. Die Ausgabe eines kompletten Jahres lässt sich
+mithilfe des \Lmcs{multido}-Makros leicht realisieren.
+
+
+\begin{center}
+\bgroup
+\multido{\iM=1+3}{4}{%
+ \multido{\iMM=\iM+1}{3}{\psscalebox{0.5}{\psCalendar[Jahr=2006,Monat=\iMM]}}\\}
+\egroup
+\end{center}
+
+\begin{lstlisting}
+\multido{\iM=1+3}{4}{%
+ \multido{\iMM=\iM+1}{3}{\psscalebox{0.5}{\psCalendar[Jahr=2006,Monat=\iMM]}}\\}
+\end{lstlisting}
+
+Eine weitaus ansprechendere Ausgabe ermöglicht \Lmcs{psCalDodecaeder}, welcher die
+Monate auf den Seiten eines Dodekaeders\index{Dodekaeder} anordnet. Ohne Angabe irgendeines
+Monates beziehungsweise Jahres wird grundsätzlich vom Januar des aktuellen Jahres
+ausgegangen. Mit der Option \Loption{style}\verb+=+\Larga{Monat} kann man jederzeit
+einen anderen Monat auf die Vorderseite platzieren.
+
+\bgroup
+\begin{LTXexample}[pos=t]
+\psscalebox{0.2}{\psCalDodecaeder}\hfill
+\psscalebox{0.2}{\psCalDodecaeder[Jahr=2006,Monat=1]}\hfill
+\psscalebox{0.2}{\psCalDodecaeder[Jahr=2006,style=April]}
+\end{LTXexample}
+\egroup
+
+\begin{center}
+\bgroup
+\psscalebox{0.2}{\psCalDodecaeder[Jahr=2006,style=Januar]}\hfill
+\psscalebox{0.2}{\psCalDodecaeder[Jahr=2006,style=Februar]}\hfill
+\psscalebox{0.2}{\psCalDodecaeder[Jahr=2006,style=Maerz]}\\
+\psscalebox{0.2}{\psCalDodecaeder[Jahr=2006,style=April]}\hfill
+\psscalebox{0.2}{\psCalDodecaeder[Jahr=2006,style=Mai]}\hfill
+\psscalebox{0.2}{\psCalDodecaeder[Jahr=2006,style=Juni]}\\
+\psscalebox{0.2}{\psCalDodecaeder[Jahr=2006,style=Juli]}\hfill
+\psscalebox{0.2}{\psCalDodecaeder[Jahr=2006,style=August]}\hfill
+\psscalebox{0.2}{\psCalDodecaeder[Jahr=2006,style=September]}\\
+\psscalebox{0.2}{\psCalDodecaeder[Jahr=2006,style=Oktober]}\hfill
+\psscalebox{0.2}{\psCalDodecaeder[Jahr=2006,style=November]}\hfill
+\psscalebox{0.2}{\psCalDodecaeder[Jahr=2006,style=Dezember]}
+\egroup
+\end{center}
+
+\begin{lstlisting}
+\psscalebox{0.2}{\psCalDodecaeder[Jahr=2006,style=Januar]}\hfill
+\psscalebox{0.2}{\psCalDodecaeder[Jahr=2006,style=Februar]}\hfill
+\psscalebox{0.2}{\psCalDodecaeder[Jahr=2006,style=Maerz]}\\
+\psscalebox{0.2}{\psCalDodecaeder[Jahr=2006,style=April]}\hfill
+\psscalebox{0.2}{\psCalDodecaeder[Jahr=2006,style=Mai]}\hfill
+\psscalebox{0.2}{\psCalDodecaeder[Jahr=2006,style=Juni]}\\
+\psscalebox{0.2}{\psCalDodecaeder[Jahr=2006,style=Juli]}\hfill
+\psscalebox{0.2}{\psCalDodecaeder[Jahr=2006,style=August]}\hfill
+\psscalebox{0.2}{\psCalDodecaeder[Jahr=2006,style=September]}\\
+\psscalebox{0.2}{\psCalDodecaeder[Jahr=2006,style=Oktober]}\hfill
+\psscalebox{0.2}{\psCalDodecaeder[Jahr=2006,style=November]}\hfill
+\psscalebox{0.2}{\psCalDodecaeder[Jahr=2006,style=Dezember]}
+\end{lstlisting}
+
+\iffalse
+\nocite{*}
+\bibliographystyle{plain}
+\bibliography{pst-labo-doc}
+\fi
+
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/pst-calendar/pst-calendar-docFR.pdf b/Master/texmf-dist/doc/latex/pst-calendar/pst-calendar-docFR.pdf
new file mode 100644
index 00000000000..f522579e219
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pst-calendar/pst-calendar-docFR.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/pst-calendar/pst-calendar-docFR.tex b/Master/texmf-dist/doc/latex/pst-calendar/pst-calendar-docFR.tex
new file mode 100644
index 00000000000..cce06c5ef1f
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pst-calendar/pst-calendar-docFR.tex
@@ -0,0 +1,382 @@
+\documentclass{article}
+\usepackage[latin1]{inputenc}%
+\usepackage[T1]{fontenc}
+\usepackage[a4paper,margin=2cm]{geometry}
+%% Manuel LUQUE <Mluque5130aol.com> %%
+%% 1 Octobre 1999 pour le dodécaèdre %%
+%% 23 avril 2003 pour le calendrier %%
+%% 26 avril : calcul de la date de Pâques %%
+%% 27 avril 20003 : repérer une date particulière,
+%% suggestion de Jean-Michel Sarlat %%
+%% jours fériés : 1 et 8 mai, 1 et 11 décembre
+%% 25 août et lundi de Pâques
+\pagestyle{empty}
+%
+\usepackage[french]{pst-calendar}
+%
+\usepackage{url}
+\newcommand\Encadre[1]{\psframebox[fillstyle=solid,fillcolor=yellow,linecolor=red]{#1}}
+\title{Calculer un calendrier avec \LaTeX{},\\
+le dessiner en 3D avec PSTricks (version 0.47)}
+\author{Manuel Luque}
+\date{\today}
+\begin{document}
+
+\maketitle
+%{\typein[\Year]{Entrez l'année (2000...2099)?}
+%\def\Year{2006}
+\begin{center}
+\psset{An=2006}
+\begin{tabular}{ll}
+\psCalendar[Mois=1]&\psCalendar[Mois=2]\\
+\psCalendar[Mois=3]&\psCalendar[Mois=4]\\
+\psCalendar[Mois=5]&\psCalendar[Mois=6]
+\end{tabular}
+
+\end{center}
+\begin{center}
+\begin{tabular}{ll}
+\psCalendar[Mois=7]&\psCalendar[Mois=8]\\
+\psCalendar[Mois=9]&\psCalendar[Mois=10]\\
+\psCalendar[Mois=11]&\psCalendar[Mois=12]
+\end{tabular}
+\end{center}
+%}
+\begin{center}
+\psscalebox{0.5}{\psCalDodecaeder[Vx=-\rd,Vy=\rc,Vz=0,viewangle=198]}
+\end{center}
+\section{Objectifs, outils et méthodes adoptés}
+\subsection{Objectifs}
+Il s'agissait de calculer avec \LaTeX{}, un calendrier valable de l'an
+2\,000 à l'an 2\,099 (je suis optimiste), puis d'adopter une méthode
+originale de représentation en 3D, en plaçant chaque mois sur l'une des
+faces d'un dodécaèdre. Un calendrier de ce type était, il y quelques années,
+offert par les visiteurs médicaux des laboratoires \textsc{Pfizer}.
+\subsection{Outils adoptés}
+Il existe déjà un calendrier écrit en \LaTeX{}, dont les calculs sont faits
+directement en \TeX{}. Il s'agit de \texttt{calendar}, écrit par Michael
+Barret et disponible sur le serveur du \texttt{CTAN} ; c'est très bien fait.
+
+Un calendrier en 3D, dessiné avec PSTricks, est déjà proposé depuis plusieurs d'années par Denis
+Girou sur : \url{http://tug.org/applications/PSTricks/More}.
+
+Donc, rien de neuf, mais revu à ma façon : pour ma part j'ai décidé d'utiliser les macros du package \texttt{fp} de Michael
+Mehlich, qui forment un excellent outil de calcul. La lecture du code écrit
+avec ce package est plus compréhensible que celui écrit en \TeX{} de base.
+
+Pour la représentation en 3d, j'ai aussi, utilisé PSTricks de Timothy Van Zandt, et
+en particulier l'extension \texttt{pst-3d}.
+\subsection{Méthode adoptée}
+La méthode de calcul des jours de semaine du calendrier est déduite de quelques
+observations :
+\begin{enumerate}
+ \item Le 1 janvier 2\,000 est un samedi. On adopte la convention de
+ représenter les jours de semaine par un numéro : j'ai choisi :
+\begin{center}
+ \renewcommand{\arraystretch}{1.5}
+ \begin{tabular}{ccccccc}
+ lundi&mardi&mercredi&jeudi&vendredi&samedi&dimanche\\ \hline
+ 1&2&3&4&5&6&7
+ \end{tabular}
+\end{center}
+ \item Une année ordinaire comprend 365 jours, or $365=52\times7+1$. Il y a
+ donc un décalage de 1~jour dans le nom des jours pour l'année suivante si
+ elle est ordinaire elle aussi. Autrement dit le 1~janvier 2\,001 devrait
+ être un dimanche ($6+1=7$). Or l'an 2\,000 est bissextile et comporte 366~jours : le
+ décalage sera de 2, le 1~janvier 2\,001 correspondra au numéro $6+2=8=1\ (modulo\ 7)$.
+ \item Sur la période retenue 2\,000/2\,099 les années divisibles par 4 :
+ 2\,000, 2\,004, 2\,008 etc. sont bissextiles. On déterminera donc si
+ l'année choisie est bissextile en testant si elle est un multiple de~4.
+\begin{verbatim}
+% test d'une année bissextile
+\FPeval{\YearBissextil}{(\psk@CalendrierA)/4}
+\FPtrunc{\YearBissextil}{\YearBissextil}{0}
+\FPeval{\YearBissextil}{(\YearBissextil)*4}
+\FPtrunc{\YearBissextil}{\YearBissextil}{0}
+\ifnum\YearBissextil=\psk@CalendrierA
+etc.
+\end{verbatim}
+ \item Pour une année choisie, on calculera le décalage par rapport à
+ 2\,000, en comptant les années et en ajoutant 1 chaque fois qu'il y aura
+ dans cet intervalle une année bissextile (en tenant compte de 2\,000).
+ \item On retient pour le début de chaque mois :
+\begin{center}
+ \renewcommand{\arraystretch}{1.5}
+ \begin{tabular}{c|c|c}
+ mois&année ordinaire&année bissextile\\ \hline
+ janvier&1&1\\
+ février&32&32\\
+ mars&60&61\\
+ avril&91&92\\
+ mai&121&122\\
+ juin&152&153\\
+ juillet&182&183\\
+ août&213&214\\
+ septembre&244&245\\
+ octobre&274&275\\
+ novembre&305&306\\
+ décembre&335&336\\
+ \end{tabular}
+\end{center}
+\end{enumerate}
+
+
+
+
+\section{L'utilisation}
+\subsection{Utilisation simple}
+Si on veut voir uniquement le mois de l'année choisie, on fera, par exemple :
+\begin{verbatim}
+\psCalendar[An=2099,Mois=12,Jour=25,MoisChoisi=12]
+\end{verbatim}
+\begin{center}
+\psCalendar[An=2099,Mois=12,Jour=25,MoisChoisi=12]
+\end{center}
+Cette étude ne teste pas si les valeurs introduites pour l'année(\texttt{An}) et le mois(\texttt{Mois}), sont correctes !
+
+Par défaut, la commande \verb+\psCalendar+ affiche le mois et l'année en
+cours et entoure la date du jour (suggestion de Jean-Michel \textsc{Sarlat}).
+
+Si on veut voir afficher, un jour d'un mois particulier, on rajoutera le
+paramètre \Encadre{\texttt{MoisChoisi=valeur}} aux autres, comme dans
+l'exemple précédent et le suivant.
+\begin{center}
+\psCalendar
+\end{center}
+\begin{verbatim}
+\psCalendar[An=2004,Mois=6,Jour=21,MoisChoisi=6]
+\end{verbatim}
+\begin{center}
+\psCalendar[An=2004,Mois=6,Jour=21,MoisChoisi=6]
+\end{center}
+\subsection{Le calendrier en 3D}
+La commande s'écrit très simplement :
+\begin{verbatim}
+\psCalDodecaeder
+\end{verbatim}
+\begin{center}
+\psscalebox{0.5}{\psCalDodecaeder}
+\end{center}
+pour avoir le calendrier de l'année en cours. Si le schéma est trop grand à
+votre goût, encadrez la commande par un \verb+\psscalebox{0.5}{\psCalDodecaeder}+
+
+Pour avoir le mois de mai face à soi, on écrira, par exemple :
+\begin{verbatim}
+\psscalebox{0.5}{\psCalDodecaeder[style=mai]}
+\end{verbatim}
+\begin{center}
+\psscalebox{0.5}{\psCalDodecaeder[style=mai]}
+\end{center}
+\verb+Vx, Vy, Vz+ sont les valeurs des paramètres de \texttt{viewpoint=-5.85 -3.62
+0} de la commande \verb+\ThreeDput+ de \verb+pst-3d+, qui sont les
+coordonnées d'un vecteur définissant la direction où se trouve
+l'observateur (la direction de la projection parallèle).
+
+On jouera aussi sur le paramètre \verb+viewangle+, pour amener la face
+observée dans le bon sens de la lecture.
+
+Pour avoir le mois de janvier face à soi, on écrira :
+\begin{verbatim}
+\psscalebox{0.35}{\psCalDodecaeder[style=janvier]}
+\end{verbatim}
+\begin{center}
+\psscalebox{0.35}{\psCalDodecaeder[style=janvier]}
+\end{center}
+Pour avoir le mois de février face à soi, on écrira :
+\begin{verbatim}
+\psscalebox{0.35}{\psCalDodecaeder[style=fevrier]}
+\end{verbatim}
+\begin{center}
+\psscalebox{0.35}{\psCalDodecaeder[style=fevrier]}
+\end{center}
+Pour avoir le mois de mars face à soi, on écrira :
+\begin{verbatim}
+\psscalebox{0.35}{\psCalDodecaeder[style=mars]}
+\end{verbatim}
+\begin{center}
+\psscalebox{0.35}{\psCalDodecaeder[style=mars]}
+\end{center}
+Pour avoir le mois d'avril face à soi, on écrira :
+\begin{verbatim}
+\psscalebox{0.35}{\psCalDodecaeder[style=avril]}
+\end{verbatim}
+\begin{center}
+\psscalebox{0.35}{\psCalDodecaeder[style=avril]}
+\end{center}
+Pour avoir le mois de juin face à soi, on écrira :
+\begin{verbatim}
+\psscalebox{0.35}{\psCalDodecaeder[style=juin]}
+\end{verbatim}
+\begin{center}
+\psscalebox{0.35}{\psCalDodecaeder[style=juin]}
+\end{center}
+Pour avoir le mois de juillet face à soi, on écrira :
+\begin{verbatim}
+\psscalebox{0.35}{\psCalDodecaeder[style=juillet]}
+\end{verbatim}
+\begin{center}
+\psscalebox{0.35}{\psCalDodecaeder[style=juillet]}
+\end{center}
+Pour avoir le mois d'août face à soi, on écrira :
+\begin{verbatim}
+\psscalebox{0.35}{\psCalDodecaeder[style=aout]}
+\end{verbatim}
+\begin{center}
+\psscalebox{0.35}{\psCalDodecaeder[style=aout]}
+\end{center}
+Pour avoir le mois de septembre face à soi, on écrira :
+\begin{verbatim}
+\psscalebox{0.35}{\psCalDodecaeder[style=septembre]}
+\end{verbatim}
+\begin{center}
+\psscalebox{0.35}{\psCalDodecaeder[style=septembre]}
+\end{center}
+Pour avoir le mois d'octobre face à soi, on écrira :
+\begin{verbatim}
+\psscalebox{0.35}{\psCalDodecaeder[style=octobre]}
+\end{verbatim}
+\begin{center}
+\psscalebox{0.35}{\psCalDodecaeder[style=octobre]}
+\end{center}
+Pour avoir le mois de novembre face à soi, on écrira :
+\begin{verbatim}
+\psscalebox{0.35}{\psCalDodecaeder[style=novembre]}
+\end{verbatim}
+\begin{center}
+\psscalebox{0.35}{\psCalDodecaeder[style=novembre]}
+\end{center}
+Pour avoir le mois de décembre face à soi, on écrira :
+\begin{verbatim}
+\psscalebox{0.35}{\psCalDodecaeder[style=decembre]}
+\end{verbatim}
+\begin{center}
+\psscalebox{0.35}{\psCalDodecaeder[style=decembre]}
+\end{center}
+Pour visualiser une année particulière, avec un mois choisi face à soi, et un jour de ce mois, (15~mai~2004) on
+fera :
+\begin{verbatim}
+\psscalebox{0.35}{\psCalDodecaeder[style=mai,An=2004,MoisChoisi=5,Jour=15]}
+\end{verbatim}
+\begin{center}
+\psscalebox{0.35}{\psCalDodecaeder[style=mai,An=2004,MoisChoisi=5,Jour=15]}
+\end{center}
+\section{Calcul de la date de Pâques}
+On trouve sur internet, à propos de ce sujet de nombreux sites. \'A partir
+de la \textit{définition} de la fête proprement dite, les formules <<
+magiques >> abondent. L'une d'elle a retenu mon attention, je l'ai
+retranscrite avec le package \texttt{fp}. Dans l'ordre, un aperçu de la
+page, puis le codage des calculs avec \texttt{fp}.
+
+Le site : \texttt{http://www.altcal.com/elmcal.html}, et un extrait :
+
+\begin{verbatim}
+Version 2.0 - 11 Nov 1998
+
+Copyright and disclaimer
+------------------------
+ This document is Copyright (C) 1998 by Claus Tondering.
+ E-mail: claus@tondering.dk.
+ The document may be freely distributed, provided this
+ copyright notice is included and no money is charged for
+ the document.
+ This document is provided "as is". No warranties are made as
+ to its correctness.
+
+G = year mod 19
+
+For the Julian calendar:
+ I = (19*G + 15) mod 30
+ J = (year + year/4 + I) mod 7
+
+For the Gregorian calendar:
+ C = year/100
+ H = (C - C/4 - (8*C+13)/25 + 19*G + 15) mod 30
+ I = H - (H/28)*(1 - (H/28)*(29/(H + 1))*((21 - G)/11))
+ J = (year + year/4 + I + 2 - C + C/4) mod 7
+
+Thereafter, for both calendars:
+L = I - J
+EasterMonth = 3 + (L + 40)/44
+EasterDay = L + 28 - 31*(EasterMonth/4)
+\end{verbatim}
+
+\hrule
+{\blue
+\begin{verbatim}
+\FPset{\Year}{1981} % placer ici l'année
+\FPeval\GY{(\Year)-19*trunc((\Year)/19,0)}
+\FPeval{\Cent}{trunc((\Year)/100,0)}
+\FPeval{\Iter}{trunc((\Cent)-trunc((\Cent)/4,0)-trunc((8*(\Cent)+13)/25,0)+
+ (\GY)*19+15,0)}
+\FPeval{\Iterdiv}{trunc((\Iter)/30,0)}
+\FPeval\Hepact{(\Iter)-30*(\Iterdiv)}
+\FPeval\Inbre{trunc((\Hepact)-trunc((\Hepact)/28,0)*
+ (1-trunc((\Hepact)/28,0))*(trunc(29/((\Hepact)+1),0)*trunc((21-(\GY))/11,0)),0)}
+\FPeval\Jnbreinter{trunc((\Year)+trunc((\Year)/4,0)+(\Inbre)+2-(\Cent)+trunc((\Cent)/4,0),0)}
+\FPeval\Jnbre{trunc((\Jnbreinter)-7*trunc((\Jnbreinter)/7,0),0)}
+\FPeval\Lnbre{trunc((\Inbre)-(\Jnbre),0)}
+\FPeval\Month{trunc(3+trunc(((\Lnbre)+40)/44,0),0)}
+\FPeval\Day{trunc((\Lnbre)+28-31*trunc((\Month)/4,0),0)}
+\ifnum\Month=4
+ \ifnum\Day>25 \FPeval{\Day}{trunc((\Day)-7,0)} \fi
+\fi
+
+P\^aques le Dimanche \FPprint\Day/\FPprint\Month/\FPprint\Year
+\end{verbatim}}
+\FPset{\Year}{1981} % placer ici l'année
+\FPeval\GY{(\Year)-19*trunc((\Year)/19,0)}
+\FPeval{\Cent}{trunc((\Year)/100,0)}
+\FPeval{\Iter}{trunc((\Cent)-trunc((\Cent)/4,0)-trunc((8*(\Cent)+13)/25,0)+
+ (\GY)*19+15,0)}
+\FPeval{\Iterdiv}{trunc((\Iter)/30,0)}
+\FPeval\Hepact{(\Iter)-30*(\Iterdiv)}
+\FPeval\Inbre{trunc((\Hepact)-trunc((\Hepact)/28,0)*
+ (1-trunc((\Hepact)/28,0))*(trunc(29/((\Hepact)+1),0)*trunc((21-(\GY))/11,0)),0)}
+\FPeval\Jnbreinter{trunc((\Year)+trunc((\Year)/4,0)+(\Inbre)+2-(\Cent)+trunc((\Cent)/4,0),0)}
+\FPeval\Jnbre{trunc((\Jnbreinter)-7*trunc((\Jnbreinter)/7,0),0)}
+\FPeval\Lnbre{trunc((\Inbre)-(\Jnbre),0)}
+\FPeval\Month{trunc(3+trunc(((\Lnbre)+40)/44,0),0)}
+\FPeval\Day{trunc((\Lnbre)+28-31*trunc((\Month)/4,0),0)}
+\ifnum\Month=4
+ \ifnum\Day>25 \FPeval{\Day}{trunc((\Day)-7,0)} \fi
+\fi
+
+\centerline{\Encadre{P\^aques tombe le dimanche
+\FPprint\Day/\FPprint\Month/\FPprint\Year}}
+
+Vous y reconnaîtrez sans peine l'algorithme initial, j'ai rajouté les trois
+dernières lignes, car l'auteur des formules précédentes semble avoir oublié
+que Pâques peut varier seulement entre le 22~mars et le 25~avril inclus
+ Sans cette correction, le programme affiche dans l'exemple précédent (1981), le dimanche 26~avril au lieu du
+ 19~avril.
+
+Pour le tester quelques dates :
+\begin{center}
+\begin{tabular}{c|c}
+1978& 26 mars \\ \hline
+1979&15 avril \\ \hline
+1980&6 avril \\ \hline
+2000&23 avril \\ \hline
+2002&31 mars \\ \hline
+2003&20 avril \\ \hline
+\end{tabular}
+\end{center}
+Ce n'est pas garanti sans erreurs, l'emploi des fonctions \texttt{trunc} ou
+\texttt{round} ou \texttt{clip} ne donnent pas à 100\% toujours, le résultat
+attendu. Par exemple si \texttt{fp} calcule $14.99999999$, alors que
+de toute évidence c'est $15$, il ne vaut mieux pas faire
+\texttt{trunc} pour avoir la partie entière, mais \texttt{round},
+car sinon on commet une erreur d'une unité en moins ! Il faudrait
+donc prévoir de tester ces cas !
+\section{Que reste-t-il à faire ? Problèmes !}
+\begin{itemize}
+ \item Placer les jours fériés du lundi de Pâques et du lundi de
+ Pentecôte.
+ \item Dessiner automatiquement le mois en cours, face à notre regard.
+ \item Prévoir un test qui limite l'année choisie à l'intervalle permis,
+ soit $[2000-2099]$.
+ \item Trouver un moyen simple, élégant et cohérent d'entourer la date choisie.
+ \item Débusquer les erreurs, si vous en trouvez\ldots
+\end{itemize}
+
+\end{document}
diff --git a/Master/texmf-dist/tex/latex/pst-calendar/pst-calendar.sty b/Master/texmf-dist/tex/latex/pst-calendar/pst-calendar.sty
new file mode 100644
index 00000000000..c34692384f4
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/pst-calendar/pst-calendar.sty
@@ -0,0 +1,496 @@
+%%
+%% This is file `pst-calendar.sty',
+%%
+%% IMPORTANT NOTICE:
+%%
+%% Package `pst-calendar.sty'
+%%
+%% Manuel LUQUE <Mluque5130aol.com>
+%% Herbert Voss <voss _at_ perce.de>
+%%
+%% 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:
+%% `pst-calendar' is a PSTricks package to draw a calendar,
+%% as a tabular or as doecahedron
+%%
+% Requires PSTricks, pstricks, pst-3d, multido, fp packages
+%% Manuel LUQUE <Mluque5130aol.com> %%
+%% 1 Octobre 1999 pour le dodécaèdre %%
+%% 23 avril 2003 pour le calendrier %%
+%% 27 avril : placer une date de son choix
+%% suggestion de Jean-Michel Sarlat
+%% jours fériés et fêtes : 1 mai 003 %%
+%% 1 et 8 mai, 15 août, 1 et 11 novembre, 25 décembre
+%% fête de Pâques %%
+%% ascension et pentecôte : 8 mai 2003
+%
+\NeedsTeXFormat{LaTeX2e}
+%
+\ProvidesPackage{pst-calendar}
+ [2005/11/09 v0.47 calendars with `PSTricks' (ML,hv)]
+ %
+%
+\RequirePackage{fp}
+\FPmessagesfalse
+\RequirePackage{pstricks}
+\SpecialCoor%
+\RequirePackage{pst-3d}
+\RequirePackage{multido}
+\RequirePackage{pst-xkey}
+
+\pst@addfams{pst-calendar}% hv
+
+\def\CalendrierFP@version{Version 0.47, 2005-11-07}
+\message{`pst-Calendar avec FP', \CalendrierFP@version\space ML/hv}
+%
+\DeclareOption{english}{%
+\def\ps@Jan{January}
+\def\ps@Feb{February}
+\def\ps@Mar{March}
+\def\ps@Apr{April}
+\def\ps@May{May}
+\def\ps@Jun{June}
+\def\ps@Jul{July}
+\def\ps@Aug{August}
+\def\ps@Sep{September}
+\def\ps@Oct{October}
+\def\ps@Nov{November}
+\def\ps@Dec{December}
+\def\ps@Mon{M}
+\def\ps@Tue{T}
+\def\ps@Wed{W}
+\def\ps@Thu{T}
+\def\ps@Fri{F}
+\def\ps@Sat{S}
+\def\ps@Son{S}
+}
+\DeclareOption{french}{%
+\typeout{pst-calendar: using french options}
+\def\ps@Jan{JANVIER}
+\def\ps@Feb{FEVRIER}
+\def\ps@Mar{MARS}
+\def\ps@Apr{AVRIL}
+\def\ps@May{MAI}
+\def\ps@Jun{JUIN}
+\def\ps@Jul{JUILLET}
+\def\ps@Aug{AOUT}
+\def\ps@Sep{SEPTEMBRE}
+\def\ps@Oct{OCTOBRE}
+\def\ps@Nov{NOVEMBRE}
+\def\ps@Dec{DECEMBRE}
+\def\ps@Mon{L}
+\def\ps@Tue{M}
+\def\ps@Wed{M}
+\def\ps@Thu{J}
+\def\ps@Fri{V}
+\def\ps@Sat{S}
+\def\ps@Son{D}
+}
+\DeclareOption{ngerman}{%
+\def\ps@Jan{Januar}
+\def\ps@Feb{Februar}
+\def\ps@Mar{M\"arz}
+\def\ps@Apr{April}
+\def\ps@May{Mai}
+\def\ps@Jun{Juni}
+\def\ps@Jul{Juli}
+\def\ps@Aug{August}
+\def\ps@Sep{September}
+\def\ps@Oct{Oktober}
+\def\ps@Nov{November}
+\def\ps@Dec{Dezember}
+\def\ps@Mon{M}
+\def\ps@Tue{D}
+\def\ps@Wed{M}
+\def\ps@Thu{D}
+\def\ps@Fri{F}
+\def\ps@Sat{S}
+\def\ps@Son{S}
+}
+%
+\ExecuteOptions{english}
+\ProcessOptions
+%
+\define@key[psset]{pst-calendar}{Day}{\def\psk@CalendrierJ{#1}}
+\define@key[psset]{pst-calendar}{MonthUse}{\def\psk@CalendrierMchoix{#1}}
+\define@key[psset]{pst-calendar}{Month}{\def\psk@CalendrierM{#1}}
+\define@key[psset]{pst-calendar}{Year}{\def\psk@CalendrierA{#1}}
+\psset{Day=\number\day,Month=\number\month,MonthUse=\number\month,Year=\number\year}
+%
+\define@key[psset]{pst-calendar}{Jour}{\def\psk@CalendrierJ{#1}}
+\define@key[psset]{pst-calendar}{MoisChoisi}{\def\psk@CalendrierMchoix{#1}}
+\define@key[psset]{pst-calendar}{Mois}{\def\psk@CalendrierM{#1}}
+\define@key[psset]{pst-calendar}{An}{\def\psk@CalendrierA{#1}}
+\psset{Jour=\number\day,Mois=\number\month,MoisChoisi=\number\month,An=\number\year}
+%
+\define@key[psset]{pst-calendar}{Tag}{\def\psk@CalendrierJ{#1}}
+\define@key[psset]{pst-calendar}{MonatT}{\def\psk@CalendrierMchoix{#1}}
+\define@key[psset]{pst-calendar}{Monat}{\def\psk@CalendrierM{#1}}
+\define@key[psset]{pst-calendar}{Jahr}{\def\psk@CalendrierA{#1}}
+\psset{Tag=\number\day,Monat=\number\month,MonatT=\number\month,Jahr=\number\year}
+%
+\newpsstyle{january}{Vx=-\rc,Vy=0,Vz=-\rd,viewangle=108}
+\newpsstyle{february}{Vx=\rc,Vy=0,Vz=-\rd,viewangle=180}
+\newpsstyle{march}{Vx=0,Vy=-\ra,Vz=-\rb,viewangle=144}
+\newpsstyle{april}{Vx=-\rd,Vy=-\rc,Vz=0,viewangle=162}
+\newpsstyle{may}{Vx=-\rd,Vy=\rc,Vz=0,viewangle=198}
+\newpsstyle{june}{Vx=0,Vy=\ra,Vz=-\rb,viewangle=216}
+\newpsstyle{july}{Vx=-\rc,Vy=0,Vz=\rd,viewangle=0}
+\newpsstyle{august}{Vx=0,Vy=-\ra,Vz=\rb,viewangle=-36}
+\newpsstyle{september}{Vx=\rd,Vy=-\rc,Vz=0,viewangle=-18}
+\newpsstyle{october}{Vx=\rd,Vy=\rc,Vz=0,viewangle=18}
+\newpsstyle{november}{Vx=0,Vy=\ra,Vz=\rb,viewangle=36}
+\newpsstyle{december}{Vx=\rc,Vy=0,Vz=\rb,viewangle=0}
+%
+\newpsstyle{Januar}{Vx=-\rc,Vy=0,Vz=-\rd,viewangle=108}
+\newpsstyle{Februar}{Vx=\rc,Vy=0,Vz=-\rd,viewangle=180}
+\newpsstyle{Maerz}{Vx=0,Vy=-\ra,Vz=-\rb,viewangle=144}
+\newpsstyle{April}{Vx=-\rd,Vy=-\rc,Vz=0,viewangle=162}
+\newpsstyle{Mai}{Vx=-\rd,Vy=\rc,Vz=0,viewangle=198}
+\newpsstyle{Juni}{Vx=0,Vy=\ra,Vz=-\rb,viewangle=216}
+\newpsstyle{Juli}{Vx=-\rc,Vy=0,Vz=\rd,viewangle=0}
+\newpsstyle{August}{Vx=0,Vy=-\ra,Vz=\rb,viewangle=-36}
+\newpsstyle{September}{Vx=\rd,Vy=-\rc,Vz=0,viewangle=-18}
+\newpsstyle{Oktober}{Vx=\rd,Vy=\rc,Vz=0,viewangle=18}
+\newpsstyle{November}{Vx=0,Vy=\ra,Vz=\rb,viewangle=36}
+\newpsstyle{Dezember}{Vx=\rc,Vy=0,Vz=\rb,viewangle=0}
+%
+\newpsstyle{janvier}{Vx=-\rc,Vy=0,Vz=-\rd,viewangle=108}
+\newpsstyle{fevrier}{Vx=\rc,Vy=0,Vz=-\rd,viewangle=180}
+\newpsstyle{mars}{Vx=0,Vy=-\ra,Vz=-\rb,viewangle=144}
+\newpsstyle{avril}{Vx=-\rd,Vy=-\rc,Vz=0,viewangle=162}
+\newpsstyle{mai}{Vx=-\rd,Vy=\rc,Vz=0,viewangle=198}
+\newpsstyle{juin}{Vx=0,Vy=\ra,Vz=-\rb,viewangle=216}
+\newpsstyle{juillet}{Vx=-\rc,Vy=0,Vz=\rd,viewangle=0}
+\newpsstyle{aout}{Vx=0,Vy=-\ra,Vz=\rb,viewangle=-36}
+\newpsstyle{septembre}{Vx=\rd,Vy=-\rc,Vz=0,viewangle=-18}
+\newpsstyle{octobre}{Vx=\rd,Vy=\rc,Vz=0,viewangle=18}
+\newpsstyle{novembre}{Vx=0,Vy=\ra,Vz=\rb,viewangle=36}
+\newpsstyle{decembre}{Vx=\rc,Vy=0,Vz=\rb,viewangle=0}
+%
+\definecolor{RougeA}{cmyk}{0.05,0.1,0.1,0}
+\definecolor{RougeB}{cmyk}{0.05,0.15,0.15,0}
+\definecolor{RougeC}{cmyk}{0.05,0.2,0.2,0}
+\definecolor{RougeD}{cmyk}{0.05,0.25,0.25,0}
+\definecolor{RougeE}{cmyk}{0.05,0.3,0.3,0}
+\definecolor{RougeF}{cmyk}{0.05,0.35,0.35,0}
+\definecolor{RougeG}{cmyk}{0.05,0.4,0.4,0}
+\definecolor{RougeH}{cmyk}{0.05,0.45,0.45,0}
+\definecolor{RougeI}{cmyk}{0.05,0.5,0.5,0}
+\definecolor{RougeJ}{cmyk}{0.05,0.55,0.55,0}
+\definecolor{RougeK}{cmyk}{0.05,0.6,0.6,0}
+\definecolor{RougeL}{cmyk}{0.1,0.65,0.65,0}
+\newpsstyle{holiday}{framesep=2pt,doubleline=true,doublecolor=red,linecolor=red,fillstyle=solid,fillcolor=RougeA}
+\define@key[psset]{pst-calendar}{Vx}{\def\psk@Solide@Viewpointx{#1}}
+\define@key[psset]{pst-calendar}{Vy}{\def\psk@Solide@Viewpointy{#1}}
+\define@key[psset]{pst-calendar}{Vz}{\def\psk@Solide@Viewpointz{#1}}
+\psset{Vx=1,Vy=1,Vz=1}
+%
+\def\RA{7.36022}\gdef\rb{5.06525}\gdef\ra{8.19574}%
+\gdef\rc{5.06525}\gdef\rd{8.19574}
+%
+\def\psCalDodecaeder{%
+ \@ifnextchar[{\pst@CalDodecaedre}{\pst@CalDodecaedre[style=janvier]}}%
+\def\pst@CalDodecaedre[#1]{{%
+ \psset{#1}%
+ \pspicture(-8,-12)(8,12)%
+ \psset{fillstyle=solid}%
+ \psset{viewpoint={\psk@Solide@Viewpointx} {\psk@Solide@Viewpointy} {\psk@Solide@Viewpointz}}%
+\newcommand{\faceA}{\pspolygon(\RA;18)(\RA;90)(\RA;162)(\RA;234)(\RA;306)}
+\newcommand{\faceB}{\pspolygon(\RA;270)(\RA;-18)(\RA;54)(\RA;126)(\RA;198)}
+\newcommand{\faceC}{\pspolygon(\RA;0)(\RA;72)(\RA;144)(\RA;216)(\RA;288)}
+\newcommand{\faceD}{\pspolygon(\RA;36)(\RA;108)(\RA;180)(\RA;252)(\RA;324)}
+%face1
+\FPeval{\Test}{(\psk@Solide@Viewpointx)*(0)+(\psk@Solide@Viewpointy)*(\ra)+(\psk@Solide@Viewpointz)*(\rb)}%
+\FPifpos{\Test}\ThreeDput[normal=0 {\ra} {\rb}](0,\ra,\rb){%
+\psset{fillcolor=RougeA}\faceA\rput{36}{\rput(0,0){\psCalendar[Mois=11]}}}\fi
+%face2
+\FPeval{\Test}{(\psk@Solide@Viewpointx)*(0)-(\psk@Solide@Viewpointy)*(\ra)+(\psk@Solide@Viewpointz)*(\rb)}%
+\FPifpos{\Test}\ThreeDput[normal=0 {-\ra} {\rb}](0,-\ra,\rb){%
+\psset{fillcolor=RougeB}\faceA\rput{-36}{\rput(0,0){\psCalendar[Mois=8]}}}\fi
+%face3
+\FPeval{\Test}{(\psk@Solide@Viewpointx)*(0)+(\psk@Solide@Viewpointy)*(\ra)-(\psk@Solide@Viewpointz)*(\rb)}%
+\FPifpos{\Test}\ThreeDput[normal=0 {\ra} {-\rb}](0,\ra,-\rb){%
+\psset{fillcolor=RougeC}\faceB\rput{216}{\rput(0,0){\psCalendar[Mois=6]}}}\fi
+%face4
+\FPeval{\Test}{(\psk@Solide@Viewpointx)*(0)-(\psk@Solide@Viewpointy)*(\ra)-(\psk@Solide@Viewpointz)*(\rb)}%
+\FPifpos{\Test}\ThreeDput[normal=0 {-\ra} {-\rb}](0,-\ra,-\rb){%
+\psset{fillcolor=RougeD}\faceB\rput{144}{\rput(0,0){\psCalendar[Mois=3]}}}\fi%
+%face 5
+\FPeval{\Test}{(\psk@Solide@Viewpointx)*(\rc)+(\psk@Solide@Viewpointy)*(0)+(\psk@Solide@Viewpointz)*(\rd)}%
+\FPifpos{\Test}\ThreeDput[normal={\rc} 0 {\rd}](\rc,0,\rd){%
+\psset{fillcolor=RougeE}\faceB\rput(0,0){\psCalendar[Mois=12]}}\fi
+%face6
+\FPeval{\Test}{(\psk@Solide@Viewpointx)*(-\rc)+(\psk@Solide@Viewpointy)*(0)+(\psk@Solide@Viewpointz)*(\rd)}%
+\FPifpos{\Test}\ThreeDput[normal={-\rc} 0 {\rd}](-\rc,0,\rd){%
+\psset{fillcolor=RougeF}\faceB\rput{0}{\rput(0,0){\psCalendar[Mois=7]}}}\fi
+%face7
+\FPeval{\Test}{(\psk@Solide@Viewpointx)*(\rc)+(\psk@Solide@Viewpointy)*(0)-(\psk@Solide@Viewpointz)*(\rd)}%
+\FPifpos{\Test}\ThreeDput[normal={\rc} 0 {-\rd}](\rc,0,-\rd){%
+\psset{fillcolor=RougeG}\faceA\rput{180}{\rput(0,0){\psCalendar[Mois=2]}}}\fi
+%face8
+\FPeval{\Test}{(\psk@Solide@Viewpointx)*(-\rc)+(\psk@Solide@Viewpointy)*(0)-(\psk@Solide@Viewpointz)*(\rd)}%
+\FPifpos{\Test}\ThreeDput[normal={-\rc} 0 {-\rd}](-\rc,0,-\rd){%
+\psset{fillcolor=RougeH}\faceA\rput{108}{\rput(0,0){\psCalendar[Mois=1]}}}\fi%
+%face 9
+\FPeval{\Test}{(\psk@Solide@Viewpointx)*(\rd)+(\psk@Solide@Viewpointy)*(\rc)+(\psk@Solide@Viewpointz)*(0)}%
+\FPifpos{\Test}\ThreeDput[normal={\rd} {\rc} 0](\rd,\rc,0){%
+\psset{fillcolor=RougeI}\faceC\rput{18}{\rput(0,0){\psCalendar[Mois=10]}}}\fi
+%face10
+\FPeval{\Test}{(\psk@Solide@Viewpointx)*(-\rd)+(\psk@Solide@Viewpointy)*(\rc)+(\psk@Solide@Viewpointz)*(0)}%
+\FPifpos{\Test}\ThreeDput[normal={-\rd} {\rc} 0](-\rd,\rc,0){%
+\psset{fillcolor=RougeJ}\faceD\rput{198}{\rput(0,0){\psCalendar[Mois=5]}}}\fi
+%face11
+\FPeval{\Test}{(\psk@Solide@Viewpointx)*(\rd)-(\psk@Solide@Viewpointy)*(\rc)+(\psk@Solide@Viewpointz)*(0)}%
+\FPifpos{\Test}\ThreeDput[normal={\rd} {-\rc} 0](\rd,-\rc,0){%
+\psset{fillcolor=RougeK}\faceD\rput{-18}{\rput(0,0){\psCalendar[Mois=9]}}}\fi
+%face8
+\FPeval{\Test}{(\psk@Solide@Viewpointx)*(-\rd)+(\psk@Solide@Viewpointz)*(0)-(\psk@Solide@Viewpointy)*(\rc)}%
+\FPifpos{\Test}\ThreeDput[normal={-\rd} {-\rc} 0](-\rd,-\rc,0){%
+\psset{fillcolor=RougeL}\faceC\rput{162}{\rput(0,0){\psCalendar[Mois=4]}}}\fi%
+\endpspicture
+}}
+%
+%
+\newcount\colonne\newcount\ligne
+\def\psCalendar{\@ifnextchar[{\pst@Calendrier}{\pst@Calendrier[]}}
+\def\pst@Calendrier[#1]{{%
+ \pst@killglue
+ \psset{#1}%
+% calcul de la date de Pâques
+% lundi de Pâques
+ \FPset{\Year}{\psk@CalendrierA}%
+ \FPeval\GY{(\Year)-19*trunc((\Year)/19,0)}%
+ \FPeval{\Cent}{trunc((\Year)/100,0)}%
+ \FPeval{\Iter}{trunc((\Cent)-trunc((\Cent)/4,0)-trunc((8*(\Cent)+13)/25,0)+
+ (\GY)*19+15,0)}%
+ \FPeval{\Iterdiv}{trunc((\Iter)/30,0)}%
+ \FPeval\Hepact{(\Iter)-30*(\Iterdiv)}%
+ \FPeval\Inbre{trunc((\Hepact)-trunc((\Hepact)/28,0)*
+ (1-trunc((\Hepact)/28,0))*(trunc(29/((\Hepact)+1),0)*trunc((21-(\GY))/11,0)),0)}%
+ \FPeval\Jnbreinter{trunc((\Year)+trunc((\Year)/4,0)+(\Inbre)+2-(\Cent)+trunc((\Cent)/4,0),0)}%
+ \FPeval\Jnbre{trunc((\Jnbreinter)-7*trunc((\Jnbreinter)/7,0),0)}%
+ \FPeval\Lnbre{trunc((\Inbre)-(\Jnbre),0)}%
+ \FPeval\Month{trunc(3+trunc(((\Lnbre)+40)/44,0),0)}%
+ \FPeval\Day{trunc((\Lnbre)+28-31*trunc((\Month)/4,0),0)}%
+ \ifnum\Month=4
+ \ifnum\Day>25 \FPeval{\Day}{trunc((\Day)-7,0)}% dimanche de Pâques
+% \ifnum\Day>25 \FPeval{\Day}{trunc((\Day)-6,0)}% Lundi de Pâques
+% \else
+% \FPeval{\Day}{trunc((\Day)+1,0)}% Lundi de Pâques
+ \fi
+ \fi
+\ifnum\Month=3
+ \ifnum\Day=32 \FPset{\Day}{1}\FPset{\Month}{4}%
+% \else
+% \FPeval{\Day}{trunc((\Day)+1,0)}% Lundi
+ \fi%
+\fi%
+%
+% calcul du jour de l'ascension
+% si Pâques tombe au mois d'avril, faire (39-30)+\Day = 9+\Day
+% pour le jour du mois de mai de l'ascension
+\ifnum\Month=4
+ \FPeval\DayAscension{trunc((\Day)+9,0)}%
+ \FPeval\MonthAscension{trunc((\Month)+1,0)}%
+% Ascension le \FPprint\DayAscension/\FPprint\MonthAscension/\FPprint\Year
+ \FPeval\TestJourPentecote{trunc((\DayAscension)+10,0)}%
+ \ifnum\TestJourPentecote>31
+ \FPeval\DayPentecote{trunc((\TestJourPentecote)-31,0)}%
+ \FPeval\MonthPentecote{trunc((\Month)+2,0)}%
+ \else%
+ \FPset{\DayPentecote}{\TestJourPentecote}%
+ \FPset\MonthPentecote{\MonthAscension}%
+ \fi%
+%
+% Pentec\^ote le \FPprint\DayPentecote/\FPprint\MonthPentecote/\FPprint\Year
+\fi%
+%
+% Dans le cas où Pâques tombe en mars
+% (39-30)+\Day=8+\Day
+% si 8+\Day<ou=30 on reste en avril
+% \DayAscension=8+\Day
+% \MonthAscension=4
+% Pentcôte est 10 jours après l'ascension
+\ifnum\Month=3
+ \FPeval\TestSiJourAvril{trunc((\Day)+8,0)}%
+ \ifnum\TestSiJourAvril<30
+ \FPeval\MonthAscension{trunc((\Month)+1,0)}%
+ \FPeval\DayAscension{trunc(8+(\Day),0)}%
+ \else%
+ \FPeval\DayAscension{trunc((\Day)-22,0)}%
+ \FPeval\MonthAscension{trunc((\Month)+2,0)}%
+\fi%
+ \FPeval\TestJourPentecote{trunc((\DayAscension)+10,0)}%
+ \ifnum\MonthAscension=4
+ \ifnum\TestJourPentecote<31
+ \FPset{\DayPentecote}{\TestJourPentecote}%
+ \FPset\MonthPentecote{4}%
+ \else
+ \FPeval\DayPentecote{trunc((\TestJourPentecote)-30,0)}%
+ \FPset\MonthPentecote{5}%
+ \fi%
+ \fi%
+ \ifnum\MonthAscension=5
+ \FPeval\DayPentecote{trunc((\DayAscension)+10,0)}%
+ \FPset\MonthPentecote{5}%
+ \fi%
+\fi%
+%
+% test d'une année bissextile
+\FPeval{\YearBissextil}{(\psk@CalendrierA)/4}%
+\FPtrunc{\YearBissextil}{\YearBissextil}{0}%
+\FPeval{\YearBissextil}{(\YearBissextil)*4}%
+\FPtrunc{\YearBissextil}{\YearBissextil}{0}%
+%
+\ifnum\psk@CalendrierM=1\def\adddays{0}\let\Name\ps@Jan\def\NbreJours{31}\fi%
+\ifnum\psk@CalendrierM=2\def\adddays{31}\let\Name\ps@Feb%
+ \ifnum\YearBissextil=\psk@CalendrierA\def\NbreJours{29}\else\def\NbreJours{28}%
+\fi\fi%
+\ifnum\psk@CalendrierM=3
+ \ifnum\YearBissextil=\psk@CalendrierA\def\adddays{60}\else\def\adddays{59}\fi%
+\let\Name\ps@Mar\def\NbreJours{31}\fi%
+\ifnum\psk@CalendrierM=4
+ \ifnum\YearBissextil=\psk@CalendrierA\def\adddays{91}\else\def\adddays{90}\fi%
+\let\Name\ps@Apr\def\NbreJours{30}\fi%
+\ifnum\psk@CalendrierM=5
+ \ifnum\YearBissextil=\psk@CalendrierA\def\adddays{121}\else\def\adddays{120}\fi%
+\let\Name\ps@May\def\NbreJours{31}\fi%
+\ifnum\psk@CalendrierM=6
+ \ifnum\YearBissextil=\psk@CalendrierA\def\adddays{152}\else\def\adddays{151}\fi%
+\let\Name\ps@Jun\def\NbreJours{30}\fi%
+\ifnum\psk@CalendrierM=7
+ \ifnum\YearBissextil=\psk@CalendrierA\def\adddays{182}\else\def\adddays{181}\fi%
+\let\Name\ps@Jul\def\NbreJours{31}\fi%
+\ifnum\psk@CalendrierM=8
+ \ifnum\YearBissextil=\psk@CalendrierA\def\adddays{213}\else\def\adddays{212}\fi%
+\let\Name\ps@Aug\def\NbreJours{31}\fi%
+\ifnum\psk@CalendrierM=9
+ \ifnum\YearBissextil=\psk@CalendrierA\def\adddays{244}\else\def\adddays{243}\fi%
+\let\Name\ps@Sep\def\NbreJours{30}\fi%
+\ifnum\psk@CalendrierM=10
+ \ifnum\YearBissextil=\psk@CalendrierA\def\adddays{274}\else\def\adddays{273}\fi%
+\let\Name\ps@Oct\def\NbreJours{31}\fi%
+\ifnum\psk@CalendrierM=11
+ \ifnum\YearBissextil=\psk@CalendrierA\def\adddays{305}\else\def\adddays{304}\fi%
+\let\Name\ps@Nov\def\NbreJours{30}\fi%
+\ifnum\psk@CalendrierM=12
+ \ifnum\YearBissextil=\psk@CalendrierA\def\adddays{335}\else\def\adddays{334}\fi%
+\let\Name\ps@Dec\def\NbreJours{31}\fi%
+%
+\ifnum\YearBissextil=\psk@CalendrierA
+ \FPeval{\NbYearBissextil}{((\psk@CalendrierA)-2000)/4}%
+ \FPtrunc{\NbYearBissextil}{\NbYearBissextil}{0}%
+ \else%
+ \FPeval{\NbYearBissextil}{((\psk@CalendrierA)-2000)/4+1}%
+ \FPtrunc{\NbYearBissextil}{\NbYearBissextil}{0}%
+\fi%
+% le 1 janvier 2000 est un samedi : Nbdays=6
+\FPeval{\NbDays}{6+((\psk@CalendrierA)-2000)+(\NbYearBissextil)+(\adddays)}%
+%
+\FPtrunc{\NbDays}{\NbDays}{0}%
+%
+\FPeval{\Frac}{(\NbDays)/7}%
+\FPtrunc{\Frac}{\Frac}{0}%
+%
+\FPeval{\Quotient}{(\Frac)*7}%
+\FPtrunc{\Quotient}{\Quotient}{0}%
+%
+\FPeval{\firstDay}{(\NbDays)-({\Quotient})}%
+%
+\FPclip{\firstDay}{\firstDay}%
+\FPifzero\firstDay\FPset{\firstDay}{7}\fi%
+\ligne=2%
+\colonne=\firstDay%
+\pspicture(0,-4)(8,4)
+ \psframe*[linecolor=blue](0.5,3.2)(7.5,4)
+ \rput(4,3.6){\textcolor{white}{\textsf{\textbf{\huge\Name}}}}
+ \rput(1,2.8){\textsf{\textbf{\Large\ps@Mon}}}
+ \rput(2,2.8){\textsf{\textbf{\Large\ps@Tue}}}
+ \rput(3,2.8){\textsf{\textbf{\Large\ps@Wed}}}
+ \rput(4,2.8){\textsf{\textbf{\Large\ps@Thu}}}
+ \rput(5,2.8){\textsf{\textbf{\Large\ps@Fri}}}
+ \rput(6,2.8){\textsf{\textbf{\Large\ps@Sat}}}
+ \rput(7,2.8){\textsf{\textbf{\Large\ps@Son}}}
+ \multido{\i=\firstDay+1}{\NbreJours}{%
+ \ifnum\i>7\ligne=1\fi
+ \ifnum\i>14\ligne=0\fi
+ \ifnum\i>21\ligne=-1\fi
+ \ifnum\i>28\ligne=-2\fi
+ \ifnum\i>35\ligne=-3\fi
+ \ifnum\psk@CalendrierM=\psk@CalendrierMchoix
+ \ifnum\the\multidocount=\psk@CalendrierJ
+ \rput(\colonne,\ligne){%
+ \pscirclebox[linestyle=none,fillstyle=solid,fillcolor=yellow]{\textbf{\textcolor{red}{\Large\the\multidocount}}}}
+ \else\rput(\colonne,\ligne){\textbf{\Large\the\multidocount}}
+ \fi
+ \else\rput(\colonne,\ligne){\textbf{\Large\the\multidocount}}
+ \fi
+% les jours fériés
+% le 1 de l'an
+ \ifnum\psk@CalendrierM=1
+ \ifnum\the\multidocount=1
+ \rput(\colonne,\ligne){\psframebox[style=holiday]{\textbf{\textcolor{red}{\Large\the\multidocount}}}}
+ \fi\fi
+% le 1 mai et 8 mai
+ \ifnum\psk@CalendrierM=5
+ \ifnum\the\multidocount=1
+ \rput(\colonne,\ligne){\psframebox[style=holiday]{\textbf{\textcolor{red}{\Large\the\multidocount}}}}%
+ \fi
+ \ifnum\the\multidocount=8
+ \rput(\colonne,\ligne){\psframebox[style=holiday]{\textbf{\textcolor{red}{\Large\the\multidocount}}}}%
+ \fi
+ \fi
+% 15 août
+ \ifnum\psk@CalendrierM=8
+ \ifnum\the\multidocount=15
+ \rput(\colonne,\ligne){%
+ \psframebox[style=holiday]{\textbf{\textcolor{red}{\Large\the\multidocount}}}}
+ \fi\fi
+% 1 Novembre et 11 Novembre
+ \ifnum\psk@CalendrierM=11
+ \ifnum\the\multidocount=1
+ \rput(\colonne,\ligne){%
+ \psframebox[style=holiday]{\textbf{\textcolor{red}{\Large\the\multidocount}}}}
+ \fi
+ \ifnum\the\multidocount=11
+ \rput(\colonne,\ligne){%
+ \psframebox[style=holiday]{\textbf{\textcolor{red}{\Large\the\multidocount}}}}
+ \fi
+ \fi
+% Noël
+ \ifnum\psk@CalendrierM=12
+ \ifnum\the\multidocount=25
+ \rput(\colonne,\ligne){%
+ \psframebox[style=holiday]{\textbf{\textcolor{red}{\Large\the\multidocount}}}}
+ \fi\fi
+% Dimanche de Pâques
+ \ifnum\psk@CalendrierM=\Month
+ \ifnum\the\multidocount=\Day
+ \rput(\colonne,\ligne){%
+ \psframebox[style=holiday]{\textbf{\textcolor{red}{\Large\the\multidocount}}}}
+ \fi\fi
+% Ascension
+ \ifnum\psk@CalendrierM=\MonthAscension
+ \ifnum\the\multidocount=\DayAscension
+ \rput(\colonne,\ligne){%
+ \psframebox[style=holiday]{\textbf{\textcolor{red}{\Large\the\multidocount}}}}
+ \fi\fi
+% Pentecôte
+ \ifnum\psk@CalendrierM=\MonthPentecote
+ \ifnum\the\multidocount=\DayPentecote
+ \rput(\colonne,\ligne){%
+ \psframebox[style=holiday]{\textbf{\textcolor{red}{\Large\the\multidocount}}}}
+ \fi\fi
+%
+\advance\colonne by +1
+\ifnum\colonne>7\colonne=1\fi}
+\rput(4,-3.5){\psovalbox[fillstyle=solid,fillcolor=blue,linestyle=none]{\textcolor{white}{\textsf{\textbf{\huge\psk@CalendrierA}}}}}
+\multido{\rL=-2.5+1.0}{6}{\psline[linecolor=blue](0.5,\rL)(7.5,\rL)}
+\endpspicture}}
+%
+%% END: CalendrierFP.sty
+\endinput
diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check
index a44d1473a8e..ee008a3935d 100755
--- a/Master/tlpkg/bin/tlpkg-ctan-check
+++ b/Master/tlpkg/bin/tlpkg-ctan-check
@@ -181,7 +181,7 @@ my @WorkingTLP = qw(
psbao pseudocode psfrag psfrag-italian psgo pslatex psnfss pspicture
pst-2dplot pst-3d pst-3dplot pst-asr pst-bar
pst-barcode pst-bezier pst-blur pst-bspline
- pst-circ pst-cox pst-dbicons pst-diffraction
+ pst-calendar pst-circ pst-cox pst-dbicons pst-diffraction
pst-eps pst-eucl pst-fill
pst-fr3d pst-fractal pst-fun pst-func
pst-geo pst-grad pst-infixplot pst-jtree pst-labo
diff --git a/Master/tlpkg/tlpsrc/collection-pstricks.tlpsrc b/Master/tlpkg/tlpsrc/collection-pstricks.tlpsrc
index 702a966231c..f02c37cbc84 100644
--- a/Master/tlpkg/tlpsrc/collection-pstricks.tlpsrc
+++ b/Master/tlpkg/tlpsrc/collection-pstricks.tlpsrc
@@ -15,6 +15,7 @@ depend pst-barcode
depend pst-bezier
depend pst-blur
depend pst-bspline
+depend pst-calendar
depend pst-circ
depend pst-coil
depend pst-cox
diff --git a/Master/tlpkg/tlpsrc/pst-calendar.tlpsrc b/Master/tlpkg/tlpsrc/pst-calendar.tlpsrc
new file mode 100644
index 00000000000..1066325cdc2
--- /dev/null
+++ b/Master/tlpkg/tlpsrc/pst-calendar.tlpsrc
@@ -0,0 +1,2 @@
+name pst-calendar
+category Package