summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
Diffstat (limited to 'Master')
-rw-r--r--Master/texmf-dist/doc/generic/pst-gantt/Changes6
-rw-r--r--Master/texmf-dist/doc/generic/pst-gantt/README18
-rw-r--r--Master/texmf-dist/doc/generic/pst-gantt/pst-gantt-doc.bib159
-rw-r--r--Master/texmf-dist/doc/generic/pst-gantt/pst-gantt-doc.pdfbin0 -> 107522 bytes
-rw-r--r--Master/texmf-dist/doc/generic/pst-gantt/pst-gantt-doc.tex199
-rw-r--r--Master/texmf-dist/source/generic/pst-gantt/Makefile66
-rw-r--r--Master/texmf-dist/tex/generic/pst-gantt/pst-gantt.tex203
-rw-r--r--Master/texmf-dist/tex/latex/pst-gantt/pst-gantt.sty8
-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-gantt.tlpsrc2
12 files changed, 664 insertions, 1 deletions
diff --git a/Master/texmf-dist/doc/generic/pst-gantt/Changes b/Master/texmf-dist/doc/generic/pst-gantt/Changes
new file mode 100644
index 00000000000..c1d33e7d412
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pst-gantt/Changes
@@ -0,0 +1,6 @@
+..... pst-gantt.tex
+0.20 2009-05-12 - first CTAN version
+
+
+..... pst-gantt.sty
+ 2009-05-12 first version
diff --git a/Master/texmf-dist/doc/generic/pst-gantt/README b/Master/texmf-dist/doc/generic/pst-gantt/README
new file mode 100644
index 00000000000..cd88515bb1a
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pst-gantt/README
@@ -0,0 +1,18 @@
+pst-gantt: plotting Gantt charts
+
+Save the files pst-gantt.sty|pro|tex in a directory, which is part of your
+local TeX tree. The pro file should go into $TEXMF/dvips/pstricks/
+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 local TeX system or read the
+TeX Frequently Asked Questions:
+(http://www.tex.ac.uk/cgi-bin/texfaq2html?label=instpackages).
+
+pst-func needs pst-plot (pstricks-add) and pstricks, which should
+be part of your local TeX installation, otherwise get it from a
+CTAN server, f.ex. ftp://ftp.ctan.org
+
+PSTricks is PostScript Tricks, the documentation cannot be run
+with pdftex, use the sequence latex->dvips->ps2pdf.
+
+%% $Id: README 117 2009-05-13 05:54:00Z herbert $
diff --git a/Master/texmf-dist/doc/generic/pst-gantt/pst-gantt-doc.bib b/Master/texmf-dist/doc/generic/pst-gantt/pst-gantt-doc.bib
new file mode 100644
index 00000000000..8894fa5f494
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pst-gantt/pst-gantt-doc.bib
@@ -0,0 +1,159 @@
+%% -*-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} }
+
+@Article{ dtk02.2:jackson.voss:plot-funktionen,
+ author = {Laura E. Jackson and Herbert Vo{\ss}},
+ title = {Die {P}lot-{F}unktionen 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 = {Post{S}cript 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
+}
+
+@Book{PSTricks2,
+ author = {Herbert Vo\ss},
+ title = {\texttt{PSTricks} -- {G}rafik f\"ur \TeX{} und \LaTeX},
+ edition = {5.},
+ publisher = {DANTE -- Lehmanns},
+ year = {2008},
+ address = {Heidelberg/Hamburg}
+}
+
+@Book{voss:math,
+ author = {Herbert Vo\ss},
+ title = {\LaTeX\ in {M}athematik und {N}aturwissenschaften},
+ publisher = {{Franzis-Verlag}},
+ year = {2006},
+ address = {Poing}
+}
+
+@Manual{wolfram,
+ author = {Eric Weisstein},
+ title = {Wolfram MathWorld},
+ publisher = {{Wolfram}},
+ year = {2007},
+ address = {\url{http://mathworld.wolfram.com}}
+}
+
diff --git a/Master/texmf-dist/doc/generic/pst-gantt/pst-gantt-doc.pdf b/Master/texmf-dist/doc/generic/pst-gantt/pst-gantt-doc.pdf
new file mode 100644
index 00000000000..88bc952e2fc
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pst-gantt/pst-gantt-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/pst-gantt/pst-gantt-doc.tex b/Master/texmf-dist/doc/generic/pst-gantt/pst-gantt-doc.tex
new file mode 100644
index 00000000000..c5c64403b4c
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pst-gantt/pst-gantt-doc.tex
@@ -0,0 +1,199 @@
+%% $Id: pst-func-doc.tex 86 2009-01-29 10:34:00Z herbert $
+\documentclass[11pt,english,BCOR10mm,DIV12,bibliography=totoc,parskip=false,smallheadings
+ headexclude,footexclude,oneside]{pst-doc}
+\usepackage[utf8]{inputenc}
+\usepackage{pst-gantt}
+\let\pstGanntFV\fileversion
+\usepackage{pstricks-add}
+\usepackage{lscape}
+\lstset{pos=t,wide=true,language=PSTricks,
+ morekeywords={},basicstyle=\footnotesize\ttfamily}
+%
+\begin{document}
+
+\title{\texttt{pst-gannt}}
+\subtitle{Gannt charts; v.\pstGanntFV}
+\author{Denis Girou\\Herbert Vo\ss}
+\docauthor{Herbert Vo\ss}
+\date{\today}
+\maketitle
+
+\tableofcontents
+
+\clearpage
+
+\begin{abstract}
+\noindent
+\LPack{pst-gannt} loads by default the following packages: \LPack{pst-node},
+\LPack{pst-grad}, \LPack{pst-xkey}, and, of course \LPack{pstricks}.
+All should be already part of your local \TeX\ installation. If not, or in case
+of having older versions, go to \url{http://www.CTAN.org/} and load the newest version.
+
+{\itshape If \LPack{pstricks-add} is loaded together with the package \LPack{pst-func} then the \Lkeyword{InsideArrow}
+ of the \Lcs{psbezier} macro doesn't work!}
+
+\vfill\noindent
+%Thanks to: \\
+%and last but not least \url{http://mathworld.wolfram.com}
+
+\end{abstract}
+
+
+
+\begin{LTXexample}
+\newpsstyle{Important}{fillstyle=solid,fillcolor=red}
+\newpsstyle{NotImportant}{fillstyle=vlines}
+\begin{PstGanttChart}{5}{7}
+\PstGanttTask{0}{3}
+\PstGanttTask{2}{1}
+\PstGanttTask[TaskStyle=Important,
+ TaskInsideLabel=Important]{2}{5}
+\PstGanttTask[TaskStyle=NotImportant]{4}{2}
+\PstGanttTask{5}{2}
+\end{PstGanttChart}
+\end{LTXexample}
+
+% Example 2
+%
+
+\begin{LTXexample}
+\newpsstyle{Important}{fillstyle=solid,fillcolor=red}
+\newpsstyle{NotImportant}{fillstyle=vlines}
+\begin{PstGanttChart}[yunit=2]{5}{7}
+\PstGanttTask{0}{3}
+\PstGanttTask{2}{1}
+\PstGanttTask[TaskStyle=Important,%
+ TaskInsideLabel=Important]{2}{5}
+\PstGanttTask[TaskStyle=NotImportant]{4}{2}
+\PstGanttTask{5}{2}
+\end{PstGanttChart}
+\end{LTXexample}
+
+\vspace{1cm}
+%
+% Example 3
+%
+
+\begin{LTXexample}
+\newpsstyle{Important}{fillstyle=solid,fillcolor=red}
+\newpsstyle{NotImportant}{fillstyle=vlines}
+\begin{PstGanttChart}[unit=2,TaskOutsideLabelMaxSize=1,
+ ChartShowIntervals]{5}{7}
+\PstGanttTask[TaskOutsideLabel={Task 1}]{0}{3}
+\PstGanttTask[TaskOutsideLabel={Task 2},TaskUnitType=Day]
+ {15}{3} % 3 days starting at day 15
+\PstGanttTask[TaskStyle=Important,TaskOutsideLabel={Task 3},
+ TaskInsideLabel={\Large\textcolor{white}{%
+ \textbf{Important}}}]{2}{5}
+\PstGanttTask[TaskStyle=NotImportant,
+ TaskOutsideLabel={Task 4}]{4}{2}
+\PstGanttTask[TaskOutsideLabel={Task 5}]{5}{2}
+\end{PstGanttChart}
+\end{LTXexample}
+
+
+%
+% Example 4
+%
+\begin{LTXexample}
+\begin{PstGanttChart}[yunit=2,ChartUnitIntervalName=Month,
+ TaskUnitIntervalValue=30,TaskUnitType=Month,
+ ChartShowIntervals]{3}{4}
+ \PstGanttTask[TaskInsideLabel={Task 1}]{0}{1}
+ \PstGanttTask[TaskInsideLabel={Task 2},TaskUnitType=Day]
+ {24}{40} % 40 days starting at day 24
+ \PstGanttTask[TaskInsideLabel={Task 3}]{2}{2}
+\end{PstGanttChart}
+\end{LTXexample}
+
+%
+% Example 5
+%
+\begin{LTXexample}
+\begin{PstGanttChart}[yunit=1.5,ChartUnitIntervalName=Year,
+ ChartUnitBasicIntervalName=Month,
+ TaskUnitIntervalValue=12,TaskUnitType=Year,
+ ChartShowIntervals]{4}{4}
+ \PstGanttTask[TaskInsideLabel={Task 1}]{0}{1}
+ \PstGanttTask[TaskInsideLabel={Task 2},TaskUnitType=Month]
+ {6}{24} % 24 months starting at month 6
+ \PstGanttTask[TaskInsideLabel={Task 3}]{2}{2}
+ \PstGanttTask[TaskInsideLabel={Task 4}]{3}{1}
+\end{PstGanttChart}
+\end{LTXexample}
+
+
+
+
+\begin{landscape}
+\definecolor{LightCyan} {rgb}{0.88,1.,1.}
+\definecolor{Orange} {rgb}{1.,0.65,0.}
+\definecolor{PaleGreen} {rgb}{0.6,0.98,0.6}
+\definecolor{Pink} {rgb}{1.,0.75,0.8}
+\psset{gradmidpoint=0,fillstyle=gradient,gradbegin=LightCyan,gradend=white}
+\newpsstyle{TaskStyleA}{gradbegin=cyan,gradend=blue}
+\newpsstyle{TaskStyleB}{gradbegin=red,gradend=Pink}
+\newpsstyle{TaskStyleC}{gradbegin=yellow,gradend=Orange}
+\newpsstyle{TaskStyleD}{gradbegin=green,gradend=PaleGreen}
+
+\begin{PstGanttChart}[yunit=2.5,xunit=3.5,ChartUnitIntervalName=Semaine,
+ ChartUnitBasicIntervalName=Jour,TaskUnitType=Jour,
+ TaskOutsideLabelMaxSize=14,ChartShowIntervals]{8}{43}
+ \psset{gradangle=90,TaskStyle=TaskStyleA}
+ \PstGanttTask[TaskOutsideLabel={\'Etude}]{0}{10}
+ \PstGanttTask[TaskOutsideLabel={R\'edaction dossier}]{6}{7}
+ \PstGanttTask[TaskOutsideLabel={Relecture et corrections}]{14}{2}
+ \PstGanttTask[TaskOutsideLabel={Soumission},TaskStyle=TaskStyleB]{17}{1}
+ \psset{TaskStyle=TaskStyleC}
+ \PstGanttTask[TaskOutsideLabel={R\'ealisation}]{25}{14}
+ \PstGanttTask[TaskOutsideLabel={Tests}]{35}{6}
+ \PstGanttTask[TaskOutsideLabel={V\'erification}]{39}{3}
+ \PstGanttTask[TaskOutsideLabel={Recette},TaskStyle=TaskStyleD]{42}{1}
+\end{PstGanttChart}
+\end{landscape}
+
+\begin{lstlisting}
+\definecolor{LightCyan} {rgb}{0.88,1.,1.}
+\definecolor{Orange} {rgb}{1.,0.65,0.}
+\definecolor{PaleGreen} {rgb}{0.6,0.98,0.6}
+\definecolor{Pink} {rgb}{1.,0.75,0.8}
+\psset{gradmidpoint=0,fillstyle=gradient,gradbegin=LightCyan,gradend=white}
+\newpsstyle{TaskStyleA}{gradbegin=cyan,gradend=blue}
+\newpsstyle{TaskStyleB}{gradbegin=red,gradend=Pink}
+\newpsstyle{TaskStyleC}{gradbegin=yellow,gradend=Orange}
+\newpsstyle{TaskStyleD}{gradbegin=green,gradend=PaleGreen}
+
+\begin{PstGanttChart}[yunit=2.5,xunit=3.5,ChartUnitIntervalName=Semaine,
+ ChartUnitBasicIntervalName=Jour,TaskUnitType=Jour,
+ TaskOutsideLabelMaxSize=14,ChartShowIntervals]{8}{43}
+ \psset{gradangle=90,TaskStyle=TaskStyleA}
+ \PstGanttTask[TaskOutsideLabel={\'Etude}]{0}{10}
+ \PstGanttTask[TaskOutsideLabel={R\'edaction dossier}]{6}{7}
+ \PstGanttTask[TaskOutsideLabel={Relecture et corrections}]{14}{2}
+ \PstGanttTask[TaskOutsideLabel={Soumission},TaskStyle=TaskStyleB]{17}{1}
+ \psset{TaskStyle=TaskStyleC}
+ \PstGanttTask[TaskOutsideLabel={R\'ealisation}]{25}{14}
+ \PstGanttTask[TaskOutsideLabel={Tests}]{35}{6}
+ \PstGanttTask[TaskOutsideLabel={V\'erification}]{39}{3}
+ \PstGanttTask[TaskOutsideLabel={Recette},TaskStyle=TaskStyleD]{42}{1}
+\end{PstGanttChart}
+\end{lstlisting}
+
+\section{List of all optional arguments for \texttt{pst-gantt}}
+
+\xkvview{family=pst-gantt,columns={key,type,default}}
+
+\bgroup
+\raggedright
+\nocite{*}
+\bibliographystyle{plain}
+\bibliography{pst-gantt-doc}
+\egroup
+
+\printindex
+
+
+
+\end{document}
+
+
diff --git a/Master/texmf-dist/source/generic/pst-gantt/Makefile b/Master/texmf-dist/source/generic/pst-gantt/Makefile
new file mode 100644
index 00000000000..8bfa888b6f0
--- /dev/null
+++ b/Master/texmf-dist/source/generic/pst-gantt/Makefile
@@ -0,0 +1,66 @@
+# `Makefile' for `pst-func.pdf', hv, 2006/08/11
+
+.SUFFIXES : .tex .ltx .dvi .ps .pdf .eps
+
+PACKAGE = pst-gantt
+
+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 tds 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 -s pst-doc.ist -t $(basename $<).ilg -o $(basename $<).ind \
+ $(basename $<).idx
+ bibtex $(basename $<)
+ $(LATEX) $<
+ $(LATEX) $<
+
+clean :
+ $(RM) $(addprefix $(MAIN), .log .aux .bbl .blg .glg .glo .gls .ilg .idx .ind .tmp .toc .out )
+ $(RM) $(addprefix $(MAIN), .dvi .ps .xcp)
+
+veryclean : clean
+ $(RM) $(addprefix $(MAIN), .pdf .bbl .blg)
+
+arch :
+ zip $(ARCHNAME).zip $(ARCHFILES)
+
+tds:
+ cp -u Changes $(TDS)/doc/generic/$(PACKAGE)/
+ cp -u README $(TDS)/doc/generic/$(PACKAGE)/
+ cp -u $(MAIN).pdf $(TDS)/doc/generic/$(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)/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/generic/pst-gantt/pst-gantt.tex b/Master/texmf-dist/tex/generic/pst-gantt/pst-gantt.tex
new file mode 100644
index 00000000000..d0876e18139
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/pst-gantt/pst-gantt.tex
@@ -0,0 +1,203 @@
+%%
+%% This is file `pst-gantt.tex',
+%%
+%% IMPORTANT NOTICE:
+%%
+%% Package `pst-gantt.tex'
+%%
+%% Denis Girou, Herbert Voss
+%%
+%% 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-gantt' is a PSTricks package to draw GANTT diagrams and timelines
+%%
+\csname PSTganttLoaded\endcsname
+\let\PSTganttLoaded\endinput
+% Require PSTricks, pst-node, pstcol, pst-plot, pst-3d packages
+\ifx\PSTricksLoaded\endinput\else\input pstricks.tex\fi
+\ifx\PSTnodesLoaded\endinput\else\input pst-node.tex\fi
+\ifx\PSTplotLoaded\endinput\else \input pst-grad.tex\fi
+\ifx\PSTXKeyLoaded\endinput\else \input pst-xkey.tex\fi
+\ifx\MultidoLoaded\endinput\else \input multido.tex \fi
+%
+\edef\PstAtCode{\the\catcode`\@}
+\catcode`\@=11\relax
+%
+% interface to the `xkeyval' package
+\pst@addfams{pst-gantt}
+%
+\def\fileversion{0.2}
+\def\filedate{2009/05/12}
+\message{`pst-gantt' v\fileversion, \filedate\space (Denis Girou and Herbert Voss)}
+%
+% "pspicture" environment or not?
+\define@boolkey[psset]{pst-gantt}[Pst@]{PstPicture}[true]{}
+\psset[pst-gantt]{PstPicture=true}
+% Intervals to show?
+\define@boolkey[psset]{pst-gantt}[Pst@]{ChartShowIntervals}[true]{}
+\psset[pst-gantt]{ChartShowIntervals=false}
+% Style for the tasks
+\define@key[psset]{pst-gantt}{TaskStyle}[TaskStyleDefault]{\def\psk@GanttTaskStyle{#1}}
+\psset[pst-gantt]{TaskStyle=TaskStyleDefault}
+% Name for unit interval
+\define@key[psset]{pst-gantt}{ChartUnitIntervalName}[Week]{\def\psk@GanttChartUnitIntervalName{#1}}
+% Name for basic unit
+\define@key[psset]{pst-gantt}{ChartUnitBasicIntervalName}[Day]{%
+ \def\psk@GanttChartUnitBasicIntervalName{#1}}
+% Unit interval for the tasks (7 for a week, 30 for a month, etc.)
+% Warning: define it before "TaskUnitType"!
+\define@key[psset]{pst-gantt}{TaskUnitIntervalValue}[7]{%
+ \pst@cntg=#1\relax
+ \edef\psk@GanttTaskUnitIntervalValue{\the\pst@cntg}}
+% Unit type for the tasks (UnitIntervalName or UnitBasicIntervalName)
+\define@key[psset]{pst-gantt}{TaskUnitType}[Week]{%
+ \def\psk@GanttTaskUnitValue{#1}%
+% Validation of the parameter
+ \ifx\psk@GanttTaskUnitValue\psk@GanttChartUnitIntervalName
+ \edef\psk@GanttTaskUnitValue{\psk@GanttTaskUnitIntervalValue}%
+ \else
+ \ifx\psk@GanttTaskUnitValue\psk@GanttChartUnitBasicIntervalName
+ \def\psk@GanttTaskUnitValue{1}%
+ \else
+ {\@pstrickserr{GanttTaskUnitType must be `\psk@GanttChartUnitIntervalName'
+ or `\psk@GanttChartUnitBasicIntervalName'
+ (and not `\psk@GanttTaskUnitValue')}\@eha}%
+ \fi
+ \fi}
+% Outside label for the tasks
+\define@key[psset]{pst-gantt}{TaskOutsideLabel}[]{\def\psk@GanttTaskOutsideLabel{#1}}
+% Inside label for the tasks
+\define@key[psset]{pst-gantt}{TaskInsideLabel}[]{\def\psk@GanttTaskInsideLabel{#1}}
+% Maximum outside size label for the tasks (in unit TaskUnitType !)
+\define@key[psset]{pst-gantt}{TaskOutsideLabelMaxSize}[0]{%
+ \pst@cntg=#1\relax
+ \edef\psk@GanttTaskOutsideLabelMaxSize{\the\pst@cntg}}
+% Default values
+% --------------
+% pspicture environment, don't show intervals, default task style,
+% unit for tasks is a week (so 7 days), no outside and inside labels
+\psset[pst-gantt]{ChartUnitIntervalName=Week,ChartUnitBasicIntervalName=Day,
+ TaskUnitIntervalValue=7,TaskUnitType=Week,
+ TaskOutsideLabel=,TaskInsideLabel=,TaskOutsideLabelMaxSize=0}
+\newpsstyle{TaskStyleDefault}{fillstyle=solid,fillcolor=yellow}
+% The environment \PstGanttChart
+% ------------------------------
+\SpecialCoor
+%
+% Syntax: \PstGanttChart[parameters]{Number of tasks}{Number of days}
+\def\PstGanttChart{\@ifnextchar[\PstGanttChart@i{\PstGanttChart@i[]}}
+\def\PstGanttChart@i[#1]#2#3{%
+\begingroup
+\psset{unit=0.1,#1} % Affectation of local parameters
+%
+\ifPst@PstPicture % "pspicture" environment
+ \pst@cnta=\psk@GanttTaskOutsideLabelMaxSize
+ \multiply\pst@cnta\psk@GanttTaskUnitValue
+ %
+ \pst@cntb=#2
+ \multiply\pst@cntb by 5
+ \advance\pst@cntb\@ne
+ %
+ \pst@cntc=#3
+ \multiply\pst@cntc\psk@GanttTaskUnitValue
+ \advance\pst@cntc\tw@
+ %
+ \ifPst@ChartShowIntervals
+ \pspicture(-\pst@cnta,-\pst@cntb)(\pst@cntc,2)
+ \else
+ \pspicture(-\pst@cnta,-\pst@cntb)(\pst@cntc,0)
+ \fi
+\fi
+\psframe(0,-\pst@cntb)(\pst@cntc,0)
+%
+\ifPst@ChartShowIntervals
+ % We will show the intervals
+ \pst@cnta=#3
+ \multiply\pst@cnta\psk@GanttTaskUnitValue
+ \divide\pst@cnta\psk@GanttTaskUnitIntervalValue
+ \advance\pst@cnta\@ne
+ %
+ \pst@cntb=#2
+ \multiply\pst@cntb by 5
+ \advance\pst@cntb\@ne
+ %
+ \pst@dima=\psk@GanttTaskUnitIntervalValue pt
+ \divide\pst@dima\tw@
+ \advance\pst@dima\@ne pt
+ \pst@dimtonum{\pst@dima}{\pst@tempa}
+ %
+ \multido{\iInterval=1+1,\iIntervalPos=1+\psk@GanttTaskUnitIntervalValue,
+ \nIntervalPos=\pst@tempa+\psk@GanttTaskUnitIntervalValue.0}{\pst@cnta}{%
+ \ifnum\iInterval=\pst@cnta
+ \psline(\iIntervalPos,0)(\iIntervalPos,1.5)
+ \psline[linestyle=dotted](\iIntervalPos,-\pst@cntb)(\iIntervalPos,0)
+ \else
+ \rput(\nIntervalPos,1){\psk@GanttChartUnitIntervalName\space\iInterval}
+ \psline(\iIntervalPos,0)(\iIntervalPos,1.5)
+ \psline[linestyle=dotted](\iIntervalPos,-\pst@cntb)(\iIntervalPos,0)
+ \fi}
+\fi}
+\def\endPstGanttChart{%
+\ifPst@PstPicture
+ \endpspicture % End of "pspicture" environment
+\fi
+\endgroup}
+% The macro \PstGanttTask
+% -----------------------
+\newcount\pst@GanttTaskCnt
+\pst@GanttTaskCnt=\z@
+% Syntax: \PstGanttTask[parameters]{Start}{Length}
+\def\PstGanttTask{\@ifnextchar[\PstGanttTask@i{\PstGanttTask@i[]}}
+\def\PstGanttTask@i[#1]#2#3{
+\advance\pst@GanttTaskCnt\m@ne
+\begingroup
+\psset{#1}% % Affectation of local parameters
+% Frame
+\pst@cnta=\psk@GanttTaskUnitValue
+\multiply\pst@cnta by #2
+\advance\pst@cnta\@ne
+%
+\pst@cntb=\psk@GanttTaskUnitValue
+\multiply\pst@cntb by #3
+\advance\pst@cntb\pst@cnta
+%
+\pst@cntc=\pst@GanttTaskCnt
+\multiply\pst@cntc by 5
+%
+\pst@cntd=\pst@cntc
+\advance\pst@cntd by 4
+%
+\psframe[style=\psk@GanttTaskStyle](\pst@cnta,\pst@cntc)(\pst@cntb,\pst@cntd)
+% Inside label
+\ifx\psk@GanttTaskInsideLabel\empty
+\else
+ \pst@dima=\pst@cnta pt
+ \advance\pst@dima\pst@cntb pt
+ \divide\pst@dima\tw@
+ \pst@dimtonum{\pst@dima}{\pst@tempa}
+ %
+ \pst@dimb=\pst@cntc pt
+ \advance\pst@dimb\pst@cntd pt
+ \divide\pst@dimb\tw@
+ \pst@dimtonum{\pst@dimb}{\pst@tempb}
+ %
+ \rput(\pst@tempa,\pst@tempb){\psk@GanttTaskInsideLabel}
+\fi
+% Outside label
+\ifx\psk@GanttTaskOutsideLabel\empty
+\else
+ \pst@dimb=\pst@cntc pt
+ \advance\pst@dimb\pst@cntd pt
+ \divide\pst@dimb\tw@
+ \pst@dimtonum{\pst@dimb}{\pst@tempb}
+ \rput[r](-1.5,\pst@tempb){\psk@GanttTaskOutsideLabel}
+\fi
+\endgroup}
+%
+\catcode`\@=\PstAtCode\relax
+%% END: pst-gantt.tex
+\endinput
+
diff --git a/Master/texmf-dist/tex/latex/pst-gantt/pst-gantt.sty b/Master/texmf-dist/tex/latex/pst-gantt/pst-gantt.sty
new file mode 100644
index 00000000000..e73fcf3cd57
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/pst-gantt/pst-gantt.sty
@@ -0,0 +1,8 @@
+\RequirePackage{pstricks}
+\ProvidesPackage{pst-gantt}[2008/03/21 package wrapper for
+ pst-gantt.tex (hv)]
+\input{pst-gantt.tex}
+\ProvidesFile{pst-gantt.tex}
+ [\filedate\space v\fileversion\space `pst-gantt' (hv)]
+\endinput
+%% $Id: pst-gantt.sty 116 2009-05-12 22:12:03Z herbert $
diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check
index b88aadf7d5a..cf4cf7fcdd4 100755
--- a/Master/tlpkg/bin/tlpkg-ctan-check
+++ b/Master/tlpkg/bin/tlpkg-ctan-check
@@ -188,7 +188,7 @@ my @WorkingTLP = qw(
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
+ pst-gantt pst-geo pst-grad pst-infixplot pst-jtree pst-labo
pst-lens pst-light3d pst-math pst-ob3d pst-optexp pst-optic
pst-osci pst-pad pst-pdf pst-pdgr pst-qtree
pst-sigsys pst-solides3d pst-soroban pst-spectra
diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds
index 2c1efd31b89..f662b852013 100755
--- a/Master/tlpkg/libexec/ctan2tds
+++ b/Master/tlpkg/libexec/ctan2tds
@@ -419,6 +419,7 @@ chdir $startdir || die "chdir($startdir) failed: $!"; # back to raw
'pst-fractal', "&MAKEpst",
'pst-fun', "&MAKEpst",
'pst-func', "&MAKEpst",
+ 'pst-gantt', "&MAKEpst",
'pst-geo', "&MAKEpstgeo",
'pst-ghsb', "&MAKEpst",
'pst-gr3d', "&MAKEpst",
diff --git a/Master/tlpkg/tlpsrc/collection-pstricks.tlpsrc b/Master/tlpkg/tlpsrc/collection-pstricks.tlpsrc
index 3abd05a51b8..54f6438bf7f 100644
--- a/Master/tlpkg/tlpsrc/collection-pstricks.tlpsrc
+++ b/Master/tlpkg/tlpsrc/collection-pstricks.tlpsrc
@@ -28,6 +28,7 @@ depend pst-fr3d
depend pst-fractal
depend pst-fun
depend pst-func
+depend pst-gantt
depend pst-geo
depend pst-ghsb
depend pst-gr3d
diff --git a/Master/tlpkg/tlpsrc/pst-gantt.tlpsrc b/Master/tlpkg/tlpsrc/pst-gantt.tlpsrc
new file mode 100644
index 00000000000..7f78a6de9aa
--- /dev/null
+++ b/Master/tlpkg/tlpsrc/pst-gantt.tlpsrc
@@ -0,0 +1,2 @@
+name pst-gantt
+category Package