summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/pgf/libraries
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-10-15 22:37:32 +0000
committerKarl Berry <karl@freefriends.org>2006-10-15 22:37:32 +0000
commit237df1eb06d422ff243a05b9a25501ba287681c1 (patch)
tree4cc4f2032474921cb986d1ca63b3cf9a267b480a /Master/texmf-dist/tex/generic/pgf/libraries
parent15e21b5bab66eca251ac48fdc052126505428d4e (diff)
pgf/tikz 1.09 big update (13oct06)
git-svn-id: svn://tug.org/texlive/trunk@2332 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic/pgf/libraries')
-rw-r--r--Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.code.tex46
-rw-r--r--Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryautomata.code.tex189
-rw-r--r--Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarypatterns.code.tex140
-rw-r--r--Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers.code.tex92
-rw-r--r--Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryplotmarks.code.tex14
-rw-r--r--Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryshapes.code.tex300
-rw-r--r--Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarysnakes.code.tex65
-rw-r--r--Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikz3d.code.tex105
-rw-r--r--Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzarrows.code.tex14
-rw-r--r--Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzautomata.code.tex102
-rw-r--r--Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzbackgrounds.code.tex14
-rw-r--r--Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzer.code.tex39
-rw-r--r--Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzmindmap.code.tex320
-rw-r--r--Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzpatterns.code.tex14
-rw-r--r--Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzpetri.code.tex146
-rw-r--r--Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzplothandlers.code.tex14
-rw-r--r--Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzplotmarks.code.tex14
-rw-r--r--Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzshapes.code.tex14
-rw-r--r--Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzsnakes.code.tex14
-rw-r--r--Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikztopaths.code.tex378
-rw-r--r--Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikztrees.code.tex34
21 files changed, 1838 insertions, 230 deletions
diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.code.tex
index e953e2d28b1..a0b9a108d60 100644
--- a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.code.tex
@@ -1,9 +1,13 @@
-\ProvidesPackageRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibraryarrows.code.tex,v 1.2 2005/07/06 15:58:57 tantau Exp $
-
-% Copyright 2005 by Till Tantau <tantau@cs.tu-berlin.de>.
+% Copyright 2006 by Till Tantau
+%
+% This file may be distributed and/or modified
+%
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Public License.
%
-% This program can be redistributed and/or modified under the terms
-% of the GNU Public License, version 2.
+% See the file doc/generic/pgf/licenses/LICENSE for more details.
+
+\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibraryarrows.code.tex,v 1.5 2006/10/11 15:22:26 tantau Exp $
% A square bracket shaped arrow
@@ -703,6 +707,38 @@
\pgfarrowsdeclarereversed{hooks reversed}{hooks reversed}{hooks}{hooks}
+% An arrow that looks like a serif of the computer modern font
+
+\pgfarrowsdeclare{serif cm}{serif cm}
+{
+ \@tempdima=0.4pt%
+ \advance\@tempdima by.45\pgflinewidth%
+ \pgfarrowsleftextend{-.75\@tempdima}
+ \pgfarrowsrightextend{.04\pgflinewidth}
+}
+{
+ \@tempdima=0.4pt%
+ \advance\@tempdima by.45\pgflinewidth%
+ \pgftransformxshift{.04\pgflinewidth}
+ \pgfpathmoveto{\pgfpoint{-.75\@tempdima}{.5\pgflinewidth}}
+ \pgfpathcurveto
+ {\pgfpoint{-.375\@tempdima}{.5\pgflinewidth}}
+ {\pgfpoint{-.375\@tempdima}{.7\pgflinewidth}}
+ {\pgfpoint{-.375\@tempdima}{1.95\@tempdima}}
+ \pgfpathlineto{\pgfpoint{0pt}{1.95\@tempdima}}
+ \pgfpathcurveto
+ {\pgfpoint{-.04\pgflinewidth}{.5\@tempdima}}
+ {\pgfpoint{-.04\pgflinewidth}{-.5\@tempdima}}
+ {\pgfpoint{0pt}{-1.95\@tempdima}}
+ \pgfpathlineto{\pgfpoint{-.375\@tempdima}{-1.95\@tempdima}}
+ \pgfpathcurveto
+ {\pgfpoint{-.375\@tempdima}{-.7\pgflinewidth}}
+ {\pgfpoint{-.375\@tempdima}{-.5\pgflinewidth}}
+ {\pgfpoint{-.75\@tempdima}{-.5\pgflinewidth}}
+ \pgfpathclose
+ \pgfusepathqfill
+}
+
% Round cap
diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryautomata.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryautomata.code.tex
deleted file mode 100644
index be801d0a7df..00000000000
--- a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryautomata.code.tex
+++ /dev/null
@@ -1,189 +0,0 @@
-\ProvidesPackageRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibraryautomata.code.tex,v 1.1 2005/10/13 10:12:31 tantau Exp $
-
-% Copyright 2005 by Till Tantau <tantau@cs.tu-berlin.de>.
-%
-% This program can be redistributed and/or modified under the terms
-% of the GNU Public License, version 2.
-
-\newbox\pgfnodepartoutputbox
-
-
-
-%
-% Node for states without output. This is just an alias for a circle
-% node.
-%
-\pgfdeclareshape{state}
-{
- \inheritsavedanchors[from=circle] % this is a circle
- \inheritanchorborder[from=circle]
- \inheritanchor[from=circle]{north}
- \inheritanchor[from=circle]{north west}
- \inheritanchor[from=circle]{north east}
- \inheritanchor[from=circle]{center}
- \inheritanchor[from=circle]{west}
- \inheritanchor[from=circle]{east}
- \inheritanchor[from=circle]{mid}
- \inheritanchor[from=circle]{mid west}
- \inheritanchor[from=circle]{mid east}
- \inheritanchor[from=circle]{base}
- \inheritanchor[from=circle]{base west}
- \inheritanchor[from=circle]{base east}
- \inheritanchor[from=circle]{south}
- \inheritanchor[from=circle]{south west}
- \inheritanchor[from=circle]{south east}
- \inheritbackgroundpath[from=circle]
-}
-
-
-%
-% Moore state node (a state with output).
-%
-% This node consists of two parts: The main part is the state
-% name. The second part is the (optional) state output. This output is
-% shown in the lower half of the node.
-%
-% Parts: text (=state name), output
-
-\pgfdeclareshape{state with output}
-{
- %
- % Node parts
- %
- \nodeparts{text,output}
-
- %
- % Anchors
- %
- \savedanchor\centerpoint{%
- \pgf@x=.5\wd\pgfnodeparttextbox%
- \setlength{\pgf@y}{\pgfshapeinnerysep}%
- \pgf@y=-\pgf@y%
- \advance\pgf@y by-\dp\pgfnodeparttextbox%
- \advance\pgf@y by-.5\pgflinewidth%
- }%
- \savedanchor\outputanchor{%
- \pgf@x=-.5\wd\pgfnodepartoutputbox%
- \advance\pgf@x by.5\wd\pgfnodeparttextbox%
- \setlength{\pgf@y}{\pgfshapeinnerysep}%
- \pgf@y=-2\pgf@y%
- \advance\pgf@y by-\ht\pgfnodepartoutputbox%
- \advance\pgf@y by-.5\pgflinewidth%
- \advance\pgf@y by-\dp\pgfnodeparttextbox%
- \advance\pgf@y by-.5\pgflinewidth%
- }
-
- \saveddimen\radius{%
- %
- % Caculate ``height radius''
- %
- \pgf@ya=.5\ht\pgfnodeparttextbox%
- \advance\pgf@ya by.5\dp\pgfnodeparttextbox%
- \advance\pgf@ya by.5\ht\pgfnodepartoutputbox%
- \advance\pgf@ya by.5\dp\pgfnodepartoutputbox%
- \advance\pgf@ya by.5\pgflinewidth%
- \setlength\pgf@yb{\pgfshapeinnerysep}%
- \advance\pgf@ya by2\pgf@yb%
- %
- % Caculate ``width radius''
- %
- \pgf@xa=.5\wd\pgfnodeparttextbox%
- \ifdim\pgf@xa<.5\wd\pgfnodepartoutputbox%
- \pgf@xa=.5\wd\pgfnodepartoutputbox%
- \fi%
- \setlength\pgf@xb{\pgfshapeinnerxsep}%
- \advance\pgf@xa by\pgf@xb%
- %
- % Calculate length of radius vector:
- %
- \pgf@process{\pgfpointnormalised{\pgfpoint{\pgf@xa}{\pgf@ya}}}%
- \ifdim\pgf@x>\pgf@y%
- \c@pgf@counta=\pgf@x%
- \ifnum\c@pgf@counta=0\relax%
- \else%
- \divide\c@pgf@counta by 255\relax%
- \pgf@xa=16\pgf@xa\relax%
- \divide\pgf@xa by\c@pgf@counta%
- \pgf@xa=16\pgf@xa\relax%
- \fi%
- \else%
- \c@pgf@counta=\pgf@y%
- \ifnum\c@pgf@counta=0\relax%
- \else%
- \divide\c@pgf@counta by 255\relax%
- \pgf@ya=16\pgf@ya\relax%
- \divide\pgf@ya by\c@pgf@counta%
- \pgf@xa=16\pgf@ya\relax%
- \fi%
- \fi%
- \pgf@x=\pgf@xa%
- %
- % If necessary, adjust radius so that the size requirements are
- % met:
- %
- \setlength{\pgf@xb}{\pgfshapeminwidth}%
- \setlength{\pgf@yb}{\pgfshapeminheight}%
- \ifdim\pgf@x<.5\pgf@xb%
- \pgf@x=.5\pgf@xb%
- \fi%
- \ifdim\pgf@x<.5\pgf@yb%
- \pgf@x=.5\pgf@yb%
- \fi%
- %
- % Now, add larger of outer sepearations.
- %
- \setlength{\pgf@xb}{\pgfshapeouterxsep}%
- \setlength{\pgf@yb}{\pgfshapeouterysep}%
- \ifdim\pgf@xb<\pgf@yb%
- \advance\pgf@x by\pgf@yb%
- \else%
- \advance\pgf@x by\pgf@xb%
- \fi%
- }
-
- %
- % Anchors
- %
- \inheritanchorborder[from=circle]
- \inheritanchor[from=circle]{north}
- \inheritanchor[from=circle]{north west}
- \inheritanchor[from=circle]{north east}
- \inheritanchor[from=circle]{center}
- \inheritanchor[from=circle]{west}
- \inheritanchor[from=circle]{east}
- \inheritanchor[from=circle]{mid}
- \inheritanchor[from=circle]{mid west}
- \inheritanchor[from=circle]{mid east}
- \inheritanchor[from=circle]{base}
- \inheritanchor[from=circle]{base west}
- \inheritanchor[from=circle]{base east}
- \inheritanchor[from=circle]{south}
- \inheritanchor[from=circle]{south west}
- \inheritanchor[from=circle]{south east}
- \anchor{output}{\outputanchor}
-
- %
- % Background path
- %
- \inheritbackgroundpath[from=circle]
- \beforebackgroundpath{
- \@tempdima=\radius%
- \setlength{\pgf@xb}{\pgfshapeouterxsep}%
- \setlength{\pgf@yb}{\pgfshapeouterysep}%
- \ifdim\pgf@xb<\pgf@yb%
- \advance\@tempdima by-\pgf@yb%
- \else%
- \advance\@tempdima by-\pgf@xb%
- \fi%
- \advance\@tempdima by-.5\pgflinewidth%
- \pgfsetarrows{-}%
- \pgfpathmoveto{\pgfpointadd{\centerpoint}{\pgfpoint{-\@tempdima}{0pt}}}%
- \pgfpathlineto{\pgfpointadd{\centerpoint}{\pgfpoint{\@tempdima}{0pt}}}%
- \pgfusepath{stroke}%
- }
-}
-
-
-
-
-\endinput
diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarypatterns.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarypatterns.code.tex
new file mode 100644
index 00000000000..aebb9fb5ce6
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarypatterns.code.tex
@@ -0,0 +1,140 @@
+% Copyright 2006 by Till Tantau
+%
+% This file may be distributed and/or modified
+%
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Public License.
+%
+% See the file doc/generic/pgf/licenses/LICENSE for more details.
+
+\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibrarypatterns.code.tex,v 1.7 2006/10/11 15:22:26 tantau Exp $
+
+
+% Lines in different directions
+
+\pgfdeclarepatternformonly{horizontal lines}{\pgfpointorigin}{\pgfpoint{100pt}{1pt}}{\pgfpoint{100pt}{3pt}}%
+{
+ \pgfsetlinewidth{0.4pt}
+ \pgfpathmoveto{\pgfpoint{0pt}{0.5pt}}
+ \pgfpathlineto{\pgfpoint{100pt}{0.5pt}}
+ \pgfusepath{stroke}
+}
+
+\pgfdeclarepatternformonly{vertical lines}{\pgfpointorigin}{\pgfpoint{1pt}{100pt}}{\pgfpoint{3pt}{100pt}}%
+{
+ \pgfsetlinewidth{0.4pt}
+ \pgfpathmoveto{\pgfpoint{0.5pt}{0pt}}
+ \pgfpathlineto{\pgfpoint{0.5pt}{100pt}}
+ \pgfusepath{stroke}
+}
+
+\pgfdeclarepatternformonly{north east lines}{\pgfpoint{-1pt}{-1pt}}{\pgfpoint{4pt}{4pt}}{\pgfpoint{3pt}{3pt}}%
+{
+ \pgfsetlinewidth{0.4pt}
+ \pgfpathmoveto{\pgfpoint{0pt}{0pt}}
+ \pgfpathlineto{\pgfpoint{3.1pt}{3.1pt}}
+ \pgfusepath{stroke}
+}
+
+\pgfdeclarepatternformonly{north west lines}{\pgfpoint{-1pt}{-1pt}}{\pgfpoint{4pt}{4pt}}{\pgfpoint{3pt}{3pt}}%
+{
+ \pgfsetlinewidth{0.4pt}
+ \pgfpathmoveto{\pgfpoint{0pt}{3pt}}
+ \pgfpathlineto{\pgfpoint{3.1pt}{-0.1pt}}
+ \pgfusepath{stroke}
+}
+
+% Crossed lines in different directions
+
+\pgfdeclarepatternformonly{grid}{\pgfpoint{-1pt}{-1pt}}{\pgfpoint{4pt}{4pt}}{\pgfpoint{3pt}{3pt}}%
+{
+ \pgfsetlinewidth{0.4pt}
+ \pgfpathmoveto{\pgfpoint{0pt}{0pt}}
+ \pgfpathlineto{\pgfpoint{0pt}{3.1pt}}
+ \pgfpathmoveto{\pgfpoint{0pt}{0pt}}
+ \pgfpathlineto{\pgfpoint{3.1pt}{0pt}}
+ \pgfusepath{stroke}
+}
+
+\pgfdeclarepatternformonly{crosshatch}{\pgfpoint{-1pt}{-1pt}}{\pgfpoint{4pt}{4pt}}{\pgfpoint{3pt}{3pt}}%
+{
+ \pgfsetlinewidth{0.4pt}
+ \pgfpathmoveto{\pgfpoint{3.1pt}{0pt}}
+ \pgfpathlineto{\pgfpoint{0pt}{3.1pt}}
+ \pgfpathmoveto{\pgfpoint{0pt}{0pt}}
+ \pgfpathlineto{\pgfpoint{3.1pt}{3.1pt}}
+ \pgfusepath{stroke}
+}
+
+
+% Dotted regions
+
+\pgfdeclarepatternformonly{dots}{\pgfpoint{-1pt}{-1pt}}{\pgfpoint{1pt}{1pt}}{\pgfpoint{3pt}{3pt}}%
+{
+ \pgfpathcircle{\pgfpoint{0pt}{0pt}}{.5pt}
+ \pgfusepath{fill}
+}
+
+\pgfdeclarepatternformonly{crosshatch dots}{\pgfpoint{-1pt}{-1pt}}{\pgfpoint{2.5pt}{2.5pt}}{\pgfpoint{3pt}{3pt}}%
+{
+ \pgfpathcircle{\pgfpoint{0pt}{0pt}}{.5pt}
+ \pgfpathcircle{\pgfpoint{1.5pt}{1.5pt}}{.5pt}
+ \pgfusepath{fill}
+}
+
+
+
+
+% Star shaped patterns
+
+\pgfdeclarepatternformonly{fivepointed stars}{\pgfpointorigin}{\pgfpoint{3mm}{3mm}}{\pgfpoint{3mm}{3mm}}%
+{
+ \pgftransformshift{\pgfpoint{1mm}{1mm}}
+ \pgfpathmoveto{\pgfpointpolar{18}{1mm}}
+ \pgfpathlineto{\pgfpointpolar{162}{1mm}}
+ \pgfpathlineto{\pgfpointpolar{306}{1mm}}
+ \pgfpathlineto{\pgfpointpolar{90}{1mm}}
+ \pgfpathlineto{\pgfpointpolar{234}{1mm}}
+ \pgfpathclose%
+ \pgfusepath{fill}
+}
+
+\pgfdeclarepatternformonly{sixpointed stars}{\pgfpointorigin}{\pgfpoint{3mm}{3mm}}{\pgfpoint{3mm}{3mm}}%
+{
+ \pgftransformshift{\pgfpoint{1mm}{1mm}}
+ \pgfpathmoveto{\pgfpointpolar{30}{1mm}}
+ \pgfpathlineto{\pgfpointpolar{150}{1mm}}
+ \pgfpathlineto{\pgfpointpolar{270}{1mm}}
+ \pgfpathclose%
+ \pgfpathmoveto{\pgfpointpolar{-30}{1mm}}
+ \pgfpathlineto{\pgfpointpolar{-270}{1mm}}
+ \pgfpathlineto{\pgfpointpolar{-150}{1mm}}
+ \pgfpathclose%
+ \pgfsetnonzerorule
+ \pgfusepath{fill}
+}
+
+
+
+% Bricks
+
+\pgfdeclarepatternformonly{bricks}{\pgfpoint{-1pt}{-1pt}}{\pgfpoint{5mm}{5mm}}{\pgfpoint{4mm}{4mm}}%
+{
+ \pgfsetlinewidth{0.8pt}
+ \pgfpathmoveto{\pgfpoint{0mm}{1mm}}
+ \pgfpathlineto{\pgfpoint{4mm}{1mm}}
+ \pgfpathmoveto{\pgfpoint{0mm}{3mm}}
+ \pgfpathlineto{\pgfpoint{4mm}{3mm}}
+ \pgfpathmoveto{\pgfpoint{1mm}{0mm}}
+ \pgfpathlineto{\pgfpoint{1mm}{1mm}}
+ \pgfpathmoveto{\pgfpoint{3mm}{1mm}}
+ \pgfpathlineto{\pgfpoint{3mm}{3mm}}
+ \pgfpathmoveto{\pgfpoint{1mm}{3mm}}
+ \pgfpathlineto{\pgfpoint{1mm}{4mm}}
+ \pgfusepath{stroke}
+}
+
+
+
+
+\endinput
diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers.code.tex
index 7bbaa4b24bb..afd5f3509b4 100644
--- a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers.code.tex
@@ -1,10 +1,13 @@
-\ProvidesPackageRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibraryplothandlers.code.tex,v 1.3 2005/07/06 15:58:57 tantau Exp $
-
-% Copyright 2005 by Till Tantau <tantau@cs.tu-berlin.de>.
+% Copyright 2006 by Till Tantau
+%
+% This file may be distributed and/or modified
+%
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Public License.
%
-% This program can be redistributed and/or modified under the terms
-% of the GNU Public License, version 2.
+% See the file doc/generic/pgf/licenses/LICENSE for more details.
+\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibraryplothandlers.code.tex,v 1.7 2006/10/11 15:22:26 tantau Exp $
\newif\ifpgf@plot@started
@@ -23,7 +26,7 @@
\def\pgfplothandlercurveto{%
\def\pgf@plotstreamstart{%
\global\let\pgf@plotstreampoint=\pgf@plot@curveto@handler@initial%
- \global\let\pgf@plotstreamspecial=\@gobble%
+ \global\let\pgf@plotstreamspecial=\pgf@gobble%
\global\let\pgf@plotstreamend=\pgf@plot@curveto@handler@finish%
\global\pgf@plot@startedfalse%
}%
@@ -113,7 +116,7 @@
\def\pgfplothandlerclosedcurve{%
\def\pgf@plotstreamstart{%
\global\let\pgf@plotstreampoint=\pgf@plot@closedcurve@handler@initial%
- \global\let\pgf@plotstreamspecial=\@gobble%
+ \global\let\pgf@plotstreamspecial=\pgf@gobble%
\global\let\pgf@plotstreamend=\pgf@plot@closedcurve@handler@finish%
}%
}
@@ -276,7 +279,7 @@
\def\pgfplothandlerxcomb{%
\def\pgf@plotstreamstart{%
\global\let\pgf@plotstreampoint=\pgf@plot@xcomb@handler%
- \global\let\pgf@plotstreamspecial=\@gobble%
+ \global\let\pgf@plotstreamspecial=\pgf@gobble%
\global\let\pgf@plotstreamend=\relax%
}%
}
@@ -302,7 +305,7 @@
\def\pgfplothandlerycomb{%
\def\pgf@plotstreamstart{%
\global\let\pgf@plotstreampoint=\pgf@plot@ycomb@handler%
- \global\let\pgf@plotstreamspecial=\@gobble%
+ \global\let\pgf@plotstreamspecial=\pgf@gobble%
\global\let\pgf@plotstreamend=\relax%
}%
}
@@ -331,7 +334,7 @@
\def\pgfplothandlerpolarcomb{%
\def\pgf@plotstreamstart{%
\global\let\pgf@plotstreampoint=\pgf@plot@polarcomb@handler%
- \global\let\pgf@plotstreamspecial=\@gobble%
+ \global\let\pgf@plotstreamspecial=\pgf@gobble%
\global\let\pgf@plotstreamend=\relax%
}%
}
@@ -359,19 +362,86 @@
% \pgfplotxyfile{mytable}
\def\pgfplothandlermark#1{%
+ \pgf@plothandlermark{%
+ \ifnum\pgf@plot@mark@count<\pgf@plot@mark@repeat\relax%
+ \else%
+ \global\pgf@plot@mark@count=0\relax%
+ #1%
+ \fi%
+ }%
+}
+
+\newcount\pgf@plot@mark@count
+\def\pgf@plot@mark@phase{0}
+
+\def\pgf@plothandlermark#1{%
\def\pgf@plot@mark{#1}%
\def\pgf@plotstreamstart{%
+ \global\pgf@plot@mark@count=\pgf@plot@mark@repeat\relax%
+ \global\advance\pgf@plot@mark@count by-\pgf@plot@mark@phase\relax%
\global\let\pgf@plotstreampoint=\pgf@plot@mark@handler%
- \global\let\pgf@plotstreamspecial=\@gobble%
+ \global\let\pgf@plotstreamspecial=\pgf@gobble%
\global\let\pgf@plotstreamend=\relax%
}%
}
\def\pgf@plot@mark@handler#1{%
+ \global\advance\pgf@plot@mark@count by1\relax%
{\pgftransformshift{#1}\pgf@plot@mark}%
}
+% Set the repeat count for marks. For example, if 3 is given as a
+% value, only every third point will get a mark.
+%
+% #1 = repeat count
+%
+% Example:
+%
+% \pgfsetplotmarkrepeat{2}
+
+\def\pgfsetplotmarkrepeat#1{\def\pgf@plot@mark@repeat{#1}}
+\pgfsetplotmarkrepeat{1}
+
+
+% Set the phase for marks. For example, if 3 is the repeat and 3 is
+% the phase, already the first point will be marked.
+%
+% #1 = the index of the first point that should be marked.
+%
+% Example:
+%
+% \pgfsetplotmarkphase{3}
+
+\def\pgfsetplotmarkphase#1{\def\pgf@plot@mark@phase{#1}}
+\pgfsetplotmarkphase{1}
+
+
+
+% This handler draws a given mark at those points whose number is
+% given in the (pgffor-like) list.
+%
+% #1 = some code to be executed at each point (with the coordinate
+% system translated to that point).
+% Typically, this code will be \pgfuseplotmark{whatever}.
+% #2 = list of positions like "1,2,4,...,9,10"
+%
+% Example:
+%
+% \pgfplothandlermarklisted{\pgfuseplotmark{*}}{1,2,4,...,9}
+% \pgfplotxyfile{mytable}
+
+\def\pgfplothandlermarklisted#1#2{%
+ \let\pgf@plot@mark@list=\pgf@empty%
+ \edef\pgf@marshal{\noexpand\foreach\noexpand\pgf@temp in{#2}}
+ \pgf@marshal{\xdef\pgf@plot@mark@list{\pgf@plot@mark@list(\pgf@temp)}}%
+ \pgf@plothandlermark{%
+ \edef\pgf@marshal{\noexpand\in@{(\the\pgf@plot@mark@count)}{\pgf@plot@mark@list}}%
+ \pgf@marshal%
+ \ifin@#1\fi}%
+}
+
+
% Define a new plot mark for use with \pgfplotmark.
%
% #1 = a plot mark mnemonic
diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryplotmarks.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryplotmarks.code.tex
index 760998738b4..a821e6f65cf 100644
--- a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryplotmarks.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryplotmarks.code.tex
@@ -1,9 +1,13 @@
-\ProvidesPackageRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibraryplotmarks.code.tex,v 1.2 2005/07/06 15:58:57 tantau Exp $
-
-% Copyright 2005 by Till Tantau <tantau@cs.tu-berlin.de>.
+% Copyright 2006 by Till Tantau
+%
+% This file may be distributed and/or modified
%
-% This program can be redistributed and/or modified under the terms
-% of the GNU Public License, version 2.
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Public License.
+%
+% See the file doc/generic/pgf/licenses/LICENSE for more details.
+
+\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibraryplotmarks.code.tex,v 1.4 2006/10/11 15:22:26 tantau Exp $
% A stroked circle mark
diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryshapes.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryshapes.code.tex
index 2c777ef5504..a6965b60e3b 100644
--- a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryshapes.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryshapes.code.tex
@@ -1,10 +1,13 @@
-\ProvidesPackageRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibraryshapes.code.tex,v 1.5 2005/10/13 10:12:31 tantau Exp $
-
-% Copyright 2005 by Till Tantau <tantau@cs.tu-berlin.de>.
+% Copyright 2006 by Till Tantau
+%
+% This file may be distributed and/or modified
%
-% This program can be redistributed and/or modified under the terms
-% of the GNU Public License, version 2.
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Public License.
+%
+% See the file doc/generic/pgf/licenses/LICENSE for more details.
+\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibraryshapes.code.tex,v 1.9 2006/10/11 15:22:26 tantau Exp $
\pgfdeclareshape{ellipse}
%
@@ -191,6 +194,293 @@
}
+
+
+% Set the recommended shape aspect ratio
+%
+% #1 = aspect ratio
+%
+% Example:
+%
+% \pgfsetshapeminwidth{1.5}
+
+\def\pgfsetshapeaspect#1{%
+ \def\pgfshapeaspect{#1}%
+ % Invert
+ \@tempdima=#1pt%
+ \@tempdima=.125\@tempdima%
+ \c@pgf@counta=\@tempdima\relax% 8192*determinant
+ \@tempdima=8192pt%
+ \divide\@tempdima by\c@pgf@counta%
+ \edef\pgfshapeaspectinverse{\pgf@sys@tonumber{\@tempdima}}
+}
+\pgfsetshapeaspect{1}
+
+
+
+\pgfdeclareshape{diamond}
+{
+ \savedanchor\outernortheast{%
+ %
+ % Calculate width and height of the inner rectangle
+ %
+ \pgf@xa=.5\wd\pgfnodeparttextbox%
+ \setlength\pgf@xc{\pgfshapeinnerxsep}%
+ \advance\pgf@xa by\pgf@xc%
+ \pgf@ya=.5\ht\pgfnodeparttextbox%
+ \advance\pgf@ya by.5\dp\pgfnodeparttextbox%
+ \setlength\pgf@yc{\pgfshapeinnerysep}%
+ \advance\pgf@ya by\pgf@yc%
+ %
+ % Calculate width and height of diamond
+ %
+ \pgf@x=\pgf@xa%
+ \advance\pgf@x by\pgfshapeaspect\pgf@ya%
+ \pgf@y=\pgfshapeaspectinverse\pgf@xa%
+ \advance\pgf@y by\pgf@ya%
+ %
+ % Check against minimum height/width
+ %
+ \setlength\pgf@xb{\pgfshapeminwidth}%
+ \ifdim\pgf@x<\pgf@xb%
+ % yes, too small. Enlarge...
+ \pgf@x=\pgf@xb%
+ \fi%
+ \setlength\pgf@yb{\pgfshapeminheight}%
+ \ifdim\pgf@y<\pgf@yb%
+ % yes, too small. Enlarge...
+ \pgf@y=\pgf@yb%
+ \fi%
+ %
+ % Add outer border
+ %
+ \setlength\pgf@xa{\pgfshapeouterxsep}%
+ \advance\pgf@x by\pgf@xa%
+ \setlength\pgf@ya{\pgfshapeouterysep}%
+ \advance\pgf@y by\pgf@ya%
+ }
+ \savedanchor\text{%
+ \pgf@x=-.5\wd\pgfnodeparttextbox%
+ \pgf@y=-.5\ht\pgfnodeparttextbox%
+ \advance\pgf@y by.5\dp\pgfnodeparttextbox%
+ }
+
+ %
+ % Anchors
+ %
+ \anchor{text}{\text}%
+ \anchor{center}{\pgfpointorigin}%
+ \anchor{mid}{%
+ \pgf@process{\text}%
+ \pgf@x=0pt%
+ \setlength\pgf@ya{.5ex}
+ \advance\pgf@y by\pgf@ya%
+ }
+ \anchor{base}{\pgf@process{\text}\pgf@x=0pt }
+ \anchor{north}{\pgf@process{\outernortheast}\pgf@x=0pt}
+ \anchor{south}{\pgf@process{\outernortheast}\pgf@x=0pt\pgf@y=-\pgf@y}
+ \anchor{west}{\pgf@process{\outernortheast}\pgf@x=-\pgf@x\pgf@y=0pt}
+ \anchor{north west}{\pgf@process{\outernortheast}\pgf@x=-.5\pgf@x\pgf@y=.5\pgf@y}
+ \anchor{south west}{\pgf@process{\outernortheast}\pgf@x=-.5\pgf@x\pgf@y=-.5\pgf@y}
+ \anchor{east}{\pgf@process{\outernortheast}\pgf@y=0pt}
+ \anchor{north east}{\pgf@process{\outernortheast}\pgf@x=.5\pgf@x\pgf@y=.5\pgf@y}
+ \anchor{south east}{\pgf@process{\outernortheast}\pgf@x=.5\pgf@x\pgf@y=-.5\pgf@y}
+ \anchorborder{%
+ \pgf@xa=\pgf@x%
+ \pgf@ya=\pgf@y%
+ \pgf@process{\outernortheast}%
+ \ifdim\pgf@xa>0pt%
+ \else%
+ \pgf@x=-\pgf@x%
+ \fi%
+ \ifdim\pgf@ya>0pt%
+ \else%
+ \pgf@y=-\pgf@y%
+ \fi%
+ \edef\pgf@marshal{%
+ \noexpand\pgfpointintersectionoflines
+ {\noexpand\pgfpointorigin}
+ {\noexpand\pgfpoint{\the\pgf@xa}{\the\pgf@ya}}
+ {\noexpand\pgfpoint{\the\pgf@x}{0pt}}
+ {\noexpand\pgfpoint{0pt}{\the\pgf@y}}%
+ }%
+ \pgf@process{\pgf@marshal}%
+ }
+
+ %
+ % Background path
+ %
+ \backgroundpath{
+ \pgf@process{\outernortheast}%
+ \pgf@xc=\pgf@x%
+ \pgf@yc=\pgf@y%
+ \setlength{\pgf@xa}{\pgfshapeouterxsep}%
+ \setlength{\pgf@ya}{\pgfshapeouterysep}%
+ \advance\pgf@xc by-1.414213\pgf@xa%
+ \advance\pgf@yc by-1.414213\pgf@ya%
+ \pgfpathmoveto{\pgfpoint{\pgf@xc}{0pt}}%
+ \pgfpathlineto{\pgfpoint{0pt}{\pgf@yc}}%
+ \pgfpathlineto{\pgfpoint{-\pgf@xc}{0pt}}%
+ \pgfpathlineto{\pgfpoint{0pt}{-\pgf@yc}}%
+ \pgfpathclose%
+ }
+}
+
+
+
+\newbox\pgfnodepartlowerbox
+
+%
+% A circle that is split in the middle into an upper and a lower part.
+%
+% This node consists of two parts: The upper (main) part is shown in
+% the upper half of the circle. The second part is the (optional)
+% lower part.
+%
+% Parts: text, lower
+
+\pgfdeclareshape{circle split}
+{
+ %
+ % Node parts
+ %
+ \nodeparts{text,lower}
+
+ %
+ % Anchors
+ %
+ \savedanchor\centerpoint{%
+ \pgf@x=.5\wd\pgfnodeparttextbox%
+ \setlength{\pgf@y}{\pgfshapeinnerysep}%
+ \pgf@y=-\pgf@y%
+ \advance\pgf@y by-\dp\pgfnodeparttextbox%
+ \advance\pgf@y by-.5\pgflinewidth%
+ }%
+ \savedanchor\loweranchor{%
+ \pgf@x=-.5\wd\pgfnodepartlowerbox%
+ \advance\pgf@x by.5\wd\pgfnodeparttextbox%
+ \setlength{\pgf@y}{\pgfshapeinnerysep}%
+ \pgf@y=-2\pgf@y%
+ \advance\pgf@y by-\ht\pgfnodepartlowerbox%
+ \advance\pgf@y by-.5\pgflinewidth%
+ \advance\pgf@y by-\dp\pgfnodeparttextbox%
+ \advance\pgf@y by-.5\pgflinewidth%
+ }
+
+ \saveddimen\radius{%
+ %
+ % Caculate ``height radius''
+ %
+ \pgf@ya=.5\ht\pgfnodeparttextbox%
+ \advance\pgf@ya by.5\dp\pgfnodeparttextbox%
+ \advance\pgf@ya by.5\ht\pgfnodepartlowerbox%
+ \advance\pgf@ya by.5\dp\pgfnodepartlowerbox%
+ \advance\pgf@ya by.5\pgflinewidth%
+ \setlength\pgf@yb{\pgfshapeinnerysep}%
+ \advance\pgf@ya by2\pgf@yb%
+ %
+ % Caculate ``width radius''
+ %
+ \pgf@xa=.5\wd\pgfnodeparttextbox%
+ \ifdim\pgf@xa<.5\wd\pgfnodepartlowerbox%
+ \pgf@xa=.5\wd\pgfnodepartlowerbox%
+ \fi%
+ \setlength\pgf@xb{\pgfshapeinnerxsep}%
+ \advance\pgf@xa by\pgf@xb%
+ %
+ % Calculate length of radius vector:
+ %
+ \pgf@process{\pgfpointnormalised{\pgfpoint{\pgf@xa}{\pgf@ya}}}%
+ \ifdim\pgf@x>\pgf@y%
+ \c@pgf@counta=\pgf@x%
+ \ifnum\c@pgf@counta=0\relax%
+ \else%
+ \divide\c@pgf@counta by 255\relax%
+ \pgf@xa=16\pgf@xa\relax%
+ \divide\pgf@xa by\c@pgf@counta%
+ \pgf@xa=16\pgf@xa\relax%
+ \fi%
+ \else%
+ \c@pgf@counta=\pgf@y%
+ \ifnum\c@pgf@counta=0\relax%
+ \else%
+ \divide\c@pgf@counta by 255\relax%
+ \pgf@ya=16\pgf@ya\relax%
+ \divide\pgf@ya by\c@pgf@counta%
+ \pgf@xa=16\pgf@ya\relax%
+ \fi%
+ \fi%
+ \pgf@x=\pgf@xa%
+ %
+ % If necessary, adjust radius so that the size requirements are
+ % met:
+ %
+ \setlength{\pgf@xb}{\pgfshapeminwidth}%
+ \setlength{\pgf@yb}{\pgfshapeminheight}%
+ \ifdim\pgf@x<.5\pgf@xb%
+ \pgf@x=.5\pgf@xb%
+ \fi%
+ \ifdim\pgf@x<.5\pgf@yb%
+ \pgf@x=.5\pgf@yb%
+ \fi%
+ %
+ % Now, add larger of outer sepearations.
+ %
+ \setlength{\pgf@xb}{\pgfshapeouterxsep}%
+ \setlength{\pgf@yb}{\pgfshapeouterysep}%
+ \ifdim\pgf@xb<\pgf@yb%
+ \advance\pgf@x by\pgf@yb%
+ \else%
+ \advance\pgf@x by\pgf@xb%
+ \fi%
+ }
+
+ %
+ % Anchors
+ %
+ \inheritanchorborder[from=circle]
+ \inheritanchor[from=circle]{north}
+ \inheritanchor[from=circle]{north west}
+ \inheritanchor[from=circle]{north east}
+ \inheritanchor[from=circle]{center}
+ \inheritanchor[from=circle]{west}
+ \inheritanchor[from=circle]{east}
+ \inheritanchor[from=circle]{mid}
+ \inheritanchor[from=circle]{mid west}
+ \inheritanchor[from=circle]{mid east}
+ \inheritanchor[from=circle]{base}
+ \inheritanchor[from=circle]{base west}
+ \inheritanchor[from=circle]{base east}
+ \inheritanchor[from=circle]{south}
+ \inheritanchor[from=circle]{south west}
+ \inheritanchor[from=circle]{south east}
+ \anchor{lower}{\loweranchor}
+
+ %
+ % Background path
+ %
+ \inheritbackgroundpath[from=circle]
+ \beforebackgroundpath{
+ \@tempdima=\radius%
+ \setlength{\pgf@xb}{\pgfshapeouterxsep}%
+ \setlength{\pgf@yb}{\pgfshapeouterysep}%
+ \ifdim\pgf@xb<\pgf@yb%
+ \advance\@tempdima by-\pgf@yb%
+ \else%
+ \advance\@tempdima by-\pgf@xb%
+ \fi%
+ \advance\@tempdima by-.5\pgflinewidth%
+ \pgfsetshortenstart{0pt}%
+ \pgfsetshortenend{0pt}%
+ \pgfsetarrows{-}%
+ \pgfpathmoveto{\pgfpointadd{\centerpoint}{\pgfpoint{-\@tempdima}{0pt}}}%
+ \pgfpathlineto{\pgfpointadd{\centerpoint}{\pgfpoint{\@tempdima}{0pt}}}%
+ \pgfusepath{stroke}%
+ }
+}
+
+
+
\pgfdeclareshape{cross out}
{
\inheritsavedanchors[from=rectangle] % this is nearly a rectangle
diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarysnakes.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarysnakes.code.tex
index 3440477499e..f9795dc4a99 100644
--- a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarysnakes.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarysnakes.code.tex
@@ -1,9 +1,13 @@
-\ProvidesPackageRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibrarysnakes.code.tex,v 1.9 2005/10/13 10:12:31 tantau Exp $
-
-% Copyright 2005 by Till Tantau <tantau@cs.tu-berlin.de>.
+% Copyright 2006 by Till Tantau
+%
+% This file may be distributed and/or modified
+%
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Public License.
%
-% This program can be redistributed and/or modified under the terms
-% of the GNU Public License, version 2.
+% See the file doc/generic/pgf/licenses/LICENSE for more details.
+
+\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibrarysnakes.code.tex,v 1.14 2006/10/11 15:22:26 tantau Exp $
\newdimen\pgfsnakesegmentamplitude
@@ -280,6 +284,35 @@
+% crosses snakes
+%
+% Parameters: \pgfsnakesegmentlength, \pgfsnakeobjectsize, \pgfsnakesegmentamplitude
+
+\pgfdeclaresnake{crosses}{crosses}
+{
+ \state{crosses}[switch if less than=\pgfsnakesegmentlength to last,
+ width=\pgfsnakesegmentlength]
+ {
+ \pgfpathmoveto{\pgfpoint{0pt}{\pgfsnakesegmentamplitude}}
+ \pgfpathlineto{\pgfpoint{\pgfsnakesegmentobjectlength}{-\pgfsnakesegmentamplitude}}
+ \pgfpathmoveto{\pgfpoint{0pt}{-\pgfsnakesegmentamplitude}}
+ \pgfpathlineto{\pgfpoint{\pgfsnakesegmentobjectlength}{\pgfsnakesegmentamplitude}}
+ }
+ \state{last}[width=\pgfsnakesegmentobjectlength,next state=final]
+ {
+ \pgfpathmoveto{\pgfpoint{0pt}{\pgfsnakesegmentamplitude}}
+ \pgfpathlineto{\pgfpoint{\pgfsnakesegmentobjectlength}{-\pgfsnakesegmentamplitude}}
+ \pgfpathmoveto{\pgfpoint{0pt}{-\pgfsnakesegmentamplitude}}
+ \pgfpathlineto{\pgfpoint{\pgfsnakesegmentobjectlength}{\pgfsnakesegmentamplitude}}
+ }
+ \state{final}
+ {
+ \pgfpathmoveto{\pgfpoint{\pgfsnakeremainingdistance}{0pt}}
+ }
+}
+
+
+
% ticks snakes
%
% Parameters: \pgfsnakesegmentlength, \pgfsnakesegmentamplitude
@@ -366,4 +399,26 @@
+% bent snake
+%
+% A snake that looks like someone bent the line a bit.
+%
+% Parameters: \pgfsnakesegmentamplitude, \pgfsnakesegmentaspect
+
+\pgfdeclaresnake{bent}{bent}
+{
+ \state{bent}[width=\pgfsnakeremainingdistance,next state=final]
+ {
+ \pgfpathcurveto
+ {\pgfpoint{\pgfsnakesegmentaspect\pgfsnakeremainingdistance}{\pgfsnakesegmentamplitude}}
+ {\pgfpointadd{\pgfpoint{\pgfsnakeremainingdistance}{0pt}}
+ {\pgfpoint{-\pgfsnakesegmentaspect\pgfsnakeremainingdistance}{\pgfsnakesegmentamplitude}}}
+ {\pgfpoint{\pgfsnakeremainingdistance}{0pt}}
+ }
+ \state{final}
+ {}
+}
+
+
+
\endinput
diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikz3d.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikz3d.code.tex
new file mode 100644
index 00000000000..d980b557feb
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikz3d.code.tex
@@ -0,0 +1,105 @@
+% Copyright 2006 by Till Tantau
+%
+% This file may be distributed and/or modified
+%
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Public License.
+%
+% See the file doc/generic/pgf/licenses/LICENSE for more details.
+
+\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibrarytikz3d.code.tex,v 1.3 2006/10/11 15:22:26 tantau Exp $
+
+
+
+% New coordinate systems:
+
+\tikzdeclarecoordinatesystem{xyz cylindrical}
+{%
+ \setkeys{tikzcskeys}{angle=0,radius=0,z=0,#1}%
+ \pgfpointcylindrical{\tikz@cs@angle}{\tikz@cs@radius}{\tikz@cs@z}%
+}
+
+\tikzdeclarecoordinatesystem{xyz spherical}
+{%
+ \setkeys{tikzcskeys}{angle=0,radius=0,latitude=0,longitude=0,#1}%
+ \pgfpointspherical{\tikz@cs@angle}{\tikz@cs@latitude}{\tikz@cs@radius}%
+}
+
+\define@key{tikzcskeys}{longitude}{\def\tikz@cs@angle{#1}}
+\define@key{tikzcskeys}{latitude}{\def\tikz@cs@latitude{#1}}
+
+
+% Options for transforming into a plane:
+
+\tikzoption{plane origin}{\def\tikz@plane@origin{\tikz@scan@one@point\@firstofone#1}}
+\tikzoption{plane x}{\def\tikz@plane@x{\tikz@scan@one@point\@firstofone#1}}
+\tikzoption{plane y}{\def\tikz@plane@y{\tikz@scan@one@point\@firstofone#1}}
+
+\let\tikz@plane@origin=\pgfpointorigin
+\def\tikz@plain@x{\pgfpointxy{1}{0}}
+\def\tikz@plain@y{\pgfpointxy{0}{1}}
+
+\tikzoption{canvas is plane}[]{
+ \tikz@canvas@is@plane
+}
+\tikzoption{canvas is xy plane at z}{%
+ \tikz@addtransform{\pgftransformshift{\pgfpointxyz{0}{0}{#1}}}%
+}
+\tikzoption{canvas is yx plane at z}[]{%
+ \def\tikz@plane@origin{\pgfpointxyz{0}{0}{#1}}%
+ \def\tikz@plane@x{\pgfpointxyz{0}{1}{#1}}%
+ \def\tikz@plane@y{\pgfpointxyz{1}{0}{#1}}%
+ \tikz@canvas@is@plane
+}
+\tikzoption{canvas is xz plane at y}[]{%
+ \def\tikz@plane@origin{\pgfpointxyz{0}{#1}{0}}%
+ \def\tikz@plane@x{\pgfpointxyz{1}{#1}{0}}%
+ \def\tikz@plane@y{\pgfpointxyz{0}{#1}{1}}%
+ \tikz@canvas@is@plane
+}
+\tikzoption{canvas is zx plane at y}[]{%
+ \def\tikz@plane@origin{\pgfpointxyz{0}{#1}{0}}%
+ \def\tikz@plane@x{\pgfpointxyz{0}{#1}{1}}%
+ \def\tikz@plane@y{\pgfpointxyz{1}{#1}{0}}%
+ \tikz@canvas@is@plane
+}
+\tikzoption{canvas is yz plane at x}[]{%
+ \def\tikz@plane@origin{\pgfpointxyz{#1}{0}{0}}%
+ \def\tikz@plane@x{\pgfpointxyz{#1}{1}{0}}%
+ \def\tikz@plane@y{\pgfpointxyz{#1}{0}{1}}%
+ \tikz@canvas@is@plane
+}
+\tikzoption{canvas is zy plane at x}[]{%
+ \def\tikz@plane@origin{\pgfpointxyz{#1}{0}{0}}%
+ \def\tikz@plane@x{\pgfpointxyz{#1}{0}{1}}%
+ \def\tikz@plane@y{\pgfpointxyz{#1}{1}{0}}%
+ \tikz@canvas@is@plane
+}
+
+
+
+% Transformation code
+
+\def\tikz@canvas@is@plane{
+ \pgf@process{\tikz@plane@x}%
+ \pgf@xa=\pgf@x%
+ \pgf@ya=\pgf@y%
+ \pgf@process{\tikz@plane@y}%
+ \pgf@xb=\pgf@x%
+ \pgf@yb=\pgf@y%
+ \pgf@process{\tikz@plane@origin}%
+ \edef\pgf@marshal{\noexpand\tikz@addtransform{%
+ \noexpand\pgftransformtriangle
+ {\noexpand\pgfqpoint{\the\pgf@x}{\the\pgf@y}}
+ {\noexpand\pgfqpoint{\the\pgf@xa}{\the\pgf@ya}}
+ {\noexpand\pgfqpoint{\the\pgf@xb}{\the\pgf@yb}}
+ \noexpand\pgftransformscale{0.035146}%
+ \noexpand\pgfsetxvec{\noexpand\pgfpoint{1cm}{0cm}}%
+ \noexpand\pgfsetyvec{\noexpand\pgfpoint{0cm}{1cm}}%
+ \noexpand\pgfsetzvec{\noexpand\pgfpoint{0cm}{0cm}}%
+ }}%
+ \pgf@marshal%
+}
+
+
+\endinput
diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzarrows.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzarrows.code.tex
new file mode 100644
index 00000000000..2ca988c5493
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzarrows.code.tex
@@ -0,0 +1,14 @@
+% Copyright 2006 by Till Tantau
+%
+% This file may be distributed and/or modified
+%
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Public License.
+%
+% See the file doc/generic/pgf/licenses/LICENSE for more details.
+
+\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibrarytikzarrows.code.tex,v 1.2 2006/10/11 15:22:26 tantau Exp $
+
+\usepgflibrary{arrows}
+
+\endinput
diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzautomata.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzautomata.code.tex
new file mode 100644
index 00000000000..d30f8abb767
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzautomata.code.tex
@@ -0,0 +1,102 @@
+% Copyright 2006 by Till Tantau
+%
+% This file may be distributed and/or modified
+%
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Public License.
+%
+% See the file doc/generic/pgf/licenses/LICENSE for more details.
+
+\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibrarytikzautomata.code.tex,v 1.3 2006/10/11 15:22:26 tantau Exp $
+
+
+% Styles for states:
+
+\tikzstyle{every state}= []
+
+\tikzstyle{state without output}= [circle,draw,minimum size=2.5em,every state]
+\tikzstyle{state with output}= [circle split,draw,minimum size=2.5em,every state]
+
+\tikzstyle{accepting by arrow}= [after node path=
+{
+ {
+ [to path=
+ {
+ [->,double=none,every accepting by arrow]
+ --
+ ([shift=(\tikz@accepting@angle:\tikz@accepting@distance)]\tikztostart.\tikz@accepting@angle)
+ node [shape=rectangle,anchor=\tikz@accepting@anchor] {\tikz@accepting@text}
+ }]
+ edge ()
+ }
+}]
+\tikzstyle{every accepting by arrow}=[]
+\tikzstyle{accepting by double}= [double,outer sep=.5\pgflinewidth+.3pt] % .3pt is half double width distance
+
+\tikzstyle{initial by arrow}= [after node path=
+{
+ {
+ [to path=
+ {
+ [->,double=none,every initial by arrow]
+ ([shift=(\tikz@initial@angle:\tikz@initial@distance)]\tikztostart.\tikz@initial@angle)
+ node [shape=rectangle,anchor=\tikz@initial@anchor] {\tikz@initial@text}
+ -- (\tikztostart)}]
+ edge ()
+ }
+}]
+\tikzstyle{every initial by arrow}=[]
+
+
+\tikzoption{initial text}{\tikzaddafternodepathoption{\def\tikz@initial@text{#1}}}
+\tikzoption{accepting text}{\tikzaddafternodepathoption{\def\tikz@accepting@text{#1}}}
+
+\tikzoption{initial where}{\tikzaddafternodepathoption{\csname tikz@initial@compute@#1\endcsname}}
+\tikzoption{accepting where}{\tikzaddafternodepathoption{\csname tikz@accepting@compute@#1\endcsname}}
+
+\tikzoption{initial distance}{\tikzaddafternodepathoption{\def\tikz@initial@distance{#1}}}
+\tikzoption{accepting distance}{\tikzaddafternodepathoption{\def\tikz@initial@distance{#1}}}
+
+\def\tikz@initial@text{start}
+\def\tikz@accepting@text{}
+
+\def\tikz@initial@distance{3ex}
+\def\tikz@accepting@distance{3ex}
+
+\def\tikz@initial@compute@above{\def\tikz@initial@angle{90}\def\tikz@initial@anchor{south}}
+\def\tikz@initial@compute@below{\def\tikz@initial@angle{270}\def\tikz@initial@anchor{north}}
+\def\tikz@initial@compute@left{\def\tikz@initial@angle{180}\def\tikz@initial@anchor{east}}
+\def\tikz@initial@compute@right{\def\tikz@initial@angle{0}\def\tikz@initial@anchor{west}}
+
+\def\tikz@initial@angle{180}
+\def\tikz@initial@anchor{east}
+
+\def\tikz@accepting@compute@above{\def\tikz@accepting@angle{90}\def\tikz@accepting@anchor{south}}
+\def\tikz@accepting@compute@below{\def\tikz@accepting@angle{270}\def\tikz@accepting@anchor{north}}
+\def\tikz@accepting@compute@left{\def\tikz@accepting@angle{180}\def\tikz@accepting@anchor{east}}
+\def\tikz@accepting@compute@right{\def\tikz@accepting@angle{0}\def\tikz@accepting@anchor{west}}
+
+\def\tikz@accepting@angle{0}
+\def\tikz@accepting@anchor{west}
+
+
+\tikzstyle{initial above}= [initial by arrow,initial where=above]
+\tikzstyle{initial below}= [initial by arrow,initial where=below]
+\tikzstyle{initial left}= [initial by arrow,initial where=left]
+\tikzstyle{initial right}= [initial by arrow,initial where=right]
+
+\tikzstyle{accepting above}= [accepting by arrow,accepting where=above]
+\tikzstyle{accepting below}= [accepting by arrow,accepting where=below]
+\tikzstyle{accepting left}= [accepting by arrow,accepting where=left]
+\tikzstyle{accepting right}= [accepting by arrow,accepting where=right]
+
+
+% Defaults:
+
+\tikzstyle{state}= [state without output]
+\tikzstyle{accepting}= [accepting by double]
+\tikzstyle{initial}= [initial by arrow]
+
+
+
+\endinput
diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzbackgrounds.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzbackgrounds.code.tex
index 260a8f9a28a..6fa6b9963cc 100644
--- a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzbackgrounds.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzbackgrounds.code.tex
@@ -1,9 +1,13 @@
-\ProvidesPackageRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibrarytikzbackgrounds.code.tex,v 1.1 2005/08/13 18:59:56 tantau Exp $
-
-% Copyright 2005 by Till Tantau <tantau@cs.tu-berlin.de>.
+% Copyright 2006 by Till Tantau
+%
+% This file may be distributed and/or modified
%
-% This program can be redistributed and/or modified under the terms
-% of the GNU Public License, version 2.
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Public License.
+%
+% See the file doc/generic/pgf/licenses/LICENSE for more details.
+
+\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibrarytikzbackgrounds.code.tex,v 1.3 2006/10/11 15:22:26 tantau Exp $
% Layers
diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzer.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzer.code.tex
new file mode 100644
index 00000000000..3056d59185e
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzer.code.tex
@@ -0,0 +1,39 @@
+% Copyright 2006 by Till Tantau
+%
+% This file may be distributed and/or modified
+%
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Public License.
+%
+% See the file doc/generic/pgf/licenses/LICENSE for more details.
+
+\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibrarytikzer.code.tex,v 1.3 2006/10/11 15:22:26 tantau Exp $
+
+
+% Styles for entity types:
+
+\tikzstyle{every entity}= []
+\tikzstyle{entity}= [rectangle,draw,
+ minimum height=2\baselineskip,
+ minimum width=4\baselineskip,every entity]
+
+
+% Styles for relationship types:
+
+\tikzstyle{every relationship}= []
+\tikzstyle{relationship}= [diamond,draw,
+ minimum size=1.5\baselineskip,
+ inner sep=1pt,
+ every relationship]
+
+
+% Styles for relationship types:
+
+\tikzstyle{every attribute}= []
+\tikzstyle{attribute}= [minimum size=1.5\baselineskip,ellipse,draw,every attribute]
+\tikzstyle{key attribute}= [font=\itshape,attribute]
+
+
+
+
+\endinput
diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzmindmap.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzmindmap.code.tex
new file mode 100644
index 00000000000..80a2ca35f55
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzmindmap.code.tex
@@ -0,0 +1,320 @@
+% Copyright 2006 by Till Tantau
+%
+% This file may be distributed and/or modified
+%
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Public License.
+%
+% See the file doc/generic/pgf/licenses/LICENSE for more details.
+
+\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibrarytikzmindmap.code.tex,v 1.14 2006/10/11 15:22:26 tantau Exp $
+
+
+
+% A snake for connecting circle nodes
+%
+% Parameters: \pgfsnakecirclestartradius, \pgfsnakecircleendradius,
+% \pgfsnakesegmentamplitude, \pgfsnakesegmentangle
+
+\pgfdeclaresnake{circle connection bar}{initial}
+{
+ \state{initial}[width=0pt,next state=bar]
+ {
+ {
+ \pgftransformxshift{-\pgfsnakecirclestartradius}%
+ \pgfpathmoveto{\pgfpointpolar{\pgfsnakesegmentangle}{\pgfsnakecirclestartradius}}
+ \pgfpatharc{\pgfsnakesegmentangle}{-\pgfsnakesegmentangle}{\pgfsnakecirclestartradius}
+ \@tempcnta=-\pgfsnakesegmentangle\relax
+ \advance\@tempcnta by90\relax
+ \setlength\@tempdima{\pgfsnakecirclestartradius}
+ \setlength\@tempdimb{\pgfsnakesegmentamplitude}
+ \pgfpathcurveto
+ {\pgfpointadd
+ {\pgfpointpolar{-\pgfsnakesegmentangle}{\pgfsnakecirclestartradius}}
+ {\pgfpointpolar{\the\@tempcnta}{.25\@tempdima}}}
+ {\pgfpoint{1.25\@tempdima}{-.5\@tempdimb}}
+ {\pgfpoint{1.5\@tempdima}{-.5\@tempdimb}}
+ \pgfpathlineto{\pgfpoint{1.5\@tempdima}{.5\@tempdimb}}
+ \@tempcnta=\pgfsnakesegmentangle\relax
+ \advance\@tempcnta by-90\relax
+ \pgfpathcurveto
+ {\pgfpoint{1.25\@tempdima}{.5\@tempdimb}}
+ {\pgfpointadd
+ {\pgfpointpolar{\pgfsnakesegmentangle}{\pgfsnakecirclestartradius}}
+ {\pgfpointpolar{\the\@tempcnta}{.25\@tempdima}}}
+ {\pgfpointpolar{\pgfsnakesegmentangle}{\pgfsnakecirclestartradius}}
+ \pgfpathclose
+ }
+ }
+ \state{bar}[width=0pt,next state=end]
+ {
+ \setlength\@tempdima{\pgfsnakecirclestartradius}%
+ \setlength\@tempdimb{\pgfsnakecircleendradius}%
+ \setlength\pgf@xc{\pgfsnakesegmentamplitude}%
+ \pgfpathrectangle
+ {\pgfpoint{.5\@tempdima}{-.5\pgf@xc}}
+ {\pgfpoint{\pgfsnakeremainingdistance-.5\@tempdimb-.5\@tempdima}{\pgf@xc}}
+ }
+ \state{end}[width=0pt,next state=final]
+ {
+ {
+ \pgftransformxshift{\pgfsnakeremainingdistance}%
+ \pgftransformxscale{-1}%
+ \pgftransformxshift{-\pgfsnakecircleendradius}%
+ \pgfpathmoveto{\pgfpointpolar{\pgfsnakesegmentangle}{\pgfsnakecircleendradius}}
+ \pgfpatharc{\pgfsnakesegmentangle}{-\pgfsnakesegmentangle}{\pgfsnakecircleendradius}
+ \@tempcnta=-\pgfsnakesegmentangle\relax
+ \advance\@tempcnta by90\relax
+ \setlength\@tempdima{\pgfsnakecircleendradius}
+ \setlength\@tempdimb{\pgfsnakesegmentamplitude}%
+ \pgfpathcurveto
+ {\pgfpointadd
+ {\pgfpointpolar{-\pgfsnakesegmentangle}{\pgfsnakecircleendradius}}
+ {\pgfpointpolar{\the\@tempcnta}{.25\@tempdima}}}
+ {\pgfpoint{1.25\@tempdima}{-.5\@tempdimb}}
+ {\pgfpoint{1.5\@tempdima}{-.5\@tempdimb}}
+ \pgfpathlineto{\pgfpoint{1.5\@tempdima}{.5\@tempdimb}}
+ \@tempcnta=\pgfsnakesegmentangle\relax
+ \advance\@tempcnta by-90\relax
+ \pgfpathcurveto
+ {\pgfpoint{1.25\@tempdima}{.5\@tempdimb}}
+ {\pgfpointadd
+ {\pgfpointpolar{\pgfsnakesegmentangle}{\pgfsnakecircleendradius}}
+ {\pgfpointpolar{\the\@tempcnta}{.25\@tempdima}}}
+ {\pgfpointpolar{\pgfsnakesegmentangle}{\pgfsnakecircleendradius}}
+ \pgfpathclose
+ }
+ }
+ \state{final}
+ {}
+}
+
+
+\def\pgfsnakecirclestartradius{1cm}
+\def\pgfsnakecircleendradius{1cm}
+\def\pgfsnakesegmentangle{20}
+
+
+
+
+% To paths for connecting circle nodes
+
+\tikzstyle{circle connection bar}=
+[to path={
+ \pgfextra{\tikz@compute@circle@radii\tikz@compute@segmentamplitude}
+ [fill=\tikz@concept@color,draw=none]
+ [snake=circle connection bar]
+ [every circle connection bar]
+ -- (\tikztotarget) \tikztonodes
+}]
+\tikzstyle{every circle connection bar}=[]
+
+\def\tikz@compute@circle@radii{%
+ \pgf@process{\pgfpointtransformed{\pgfpointanchor{\tikztostart}{center}}}%
+ \pgf@xa=\pgf@x%
+ \pgf@process{\pgfpointtransformed{\pgfpointanchor{\tikztostart}{west}}}%
+ \advance\pgf@xa by-\pgf@x%
+ \edef\pgfsnakecirclestartradius{\the\pgf@xa}%
+ \pgf@process{\pgfpointtransformed{\pgfpointanchor{\tikztotarget}{center}}}%
+ \pgf@xa=\pgf@x%
+ \pgf@process{\pgfpointtransformed{\pgfpointanchor{\tikztotarget}{west}}}%
+ \advance\pgf@xa by-\pgf@x%
+ \edef\pgfsnakecircleendradius{\the\pgf@xa}%
+}
+\def\tikz@compute@segmentamplitude{%
+ \pgf@x=\pgfsnakecirclestartradius\relax%
+ \ifdim\pgf@x>\pgfsnakecircleendradius\relax%
+ \pgf@x=\pgfsnakecircleendradius\relax%
+ \fi%
+ \pgf@x=.175\pgf@x\relax%
+ \edef\pgfsnakesegmentamplitude{\the\pgf@x}%
+}
+
+
+% Switch color in a mindmap
+
+\tikzoption{circle connection bar switch color}{\tikz@parse@switch#1\pgf@unique}
+\def\tikz@parse@switch from (#1) to (#2)\pgf@unique{%
+ \def\tikz@to@path{%
+ \pgfextra{%
+ \colorlet{tikz@switch@from}{#1}%
+ \colorlet{tikz@switch@to}{#2}%
+ \tikz@compute@circle@radii\tikz@compute@segmentamplitude%
+ \tikz@compute@rotation%
+ }
+ [fill=none,draw=none]
+ [snake=circle connection bar]
+ [every circle connection bar]
+ -- (\tikztotarget) \tikztonodes
+ [shading=tikz@shade@bar]
+ }
+}
+
+\tikzoption{concept color}{%
+ \let\tikz@old@concept@color=\tikz@concept@color%
+ \def\tikz@edge@to@parent@path{
+ (\tikzparentnode)
+ to[circle connection bar switch color=from (\tikz@old@concept@color) to (#1)]
+ (\tikzchildnode)}
+ \def\tikz@concept@color{#1}%
+}
+
+\pgfdeclarehorizontalshading[tikz@switch@from,tikz@switch@to]{tikz@shade@bar}{100bp}{%
+ color(0pt)=(tikz@switch@from);
+ color(45bp)=(tikz@switch@from);
+ color(50bp)=(tikz@switch@to);
+ color(100bp)=(tikz@switch@to)}
+
+\def\tikz@compute@rotation{%
+ \pgf@process{\pgfpointnormalised{\pgfpointdiff{\pgfpointanchor{\tikztostart}{center}}{\pgfpointanchor{\tikztotarget}{center}}}}%
+ \pgf@ya=-\pgf@y%
+ \edef\pgf@marshal{%
+ \noexpand\pgfsetadditionalshadetransform{%
+ \noexpand\pgftransformcm
+ {\pgf@sys@tonumber{\pgf@x}}{\pgf@sys@tonumber{\pgf@y}}%
+ {\pgf@sys@tonumber{\pgf@ya}}{\pgf@sys@tonumber{\pgf@x}}%
+ {\noexpand\pgfpointorigin}%
+ }%
+ }%
+ \pgf@marshal%
+}
+
+
+
+
+% A concept node
+
+\tikzstyle{concept}= [circle,fill=\tikz@concept@color,draw=\tikz@concept@color,every concept]
+\tikzstyle{every concept}= []
+
+\def\tikz@concept@color{black}
+
+\tikzstyle{tikz@concept@setting}=[edge from parent path={(\tikzparentnode) to [circle connection bar] (\tikzchildnode)}]
+\tikzstyle{tikz@concept@color@set}=[]
+
+
+\tikzstyle{extra concept}= [concept color=black!50,level 2 concept,concept,every extra concept]
+\tikzstyle{every extra concept}=[]
+
+\tikzstyle{concept connection}=[line width=1mm,shorten <=2mm,shorten >=2mm,cap=round,draw=black!50]
+
+
+% A mindmap
+
+\tikzstyle{mindmap}=
+ [fill,draw,very thick,outer sep=0pt,inner sep=1pt,%
+ set style={{every child}+=[style=tikz@concept@setting,style=tikz@concept@color@set]},%
+ style=root concept,
+ set style={{level 1}+=[style=level 1 concept]},
+ set style={{level 2}+=[style=level 2 concept]},
+ set style={{level 3}+=[style=level 3 concept]},
+ set style={{level 4}+=[style=level 4 concept]},
+ text centered,%
+ segment angle=20,
+ style=every mindmap,
+ ]
+\tikzstyle{every mindmap}=[]
+
+
+\tikzstyle{root concept}= [minimum size=4cm,text width=3.5cm,font=\large]
+\tikzstyle{level 1 concept}=[minimum size=2.25cm,
+ level distance=5cm,
+ text width=2cm,
+ sibling angle=60,
+ font=\small]
+\tikzstyle{level 2 concept}=[minimum size=1.75cm,%
+ level distance=2.9cm,%
+ text width=1.5cm,%
+ sibling angle=60,%
+ font=\footnotesize]
+\tikzstyle{level 3 concept}=[minimum size=1.15cm,%
+ text width=1cm,%
+ level distance=2.4cm,%
+ sibling angle=30,%
+ font=\tiny]
+\tikzstyle{level 4 concept}=[minimum size=0.9cm,%
+ text width=0.7cm,
+ level distance=1.85cm,%
+ sibling angle=30,%
+ font=\tiny]
+
+\tikzstyle{large mindmap}=
+ [%
+ set style={{root concept}=[minimum size=5.6cm,text width=4.5cm,font=\Large]},
+ set style={{level 1 concept}=[%
+ minimum size=3.2cm,
+ level distance=7cm,
+ text width=2.8cm,
+ sibling angle=60,
+ font=]},%
+ set style={{level 2 concept}=[%
+ minimum size=2.45cm,%
+ level distance=4cm,%
+ text width=2.2cm,%
+ sibling angle=60,%
+ font=\small%
+ ]},%
+ set style={{level 3 concept}=[%
+ minimum size=1.63cm,%
+ text width=1.4cm,%
+ level distance=3.38cm,%
+ sibling angle=30,%
+ font=\scriptsize]},%
+ set style={{level 4 concept}=[%
+ minimum size=1.27cm,%
+ text width=1cm,
+ level distance=2.60cm,%
+ sibling angle=30,%
+ font=\tiny]},%
+ mindmap,%
+ line width=2pt
+ ]
+
+\tikzstyle{huge mindmap}=
+ [%
+ set style={{root concept}=[minimum size=8cm,text width=7cm,font=\huge]},
+ set style={{level 1 concept}+=[%
+ minimum size=4.5cm,
+ level distance=10cm,
+ text width=4cm,
+ sibling angle=60,
+ font=\large]},%
+ set style={{level 2 concept}+=[%
+ minimum size=3.5cm,%
+ level distance=5.8cm,%
+ text width=3cm,%
+ sibling angle=60,%
+ font=%
+ ]},%
+ set style={{level 3 concept}+=[%
+ minimum size=2.3cm,%
+ text width=2cm,%
+ level distance=4.8cm,%
+ sibling angle=30,%
+ font=\footnotesize]},%
+ set style={{level 4 concept}+=[%
+ minimum size=1.7cm,%
+ text width=1.4cm,
+ level distance=3.7cm,%
+ sibling angle=30,%
+ font=\scriptsize]},%
+ mindmap,%
+ line width=3pt
+ ]
+
+
+% Annotations
+
+\tikzstyle{annotation}=[shape=rectangle,
+ minimum size=0pt,
+ text width=3.5cm,
+ outer sep=1.5mm,
+ inner sep=1mm,
+ text badly ragged,
+ rounded corners,
+ font=\tiny,
+ every annotation]
+\tikzstyle{every annotation}=[]
+
+\endinput
+
diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzpatterns.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzpatterns.code.tex
new file mode 100644
index 00000000000..7766f66d8d5
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzpatterns.code.tex
@@ -0,0 +1,14 @@
+% Copyright 2006 by Till Tantau
+%
+% This file may be distributed and/or modified
+%
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Public License.
+%
+% See the file doc/generic/pgf/licenses/LICENSE for more details.
+
+\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibrarytikzpatterns.code.tex,v 1.2 2006/10/11 15:22:26 tantau Exp $
+
+\usepgflibrary{patterns}
+
+\endinput
diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzpetri.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzpetri.code.tex
new file mode 100644
index 00000000000..ebb43bca13f
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzpetri.code.tex
@@ -0,0 +1,146 @@
+% Copyright 2006 by Till Tantau
+%
+% This file may be distributed and/or modified
+%
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Public License.
+%
+% See the file doc/generic/pgf/licenses/LICENSE for more details.
+
+\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibrarytikzpetri.code.tex,v 1.3 2006/10/11 15:22:26 tantau Exp $
+
+
+% Styles for places:
+
+\tikzstyle{every place}= []
+\tikzstyle{place}= [circle,draw,inner sep=0pt,
+ minimum size=5ex,
+ every place]
+
+
+% Styles for transition:
+
+\tikzstyle{every transition}= []
+\tikzstyle{transition}= [rectangle,draw,inner sep=0pt,
+ minimum size=4mm,
+ every transition]
+
+
+% Styles for relationship types:
+
+\tikzstyle{pre}= [<-,shorten <=1pt]
+\tikzstyle{post}= [->,shorten >=1pt]
+\tikzstyle{pre and post}= [<->,shorten >=1pt,shorten <=1pt]
+
+
+
+% Styles for marks:
+
+\tikzstyle{every token}= []
+\tikzstyle{token}= [fill=black,draw=none,circle,
+ inner sep=0.5pt,minimum size=1ex,
+ text=white,font=\tiny,every token]
+
+\tikzoption{token distance}{\def\tikz@token@distance{#1}}
+\def\tikz@token@distance{1.5ex}
+
+\tikzstyle{children are tokens}= [growth function=\tikz@grow@tokens,edge from parent path=]
+
+\tikzoption{tokens}{%
+ \ifnum#1>0\relax%
+ \tikz@add@after@node@path{%
+ {[children are tokens]child foreach \tikz@dummy in {1,...,#1} {node[token]{}}}}%
+ \fi}
+
+\tikzoption{colored tokens}{%
+ \tikz@add@after@node@path{%
+ {[children are tokens]child foreach \tikz@child@color in {#1} {node[token,\tikz@child@color]{}}}}%
+ }
+
+\tikzoption{structured tokens}{%
+ \tikz@add@after@node@path{%
+ {[children are tokens]child foreach \tikz@child@name in {#1} {node[token]{\tikz@child@name}}}}%
+ }
+
+
+\def\tikz@grow@tokens{%
+ \setlength{\pgf@xa}{\tikz@token@distance}%
+ \setlength{\pgf@ya}{\tikz@token@distance}%
+ \pgf@xc=0pt%
+ \pgf@yc=0pt%
+ \csname tikz@grow@tokens@placer@\the\tikznumberofchildren @\the\tikznumberofcurrentchild\endcsname%
+ \pgftransformshift{\pgfqpoint{\pgf@xc}{\pgf@yc}}%
+}
+
+\def\tikz@def@grow@tokens#1#2#3#4{%
+ \expandafter\def\csname tikz@grow@tokens@placer@#1@#2\endcsname{%
+ \pgf@xc=#3\pgf@xa%
+ \pgf@yc=#4\pgf@ya}%
+}
+
+
+% Single token
+\tikz@def@grow@tokens{1}{1}{0}{0}
+
+% Two tokens
+\tikz@def@grow@tokens{2}{1}{-.5}{0}
+\tikz@def@grow@tokens{2}{2}{.5}{0}
+
+% Three tokens
+\tikz@def@grow@tokens{3}{1}{0} {0.57}
+\tikz@def@grow@tokens{3}{2}{-.5}{-.306025}
+\tikz@def@grow@tokens{3}{3}{.5} {-.306025}
+
+% Four tokens
+\tikz@def@grow@tokens{4}{1}{-.5}{.5}
+\tikz@def@grow@tokens{4}{2}{.5}{.5}
+\tikz@def@grow@tokens{4}{3}{-.5}{-.5}
+\tikz@def@grow@tokens{4}{4}{.5}{-.5}
+
+% Five tokens
+\tikz@def@grow@tokens{5}{1}{0}{.85}
+\tikz@def@grow@tokens{5}{2}{-0.808398}{0.26266}
+\tikz@def@grow@tokens{5}{3}{0.808398}{0.26266}
+\tikz@def@grow@tokens{5}{4}{-0.499617}{-0.687664}
+\tikz@def@grow@tokens{5}{5}{0.499617}{-0.687664}
+
+% Six tokens
+\tikz@def@grow@tokens{6}{1}{-1}{.5}
+\tikz@def@grow@tokens{6}{2}{0}{.5}
+\tikz@def@grow@tokens{6}{3}{1}{.5}
+\tikz@def@grow@tokens{6}{4}{-1}{-.5}
+\tikz@def@grow@tokens{6}{5}{0}{-.5}
+\tikz@def@grow@tokens{6}{6}{1}{-.5}
+
+% Seven tokens
+\tikz@def@grow@tokens{7}{1}{0}{1}
+\tikz@def@grow@tokens{7}{2}{-1}{.5}
+\tikz@def@grow@tokens{7}{3}{0}{0}
+\tikz@def@grow@tokens{7}{4}{1}{.5}
+\tikz@def@grow@tokens{7}{5}{-1}{-.5}
+\tikz@def@grow@tokens{7}{6}{0}{-1}
+\tikz@def@grow@tokens{7}{7}{1}{-.5}
+
+% Eight tokens
+\tikz@def@grow@tokens{8}{1}{-.5}{1}
+\tikz@def@grow@tokens{8}{2}{.5}{1}
+\tikz@def@grow@tokens{8}{3}{-1}{0}
+\tikz@def@grow@tokens{8}{4}{0}{0}
+\tikz@def@grow@tokens{8}{5}{1}{0}
+\tikz@def@grow@tokens{8}{6}{-1}{-1}
+\tikz@def@grow@tokens{8}{7}{0}{-1}
+\tikz@def@grow@tokens{8}{8}{1}{-1}
+
+% Eight tokens
+\tikz@def@grow@tokens{9}{1}{-1}{1}
+\tikz@def@grow@tokens{9}{2}{0}{1}
+\tikz@def@grow@tokens{9}{3}{1}{1}
+\tikz@def@grow@tokens{9}{4}{-1}{0}
+\tikz@def@grow@tokens{9}{5}{0}{0}
+\tikz@def@grow@tokens{9}{6}{1}{0}
+\tikz@def@grow@tokens{9}{7}{-1}{-1}
+\tikz@def@grow@tokens{9}{8}{0}{-1}
+\tikz@def@grow@tokens{9}{9}{1}{-1}
+
+
+\endinput
diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzplothandlers.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzplothandlers.code.tex
new file mode 100644
index 00000000000..d9179187394
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzplothandlers.code.tex
@@ -0,0 +1,14 @@
+% Copyright 2006 by Till Tantau
+%
+% This file may be distributed and/or modified
+%
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Public License.
+%
+% See the file doc/generic/pgf/licenses/LICENSE for more details.
+
+\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibrarytikzplothandlers.code.tex,v 1.2 2006/10/11 15:22:26 tantau Exp $
+
+\usepgflibrary{plothandlers}
+
+\endinput
diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzplotmarks.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzplotmarks.code.tex
new file mode 100644
index 00000000000..4455e03aac2
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzplotmarks.code.tex
@@ -0,0 +1,14 @@
+% Copyright 2006 by Till Tantau
+%
+% This file may be distributed and/or modified
+%
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Public License.
+%
+% See the file doc/generic/pgf/licenses/LICENSE for more details.
+
+\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibrarytikzplotmarks.code.tex,v 1.2 2006/10/11 15:22:26 tantau Exp $
+
+\usepgflibrary{plotmarks}
+
+\endinput
diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzshapes.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzshapes.code.tex
new file mode 100644
index 00000000000..ef4dcca2a7b
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzshapes.code.tex
@@ -0,0 +1,14 @@
+% Copyright 2006 by Till Tantau
+%
+% This file may be distributed and/or modified
+%
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Public License.
+%
+% See the file doc/generic/pgf/licenses/LICENSE for more details.
+
+\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibrarytikzshapes.code.tex,v 1.2 2006/10/11 15:22:26 tantau Exp $
+
+\usepgflibrary{shapes}
+
+\endinput
diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzsnakes.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzsnakes.code.tex
new file mode 100644
index 00000000000..0274721bd36
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzsnakes.code.tex
@@ -0,0 +1,14 @@
+% Copyright 2006 by Till Tantau
+%
+% This file may be distributed and/or modified
+%
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Public License.
+%
+% See the file doc/generic/pgf/licenses/LICENSE for more details.
+
+\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibrarytikzsnakes.code.tex,v 1.2 2006/10/11 15:22:26 tantau Exp $
+
+\usepgflibrary{snakes}
+
+\endinput
diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikztopaths.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikztopaths.code.tex
new file mode 100644
index 00000000000..c26ce1c018f
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikztopaths.code.tex
@@ -0,0 +1,378 @@
+% Copyright 2006 by Till Tantau
+%
+% This file may be distributed and/or modified
+%
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Public License.
+%
+% See the file doc/generic/pgf/licenses/LICENSE for more details.
+
+\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibrarytikztopaths.code.tex,v 1.4 2006/10/11 15:22:26 tantau Exp $
+
+
+% Straight to
+
+\tikzstyle{line to}= [to path={-- (\tikztotarget) \tikztonodes}]
+
+
+% Curved to
+
+\tikzstyle{every curve to}= []
+\tikzstyle{curve to}= [to path=\tikz@to@curve@path]
+
+\tikzoption{bend angle}{\def\tikz@to@bend{#1}}
+
+\tikzoption{bend left}[]{%
+ \def\pgf@temp{#1}%
+ \ifx\pgf@temp\pgf@empty%
+ \else%
+ \def\tikz@to@bend{#1}%
+ \fi%
+ \let\tikz@to@out=\tikz@to@bend%
+ \c@pgf@counta=180\relax%
+ \advance\c@pgf@counta by-\tikz@to@out\relax%
+ \edef\tikz@to@in{\the\c@pgf@counta}%
+ \tikz@to@switch@on%
+ \tikz@to@relativetrue%
+}
+
+\tikzoption{bend right}[]{%
+ \def\pgf@temp{#1}%
+ \ifx\pgf@temp\pgf@empty%
+ \else%
+ \def\tikz@to@bend{#1}%
+ \fi%
+ % Now, negate
+ \c@pgf@counta=\tikz@to@bend\relax%
+ \c@pgf@counta=-\c@pgf@counta\relax%
+ \edef\tikz@to@out{\the\c@pgf@counta}%
+ \c@pgf@counta=180\relax%
+ \advance\c@pgf@counta by-\tikz@to@out\relax%
+ \edef\tikz@to@in{\the\c@pgf@counta}%
+ \tikz@to@switch@on%
+ \tikz@to@relativetrue%
+}
+
+\tikzoption{relative}[true]{\csname tikz@to@relative#1\endcsname}
+\newif\iftikz@to@relative
+\tikz@to@relativefalse
+
+\tikzoption{in}{\def\tikz@to@in{#1}\tikz@to@switch@on}
+\tikzoption{out}{\def\tikz@to@out{#1}\tikz@to@switch@on}
+
+\tikzoption{in looseness}{\tikz@to@set@in@looseness{#1}}
+\tikzoption{out looseness}{\tikz@to@set@out@looseness{#1}}
+\tikzoption{looseness}{\tikz@to@set@in@looseness{#1}\tikz@to@set@out@looseness{#1}}
+
+\tikzoption{in control}{\tikz@to@set@in@control{#1}}
+\tikzoption{out control}{\tikz@to@set@out@control{#1}}
+\tikzoption{controls}{\tikz@to@parse@controls#1\pgf@stop}
+
+\tikzoption{in min distance}{\tikz@to@set@distances{#1}{}{}{}}
+\tikzoption{in max distance}{\tikz@to@set@distances{}{#1}{}{}}
+\tikzoption{in distance}{\tikz@to@set@distances{#1}{#1}{}{}}
+\tikzoption{out min distance}{\tikz@to@set@distances{}{}{#1}{}}
+\tikzoption{out max distance}{\tikz@to@set@distances{}{}{}{#1}}
+\tikzoption{out distance}{\tikz@to@set@distances{}{}{#1}{#1}}
+\tikzoption{min distance}{\tikz@to@set@distances{#1}{}{#1}{}}
+\tikzoption{max distance}{\tikz@to@set@distances{}{#1}{}{#1}}
+\tikzoption{distance}{\tikz@to@set@distances{#1}{#1}{#1}{#1}}
+
+\def\tikz@to@set@distances#1#2#3#4{%
+ \tikz@to@setifnotempy{#1}{\tikz@to@in@min}{\let\tikz@to@end@compute=\tikz@to@end@compute@looseness}%
+ \tikz@to@setifnotempy{#2}{\tikz@to@in@max}{\let\tikz@to@end@compute=\tikz@to@end@compute@looseness}%
+ \tikz@to@setifnotempy{#3}{\tikz@to@out@min}{\let\tikz@to@start@compute=\tikz@to@start@compute@looseness}%
+ \tikz@to@setifnotempy{#4}{\tikz@to@out@max}{\let\tikz@to@start@compute=\tikz@to@start@compute@looseness}%
+ \tikz@to@switch@on%
+}
+
+\def\tikz@to@setifnotempy#1#2#3{%
+ \def\pgf@temp{#1}%
+ \ifx\pgf@temp\pgf@empty\else\def#2{#1}#3\fi%
+}
+
+
+\def\tikz@to@set@in@looseness#1{%
+ \def\tikz@to@in@looseness{#1}%
+ \let\tikz@to@end@compute=\tikz@to@end@compute@looseness%
+ \tikz@to@switch@on%
+}
+\def\tikz@to@set@out@looseness#1{%
+ \def\tikz@to@out@looseness{#1}%
+ \let\tikz@to@start@compute=\tikz@to@start@compute@looseness%
+ \tikz@to@switch@on%
+}
+
+\def\tikz@to@parse@controls#1and#2\pgf@stop{\tikz@to@set@in@control{#2}\tikz@to@set@out@control{#1}}
+
+\def\tikz@to@set@in@control#1{%
+ \def\tikz@to@in@control{#1}%
+ \let\tikz@to@end@compute=\tikz@to@end@compute@control%
+ \tikz@to@switch@on%
+}
+\def\tikz@to@set@out@control#1{%
+ \def\tikz@to@out@control{#1}%
+ \let\tikz@to@start@compute=\tikz@to@start@compute@control%
+ \tikz@to@switch@on%
+}
+
+
+\def\tikz@to@bend{30}
+
+\def\tikz@to@out{45}
+\def\tikz@to@in{135}
+
+\def\tikz@to@out@looseness{1}
+\def\tikz@to@in@looseness{1}
+
+\def\tikz@to@in@min{0pt}
+\def\tikz@to@in@max{10000pt}
+\def\tikz@to@out@min{0pt}
+\def\tikz@to@out@max{10000pt}
+
+\def\tikz@to@switch@on{\let\tikz@to@path=\tikz@to@curve@path}
+
+\def\tikz@to@curve@path{%
+ [every curve to]
+ \pgfextra{\iftikz@to@relative\tikz@to@compute@relative\else\tikz@to@compute\fi}
+ \tikz@computed@path
+ \tikztonodes%
+}
+
+\def\tikz@to@modify#1#2{%
+ \pgf@ifundefined{pgf@sh@ns@#1}
+ {}%
+ {\edef#1{#1.#2}}
+}%
+
+\def\tikz@to@compute{%
+ \let\tikz@tofrom=\tikztostart%
+ \let\tikz@toto=\tikztotarget%
+ \tikz@to@modify\tikz@tofrom\tikz@to@out%
+ \tikz@to@modify\tikz@toto\tikz@to@in%
+ \ifx\tikz@to@start@compute\tikz@to@start@compute@looseness%
+ \tikz@to@compute@distance%
+ \else%
+ \ifx\tikz@from@start@compute\tikz@to@start@compute@looseness%
+ \tikz@to@compute@distance%
+ \fi%
+ \fi%
+ \tikz@to@start@compute%
+ \tikz@to@end@compute%
+ \edef\tikz@computed@path{.. controls \tikz@computed@start and \tikz@computed@end .. (\tikz@toto)}
+}
+
+\def\tikz@to@compute@distance{\tikz@scan@one@point\tikz@@to@compute@distance(\tikz@tofrom)}
+\def\tikz@@to@compute@distance#1{%
+ \def\tikz@first@point{#1}%
+ \tikz@scan@one@point\tikz@@@to@compute@distance(\tikz@toto)}
+\def\tikz@@@to@compute@distance#1{%
+ \def\tikz@second@point{#1}%
+ \tikz@to@compute@distance@main%
+}
+\def\tikz@to@compute@distance@main{%
+ \pgf@process{\pgfpointdiff{\tikz@first@point}{\tikz@second@point}}%
+ \ifdim\pgf@x<0pt\pgf@xa=-\pgf@x\else\pgf@xa=\pgf@x\fi%
+ \ifdim\pgf@y<0pt\pgf@ya=-\pgf@y\else\pgf@ya=\pgf@y\fi%
+ %
+ % Calculate length of second to first vector:
+ %
+ \pgf@process{\pgfpointnormalised{\pgfpoint{\pgf@xa}{\pgf@ya}}}%
+ \ifdim\pgf@x>\pgf@y%
+ \c@pgf@counta=\pgf@x%
+ \ifnum\c@pgf@counta=0\relax%
+ \else%
+ \divide\c@pgf@counta by 255\relax%
+ \pgf@xa=16\pgf@xa\relax%
+ \divide\pgf@xa by\c@pgf@counta%
+ \pgf@xa=16\pgf@xa\relax%
+ \fi%
+ \else%
+ \c@pgf@counta=\pgf@y%
+ \ifnum\c@pgf@counta=0\relax%
+ \else%
+ \divide\c@pgf@counta by 255\relax%
+ \pgf@ya=16\pgf@ya\relax%
+ \divide\pgf@ya by\c@pgf@counta%
+ \pgf@xa=16\pgf@ya\relax%
+ \fi%
+ \fi%
+ \pgf@x=0.3915\pgf@xa%
+ \pgf@xa=\tikz@to@out@looseness\pgf@x%
+ \pgf@xb=\tikz@to@in@looseness\pgf@x%
+ % Adjust as necessary
+ \setlength{\pgf@ya}{\tikz@to@out@min}
+ \ifdim\pgf@xa<\pgf@ya%
+ \pgf@xa=\pgf@ya%
+ \fi%
+ \setlength{\pgf@ya}{\tikz@to@out@max}
+ \ifdim\pgf@xa>\pgf@ya%
+ \pgf@xa=\pgf@ya%
+ \fi%
+ \setlength{\pgf@ya}{\tikz@to@in@min}
+ \ifdim\pgf@xb<\pgf@ya%
+ \pgf@xb=\pgf@ya%
+ \fi%
+ \setlength{\pgf@ya}{\tikz@to@in@max}
+ \ifdim\pgf@xb>\pgf@ya%
+ \pgf@xb=\pgf@ya%
+ \fi%
+}
+
+\def\tikz@to@start@compute@looseness{%
+ \edef\tikz@computed@start{([shift=(\tikz@to@out:\the\pgf@xa)]\tikz@tofrom)}%
+}
+\def\tikz@to@end@compute@looseness{%
+ \edef\tikz@computed@end{([shift=(\tikz@to@in:\the\pgf@xb)]\tikz@toto)}%
+}
+\def\tikz@to@start@compute@control{%
+ \let\tikz@computed@start=\tikz@to@out@control%
+}
+\def\tikz@to@end@compute@control{%
+ \let\tikz@computed@end=\tikz@to@in@control%
+}
+
+\let\tikz@to@start@compute=\tikz@to@start@compute@looseness%
+\let\tikz@to@end@compute=\tikz@to@end@compute@looseness%
+
+
+
+
+% Relative curves
+
+\def\tikz@to@compute@relative{%
+ \tikz@scan@one@point\tikz@@to@compute@relative(\tikztostart)%
+}
+\def\tikz@@to@compute@relative#1{%
+ \def\tikz@tofrom{#1}%
+ \tikz@scan@one@point\tikz@@@to@compute@relative(\tikztotarget)%
+}
+\def\tikz@@@to@compute@relative#1{%
+ \def\tikz@toto{#1}%
+ \begingroup
+ %
+ % Adjust start and target so that they lie on the border in the
+ % rotated coordinate system.
+ %
+ \pgf@ifundefined{pgf@sh@ns@\tikztostart}
+ {%
+ \let\tikz@first@point=\tikz@tofrom%
+ \let\tikz@tostart@tikz=\pgf@empty
+ }%
+ {%
+ % Start computation of new start.
+ {%
+ \tikz@tofrom%
+ \pgf@xc=\pgf@x%
+ \pgf@yc=\pgf@y%
+ {%
+ \pgftransformreset%
+ \pgftransformshift{\pgfqpoint{\pgf@xc}{\pgf@yc}}%
+ \pgftransformrotate{\tikz@to@out}%
+ \pgftransformshift{\pgfqpoint{-\pgf@xc}{-\pgf@yc}}%
+ \pgf@process{\pgfpointtransformed{\tikz@toto}}%
+ }%
+ \pgf@xc=\pgf@x%
+ \pgf@yc=\pgf@y%
+ \pgfpointshapeborder{\tikztostart}{\pgfqpoint{\pgf@xc}{\pgf@yc}}%
+ \xdef\tikz@tofrom@smuggle{\noexpand\pgfpoint{\the\pgf@x}{\the\pgf@y}}
+ }%
+ \let\tikz@first@point=\tikz@tofrom@smuggle%
+ \tikz@first@point%
+ \edef\tikz@tostart@tikz{(\the\pgf@x,\the\pgf@y)}%
+ }%
+ \pgf@ifundefined{pgf@sh@ns@\tikztotarget}
+ {%
+ \let\tikz@second@point=\tikz@toto%
+ }%
+ {%
+ % Start computation of new target.
+ {%
+ \tikz@toto%
+ \pgf@xc=\pgf@x%
+ \pgf@yc=\pgf@y%
+ {%
+ \pgftransformreset%
+ \pgftransformshift{\pgfqpoint{\pgf@xc}{\pgf@yc}}%
+ \pgftransformrotate{180}%
+ \pgftransformrotate{\tikz@to@in}%
+ \pgftransformshift{\pgfqpoint{-\pgf@xc}{-\pgf@yc}}%
+ \pgf@process{\pgfpointtransformed{\tikz@tofrom}}%
+ }%
+ \pgf@xc=\pgf@x%
+ \pgf@yc=\pgf@y%
+ \pgfpointshapeborder{\tikztotarget}{\pgfqpoint{\pgf@xc}{\pgf@yc}}%
+ \xdef\tikz@toto@smuggle{\noexpand\pgfpoint{\the\pgf@x}{\the\pgf@y}}
+ }%
+ \let\tikz@second@point=\tikz@toto@smuggle%
+ }%
+ \tikz@second@point%
+ \edef\tikz@totarget@tikz{(\the\pgf@x,\the\pgf@y)}%
+ %
+ % Compute distances
+ %
+ \tikz@to@compute@distance@main%
+ \edef\tikz@to@first@distance{\the\pgf@xa}%
+ \edef\tikz@to@second@distance{\the\pgf@xb}%
+ %
+ % Next step: Establish a transformed coordinate system so that the (modified)
+ % start is at the origin and the (modified) target is at (1,0)
+ %
+ \pgftransformreset%
+ \pgf@process{\tikz@first@point}%
+ \pgf@xa=\pgf@x%
+ \pgf@ya=\pgf@y%
+ \pgf@process{\tikz@second@point}%
+ \advance\pgf@x by-\pgf@xa%
+ \advance\pgf@y by-\pgf@ya%
+ \pgfpointnormalised{}%
+ \pgf@xc=\pgf@x%
+ \pgf@yc=\pgf@y%
+ \pgf@xb=-\pgf@x%
+ \pgf@yb=-\pgf@y%
+ %
+ % Now compute the control points.
+ %
+ {%
+ \pgftransformshift{\tikz@first@point}%
+ \pgftransformcm{\pgf@sys@tonumber\pgf@xc}{\pgf@sys@tonumber\pgf@yc}{\pgf@sys@tonumber\pgf@yb}{\pgf@sys@tonumber\pgf@xc}%
+ {\pgfpointorigin}%
+ \pgf@process{\pgfpointtransformed{\pgfpointpolar{\tikz@to@out}{\tikz@to@first@distance}}}%
+ \xdef\tikz@computed@start{(\the\pgf@x,\the\pgf@y)}%
+ }
+ {%
+ \pgftransformshift{\tikz@second@point}%
+ \pgftransformcm{\pgf@sys@tonumber\pgf@xc}{\pgf@sys@tonumber\pgf@yc}{\pgf@sys@tonumber\pgf@yb}{\pgf@sys@tonumber\pgf@xc}%
+ {\pgfpointorigin}%
+ \pgf@process{\pgfpointtransformed{\pgfpointpolar{\tikz@to@in}{\tikz@to@second@distance}}}%
+ \xdef\tikz@computed@end{(\the\pgf@x,\the\pgf@y)}%
+ }
+ \xdef\tikz@computed@path{
+ \tikz@tostart@tikz
+ .. controls \tikz@computed@start and \tikz@computed@end ..
+ \tikz@totarget@tikz}%
+ \endgroup
+}
+
+
+
+% Loops
+
+\tikzstyle{loop}= [to path={
+ \pgfextra{\let\tikztotarget=\tikztostart}
+ [looseness=8,min distance=5mm,every loop]
+ \tikz@to@curve@path
+ }]
+
+\tikzstyle{every loop}= [->,shorten >=1pt]
+
+\tikzstyle{loop right}= [right,out=15,in=-15,loop]
+\tikzstyle{loop above}= [above,out=105,in=75,loop]
+\tikzstyle{loop left}= [left,out=195,in=165,loop]
+\tikzstyle{loop below}= [below,out=285,in=255,loop]
+
+
+
+
+
+\endinput
diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikztrees.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikztrees.code.tex
index 8f472237604..841b534fed3 100644
--- a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikztrees.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikztrees.code.tex
@@ -1,10 +1,13 @@
-\ProvidesPackageRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibrarytikztrees.code.tex,v 1.4 2005/09/02 16:05:44 tantau Exp $
-
-% Copyright 2005 by Till Tantau <tantau@cs.tu-berlin.de>.
+% Copyright 2006 by Till Tantau
+%
+% This file may be distributed and/or modified
+%
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Public License.
%
-% This program can be redistributed and/or modified under the terms
-% of the GNU Public License, version 2.
+% See the file doc/generic/pgf/licenses/LICENSE for more details.
+\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibrarytikztrees.code.tex,v 1.7 2006/10/11 15:22:26 tantau Exp $
@@ -72,6 +75,27 @@
\pgftransformxshift{\the\tikzleveldistance}%
}
+\tikzoption{counterclockwise from}{\let\tikz@grow=\tikz@grow@circle@from\def\tikz@grow@circle@from@start{#1}}
+
+\def\tikz@grow@circle@from{%
+ \c@pgf@counta=\tikz@sibling@angle\relax%
+ \multiply\c@pgf@counta by\tikznumberofcurrentchild\relax%
+ \advance\c@pgf@counta by-\tikz@sibling@angle\relax%
+ \advance\c@pgf@counta by\tikz@grow@circle@from@start\relax%
+ \pgftransformshift{\pgfpointpolar{\the\c@pgf@counta}{\the\tikzleveldistance}}%
+}
+
+\tikzoption{clockwise from}{\let\tikz@grow=\tikz@grow@circle@from@\def\tikz@grow@circle@from@start{#1}}
+
+\def\tikz@grow@circle@from@{%
+ \c@pgf@counta=\tikz@sibling@angle\relax%
+ \multiply\c@pgf@counta by-\tikznumberofcurrentchild\relax%
+ \advance\c@pgf@counta by\tikz@sibling@angle\relax%
+ \advance\c@pgf@counta by\tikz@grow@circle@from@start\relax%
+ \pgftransformshift{\pgfpointpolar{\the\c@pgf@counta}{\the\tikzleveldistance}}%
+}
+
+
%
% Connections