diff options
author | Karl Berry <karl@freefriends.org> | 2011-04-23 00:58:57 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2011-04-23 00:58:57 +0000 |
commit | 43f2113ef8ba863ee054d6ba3955f1f2cdee1910 (patch) | |
tree | fe649378009940c62472017f7fc6d3815ca13734 /Master/texmf-dist/tex/latex/pgfgantt | |
parent | ca90ade9a3e6ded06b5dc430075751cf86f19937 (diff) |
pgfgantt (22apr11)
git-svn-id: svn://tug.org/texlive/trunk@22166 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/pgfgantt')
-rw-r--r-- | Master/texmf-dist/tex/latex/pgfgantt/pgfgantt.sty | 65 |
1 files changed, 48 insertions, 17 deletions
diff --git a/Master/texmf-dist/tex/latex/pgfgantt/pgfgantt.sty b/Master/texmf-dist/tex/latex/pgfgantt/pgfgantt.sty index 93f21e54a02..4f6666fa2e0 100644 --- a/Master/texmf-dist/tex/latex/pgfgantt/pgfgantt.sty +++ b/Master/texmf-dist/tex/latex/pgfgantt/pgfgantt.sty @@ -16,7 +16,7 @@ %% and version 1.3 or later is part of all distributions of LaTeX %% version 2005/12/01 or later. %% -\ProvidesPackage{pgfgantt}[2011/03/01 v1.0 Draw Gantt diagrams with TikZ] +\ProvidesPackage{pgfgantt}[2011/04/18 v1.1 Draw Gantt diagrams with TikZ] \NeedsTeXFormat{LaTeX2e}[1999/12/01] @@ -26,9 +26,9 @@ \newcounter{gtt@width} \newcounter{gtt@currentline} \newcounter{gtt@lastline} -\newcounter{gtt@lastslot} \newcounter{gtt@lasttitleline} \newcounter{gtt@lasttitleslot} +\def\gtt@lastslot{0} \newif\ifgtt@intitle \def\ganttset#1{\pgfqkeys{/pgfgantt}{#1}} @@ -91,6 +91,9 @@ \fi% } \pgfkeys{/pgfgantt/vgrid/.default=dotted} +\pgfkeysdef{/pgfgantt/vgrid lines list}{% + \def\gtt@vgridlineslist{#1}% +} \@gtt@stylekeydef{canvas} \@gtt@keydef{today} @@ -113,7 +116,11 @@ \newif\ifgtt@includetitle \pgfkeys{/pgfgantt/include title in canvas/.is if=gtt@includetitle} +\@gtt@keydef{time slot modifier} \@gtt@stylekeydef{bar} +\pgfkeysdef{/pgfgantt/bar label text}{% + \def\gtt@barlabeltext##1{#1}% +} \@gtt@keydef{bar label font} \@gtt@stylekeydef{bar label anchor} \@gtt@keydef{bar left shift} @@ -122,6 +129,9 @@ \@gtt@keydef{bar height} \@gtt@stylekeydef{group} +\pgfkeysdef{/pgfgantt/group label text}{% + \def\gtt@grouplabeltext##1{#1}% +} \@gtt@keydef{group label font} \@gtt@stylekeydef{group label anchor} \@gtt@keydef{group left shift} @@ -166,6 +176,9 @@ \@gtt@stylekeydef{progress label anchor} \@gtt@stylekeydef{milestone} +\pgfkeysdef{/pgfgantt/milestone label text}{% + \def\gtt@milestonelabeltext##1{#1}% +} \@gtt@keydef{milestone label font} \@gtt@stylekeydef{milestone label anchor} \@gtt@keydef{milestone width} @@ -181,6 +194,7 @@ } \@gtt@keydef{link mid} \@gtt@keydef{link bulge} +\@gtt@keydef{link tolerance} \@gtt@linkkeydef 0 b b \relax \@gtt@linkkeydef 0 b m \relax \@gtt@linkkeydef 0 m b \relax @@ -194,6 +208,7 @@ canvas={fill=white}, hgrid style=dotted, vgrid style=dotted, + vgrid lines list={2,3,...,\value{gtt@width}}, today=none, today rule={dashed, line width=1pt}, today label=TODAY, @@ -208,7 +223,9 @@ title height=.6, title list options={var=\x, evaluate=\x}, include title in canvas, + time slot modifier=-1, bar={fill=white}, + bar label text={\strut#1}, bar label font=\normalsize, bar label anchor={anchor=east}, bar left shift=0, @@ -216,6 +233,7 @@ bar top shift=0, bar height=.4, group={fill=black}, + group label text={\strut#1}, group label font=\normalsize\bfseries, group label anchor={anchor=east}, group left shift=-.1, @@ -229,6 +247,7 @@ progress label font=\scriptsize, progress label anchor={anchor=west}, milestone={fill=black}, + milestone label text={\strut#1}, milestone label font=\normalsize\itshape, milestone label anchor={anchor=east}, milestone width=.8, @@ -241,6 +260,7 @@ b-b, link mid=.5, link bulge=.4, + link tolerance=0.6, } \newenvironment{ganttchart}[2][]{% @@ -264,7 +284,7 @@ (\value{gtt@width}, \y@lower);% \ifgtt@vgrid% \foreach \t [evaluate=\t using \t-1] - in {2,3,...,\value{gtt@width}} {% + in \gtt@vgridlineslist {% \draw[/pgfgantt/vgrid style@style] (\t, \value{gtt@lasttitleline}-\@gtt@get{hgrid shift}) -- (\t, \y@lower);% @@ -335,7 +355,7 @@ \newcommand\ganttbar[4][]{% \begingroup% \ganttset{#1}% - \def\x@left{#3-1+\@gtt@get{bar left shift}}% + \def\x@left{#3+\@gtt@get{time slot modifier}+\@gtt@get{bar left shift}}% \def\x@right{#4+\@gtt@get{bar right shift}}% \def\y@upper{\value{gtt@currentline}-\@gtt@get{bar top shift}}% \def\y@lower{\value{gtt@currentline}-\@gtt@get{bar top shift}% @@ -343,7 +363,8 @@ \def\@tempa{#2}% \ifx\@tempa\@empty\else% \node at ($(0, \y@upper)!.5!(0, \y@lower)$) - [/pgfgantt/bar label anchor@style] {\@gtt@get{bar label font}{#2}};% + [/pgfgantt/bar label anchor@style] + {\@gtt@get{bar label font}{\gtt@barlabeltext{#2}}};% \fi% \def\@tempa{none}% \ifx\gtt@progress\@tempa% @@ -378,7 +399,7 @@ \draw[/pgfgantt/bar@style, fill=none] (\x@left, \y@upper) rectangle (\x@right, \y@lower);% \gtt@pl@draw% - \setcounter{gtt@lastslot}{#4}% + \gdef\gtt@lastslot{#4}% \setcounter{gtt@lastline}{\value{gtt@currentline}}% \global\gtt@intitlefalse% \endgroup% @@ -387,7 +408,7 @@ \newcommand\ganttlinkedbar[4][]{% \begingroup% \ganttset{#1}% - \ganttlink{\value{gtt@lastslot}}{-\value{gtt@lastline}-1}% + \ganttlink{\gtt@lastslot}{-\value{gtt@lastline}-1}% {#3}{-\value{gtt@currentline}-1}% \ganttbar{#2}{#3}{#4}% \endgroup% @@ -398,7 +419,9 @@ \ganttset{#1}% \ifcase\gtt@link@type% \def\x@left{#2+\@gtt@get{bar right shift}}% - \def\x@right{#4-1+\@gtt@get{bar left shift}}% + \def\x@right{% + #4+\@gtt@get{time slot modifier}+\@gtt@get{bar left shift}% + }% \def\y@upper{-#3+1-\@gtt@get{bar top shift}/2-\@gtt@get{bar height}/2}% \def\y@lower{-#5+1-\@gtt@get{bar top shift}/2-\@gtt@get{bar height}/2}% \def\@tempa{m} @@ -416,7 +439,9 @@ \fi \pgfmathparse{#3==#5}% \ifcase\pgfmathresult% - \pgfmathparse{(#4-1)>#2}% + \pgfmathparse{% + (#4+\@gtt@get{time slot modifier}-#2)>=\@gtt@get{link tolerance}% + }% \ifcase\pgfmathresult% \draw[/pgfgantt/link@style] (\x@left, \y@upper) -- @@ -437,7 +462,7 @@ (\x@right, \y@lower);% \fi% \else% - \pgfmathparse{(#4-1)==#2}% + \pgfmathparse{(#4+\@gtt@get{time slot modifier})==#2}% \ifcase\pgfmathresult% \draw[/pgfgantt/link@style] (\x@left, \y@upper) -- (\x@right, \y@lower);% @@ -450,7 +475,9 @@ \else \def\@tempa{s} \ifx\gtt@link@starttype\@tempa - \def\x@left{#2-1+\@gtt@get{bar right shift}}% + \def\x@left{% + #2+\@gtt@get{time slot modifier}+\@gtt@get{bar right shift}% + }% \fi% \fi% \def\@tempa{f}% @@ -459,7 +486,9 @@ \else \def\@tempa{s} \ifx\gtt@link@endtype\@tempa - \def\x@right{#4-1+\@gtt@get{bar left shift}}% + \def\x@right{% + #4+\@gtt@get{time slot modifier}+\@gtt@get{bar left shift}% + }% \fi% \fi% \def\y@upper{-#3+1-\@gtt@get{bar height}}% @@ -481,7 +510,9 @@ \newcommand\ganttgroup[4][]{% \begingroup% \ganttset{#1}% - \def\x@left{#3-1+\@gtt@get{group left shift}}% + \def\x@left{% + #3+\@gtt@get{time slot modifier}+\@gtt@get{group left shift}% + }% \def\x@right{#4+\@gtt@get{group right shift}}% \def\y@upper{\value{gtt@currentline}-\@gtt@get{group top shift}}% \def\y@lower{\value{gtt@currentline}-\@gtt@get{group top shift}% @@ -490,7 +521,7 @@ \ifx\@tempa\@empty\else% \node at ($(0, \y@upper)!.5!(0, \y@lower)$) [/pgfgantt/group label anchor@style] - {\@gtt@get{group label font}{#2}};% + {\@gtt@get{group label font}{\gtt@grouplabeltext{#2}}};% \fi% \def\@tempa{none}% \ifx\gtt@progress\@tempa% @@ -570,7 +601,7 @@ \ifx\@tempa\@empty\else% \node at (0, \y@mid) [/pgfgantt/milestone label anchor@style] - {\@gtt@get{milestone label font}{#2}};% + {\@gtt@get{milestone label font}{\gtt@milestonelabeltext{#2}}};% \fi% \path[/pgfgantt/milestone@style] (\x@mid-\@gtt@get{milestone width}/2, \y@mid) -- @@ -578,7 +609,7 @@ (\x@mid+\@gtt@get{milestone width}/2, \y@mid) -- (\x@mid, \y@mid+\@gtt@get{milestone height}/2) -- cycle;% - \setcounter{gtt@lastslot}{#3}% + \gdef\gtt@lastslot{#3}% \setcounter{gtt@lastline}{\value{gtt@currentline}}% \global\gtt@intitlefalse% \endgroup% @@ -587,7 +618,7 @@ \newcommand\ganttlinkedmilestone[3][]{% \begingroup% \ganttset{b-m,#1}% - \ganttlink{\value{gtt@lastslot}}{-\value{gtt@lastline}-1}% + \ganttlink{\gtt@lastslot}{-\value{gtt@lastline}-1}% {#3}{-\value{gtt@currentline}-1}% \ganttmilestone{#2}{#3}% \endgroup% |